diff options
author | Xin Li <delphij@google.com> | 2020-08-31 21:21:38 -0700 |
---|---|---|
committer | Xin Li <delphij@google.com> | 2020-08-31 21:21:38 -0700 |
commit | 628590d7ec80e10a3fc24b1c18a1afb55cca10a8 (patch) | |
tree | 4b1c3f52d86d7fb53afbe9e9438468588fa489f8 /api | |
parent | b11b8ec3aec8bb42f2c07e1c5ac7942da293baa8 (diff) | |
parent | d2d3a20624d968199353ccf6ddbae6f3ac39c9af (diff) |
Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: I3d92a6de21a938f6b352ec26dc23420c0fe02b27
Change-Id: Ifdb80563ef042738778ebb8a7581a97c4e3d96e2
Diffstat (limited to 'api')
-rw-r--r-- | api/current.txt | 3801 | ||||
-rw-r--r-- | api/lint-baseline.txt | 137 | ||||
-rw-r--r-- | api/module-lib-current.txt | 38 | ||||
-rw-r--r-- | api/removed.txt | 140 | ||||
-rwxr-xr-x | api/system-current.txt | 3827 | ||||
-rw-r--r-- | api/system-lint-baseline.txt | 185 | ||||
-rw-r--r-- | api/system-removed.txt | 40 | ||||
-rw-r--r-- | api/test-current.txt | 1185 | ||||
-rw-r--r-- | api/test-lint-baseline.txt | 605 | ||||
-rw-r--r-- | api/test-removed.txt | 13 |
10 files changed, 7908 insertions, 2063 deletions
diff --git a/api/current.txt b/api/current.txt index ea98b5e05571..7fe7bb9ddd15 100644 --- a/api/current.txt +++ b/api/current.txt @@ -29,8 +29,9 @@ package android { field public static final String BIND_CARRIER_MESSAGING_CLIENT_SERVICE = "android.permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE"; field @Deprecated public static final String BIND_CARRIER_MESSAGING_SERVICE = "android.permission.BIND_CARRIER_MESSAGING_SERVICE"; field public static final String BIND_CARRIER_SERVICES = "android.permission.BIND_CARRIER_SERVICES"; - field public static final String BIND_CHOOSER_TARGET_SERVICE = "android.permission.BIND_CHOOSER_TARGET_SERVICE"; + field @Deprecated public static final String BIND_CHOOSER_TARGET_SERVICE = "android.permission.BIND_CHOOSER_TARGET_SERVICE"; field public static final String BIND_CONDITION_PROVIDER_SERVICE = "android.permission.BIND_CONDITION_PROVIDER_SERVICE"; + field public static final String BIND_CONTROLS = "android.permission.BIND_CONTROLS"; field public static final String BIND_DEVICE_ADMIN = "android.permission.BIND_DEVICE_ADMIN"; field public static final String BIND_DREAM_SERVICE = "android.permission.BIND_DREAM_SERVICE"; field public static final String BIND_INCALL_SERVICE = "android.permission.BIND_INCALL_SERVICE"; @@ -39,6 +40,7 @@ package android { field public static final String BIND_NFC_SERVICE = "android.permission.BIND_NFC_SERVICE"; field public static final String BIND_NOTIFICATION_LISTENER_SERVICE = "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"; field public static final String BIND_PRINT_SERVICE = "android.permission.BIND_PRINT_SERVICE"; + field public static final String BIND_QUICK_ACCESS_WALLET_SERVICE = "android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE"; field public static final String BIND_QUICK_SETTINGS_TILE = "android.permission.BIND_QUICK_SETTINGS_TILE"; field public static final String BIND_REMOTEVIEWS = "android.permission.BIND_REMOTEVIEWS"; field public static final String BIND_SCREENING_SERVICE = "android.permission.BIND_SCREENING_SERVICE"; @@ -87,10 +89,13 @@ package android { field public static final String INSTALL_PACKAGES = "android.permission.INSTALL_PACKAGES"; field public static final String INSTALL_SHORTCUT = "com.android.launcher.permission.INSTALL_SHORTCUT"; field public static final String INSTANT_APP_FOREGROUND_SERVICE = "android.permission.INSTANT_APP_FOREGROUND_SERVICE"; + field public static final String INTERACT_ACROSS_PROFILES = "android.permission.INTERACT_ACROSS_PROFILES"; field public static final String INTERNET = "android.permission.INTERNET"; field public static final String KILL_BACKGROUND_PROCESSES = "android.permission.KILL_BACKGROUND_PROCESSES"; + field public static final String LOADER_USAGE_STATS = "android.permission.LOADER_USAGE_STATS"; field public static final String LOCATION_HARDWARE = "android.permission.LOCATION_HARDWARE"; field public static final String MANAGE_DOCUMENTS = "android.permission.MANAGE_DOCUMENTS"; + field public static final String MANAGE_EXTERNAL_STORAGE = "android.permission.MANAGE_EXTERNAL_STORAGE"; field public static final String MANAGE_OWN_CALLS = "android.permission.MANAGE_OWN_CALLS"; field public static final String MASTER_CLEAR = "android.permission.MASTER_CLEAR"; field public static final String MEDIA_CONTENT_CONTROL = "android.permission.MEDIA_CONTENT_CONTROL"; @@ -104,6 +109,7 @@ package android { field public static final String PACKAGE_USAGE_STATS = "android.permission.PACKAGE_USAGE_STATS"; field @Deprecated public static final String PERSISTENT_ACTIVITY = "android.permission.PERSISTENT_ACTIVITY"; field @Deprecated public static final String PROCESS_OUTGOING_CALLS = "android.permission.PROCESS_OUTGOING_CALLS"; + field public static final String QUERY_ALL_PACKAGES = "android.permission.QUERY_ALL_PACKAGES"; field public static final String READ_CALENDAR = "android.permission.READ_CALENDAR"; field public static final String READ_CALL_LOG = "android.permission.READ_CALL_LOG"; field public static final String READ_CONTACTS = "android.permission.READ_CONTACTS"; @@ -284,6 +290,7 @@ package android { field public static final int allowBackup = 16843392; // 0x1010280 field public static final int allowClearUserData = 16842757; // 0x1010005 field public static final int allowEmbedded = 16843765; // 0x10103f5 + field public static final int allowNativeHeapPointerTagging = 16844306; // 0x1010612 field public static final int allowParallelSyncs = 16843570; // 0x1010332 field public static final int allowSingleTap = 16843353; // 0x1010259 field public static final int allowTaskReparenting = 16843268; // 0x1010204 @@ -300,13 +307,14 @@ package android { field public static final int animateFirstView = 16843477; // 0x10102d5 field public static final int animateLayoutChanges = 16843506; // 0x10102f2 field public static final int animateOnClick = 16843356; // 0x101025c + field public static final int animatedImageDrawable = 16844298; // 0x101060a field public static final int animation = 16843213; // 0x10101cd field public static final int animationCache = 16842989; // 0x10100ed field public static final int animationDuration = 16843026; // 0x1010112 field public static final int animationOrder = 16843214; // 0x10101ce field @Deprecated public static final int animationResolution = 16843546; // 0x101031a field public static final int antialias = 16843034; // 0x101011a - field public static final int anyDensity = 16843372; // 0x101026c + field @Deprecated public static final int anyDensity = 16843372; // 0x101026c field public static final int apduServiceBanner = 16843757; // 0x10103ed field public static final int apiKey = 16843281; // 0x1010211 field public static final int appCategory = 16844101; // 0x1010545 @@ -318,6 +326,7 @@ package android { field public static final int autoLink = 16842928; // 0x10100b0 field public static final int autoMirrored = 16843754; // 0x10103ea field public static final int autoRemoveFromRecents = 16843847; // 0x1010447 + field public static final int autoRevokePermissions = 16844307; // 0x1010613 field public static final int autoSizeMaxTextSize = 16844102; // 0x1010546 field public static final int autoSizeMinTextSize = 16844088; // 0x1010538 field public static final int autoSizePresetSizes = 16844087; // 0x1010537 @@ -382,6 +391,7 @@ package android { field public static final int canRequestFingerprintGestures = 16844109; // 0x101054d field public static final int canRequestTouchExplorationMode = 16843735; // 0x10103d7 field public static final int canRetrieveWindowContent = 16843653; // 0x1010385 + field public static final int canTakeScreenshot = 16844303; // 0x101060f field public static final int candidatesTextStyleSpans = 16843312; // 0x1010230 field public static final int cantSaveState = 16844142; // 0x101056e field @Deprecated public static final int capitalize = 16843113; // 0x1010169 @@ -476,6 +486,7 @@ package android { field public static final int countDown = 16844059; // 0x101051b field public static final int country = 16843962; // 0x10104ba field public static final int cropToPadding = 16843043; // 0x1010123 + field public static final int crossProfile = 16844302; // 0x101060e field public static final int cursorVisible = 16843090; // 0x1010152 field public static final int customNavigationLayout = 16843474; // 0x10102d2 field public static final int customTokens = 16843579; // 0x101033b @@ -642,6 +653,7 @@ package android { field public static final int footerDividersEnabled = 16843311; // 0x101022f field public static final int forceDarkAllowed = 16844172; // 0x101058c field public static final int forceHasOverlappingRendering = 16844065; // 0x1010521 + field public static final int forceQueryable = 16844296; // 0x1010608 field public static final int forceUriPermissions = 16844191; // 0x101059f field public static final int foreground = 16843017; // 0x1010109 field public static final int foregroundGravity = 16843264; // 0x1010200 @@ -696,6 +708,7 @@ package android { field public static final int gravity = 16842927; // 0x10100af field public static final int gridViewStyle = 16842865; // 0x1010071 field public static final int groupIndicator = 16843019; // 0x101010b + field public static final int gwpAsanMode = 16844310; // 0x1010616 field public static final int hand_hour = 16843011; // 0x1010103 field public static final int hand_minute = 16843012; // 0x1010104 field public static final int handle = 16843354; // 0x101025a @@ -723,6 +736,7 @@ package android { field public static final int host = 16842792; // 0x1010028 field public static final int hotSpotX = 16844055; // 0x1010517 field public static final int hotSpotY = 16844056; // 0x1010518 + field public static final int htmlDescription = 16844299; // 0x101060b field public static final int hyphenationFrequency = 16843998; // 0x10104de field public static final int icon = 16842754; // 0x1010002 field @Deprecated public static final int iconPreview = 16843337; // 0x1010249 @@ -747,6 +761,7 @@ package android { field public static final int immersive = 16843456; // 0x10102c0 field public static final int importantForAccessibility = 16843690; // 0x10103aa field public static final int importantForAutofill = 16844120; // 0x1010558 + field public static final int importantForContentCapture = 16844295; // 0x1010607 field public static final int inAnimation = 16843127; // 0x1010177 field public static final int includeFontPadding = 16843103; // 0x101015f field public static final int includeInGlobalSearch = 16843374; // 0x101026e @@ -938,6 +953,7 @@ package android { field public static final int mediaRouteButtonStyle = 16843693; // 0x10103ad field public static final int mediaRouteTypes = 16843694; // 0x10103ae field public static final int menuCategory = 16843230; // 0x10101de + field public static final int mimeGroup = 16844309; // 0x1010615 field public static final int mimeType = 16842790; // 0x1010026 field public static final int min = 16844089; // 0x1010539 field public static final int minAspectRatio = 16844187; // 0x101059b @@ -1058,6 +1074,7 @@ package android { field public static final int popupWindowStyle = 16842870; // 0x1010076 field public static final int port = 16842793; // 0x1010029 field public static final int positiveButtonText = 16843253; // 0x10101f5 + field public static final int preferMinimalPostProcessing = 16844300; // 0x101060c field public static final int preferenceCategoryStyle = 16842892; // 0x101008c field public static final int preferenceFragmentStyle = 16844038; // 0x1010506 field public static final int preferenceInformationStyle = 16842893; // 0x101008d @@ -1065,6 +1082,7 @@ package android { field public static final int preferenceScreenStyle = 16842891; // 0x101008b field public static final int preferenceStyle = 16842894; // 0x101008e field public static final int presentationTheme = 16843712; // 0x10103c0 + field public static final int preserveLegacyExternalStorage = 16844308; // 0x1010614 field public static final int previewImage = 16843482; // 0x10102da field public static final int primaryContentAlpha = 16844114; // 0x1010552 field public static final int priority = 16842780; // 0x101001c @@ -1135,6 +1153,7 @@ package android { field public static final int resizeable = 16843405; // 0x101028d field public static final int resizeableActivity = 16844022; // 0x10104f6 field public static final int resource = 16842789; // 0x1010025 + field public static final int resourcesMap = 16844297; // 0x1010609 field public static final int restoreAnyVersion = 16843450; // 0x10102ba field @Deprecated public static final int restoreNeedsApplication = 16843421; // 0x101029d field public static final int restrictedAccountType = 16843733; // 0x10103d5 @@ -1326,6 +1345,7 @@ package android { field public static final int summaryOff = 16843248; // 0x10101f0 field public static final int summaryOn = 16843247; // 0x10101ef field public static final int supportsAssist = 16844016; // 0x10104f0 + field public static final int supportsInlineSuggestions = 16844301; // 0x101060d field public static final int supportsLaunchVoiceAssistFromKeyguard = 16844017; // 0x10104f1 field public static final int supportsLocalInteraction = 16844047; // 0x101050f field public static final int supportsMultipleDisplays = 16844182; // 0x1010596 @@ -1596,7 +1616,7 @@ package android { field public static final int windowMinWidthMinor = 16843607; // 0x1010357 field public static final int windowNoDisplay = 16843294; // 0x101021e field public static final int windowNoTitle = 16842838; // 0x1010056 - field public static final int windowOverscan = 16843727; // 0x10103cf + field @Deprecated public static final int windowOverscan = 16843727; // 0x10103cf field public static final int windowReenterTransition = 16843951; // 0x10104af field public static final int windowReturnTransition = 16843950; // 0x10104ae field public static final int windowSharedElementEnterTransition = 16843833; // 0x1010439 @@ -1608,7 +1628,7 @@ package android { field public static final int windowShowWallpaper = 16843410; // 0x1010292 field public static final int windowSoftInputMode = 16843307; // 0x101022b field public static final int windowSplashscreenContent = 16844132; // 0x1010564 - field public static final int windowSwipeToDismiss = 16843763; // 0x10103f3 + field @Deprecated public static final int windowSwipeToDismiss = 16843763; // 0x10103f3 field public static final int windowTitleBackgroundStyle = 16842844; // 0x101005c field public static final int windowTitleSize = 16842842; // 0x101005a field public static final int windowTitleStyle = 16842843; // 0x101005b @@ -1859,11 +1879,13 @@ package android { ctor public R.id(); field public static final int accessibilityActionContextClick = 16908348; // 0x102003c field public static final int accessibilityActionHideTooltip = 16908357; // 0x1020045 + field public static final int accessibilityActionImeEnter = 16908372; // 0x1020054 field public static final int accessibilityActionMoveWindow = 16908354; // 0x1020042 field public static final int accessibilityActionPageDown = 16908359; // 0x1020047 field public static final int accessibilityActionPageLeft = 16908360; // 0x1020048 field public static final int accessibilityActionPageRight = 16908361; // 0x1020049 field public static final int accessibilityActionPageUp = 16908358; // 0x1020046 + field public static final int accessibilityActionPressAndHold = 16908362; // 0x102004a field public static final int accessibilityActionScrollDown = 16908346; // 0x102003a field public static final int accessibilityActionScrollLeft = 16908345; // 0x1020039 field public static final int accessibilityActionScrollRight = 16908347; // 0x102003b @@ -1872,6 +1894,15 @@ package android { field public static final int accessibilityActionSetProgress = 16908349; // 0x102003d field public static final int accessibilityActionShowOnScreen = 16908342; // 0x1020036 field public static final int accessibilityActionShowTooltip = 16908356; // 0x1020044 + field public static final int accessibilitySystemActionBack = 16908363; // 0x102004b + field public static final int accessibilitySystemActionHome = 16908364; // 0x102004c + field public static final int accessibilitySystemActionLockScreen = 16908370; // 0x1020052 + field public static final int accessibilitySystemActionNotifications = 16908366; // 0x102004e + field public static final int accessibilitySystemActionPowerDialog = 16908368; // 0x1020050 + field public static final int accessibilitySystemActionQuickSettings = 16908367; // 0x102004f + field public static final int accessibilitySystemActionRecents = 16908365; // 0x102004d + field public static final int accessibilitySystemActionTakeScreenshot = 16908371; // 0x1020053 + field public static final int accessibilitySystemActionToggleSplitScreen = 16908369; // 0x1020051 field public static final int addToDictionary = 16908330; // 0x102002a field public static final int autofill = 16908355; // 0x1020043 field public static final int background = 16908288; // 0x1020000 @@ -2323,13 +2354,13 @@ package android { field public static final int Theme_Material_Light_LightStatusBar = 16974549; // 0x10302d5 field public static final int Theme_Material_Light_NoActionBar = 16974401; // 0x1030241 field public static final int Theme_Material_Light_NoActionBar_Fullscreen = 16974402; // 0x1030242 - field public static final int Theme_Material_Light_NoActionBar_Overscan = 16974403; // 0x1030243 + field @Deprecated public static final int Theme_Material_Light_NoActionBar_Overscan = 16974403; // 0x1030243 field public static final int Theme_Material_Light_NoActionBar_TranslucentDecor = 16974404; // 0x1030244 field public static final int Theme_Material_Light_Panel = 16974405; // 0x1030245 field public static final int Theme_Material_Light_Voice = 16974406; // 0x1030246 field public static final int Theme_Material_NoActionBar = 16974382; // 0x103022e field public static final int Theme_Material_NoActionBar_Fullscreen = 16974383; // 0x103022f - field public static final int Theme_Material_NoActionBar_Overscan = 16974384; // 0x1030230 + field @Deprecated public static final int Theme_Material_NoActionBar_Overscan = 16974384; // 0x1030230 field public static final int Theme_Material_NoActionBar_TranslucentDecor = 16974385; // 0x1030231 field public static final int Theme_Material_Panel = 16974386; // 0x1030232 field public static final int Theme_Material_Settings = 16974387; // 0x1030233 @@ -2811,26 +2842,72 @@ package android.accessibilityservice { method public void onClicked(android.accessibilityservice.AccessibilityButtonController); } + public final class AccessibilityGestureEvent implements android.os.Parcelable { + method public int describeContents(); + method public int getDisplayId(); + method public int getGestureId(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.accessibilityservice.AccessibilityGestureEvent> CREATOR; + } + public abstract class AccessibilityService extends android.app.Service { ctor public AccessibilityService(); method public final void disableSelf(); method public final boolean dispatchGesture(@NonNull android.accessibilityservice.GestureDescription, @Nullable android.accessibilityservice.AccessibilityService.GestureResultCallback, @Nullable android.os.Handler); method public android.view.accessibility.AccessibilityNodeInfo findFocus(int); method @NonNull public final android.accessibilityservice.AccessibilityButtonController getAccessibilityButtonController(); + method @NonNull public final android.accessibilityservice.AccessibilityButtonController getAccessibilityButtonController(int); method @NonNull @RequiresPermission(android.Manifest.permission.USE_FINGERPRINT) public final android.accessibilityservice.FingerprintGestureController getFingerprintGestureController(); method @NonNull public final android.accessibilityservice.AccessibilityService.MagnificationController getMagnificationController(); method public android.view.accessibility.AccessibilityNodeInfo getRootInActiveWindow(); method public final android.accessibilityservice.AccessibilityServiceInfo getServiceInfo(); method @NonNull public final android.accessibilityservice.AccessibilityService.SoftKeyboardController getSoftKeyboardController(); + method @NonNull public final java.util.List<android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction> getSystemActions(); method public java.util.List<android.view.accessibility.AccessibilityWindowInfo> getWindows(); + method @NonNull public final android.util.SparseArray<java.util.List<android.view.accessibility.AccessibilityWindowInfo>> getWindowsOnAllDisplays(); method public abstract void onAccessibilityEvent(android.view.accessibility.AccessibilityEvent); method public final android.os.IBinder onBind(android.content.Intent); - method protected boolean onGesture(int); + method @Deprecated protected boolean onGesture(int); + method public boolean onGesture(@NonNull android.accessibilityservice.AccessibilityGestureEvent); method public abstract void onInterrupt(); method protected boolean onKeyEvent(android.view.KeyEvent); method protected void onServiceConnected(); + method public void onSystemActionsChanged(); method public final boolean performGlobalAction(int); + method public void setGestureDetectionPassthroughRegion(int, @NonNull android.graphics.Region); method public final void setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo); + method public void setTouchExplorationPassthroughRegion(int, @NonNull android.graphics.Region); + method public void takeScreenshot(int, @NonNull java.util.concurrent.Executor, @NonNull android.accessibilityservice.AccessibilityService.TakeScreenshotCallback); + field public static final int ERROR_TAKE_SCREENSHOT_INTERNAL_ERROR = 1; // 0x1 + field public static final int ERROR_TAKE_SCREENSHOT_INTERVAL_TIME_SHORT = 3; // 0x3 + field public static final int ERROR_TAKE_SCREENSHOT_INVALID_DISPLAY = 4; // 0x4 + field public static final int ERROR_TAKE_SCREENSHOT_NO_ACCESSIBILITY_ACCESS = 2; // 0x2 + field public static final int GESTURE_2_FINGER_DOUBLE_TAP = 20; // 0x14 + field public static final int GESTURE_2_FINGER_DOUBLE_TAP_AND_HOLD = 40; // 0x28 + field public static final int GESTURE_2_FINGER_SINGLE_TAP = 19; // 0x13 + field public static final int GESTURE_2_FINGER_SWIPE_DOWN = 26; // 0x1a + field public static final int GESTURE_2_FINGER_SWIPE_LEFT = 27; // 0x1b + field public static final int GESTURE_2_FINGER_SWIPE_RIGHT = 28; // 0x1c + field public static final int GESTURE_2_FINGER_SWIPE_UP = 25; // 0x19 + field public static final int GESTURE_2_FINGER_TRIPLE_TAP = 21; // 0x15 + field public static final int GESTURE_3_FINGER_DOUBLE_TAP = 23; // 0x17 + field public static final int GESTURE_3_FINGER_DOUBLE_TAP_AND_HOLD = 41; // 0x29 + field public static final int GESTURE_3_FINGER_SINGLE_TAP = 22; // 0x16 + field public static final int GESTURE_3_FINGER_SWIPE_DOWN = 30; // 0x1e + field public static final int GESTURE_3_FINGER_SWIPE_LEFT = 31; // 0x1f + field public static final int GESTURE_3_FINGER_SWIPE_RIGHT = 32; // 0x20 + field public static final int GESTURE_3_FINGER_SWIPE_UP = 29; // 0x1d + field public static final int GESTURE_3_FINGER_TRIPLE_TAP = 24; // 0x18 + field public static final int GESTURE_4_FINGER_DOUBLE_TAP = 38; // 0x26 + field public static final int GESTURE_4_FINGER_DOUBLE_TAP_AND_HOLD = 42; // 0x2a + field public static final int GESTURE_4_FINGER_SINGLE_TAP = 37; // 0x25 + field public static final int GESTURE_4_FINGER_SWIPE_DOWN = 34; // 0x22 + field public static final int GESTURE_4_FINGER_SWIPE_LEFT = 35; // 0x23 + field public static final int GESTURE_4_FINGER_SWIPE_RIGHT = 36; // 0x24 + field public static final int GESTURE_4_FINGER_SWIPE_UP = 33; // 0x21 + field public static final int GESTURE_4_FINGER_TRIPLE_TAP = 39; // 0x27 + field public static final int GESTURE_DOUBLE_TAP = 17; // 0x11 + field public static final int GESTURE_DOUBLE_TAP_AND_HOLD = 18; // 0x12 field public static final int GESTURE_SWIPE_DOWN = 2; // 0x2 field public static final int GESTURE_SWIPE_DOWN_AND_LEFT = 15; // 0xf field public static final int GESTURE_SWIPE_DOWN_AND_RIGHT = 16; // 0x10 @@ -2886,18 +2963,30 @@ package android.accessibilityservice { method public void onMagnificationChanged(@NonNull android.accessibilityservice.AccessibilityService.MagnificationController, @NonNull android.graphics.Region, float, float, float); } + public static final class AccessibilityService.ScreenshotResult { + method @NonNull public android.graphics.ColorSpace getColorSpace(); + method @NonNull public android.hardware.HardwareBuffer getHardwareBuffer(); + method public long getTimestamp(); + } + public static final class AccessibilityService.SoftKeyboardController { method public void addOnShowModeChangedListener(@NonNull android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener); method public void addOnShowModeChangedListener(@NonNull android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener, @Nullable android.os.Handler); method public int getShowMode(); method public boolean removeOnShowModeChangedListener(@NonNull android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener); method public boolean setShowMode(int); + method public boolean switchToInputMethod(@NonNull String); } public static interface AccessibilityService.SoftKeyboardController.OnShowModeChangedListener { method public void onShowModeChanged(@NonNull android.accessibilityservice.AccessibilityService.SoftKeyboardController, int); } + public static interface AccessibilityService.TakeScreenshotCallback { + method public void onFailure(int); + method public void onSuccess(@NonNull android.accessibilityservice.AccessibilityService.ScreenshotResult); + } + public class AccessibilityServiceInfo implements android.os.Parcelable { ctor public AccessibilityServiceInfo(); method public static String capabilityToString(int); @@ -2924,6 +3013,7 @@ package android.accessibilityservice { field public static final int CAPABILITY_CAN_REQUEST_FINGERPRINT_GESTURES = 64; // 0x40 field public static final int CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION = 2; // 0x2 field public static final int CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT = 1; // 0x1 + field public static final int CAPABILITY_CAN_TAKE_SCREENSHOT = 128; // 0x80 field @NonNull public static final android.os.Parcelable.Creator<android.accessibilityservice.AccessibilityServiceInfo> CREATOR; field public static final int DEFAULT = 1; // 0x1 field public static final int FEEDBACK_ALL_MASK = -1; // 0xffffffff @@ -2940,9 +3030,11 @@ package android.accessibilityservice { field @Deprecated public static final int FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY = 8; // 0x8 field public static final int FLAG_REQUEST_FILTER_KEY_EVENTS = 32; // 0x20 field public static final int FLAG_REQUEST_FINGERPRINT_GESTURES = 512; // 0x200 + field public static final int FLAG_REQUEST_MULTI_FINGER_GESTURES = 4096; // 0x1000 field public static final int FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK = 1024; // 0x400 field public static final int FLAG_REQUEST_TOUCH_EXPLORATION_MODE = 4; // 0x4 field public static final int FLAG_RETRIEVE_INTERACTIVE_WINDOWS = 64; // 0x40 + field public static final int FLAG_SERVICE_HANDLES_DOUBLE_TAP = 2048; // 0x800 field public int eventTypes; field public int feedbackType; field public int flags; @@ -2967,6 +3059,7 @@ package android.accessibilityservice { } public final class GestureDescription { + method public int getDisplayId(); method public static long getMaxGestureDuration(); method public static int getMaxStrokeCount(); method public android.accessibilityservice.GestureDescription.StrokeDescription getStroke(@IntRange(from=0) int); @@ -2977,6 +3070,7 @@ package android.accessibilityservice { ctor public GestureDescription.Builder(); method public android.accessibilityservice.GestureDescription.Builder addStroke(@NonNull android.accessibilityservice.GestureDescription.StrokeDescription); method public android.accessibilityservice.GestureDescription build(); + method @NonNull public android.accessibilityservice.GestureDescription.Builder setDisplayId(int); } public static class GestureDescription.StrokeDescription { @@ -3677,11 +3771,11 @@ package android.app { method public <T extends android.view.View> T findViewById(@IdRes int); method public void finish(); method public void finishActivity(int); - method public void finishActivityFromChild(@NonNull android.app.Activity, int); + method @Deprecated public void finishActivityFromChild(@NonNull android.app.Activity, int); method public void finishAffinity(); method public void finishAfterTransition(); method public void finishAndRemoveTask(); - method public void finishFromChild(android.app.Activity); + method @Deprecated public void finishFromChild(android.app.Activity); method @Nullable public android.app.ActionBar getActionBar(); method public final android.app.Application getApplication(); method @Nullable public android.content.ComponentName getCallingActivity(); @@ -3730,7 +3824,7 @@ package android.app { method @Deprecated public final android.database.Cursor managedQuery(android.net.Uri, String[], String, String[], String); method public boolean moveTaskToBack(boolean); method public boolean navigateUpTo(android.content.Intent); - method public boolean navigateUpToFromChild(android.app.Activity, android.content.Intent); + method @Deprecated public boolean navigateUpToFromChild(android.app.Activity, android.content.Intent); method @CallSuper public void onActionModeFinished(android.view.ActionMode); method @CallSuper public void onActionModeStarted(android.view.ActionMode); method public void onActivityReenter(int, android.content.Intent); @@ -3774,7 +3868,7 @@ package android.app { method public void onMultiWindowModeChanged(boolean, android.content.res.Configuration); method @Deprecated public void onMultiWindowModeChanged(boolean); method public boolean onNavigateUp(); - method public boolean onNavigateUpFromChild(android.app.Activity); + method @Deprecated public boolean onNavigateUpFromChild(android.app.Activity); method protected void onNewIntent(android.content.Intent); method public boolean onOptionsItemSelected(@NonNull android.view.MenuItem); method public void onOptionsMenuClosed(android.view.Menu); @@ -3783,6 +3877,7 @@ package android.app { method public void onPerformDirectAction(@NonNull String, @NonNull android.os.Bundle, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.os.Bundle>); method public void onPictureInPictureModeChanged(boolean, android.content.res.Configuration); method @Deprecated public void onPictureInPictureModeChanged(boolean); + method public boolean onPictureInPictureRequested(); method @CallSuper protected void onPostCreate(@Nullable android.os.Bundle); method public void onPostCreate(@Nullable android.os.Bundle, @Nullable android.os.PersistableBundle); method @CallSuper protected void onPostResume(); @@ -3852,6 +3947,7 @@ package android.app { method public void setImmersive(boolean); method public void setInheritShowWhenLocked(boolean); method public void setIntent(android.content.Intent); + method public void setLocusContext(@Nullable android.content.LocusId, @Nullable android.os.Bundle); method public final void setMediaController(android.media.session.MediaController); method public void setPictureInPictureParams(@NonNull android.app.PictureInPictureParams); method @Deprecated public final void setProgress(int); @@ -3867,6 +3963,7 @@ package android.app { method public void setTitle(CharSequence); method public void setTitle(int); method @Deprecated public void setTitleColor(int); + method public boolean setTranslucent(boolean); method public void setTurnScreenOn(boolean); method public void setVisible(boolean); method public final void setVolumeControlStream(int); @@ -3881,16 +3978,16 @@ package android.app { method @Nullable public android.view.ActionMode startActionMode(android.view.ActionMode.Callback, int); method public void startActivityForResult(@RequiresPermission android.content.Intent, int); method public void startActivityForResult(@RequiresPermission android.content.Intent, int, @Nullable android.os.Bundle); - method public void startActivityFromChild(@NonNull android.app.Activity, @RequiresPermission android.content.Intent, int); - method public void startActivityFromChild(@NonNull android.app.Activity, @RequiresPermission android.content.Intent, int, @Nullable android.os.Bundle); + method @Deprecated public void startActivityFromChild(@NonNull android.app.Activity, @RequiresPermission android.content.Intent, int); + method @Deprecated public void startActivityFromChild(@NonNull android.app.Activity, @RequiresPermission android.content.Intent, int, @Nullable android.os.Bundle); method @Deprecated public void startActivityFromFragment(@NonNull android.app.Fragment, @RequiresPermission android.content.Intent, int); method @Deprecated public void startActivityFromFragment(@NonNull android.app.Fragment, @RequiresPermission android.content.Intent, int, @Nullable android.os.Bundle); method public boolean startActivityIfNeeded(@NonNull @RequiresPermission android.content.Intent, int); method public boolean startActivityIfNeeded(@NonNull @RequiresPermission android.content.Intent, int, @Nullable android.os.Bundle); method public void startIntentSenderForResult(android.content.IntentSender, int, @Nullable android.content.Intent, int, int, int) throws android.content.IntentSender.SendIntentException; method public void startIntentSenderForResult(android.content.IntentSender, int, @Nullable android.content.Intent, int, int, int, android.os.Bundle) throws android.content.IntentSender.SendIntentException; - method public void startIntentSenderFromChild(android.app.Activity, android.content.IntentSender, int, android.content.Intent, int, int, int) throws android.content.IntentSender.SendIntentException; - method public void startIntentSenderFromChild(android.app.Activity, android.content.IntentSender, int, android.content.Intent, int, int, int, @Nullable android.os.Bundle) throws android.content.IntentSender.SendIntentException; + method @Deprecated public void startIntentSenderFromChild(android.app.Activity, android.content.IntentSender, int, android.content.Intent, int, int, int) throws android.content.IntentSender.SendIntentException; + method @Deprecated public void startIntentSenderFromChild(android.app.Activity, android.content.IntentSender, int, android.content.Intent, int, int, int, @Nullable android.os.Bundle) throws android.content.IntentSender.SendIntentException; method public void startLocalVoiceInteraction(android.os.Bundle); method public void startLockTask(); method @Deprecated public void startManagingCursor(android.database.Cursor); @@ -3925,12 +4022,14 @@ package android.app { public class ActivityManager { method public int addAppTask(@NonNull android.app.Activity, @NonNull android.content.Intent, @Nullable android.app.ActivityManager.TaskDescription, @NonNull android.graphics.Bitmap); + method public void appNotResponding(@NonNull String); method public boolean clearApplicationUserData(); method public void clearWatchHeapLimit(); method @RequiresPermission(android.Manifest.permission.DUMP) public void dumpPackageState(java.io.FileDescriptor, String); method public android.util.Size getAppTaskThumbnailSize(); method public java.util.List<android.app.ActivityManager.AppTask> getAppTasks(); method public android.content.pm.ConfigurationInfo getDeviceConfigurationInfo(); + method @NonNull public java.util.List<android.app.ApplicationExitInfo> getHistoricalProcessExitReasons(@Nullable String, @IntRange(from=0) int, @IntRange(from=0) int); method public int getLargeMemoryClass(); method public int getLauncherLargeIconDensity(); method public int getLauncherLargeIconSize(); @@ -3948,6 +4047,7 @@ package android.app { method public boolean isActivityStartAllowedOnDisplay(@NonNull android.content.Context, int, @NonNull android.content.Intent); method public boolean isBackgroundRestricted(); method @Deprecated public boolean isInLockTaskMode(); + method public static boolean isLowMemoryKillReportSupported(); method public boolean isLowRamDevice(); method @Deprecated public static boolean isRunningInTestHarness(); method public static boolean isRunningInUserTestHarness(); @@ -3956,6 +4056,7 @@ package android.app { method @RequiresPermission(android.Manifest.permission.REORDER_TASKS) public void moveTaskToFront(int, int); method @RequiresPermission(android.Manifest.permission.REORDER_TASKS) public void moveTaskToFront(int, int, android.os.Bundle); method @Deprecated public void restartPackage(String); + method public void setProcessStateSummary(@Nullable byte[]); method public static void setVrThread(int); method public void setWatchHeapLimit(long); field public static final String ACTION_REPORT_HEAP_LIMIT = "android.app.action.REPORT_HEAP_LIMIT"; @@ -4095,15 +4196,15 @@ package android.app { } public static class ActivityManager.TaskDescription implements android.os.Parcelable { - ctor @Deprecated public ActivityManager.TaskDescription(String, android.graphics.Bitmap, int); ctor public ActivityManager.TaskDescription(String, @DrawableRes int, int); - ctor @Deprecated public ActivityManager.TaskDescription(String, android.graphics.Bitmap); ctor public ActivityManager.TaskDescription(String, @DrawableRes int); ctor public ActivityManager.TaskDescription(String); ctor public ActivityManager.TaskDescription(); + ctor @Deprecated public ActivityManager.TaskDescription(String, android.graphics.Bitmap, int); + ctor @Deprecated public ActivityManager.TaskDescription(String, android.graphics.Bitmap); ctor public ActivityManager.TaskDescription(android.app.ActivityManager.TaskDescription); method public int describeContents(); - method public android.graphics.Bitmap getIcon(); + method @Deprecated public android.graphics.Bitmap getIcon(); method public String getLabel(); method public int getPrimaryColor(); method public void readFromParcel(android.os.Parcel); @@ -4263,18 +4364,29 @@ package android.app { public class AppOpsManager { method @Deprecated public int checkOp(@NonNull String, int, @NonNull String); method @Deprecated public int checkOpNoThrow(@NonNull String, int, @NonNull String); - method public void checkPackage(int, @NonNull String); - method public void finishOp(@NonNull String, int, @NonNull String); - method public int noteOp(@NonNull String, int, @NonNull String); - method public int noteOpNoThrow(@NonNull String, int, @NonNull String); - method public int noteProxyOp(@NonNull String, @NonNull String); - method public int noteProxyOpNoThrow(@NonNull String, @NonNull String); - method public int noteProxyOpNoThrow(@NonNull String, @Nullable String, int); - method public static String permissionToOp(String); - method public int startOp(@NonNull String, int, @NonNull String); - method public int startOpNoThrow(@NonNull String, int, @NonNull String); + method @Deprecated public void checkPackage(int, @NonNull String); + method @Deprecated public void finishOp(@NonNull String, int, @NonNull String); + method public void finishOp(@NonNull String, int, @NonNull String, @Nullable String); + method public boolean isOpActive(@NonNull String, int, @NonNull String); + method @Deprecated public int noteOp(@NonNull String, int, @NonNull String); + method public int noteOp(@NonNull String, int, @Nullable String, @Nullable String, @Nullable String); + method @Deprecated public int noteOpNoThrow(@NonNull String, int, @NonNull String); + method public int noteOpNoThrow(@NonNull String, int, @NonNull String, @Nullable String, @Nullable String); + method @Deprecated public int noteProxyOp(@NonNull String, @NonNull String); + method public int noteProxyOp(@NonNull String, @Nullable String, int, @Nullable String, @Nullable String); + method @Deprecated public int noteProxyOpNoThrow(@NonNull String, @NonNull String); + method @Deprecated public int noteProxyOpNoThrow(@NonNull String, @Nullable String, int); + method public int noteProxyOpNoThrow(@NonNull String, @Nullable String, int, @Nullable String, @Nullable String); + method @Nullable public static String permissionToOp(@NonNull String); + method public void setOnOpNotedCallback(@Nullable java.util.concurrent.Executor, @Nullable android.app.AppOpsManager.OnOpNotedCallback); + method @Deprecated public int startOp(@NonNull String, int, @NonNull String); + method public int startOp(@NonNull String, int, @Nullable String, @Nullable String, @Nullable String); + method @Deprecated public int startOpNoThrow(@NonNull String, int, @NonNull String); + method public int startOpNoThrow(@NonNull String, int, @NonNull String, @NonNull String, @Nullable String); + method public void startWatchingActive(@NonNull String[], @NonNull java.util.concurrent.Executor, @NonNull android.app.AppOpsManager.OnOpActiveChangedListener); method public void startWatchingMode(@NonNull String, @Nullable String, @NonNull android.app.AppOpsManager.OnOpChangedListener); method public void startWatchingMode(@NonNull String, @Nullable String, int, @NonNull android.app.AppOpsManager.OnOpChangedListener); + method public void stopWatchingActive(@NonNull android.app.AppOpsManager.OnOpActiveChangedListener); method public void stopWatchingMode(@NonNull android.app.AppOpsManager.OnOpChangedListener); method public int unsafeCheckOp(@NonNull String, int, @NonNull String); method public int unsafeCheckOpNoThrow(@NonNull String, int, @NonNull String); @@ -4322,10 +4434,21 @@ package android.app { field public static final int WATCH_FOREGROUND_CHANGES = 1; // 0x1 } + public static interface AppOpsManager.OnOpActiveChangedListener { + method public void onOpActiveChanged(@NonNull String, int, @NonNull String, boolean); + } + public static interface AppOpsManager.OnOpChangedListener { method public void onOpChanged(String, String); } + public abstract static class AppOpsManager.OnOpNotedCallback { + ctor public AppOpsManager.OnOpNotedCallback(); + method public abstract void onAsyncNoted(@NonNull android.app.AsyncNotedAppOp); + method public abstract void onNoted(@NonNull android.app.SyncNotedAppOp); + method public abstract void onSelfNoted(@NonNull android.app.SyncNotedAppOp); + } + public class Application extends android.content.ContextWrapper implements android.content.ComponentCallbacks2 { ctor public Application(); method public static String getProcessName(); @@ -4438,6 +4561,52 @@ package android.app { field public String serviceDetails; } + public final class ApplicationExitInfo implements android.os.Parcelable { + method public int describeContents(); + method public int getDefiningUid(); + method @Nullable public String getDescription(); + method public int getImportance(); + method public int getPackageUid(); + method public int getPid(); + method @NonNull public String getProcessName(); + method @Nullable public byte[] getProcessStateSummary(); + method public long getPss(); + method public int getRealUid(); + method public int getReason(); + method public long getRss(); + method public int getStatus(); + method public long getTimestamp(); + method @Nullable public java.io.InputStream getTraceInputStream() throws java.io.IOException; + method @NonNull public android.os.UserHandle getUserHandle(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.app.ApplicationExitInfo> CREATOR; + field public static final int REASON_ANR = 6; // 0x6 + field public static final int REASON_CRASH = 4; // 0x4 + field public static final int REASON_CRASH_NATIVE = 5; // 0x5 + field public static final int REASON_DEPENDENCY_DIED = 12; // 0xc + field public static final int REASON_EXCESSIVE_RESOURCE_USAGE = 9; // 0x9 + field public static final int REASON_EXIT_SELF = 1; // 0x1 + field public static final int REASON_INITIALIZATION_FAILURE = 7; // 0x7 + field public static final int REASON_LOW_MEMORY = 3; // 0x3 + field public static final int REASON_OTHER = 13; // 0xd + field public static final int REASON_PERMISSION_CHANGE = 8; // 0x8 + field public static final int REASON_SIGNALED = 2; // 0x2 + field public static final int REASON_UNKNOWN = 0; // 0x0 + field public static final int REASON_USER_REQUESTED = 10; // 0xa + field public static final int REASON_USER_STOPPED = 11; // 0xb + } + + public final class AsyncNotedAppOp implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public String getAttributionTag(); + method @NonNull public String getMessage(); + method @IntRange(from=0) public int getNotingUid(); + method @NonNull public String getOp(); + method public long getTime(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.app.AsyncNotedAppOp> CREATOR; + } + public final class AuthenticationRequiredException extends java.lang.SecurityException implements android.os.Parcelable { ctor public AuthenticationRequiredException(Throwable, android.app.PendingIntent); method public int describeContents(); @@ -5036,6 +5205,7 @@ package android.app { method public void callActivityOnDestroy(android.app.Activity); method public void callActivityOnNewIntent(android.app.Activity, android.content.Intent); method public void callActivityOnPause(android.app.Activity); + method public void callActivityOnPictureInPictureRequested(@NonNull android.app.Activity); method public void callActivityOnPostCreate(@NonNull android.app.Activity, @Nullable android.os.Bundle); method public void callActivityOnPostCreate(@NonNull android.app.Activity, @Nullable android.os.Bundle, @Nullable android.os.PersistableBundle); method public void callActivityOnRestart(android.app.Activity); @@ -5274,10 +5444,12 @@ package android.app { ctor public Notification(android.os.Parcel); method public android.app.Notification clone(); method public int describeContents(); + method @Nullable public android.util.Pair<android.app.RemoteInput,android.app.Notification.Action> findRemoteInputActionPair(boolean); method public boolean getAllowSystemGeneratedContextualActions(); method public int getBadgeIconType(); method @Nullable public android.app.Notification.BubbleMetadata getBubbleMetadata(); method public String getChannelId(); + method @NonNull public java.util.List<android.app.Notification.Action> getContextualActions(); method public String getGroup(); method public int getGroupAlertBehavior(); method public android.graphics.drawable.Icon getLargeIcon(); @@ -5497,15 +5669,18 @@ package android.app { method @Nullable public android.app.PendingIntent getDeleteIntent(); method @Dimension(unit=android.annotation.Dimension.DP) public int getDesiredHeight(); method @DimenRes public int getDesiredHeightResId(); - method @NonNull public android.graphics.drawable.Icon getIcon(); - method @NonNull public android.app.PendingIntent getIntent(); + method @Nullable public android.graphics.drawable.Icon getIcon(); + method @Nullable public android.app.PendingIntent getIntent(); + method @Nullable public String getShortcutId(); method public boolean isNotificationSuppressed(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.app.Notification.BubbleMetadata> CREATOR; } public static final class Notification.BubbleMetadata.Builder { - ctor public Notification.BubbleMetadata.Builder(); + ctor @Deprecated public Notification.BubbleMetadata.Builder(); + ctor public Notification.BubbleMetadata.Builder(@NonNull String); + ctor public Notification.BubbleMetadata.Builder(@NonNull android.app.PendingIntent, @NonNull android.graphics.drawable.Icon); method @NonNull public android.app.Notification.BubbleMetadata build(); method @NonNull public android.app.Notification.BubbleMetadata.Builder setAutoExpandBubble(boolean); method @NonNull public android.app.Notification.BubbleMetadata.Builder setDeleteIntent(@Nullable android.app.PendingIntent); @@ -5674,6 +5849,7 @@ package android.app { method public String getDataMimeType(); method public android.net.Uri getDataUri(); method public android.os.Bundle getExtras(); + method @NonNull public static java.util.List<android.app.Notification.MessagingStyle.Message> getMessagesFromBundleArray(@Nullable android.os.Parcelable[]); method @Deprecated public CharSequence getSender(); method @Nullable public android.app.Person getSenderPerson(); method public CharSequence getText(); @@ -5761,6 +5937,7 @@ package android.app { method public void enableLights(boolean); method public void enableVibration(boolean); method public android.media.AudioAttributes getAudioAttributes(); + method @Nullable public String getConversationId(); method public String getDescription(); method public String getGroup(); method public String getId(); @@ -5768,11 +5945,15 @@ package android.app { method public int getLightColor(); method public int getLockscreenVisibility(); method public CharSequence getName(); + method @Nullable public String getParentChannelId(); method public android.net.Uri getSound(); method public long[] getVibrationPattern(); method public boolean hasUserSetImportance(); + method public boolean hasUserSetSound(); + method public boolean isImportantConversation(); method public void setAllowBubbles(boolean); method public void setBypassDnd(boolean); + method public void setConversationId(@NonNull String, @NonNull String); method public void setDescription(String); method public void setGroup(String); method public void setImportance(int); @@ -5810,8 +5991,9 @@ package android.app { method public boolean areNotificationsPaused(); method public boolean canNotifyAsPackage(@NonNull String); method public void cancel(int); - method public void cancel(String, int); + method public void cancel(@Nullable String, int); method public void cancelAll(); + method public void cancelAsPackage(@NonNull String, @Nullable String, int); method public void createNotificationChannel(@NonNull android.app.NotificationChannel); method public void createNotificationChannelGroup(@NonNull android.app.NotificationChannelGroup); method public void createNotificationChannelGroups(@NonNull java.util.List<android.app.NotificationChannelGroup>); @@ -5821,9 +6003,11 @@ package android.app { method public android.service.notification.StatusBarNotification[] getActiveNotifications(); method public android.app.AutomaticZenRule getAutomaticZenRule(String); method public java.util.Map<java.lang.String,android.app.AutomaticZenRule> getAutomaticZenRules(); + method @NonNull public android.app.NotificationManager.Policy getConsolidatedNotificationPolicy(); method public final int getCurrentInterruptionFilter(); method public int getImportance(); method public android.app.NotificationChannel getNotificationChannel(String); + method @Nullable public android.app.NotificationChannel getNotificationChannel(@NonNull String, @NonNull String); method public android.app.NotificationChannelGroup getNotificationChannelGroup(String); method public java.util.List<android.app.NotificationChannelGroup> getNotificationChannelGroups(); method public java.util.List<android.app.NotificationChannel> getNotificationChannels(); @@ -5833,7 +6017,7 @@ package android.app { method public boolean isNotificationPolicyAccessGranted(); method public void notify(int, android.app.Notification); method public void notify(String, int, android.app.Notification); - method public void notifyAsPackage(@NonNull String, @NonNull String, int, @NonNull android.app.Notification); + method public void notifyAsPackage(@NonNull String, @Nullable String, int, @NonNull android.app.Notification); method public boolean removeAutomaticZenRule(String); method public void setAutomaticZenRuleState(@NonNull String, @NonNull android.service.notification.Condition); method public final void setInterruptionFilter(int); @@ -5843,12 +6027,19 @@ package android.app { method public boolean updateAutomaticZenRule(String, android.app.AutomaticZenRule); field public static final String ACTION_APP_BLOCK_STATE_CHANGED = "android.app.action.APP_BLOCK_STATE_CHANGED"; field public static final String ACTION_AUTOMATIC_ZEN_RULE = "android.app.action.AUTOMATIC_ZEN_RULE"; + field public static final String ACTION_AUTOMATIC_ZEN_RULE_STATUS_CHANGED = "android.app.action.AUTOMATIC_ZEN_RULE_STATUS_CHANGED"; field public static final String ACTION_INTERRUPTION_FILTER_CHANGED = "android.app.action.INTERRUPTION_FILTER_CHANGED"; field public static final String ACTION_NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED = "android.app.action.NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED"; field public static final String ACTION_NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED = "android.app.action.NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED"; field public static final String ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED = "android.app.action.NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED"; field public static final String ACTION_NOTIFICATION_POLICY_CHANGED = "android.app.action.NOTIFICATION_POLICY_CHANGED"; + field public static final int AUTOMATIC_RULE_STATUS_DISABLED = 2; // 0x2 + field public static final int AUTOMATIC_RULE_STATUS_ENABLED = 1; // 0x1 + field public static final int AUTOMATIC_RULE_STATUS_REMOVED = 3; // 0x3 + field public static final int AUTOMATIC_RULE_STATUS_UNKNOWN = -1; // 0xffffffff field public static final String EXTRA_AUTOMATIC_RULE_ID = "android.app.extra.AUTOMATIC_RULE_ID"; + field public static final String EXTRA_AUTOMATIC_ZEN_RULE_ID = "android.app.extra.AUTOMATIC_ZEN_RULE_ID"; + field public static final String EXTRA_AUTOMATIC_ZEN_RULE_STATUS = "android.app.extra.AUTOMATIC_ZEN_RULE_STATUS"; field public static final String EXTRA_BLOCKED_STATE = "android.app.extra.BLOCKED_STATE"; field public static final String EXTRA_NOTIFICATION_CHANNEL_GROUP_ID = "android.app.extra.NOTIFICATION_CHANNEL_GROUP_ID"; field public static final String EXTRA_NOTIFICATION_CHANNEL_ID = "android.app.extra.NOTIFICATION_CHANNEL_ID"; @@ -5871,14 +6062,19 @@ package android.app { public static class NotificationManager.Policy implements android.os.Parcelable { ctor public NotificationManager.Policy(int, int, int); ctor public NotificationManager.Policy(int, int, int, int); + ctor public NotificationManager.Policy(int, int, int, int, int); method public int describeContents(); method public static String priorityCategoriesToString(int); method public static String prioritySendersToString(int); method public static String suppressedEffectsToString(int); method public void writeToParcel(android.os.Parcel, int); + field public static final int CONVERSATION_SENDERS_ANYONE = 1; // 0x1 + field public static final int CONVERSATION_SENDERS_IMPORTANT = 2; // 0x2 + field public static final int CONVERSATION_SENDERS_NONE = 3; // 0x3 field @NonNull public static final android.os.Parcelable.Creator<android.app.NotificationManager.Policy> CREATOR; field public static final int PRIORITY_CATEGORY_ALARMS = 32; // 0x20 field public static final int PRIORITY_CATEGORY_CALLS = 8; // 0x8 + field public static final int PRIORITY_CATEGORY_CONVERSATIONS = 256; // 0x100 field public static final int PRIORITY_CATEGORY_EVENTS = 2; // 0x2 field public static final int PRIORITY_CATEGORY_MEDIA = 64; // 0x40 field public static final int PRIORITY_CATEGORY_MESSAGES = 4; // 0x4 @@ -5899,6 +6095,7 @@ package android.app { field public static final int SUPPRESSED_EFFECT_STATUS_BAR = 32; // 0x20 field public final int priorityCallSenders; field public final int priorityCategories; + field public final int priorityConversationSenders; field public final int priorityMessageSenders; field public final int suppressedVisualEffects; } @@ -6240,6 +6437,15 @@ package android.app { public class StatusBarManager { } + public final class SyncNotedAppOp implements android.os.Parcelable { + ctor public SyncNotedAppOp(@IntRange(from=0L) int, @Nullable String); + method public int describeContents(); + method @Nullable public String getAttributionTag(); + method @NonNull public String getOp(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.app.SyncNotedAppOp> CREATOR; + } + @Deprecated public class TabActivity extends android.app.ActivityGroup { ctor @Deprecated public TabActivity(); method @Deprecated public android.widget.TabHost getTabHost(); @@ -6301,6 +6507,7 @@ package android.app { method public android.view.WindowAnimationFrameStats getWindowAnimationFrameStats(); method public android.view.WindowContentFrameStats getWindowContentFrameStats(int); method public java.util.List<android.view.accessibility.AccessibilityWindowInfo> getWindows(); + method @NonNull public android.util.SparseArray<java.util.List<android.view.accessibility.AccessibilityWindowInfo>> getWindowsOnAllDisplays(); method public void grantRuntimePermission(String, String); method public void grantRuntimePermissionAsUser(String, String, android.os.UserHandle); method public boolean injectInputEvent(android.view.InputEvent, boolean); @@ -6334,7 +6541,11 @@ package android.app { method public void disableCarMode(int); method public void enableCarMode(int); method public int getCurrentModeType(); + method @NonNull public java.time.LocalTime getCustomNightModeEnd(); + method @NonNull public java.time.LocalTime getCustomNightModeStart(); method public int getNightMode(); + method public void setCustomNightModeEnd(@NonNull java.time.LocalTime); + method public void setCustomNightModeStart(@NonNull java.time.LocalTime); method public void setNightMode(int); field public static String ACTION_ENTER_CAR_MODE; field public static String ACTION_ENTER_DESK_MODE; @@ -6344,6 +6555,7 @@ package android.app { field public static final int ENABLE_CAR_MODE_ALLOW_SLEEP = 2; // 0x2 field public static final int ENABLE_CAR_MODE_GO_CAR_HOME = 1; // 0x1 field public static final int MODE_NIGHT_AUTO = 0; // 0x0 + field public static final int MODE_NIGHT_CUSTOM = 3; // 0x3 field public static final int MODE_NIGHT_NO = 1; // 0x1 field public static final int MODE_NIGHT_YES = 2; // 0x2 } @@ -6647,7 +6859,9 @@ package android.app.admin { method @Nullable public String getAlwaysOnVpnPackage(@NonNull android.content.ComponentName); method @NonNull @WorkerThread public android.os.Bundle getApplicationRestrictions(@Nullable android.content.ComponentName, String); method @Deprecated @Nullable public String getApplicationRestrictionsManagingPackage(@NonNull android.content.ComponentName); - method public boolean getAutoTimeRequired(); + method public boolean getAutoTimeEnabled(@NonNull android.content.ComponentName); + method @Deprecated public boolean getAutoTimeRequired(); + method public boolean getAutoTimeZoneEnabled(@NonNull android.content.ComponentName); method @NonNull public java.util.List<android.os.UserHandle> getBindDeviceAdminTargetUsers(@NonNull android.content.ComponentName); method public boolean getBluetoothContactSharingDisabled(@NonNull android.content.ComponentName); method public boolean getCameraDisabled(@Nullable android.content.ComponentName); @@ -6655,12 +6869,14 @@ package android.app.admin { method @Nullable public java.util.Set<java.lang.String> getCrossProfileCalendarPackages(@NonNull android.content.ComponentName); method public boolean getCrossProfileCallerIdDisabled(@NonNull android.content.ComponentName); method public boolean getCrossProfileContactsSearchDisabled(@NonNull android.content.ComponentName); + method @NonNull public java.util.Set<java.lang.String> getCrossProfilePackages(@NonNull android.content.ComponentName); method @NonNull public java.util.List<java.lang.String> getCrossProfileWidgetProviders(@NonNull android.content.ComponentName); method public int getCurrentFailedPasswordAttempts(); method @Nullable public java.util.List<java.lang.String> getDelegatePackages(@NonNull android.content.ComponentName, @NonNull String); method @NonNull public java.util.List<java.lang.String> getDelegatedScopes(@Nullable android.content.ComponentName, @NonNull String); method public CharSequence getDeviceOwnerLockScreenInfo(); method public CharSequence getEndUserSessionMessage(@NonNull android.content.ComponentName); + method @Nullable public android.app.admin.FactoryResetProtectionPolicy getFactoryResetProtectionPolicy(@Nullable android.content.ComponentName); method @Nullable public String getGlobalPrivateDnsHost(@NonNull android.content.ComponentName); method public int getGlobalPrivateDnsMode(@NonNull android.content.ComponentName); method @NonNull public java.util.List<byte[]> getInstalledCaCerts(@Nullable android.content.ComponentName); @@ -6669,6 +6885,7 @@ package android.app.admin { method public int getLockTaskFeatures(@NonNull android.content.ComponentName); method @NonNull public String[] getLockTaskPackages(@NonNull android.content.ComponentName); method @Nullable public CharSequence getLongSupportMessage(@NonNull android.content.ComponentName); + method public long getManagedProfileMaximumTimeOff(@NonNull android.content.ComponentName); method public int getMaximumFailedPasswordsForWipe(@Nullable android.content.ComponentName); method public long getMaximumTimeToLock(@Nullable android.content.ComponentName); method @NonNull public java.util.List<java.lang.String> getMeteredDataDisabledPackages(@NonNull android.content.ComponentName); @@ -6695,20 +6912,24 @@ package android.app.admin { method @Nullable public java.util.List<java.lang.String> getPermittedAccessibilityServices(@NonNull android.content.ComponentName); method @Nullable public java.util.List<java.lang.String> getPermittedCrossProfileNotificationListeners(@NonNull android.content.ComponentName); method @Nullable public java.util.List<java.lang.String> getPermittedInputMethods(@NonNull android.content.ComponentName); + method public int getPersonalAppsSuspendedReasons(@NonNull android.content.ComponentName); method public long getRequiredStrongAuthTimeout(@Nullable android.content.ComponentName); method public boolean getScreenCaptureDisabled(@Nullable android.content.ComponentName); method public java.util.List<android.os.UserHandle> getSecondaryUsers(@NonNull android.content.ComponentName); method public CharSequence getShortSupportMessage(@NonNull android.content.ComponentName); method public CharSequence getStartUserSessionMessage(@NonNull android.content.ComponentName); - method public boolean getStorageEncryption(@Nullable android.content.ComponentName); + method @Deprecated public boolean getStorageEncryption(@Nullable android.content.ComponentName); method public int getStorageEncryptionStatus(); method @Nullable public android.app.admin.SystemUpdatePolicy getSystemUpdatePolicy(); method @Nullable public android.os.PersistableBundle getTransferOwnershipBundle(); method @Nullable public java.util.List<android.os.PersistableBundle> getTrustAgentConfiguration(@Nullable android.content.ComponentName, @NonNull android.content.ComponentName); + method @NonNull public java.util.List<java.lang.String> getUserControlDisabledPackages(@NonNull android.content.ComponentName); method @NonNull public android.os.Bundle getUserRestrictions(@NonNull android.content.ComponentName); method @Nullable public String getWifiMacAddress(@NonNull android.content.ComponentName); + method public boolean grantKeyPairToApp(@Nullable android.content.ComponentName, @NonNull String, @NonNull String); method public boolean hasCaCertInstalled(@Nullable android.content.ComponentName, byte[]); method public boolean hasGrantedPolicy(@NonNull android.content.ComponentName, int); + method public boolean hasLockdownAdminConfiguredNetworks(@NonNull android.content.ComponentName); method public boolean installCaCert(@Nullable android.content.ComponentName, byte[]); method public boolean installExistingPackage(@NonNull android.content.ComponentName, String); method public boolean installKeyPair(@Nullable android.content.ComponentName, @NonNull java.security.PrivateKey, @NonNull java.security.cert.Certificate, @NonNull String); @@ -6722,6 +6943,7 @@ package android.app.admin { method public boolean isApplicationHidden(@NonNull android.content.ComponentName, String); method public boolean isBackupServiceEnabled(@NonNull android.content.ComponentName); method @Deprecated public boolean isCallerApplicationRestrictionsManagingPackage(); + method public boolean isCommonCriteriaModeEnabled(@Nullable android.content.ComponentName); method public boolean isDeviceIdAttestationSupported(); method public boolean isDeviceOwnerApp(String); method public boolean isEphemeralUser(@NonNull android.content.ComponentName); @@ -6730,6 +6952,7 @@ package android.app.admin { method public boolean isManagedProfile(@NonNull android.content.ComponentName); method public boolean isMasterVolumeMuted(@NonNull android.content.ComponentName); method public boolean isNetworkLoggingEnabled(@Nullable android.content.ComponentName); + method public boolean isOrganizationOwnedDeviceWithManagedProfile(); method public boolean isOverrideApnEnabled(@NonNull android.content.ComponentName); method public boolean isPackageSuspended(@NonNull android.content.ComponentName, String) throws android.content.pm.PackageManager.NameNotFoundException; method public boolean isProfileOwnerApp(String); @@ -6737,6 +6960,7 @@ package android.app.admin { method public boolean isResetPasswordTokenActive(android.content.ComponentName); method public boolean isSecurityLoggingEnabled(@Nullable android.content.ComponentName); method public boolean isUninstallBlocked(@Nullable android.content.ComponentName, String); + method public boolean isUniqueDeviceAttestationSupported(); method public boolean isUsingUnifiedPassword(@NonNull android.content.ComponentName); method public void lockNow(); method public void lockNow(int); @@ -6748,11 +6972,12 @@ package android.app.admin { method public boolean removeOverrideApn(@NonNull android.content.ComponentName, int); method public boolean removeUser(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle); method public boolean requestBugreport(@NonNull android.content.ComponentName); - method public boolean resetPassword(String, int); + method @Deprecated public boolean resetPassword(String, int); method public boolean resetPasswordWithToken(@NonNull android.content.ComponentName, String, byte[], int); method @Nullable public java.util.List<android.app.admin.NetworkEvent> retrieveNetworkLogs(@Nullable android.content.ComponentName, long); method @Nullable public java.util.List<android.app.admin.SecurityLog.SecurityEvent> retrievePreRebootSecurityLogs(@NonNull android.content.ComponentName); method @Nullable public java.util.List<android.app.admin.SecurityLog.SecurityEvent> retrieveSecurityLogs(@NonNull android.content.ComponentName); + method public boolean revokeKeyPairFromApp(@Nullable android.content.ComponentName, @NonNull String, @NonNull String); method public void setAccountManagementDisabled(@NonNull android.content.ComponentName, String, boolean); method public void setAffiliationIds(@NonNull android.content.ComponentName, @NonNull java.util.Set<java.lang.String>); method public void setAlwaysOnVpnPackage(@NonNull android.content.ComponentName, @Nullable String, boolean) throws android.content.pm.PackageManager.NameNotFoundException; @@ -6760,18 +6985,24 @@ package android.app.admin { method public boolean setApplicationHidden(@NonNull android.content.ComponentName, String, boolean); method @WorkerThread public void setApplicationRestrictions(@Nullable android.content.ComponentName, String, android.os.Bundle); method @Deprecated public void setApplicationRestrictionsManagingPackage(@NonNull android.content.ComponentName, @Nullable String) throws android.content.pm.PackageManager.NameNotFoundException; - method public void setAutoTimeRequired(@NonNull android.content.ComponentName, boolean); + method public void setAutoTimeEnabled(@NonNull android.content.ComponentName, boolean); + method @Deprecated public void setAutoTimeRequired(@NonNull android.content.ComponentName, boolean); + method public void setAutoTimeZoneEnabled(@NonNull android.content.ComponentName, boolean); method public void setBackupServiceEnabled(@NonNull android.content.ComponentName, boolean); method public void setBluetoothContactSharingDisabled(@NonNull android.content.ComponentName, boolean); method public void setCameraDisabled(@NonNull android.content.ComponentName, boolean); method @Deprecated public void setCertInstallerPackage(@NonNull android.content.ComponentName, @Nullable String) throws java.lang.SecurityException; + method public void setCommonCriteriaModeEnabled(@NonNull android.content.ComponentName, boolean); + method public void setConfiguredNetworksLockdownState(@NonNull android.content.ComponentName, boolean); method public void setCrossProfileCalendarPackages(@NonNull android.content.ComponentName, @Nullable java.util.Set<java.lang.String>); method public void setCrossProfileCallerIdDisabled(@NonNull android.content.ComponentName, boolean); method public void setCrossProfileContactsSearchDisabled(@NonNull android.content.ComponentName, boolean); + method public void setCrossProfilePackages(@NonNull android.content.ComponentName, @NonNull java.util.Set<java.lang.String>); method public void setDefaultSmsApplication(@NonNull android.content.ComponentName, @NonNull String); method public void setDelegatedScopes(@NonNull android.content.ComponentName, @NonNull String, @NonNull java.util.List<java.lang.String>); method public void setDeviceOwnerLockScreenInfo(@NonNull android.content.ComponentName, CharSequence); method public void setEndUserSessionMessage(@NonNull android.content.ComponentName, @Nullable CharSequence); + method public void setFactoryResetProtectionPolicy(@NonNull android.content.ComponentName, @Nullable android.app.admin.FactoryResetProtectionPolicy); method public int setGlobalPrivateDnsModeOpportunistic(@NonNull android.content.ComponentName); method @WorkerThread public int setGlobalPrivateDnsModeSpecifiedHost(@NonNull android.content.ComponentName, @NonNull String); method public void setGlobalSetting(@NonNull android.content.ComponentName, String, String); @@ -6779,10 +7010,12 @@ package android.app.admin { method public boolean setKeyPairCertificate(@Nullable android.content.ComponentName, @NonNull String, @NonNull java.util.List<java.security.cert.Certificate>, boolean); method public boolean setKeyguardDisabled(@NonNull android.content.ComponentName, boolean); method public void setKeyguardDisabledFeatures(@NonNull android.content.ComponentName, int); + method public void setLocationEnabled(@NonNull android.content.ComponentName, boolean); method public void setLockTaskFeatures(@NonNull android.content.ComponentName, int); method public void setLockTaskPackages(@NonNull android.content.ComponentName, @NonNull String[]) throws java.lang.SecurityException; method public void setLogoutEnabled(@NonNull android.content.ComponentName, boolean); method public void setLongSupportMessage(@NonNull android.content.ComponentName, @Nullable CharSequence); + method public void setManagedProfileMaximumTimeOff(@NonNull android.content.ComponentName, long); method public void setMasterVolumeMuted(@NonNull android.content.ComponentName, boolean); method public void setMaximumFailedPasswordsForWipe(@NonNull android.content.ComponentName, int); method public void setMaximumTimeToLock(@NonNull android.content.ComponentName, long); @@ -6807,6 +7040,7 @@ package android.app.admin { method public boolean setPermittedAccessibilityServices(@NonNull android.content.ComponentName, java.util.List<java.lang.String>); method public boolean setPermittedCrossProfileNotificationListeners(@NonNull android.content.ComponentName, @Nullable java.util.List<java.lang.String>); method public boolean setPermittedInputMethods(@NonNull android.content.ComponentName, java.util.List<java.lang.String>); + method public void setPersonalAppsSuspended(@NonNull android.content.ComponentName, boolean); method public void setProfileEnabled(@NonNull android.content.ComponentName); method public void setProfileName(@NonNull android.content.ComponentName, String); method public void setRecommendedGlobalProxy(@NonNull android.content.ComponentName, @Nullable android.net.ProxyInfo); @@ -6819,13 +7053,14 @@ package android.app.admin { method public void setShortSupportMessage(@NonNull android.content.ComponentName, @Nullable CharSequence); method public void setStartUserSessionMessage(@NonNull android.content.ComponentName, @Nullable CharSequence); method public boolean setStatusBarDisabled(@NonNull android.content.ComponentName, boolean); - method public int setStorageEncryption(@NonNull android.content.ComponentName, boolean); + method @Deprecated public int setStorageEncryption(@NonNull android.content.ComponentName, boolean); method public void setSystemSetting(@NonNull android.content.ComponentName, @NonNull String, String); method public void setSystemUpdatePolicy(@NonNull android.content.ComponentName, android.app.admin.SystemUpdatePolicy); method public boolean setTime(@NonNull android.content.ComponentName, long); method public boolean setTimeZone(@NonNull android.content.ComponentName, String); method public void setTrustAgentConfiguration(@NonNull android.content.ComponentName, @NonNull android.content.ComponentName, android.os.PersistableBundle); method public void setUninstallBlocked(@Nullable android.content.ComponentName, String, boolean); + method public void setUserControlDisabledPackages(@NonNull android.content.ComponentName, @NonNull java.util.List<java.lang.String>); method public void setUserIcon(@NonNull android.content.ComponentName, android.graphics.Bitmap); method public int startUserInBackground(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle); method public int stopUser(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle); @@ -6839,6 +7074,7 @@ package android.app.admin { field public static final String ACTION_ADD_DEVICE_ADMIN = "android.app.action.ADD_DEVICE_ADMIN"; field public static final String ACTION_ADMIN_POLICY_COMPLIANCE = "android.app.action.ADMIN_POLICY_COMPLIANCE"; field public static final String ACTION_APPLICATION_DELEGATION_SCOPES_CHANGED = "android.app.action.APPLICATION_DELEGATION_SCOPES_CHANGED"; + field public static final String ACTION_CHECK_POLICY_COMPLIANCE = "android.app.action.CHECK_POLICY_COMPLIANCE"; field public static final String ACTION_DEVICE_ADMIN_SERVICE = "android.app.action.DEVICE_ADMIN_SERVICE"; field public static final String ACTION_DEVICE_OWNER_CHANGED = "android.app.action.DEVICE_OWNER_CHANGED"; field public static final String ACTION_GET_PROVISIONING_MODE = "android.app.action.GET_PROVISIONING_MODE"; @@ -6917,6 +7153,7 @@ package android.app.admin { field public static final int FLAG_PARENT_CAN_ACCESS_MANAGED = 1; // 0x1 field public static final int ID_TYPE_BASE_INFO = 1; // 0x1 field public static final int ID_TYPE_IMEI = 4; // 0x4 + field public static final int ID_TYPE_INDIVIDUAL_ATTESTATION = 16; // 0x10 field public static final int ID_TYPE_MEID = 8; // 0x8 field public static final int ID_TYPE_SERIAL = 2; // 0x2 field public static final int INSTALLKEY_REQUEST_CREDENTIALS_ACCESS = 1; // 0x1 @@ -6934,6 +7171,7 @@ package android.app.admin { field public static final int KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS = 8; // 0x8 field public static final int KEYGUARD_DISABLE_WIDGETS_ALL = 1; // 0x1 field public static final int LEAVE_ALL_SYSTEM_APPS_ENABLED = 16; // 0x10 + field public static final int LOCK_TASK_FEATURE_BLOCK_ACTIVITY_START_IN_TASK = 64; // 0x40 field public static final int LOCK_TASK_FEATURE_GLOBAL_ACTIONS = 16; // 0x10 field public static final int LOCK_TASK_FEATURE_HOME = 4; // 0x4 field public static final int LOCK_TASK_FEATURE_KEYGUARD = 32; // 0x20 @@ -6961,6 +7199,9 @@ package android.app.admin { field public static final int PERMISSION_POLICY_AUTO_DENY = 2; // 0x2 field public static final int PERMISSION_POLICY_AUTO_GRANT = 1; // 0x1 field public static final int PERMISSION_POLICY_PROMPT = 0; // 0x0 + field public static final int PERSONAL_APPS_NOT_SUSPENDED = 0; // 0x0 + field public static final int PERSONAL_APPS_SUSPENDED_EXPLICITLY = 1; // 0x1 + field public static final int PERSONAL_APPS_SUSPENDED_PROFILE_TIMEOUT = 2; // 0x2 field public static final String POLICY_DISABLE_CAMERA = "policy_disable_camera"; field public static final String POLICY_DISABLE_SCREEN_CAPTURE = "policy_disable_screen_capture"; field public static final int PRIVATE_DNS_MODE_OFF = 1; // 0x1 @@ -7003,6 +7244,21 @@ package android.app.admin { field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DnsEvent> CREATOR; } + public final class FactoryResetProtectionPolicy implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<java.lang.String> getFactoryResetProtectionAccounts(); + method public boolean isFactoryResetProtectionEnabled(); + method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int); + field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.FactoryResetProtectionPolicy> CREATOR; + } + + public static class FactoryResetProtectionPolicy.Builder { + ctor public FactoryResetProtectionPolicy.Builder(); + method @NonNull public android.app.admin.FactoryResetProtectionPolicy build(); + method @NonNull public android.app.admin.FactoryResetProtectionPolicy.Builder setFactoryResetProtectionAccounts(@NonNull java.util.List<java.lang.String>); + method @NonNull public android.app.admin.FactoryResetProtectionPolicy.Builder setFactoryResetProtectionEnabled(boolean); + } + public class FreezePeriod { ctor public FreezePeriod(java.time.MonthDay, java.time.MonthDay); method public java.time.MonthDay getEnd(); @@ -7025,6 +7281,7 @@ package android.app.admin { field public static final int TAG_ADB_SHELL_CMD = 210002; // 0x33452 field public static final int TAG_ADB_SHELL_INTERACTIVE = 210001; // 0x33451 field public static final int TAG_APP_PROCESS_START = 210005; // 0x33455 + field public static final int TAG_CAMERA_POLICY_SET = 210034; // 0x33472 field public static final int TAG_CERT_AUTHORITY_INSTALLED = 210029; // 0x3346d field public static final int TAG_CERT_AUTHORITY_REMOVED = 210030; // 0x3346e field public static final int TAG_CERT_VALIDATION_FAILURE = 210033; // 0x33471 @@ -7153,17 +7410,18 @@ package android.app.assist { method @Nullable public android.view.autofill.AutofillValue getAutofillValue(); method public android.app.assist.AssistStructure.ViewNode getChildAt(int); method public int getChildCount(); - method public String getClassName(); - method public CharSequence getContentDescription(); + method @Nullable public String getClassName(); + method @Nullable public CharSequence getContentDescription(); method public float getElevation(); - method public android.os.Bundle getExtras(); + method @Nullable public android.os.Bundle getExtras(); method public int getHeight(); - method public String getHint(); + method @Nullable public String getHint(); + method @Nullable public String getHintIdEntry(); method @Nullable public android.view.ViewStructure.HtmlInfo getHtmlInfo(); method public int getId(); - method public String getIdEntry(); - method public String getIdPackage(); - method public String getIdType(); + method @Nullable public String getIdEntry(); + method @Nullable public String getIdPackage(); + method @Nullable public String getIdType(); method public int getImportantForAutofill(); method public int getInputType(); method public int getLeft(); @@ -7173,12 +7431,12 @@ package android.app.assist { method public int getMinTextEms(); method public int getScrollX(); method public int getScrollY(); - method public CharSequence getText(); + method @Nullable public CharSequence getText(); method public int getTextBackgroundColor(); method public int getTextColor(); method @Nullable public String getTextIdEntry(); - method public int[] getTextLineBaselines(); - method public int[] getTextLineCharOffsets(); + method @Nullable public int[] getTextLineBaselines(); + method @Nullable public int[] getTextLineCharOffsets(); method public int getTextSelectionEnd(); method public int getTextSelectionStart(); method public float getTextSize(); @@ -7311,6 +7569,50 @@ package android.app.backup { } +package android.app.blob { + + public final class BlobHandle implements android.os.Parcelable { + method @NonNull public static android.app.blob.BlobHandle createWithSha256(@NonNull byte[], @NonNull CharSequence, long, @NonNull String); + method public int describeContents(); + method public long getExpiryTimeMillis(); + method @NonNull public CharSequence getLabel(); + method @NonNull public byte[] getSha256Digest(); + method @NonNull public String getTag(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.app.blob.BlobHandle> CREATOR; + } + + public class BlobStoreManager { + method public void abandonSession(@IntRange(from=1) long) throws java.io.IOException; + method public void acquireLease(@NonNull android.app.blob.BlobHandle, @IdRes int, long) throws java.io.IOException; + method public void acquireLease(@NonNull android.app.blob.BlobHandle, @NonNull CharSequence, long) throws java.io.IOException; + method public void acquireLease(@NonNull android.app.blob.BlobHandle, @IdRes int) throws java.io.IOException; + method public void acquireLease(@NonNull android.app.blob.BlobHandle, @NonNull CharSequence) throws java.io.IOException; + method @IntRange(from=1) public long createSession(@NonNull android.app.blob.BlobHandle) throws java.io.IOException; + method @NonNull public java.util.List<android.app.blob.BlobHandle> getLeasedBlobs() throws java.io.IOException; + method @IntRange(from=0) public long getRemainingLeaseQuotaBytes(); + method @NonNull public android.os.ParcelFileDescriptor openBlob(@NonNull android.app.blob.BlobHandle) throws java.io.IOException; + method @NonNull public android.app.blob.BlobStoreManager.Session openSession(@IntRange(from=1) long) throws java.io.IOException; + method public void releaseLease(@NonNull android.app.blob.BlobHandle) throws java.io.IOException; + } + + public static class BlobStoreManager.Session implements java.io.Closeable { + method public void abandon() throws java.io.IOException; + method public void allowPackageAccess(@NonNull String, @NonNull byte[]) throws java.io.IOException; + method public void allowPublicAccess() throws java.io.IOException; + method public void allowSameSignatureAccess() throws java.io.IOException; + method public void close() throws java.io.IOException; + method public void commit(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>) throws java.io.IOException; + method public long getSize() throws java.io.IOException; + method public boolean isPackageAccessAllowed(@NonNull String, @NonNull byte[]) throws java.io.IOException; + method public boolean isPublicAccessAllowed() throws java.io.IOException; + method public boolean isSameSignatureAccessAllowed() throws java.io.IOException; + method @NonNull public android.os.ParcelFileDescriptor openRead() throws java.io.IOException; + method @NonNull public android.os.ParcelFileDescriptor openWrite(long, long) throws java.io.IOException; + } + +} + package android.app.job { public class JobInfo implements android.os.Parcelable { @@ -7798,6 +8100,7 @@ package android.app.usage { field public static final int STANDBY_BUCKET_ACTIVE = 10; // 0xa field public static final int STANDBY_BUCKET_FREQUENT = 30; // 0x1e field public static final int STANDBY_BUCKET_RARE = 40; // 0x28 + field public static final int STANDBY_BUCKET_RESTRICTED = 45; // 0x2d field public static final int STANDBY_BUCKET_WORKING_SET = 20; // 0x14 } @@ -7814,6 +8117,7 @@ package android.appwidget { method public void deleteAppWidgetId(int); method public void deleteHost(); method public int[] getAppWidgetIds(); + method public void onAppWidgetRemoved(int); method protected android.appwidget.AppWidgetHostView onCreateView(android.content.Context, int, android.appwidget.AppWidgetProviderInfo); method protected void onProviderChanged(int, android.appwidget.AppWidgetProviderInfo); method protected void onProvidersChanged(); @@ -7888,6 +8192,7 @@ package android.appwidget { field public static final String OPTION_APPWIDGET_MAX_WIDTH = "appWidgetMaxWidth"; field public static final String OPTION_APPWIDGET_MIN_HEIGHT = "appWidgetMinHeight"; field public static final String OPTION_APPWIDGET_MIN_WIDTH = "appWidgetMinWidth"; + field public static final String OPTION_APPWIDGET_RESTORE_COMPLETED = "appWidgetRestoreCompleted"; } public class AppWidgetProvider extends android.content.BroadcastReceiver { @@ -9157,14 +9462,16 @@ package android.companion { public final class WifiDeviceFilter implements android.companion.DeviceFilter<android.net.wifi.ScanResult> { method public int describeContents(); - method public void writeToParcel(android.os.Parcel, int); + method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.companion.WifiDeviceFilter> CREATOR; } public static final class WifiDeviceFilter.Builder { ctor public WifiDeviceFilter.Builder(); method @NonNull public android.companion.WifiDeviceFilter build(); - method public android.companion.WifiDeviceFilter.Builder setNamePattern(@Nullable java.util.regex.Pattern); + method @NonNull public android.companion.WifiDeviceFilter.Builder setBssid(@NonNull android.net.MacAddress); + method @NonNull public android.companion.WifiDeviceFilter.Builder setBssidMask(@NonNull android.net.MacAddress); + method @NonNull public android.companion.WifiDeviceFilter.Builder setNamePattern(@Nullable java.util.regex.Pattern); } } @@ -9320,6 +9627,7 @@ package android.content { field public static final String MIMETYPE_TEXT_INTENT = "text/vnd.android.intent"; field public static final String MIMETYPE_TEXT_PLAIN = "text/plain"; field public static final String MIMETYPE_TEXT_URILIST = "text/uri-list"; + field public static final String MIMETYPE_UNKNOWN = "application/octet-stream"; } public class ClipboardManager extends android.text.ClipboardManager { @@ -9389,8 +9697,11 @@ package android.content { method @Nullable public android.net.Uri canonicalize(@NonNull android.net.Uri); method @NonNull public final android.content.ContentProvider.CallingIdentity clearCallingIdentity(); method public abstract int delete(@NonNull android.net.Uri, @Nullable String, @Nullable String[]); + method public int delete(@NonNull android.net.Uri, @Nullable android.os.Bundle); method public void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]); + method @Nullable public final String getCallingAttributionTag(); method @Nullable public final String getCallingPackage(); + method @Nullable public final String getCallingPackageUnchecked(); method @Nullable public final android.content.Context getContext(); method @Nullable public final android.content.pm.PathPermission[] getPathPermissions(); method @Nullable public final String getReadPermission(); @@ -9398,7 +9709,9 @@ package android.content { method @Nullable public abstract String getType(@NonNull android.net.Uri); method @Nullable public final String getWritePermission(); method @Nullable public abstract android.net.Uri insert(@NonNull android.net.Uri, @Nullable android.content.ContentValues); + method @Nullable public android.net.Uri insert(@NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable android.os.Bundle); method protected boolean isTemporary(); + method public void onCallingPackageChanged(); method public void onConfigurationChanged(android.content.res.Configuration); method public abstract boolean onCreate(); method public void onLowMemory(); @@ -9415,6 +9728,7 @@ package android.content { method @Nullable public android.database.Cursor query(@NonNull android.net.Uri, @Nullable String[], @Nullable String, @Nullable String[], @Nullable String, @Nullable android.os.CancellationSignal); method @Nullable public android.database.Cursor query(@NonNull android.net.Uri, @Nullable String[], @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal); method public boolean refresh(android.net.Uri, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal); + method @NonNull public final android.content.Context requireContext(); method public final void restoreCallingIdentity(@NonNull android.content.ContentProvider.CallingIdentity); method protected final void setPathPermissions(@Nullable android.content.pm.PathPermission[]); method protected final void setReadPermission(@Nullable String); @@ -9422,6 +9736,7 @@ package android.content { method public void shutdown(); method @Nullable public android.net.Uri uncanonicalize(@NonNull android.net.Uri); method public abstract int update(@NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable String, @Nullable String[]); + method public int update(@NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable android.os.Bundle); } public final class ContentProvider.CallingIdentity { @@ -9440,10 +9755,12 @@ package android.content { method @Nullable public final android.net.Uri canonicalize(@NonNull android.net.Uri) throws android.os.RemoteException; method public void close(); method public int delete(@NonNull android.net.Uri, @Nullable String, @Nullable String[]) throws android.os.RemoteException; + method public int delete(@NonNull android.net.Uri, @Nullable android.os.Bundle) throws android.os.RemoteException; method @Nullable public android.content.ContentProvider getLocalContentProvider(); method @Nullable public String[] getStreamTypes(@NonNull android.net.Uri, @NonNull String) throws android.os.RemoteException; method @Nullable public String getType(@NonNull android.net.Uri) throws android.os.RemoteException; method @Nullable public android.net.Uri insert(@NonNull android.net.Uri, @Nullable android.content.ContentValues) throws android.os.RemoteException; + method @Nullable public android.net.Uri insert(@NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable android.os.Bundle) throws android.os.RemoteException; method @Nullable public android.content.res.AssetFileDescriptor openAssetFile(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException, android.os.RemoteException; method @Nullable public android.content.res.AssetFileDescriptor openAssetFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException, android.os.RemoteException; method @Nullable public android.os.ParcelFileDescriptor openFile(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException, android.os.RemoteException; @@ -9458,50 +9775,66 @@ package android.content { method @Deprecated public boolean release(); method @Nullable public final android.net.Uri uncanonicalize(@NonNull android.net.Uri) throws android.os.RemoteException; method public int update(@NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable String, @Nullable String[]) throws android.os.RemoteException; + method public int update(@NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable android.os.Bundle) throws android.os.RemoteException; } public class ContentProviderOperation implements android.os.Parcelable { - method public android.content.ContentProviderResult apply(android.content.ContentProvider, android.content.ContentProviderResult[], int) throws android.content.OperationApplicationException; + method @NonNull public android.content.ContentProviderResult apply(@NonNull android.content.ContentProvider, @NonNull android.content.ContentProviderResult[], int) throws android.content.OperationApplicationException; method public int describeContents(); - method public android.net.Uri getUri(); + method @NonNull public android.net.Uri getUri(); method public boolean isAssertQuery(); + method public boolean isCall(); method public boolean isDelete(); + method public boolean isExceptionAllowed(); method public boolean isInsert(); method public boolean isReadOperation(); method public boolean isUpdate(); method public boolean isWriteOperation(); method public boolean isYieldAllowed(); - method public static android.content.ContentProviderOperation.Builder newAssertQuery(android.net.Uri); - method public static android.content.ContentProviderOperation.Builder newDelete(android.net.Uri); - method public static android.content.ContentProviderOperation.Builder newInsert(android.net.Uri); - method public static android.content.ContentProviderOperation.Builder newUpdate(android.net.Uri); - method public String[] resolveSelectionArgsBackReferences(android.content.ContentProviderResult[], int); - method public android.content.ContentValues resolveValueBackReferences(android.content.ContentProviderResult[], int); + method @NonNull public static android.content.ContentProviderOperation.Builder newAssertQuery(@NonNull android.net.Uri); + method @NonNull public static android.content.ContentProviderOperation.Builder newCall(@NonNull android.net.Uri, @Nullable String, @Nullable String); + method @NonNull public static android.content.ContentProviderOperation.Builder newDelete(@NonNull android.net.Uri); + method @NonNull public static android.content.ContentProviderOperation.Builder newInsert(@NonNull android.net.Uri); + method @NonNull public static android.content.ContentProviderOperation.Builder newUpdate(@NonNull android.net.Uri); + method @Nullable public android.os.Bundle resolveExtrasBackReferences(@NonNull android.content.ContentProviderResult[], int); + method @Nullable public String[] resolveSelectionArgsBackReferences(@NonNull android.content.ContentProviderResult[], int); + method @Nullable public android.content.ContentValues resolveValueBackReferences(@NonNull android.content.ContentProviderResult[], int); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.content.ContentProviderOperation> CREATOR; } public static class ContentProviderOperation.Builder { - method public android.content.ContentProviderOperation build(); - method public android.content.ContentProviderOperation.Builder withExpectedCount(int); - method public android.content.ContentProviderOperation.Builder withSelection(String, String[]); - method public android.content.ContentProviderOperation.Builder withSelectionBackReference(int, int); - method public android.content.ContentProviderOperation.Builder withValue(String, Object); - method public android.content.ContentProviderOperation.Builder withValueBackReference(String, int); - method public android.content.ContentProviderOperation.Builder withValueBackReferences(android.content.ContentValues); - method public android.content.ContentProviderOperation.Builder withValues(android.content.ContentValues); - method public android.content.ContentProviderOperation.Builder withYieldAllowed(boolean); + method @NonNull public android.content.ContentProviderOperation build(); + method @NonNull public android.content.ContentProviderOperation.Builder withExceptionAllowed(boolean); + method @NonNull public android.content.ContentProviderOperation.Builder withExpectedCount(int); + method @NonNull public android.content.ContentProviderOperation.Builder withExtra(@NonNull String, @Nullable Object); + method @NonNull public android.content.ContentProviderOperation.Builder withExtraBackReference(@NonNull String, int); + method @NonNull public android.content.ContentProviderOperation.Builder withExtraBackReference(@NonNull String, int, @NonNull String); + method @NonNull public android.content.ContentProviderOperation.Builder withExtras(@NonNull android.os.Bundle); + method @NonNull public android.content.ContentProviderOperation.Builder withSelection(@Nullable String, @Nullable String[]); + method @NonNull public android.content.ContentProviderOperation.Builder withSelectionBackReference(int, int); + method @NonNull public android.content.ContentProviderOperation.Builder withSelectionBackReference(int, int, @NonNull String); + method @NonNull public android.content.ContentProviderOperation.Builder withValue(@NonNull String, @Nullable Object); + method @NonNull public android.content.ContentProviderOperation.Builder withValueBackReference(@NonNull String, int); + method @NonNull public android.content.ContentProviderOperation.Builder withValueBackReference(@NonNull String, int, @NonNull String); + method @NonNull public android.content.ContentProviderOperation.Builder withValueBackReferences(@NonNull android.content.ContentValues); + method @NonNull public android.content.ContentProviderOperation.Builder withValues(@NonNull android.content.ContentValues); + method @NonNull public android.content.ContentProviderOperation.Builder withYieldAllowed(boolean); } public class ContentProviderResult implements android.os.Parcelable { - ctor public ContentProviderResult(android.net.Uri); + ctor public ContentProviderResult(@NonNull android.net.Uri); ctor public ContentProviderResult(int); + ctor public ContentProviderResult(@NonNull android.os.Bundle); + ctor public ContentProviderResult(@NonNull Throwable); ctor public ContentProviderResult(android.os.Parcel); method public int describeContents(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.content.ContentProviderResult> CREATOR; - field public final Integer count; - field public final android.net.Uri uri; + field @Nullable public final Integer count; + field @Nullable public final Throwable exception; + field @Nullable public final android.os.Bundle extras; + field @Nullable public final android.net.Uri uri; } public class ContentQueryMap extends java.util.Observable { @@ -9530,6 +9863,7 @@ package android.content { method public static void cancelSync(android.content.SyncRequest); method @Nullable public final android.net.Uri canonicalize(@NonNull android.net.Uri); method public final int delete(@NonNull @RequiresPermission.Write android.net.Uri, @Nullable String, @Nullable String[]); + method public final int delete(@NonNull @RequiresPermission.Write android.net.Uri, @Nullable android.os.Bundle); method @Deprecated public static android.content.SyncInfo getCurrentSync(); method public static java.util.List<android.content.SyncInfo> getCurrentSyncs(); method public static int getIsSyncable(android.accounts.Account, String); @@ -9543,12 +9877,14 @@ package android.content { method @Nullable public final String getType(@NonNull android.net.Uri); method @NonNull public final android.content.ContentResolver.MimeTypeInfo getTypeInfo(@NonNull String); method @Nullable public final android.net.Uri insert(@NonNull @RequiresPermission.Write android.net.Uri, @Nullable android.content.ContentValues); + method @Nullable public final android.net.Uri insert(@NonNull @RequiresPermission.Write android.net.Uri, @Nullable android.content.ContentValues, @Nullable android.os.Bundle); method public static boolean isSyncActive(android.accounts.Account, String); method public static boolean isSyncPending(android.accounts.Account, String); method @NonNull public android.graphics.Bitmap loadThumbnail(@NonNull android.net.Uri, @NonNull android.util.Size, @Nullable android.os.CancellationSignal) throws java.io.IOException; method public void notifyChange(@NonNull android.net.Uri, @Nullable android.database.ContentObserver); - method public void notifyChange(@NonNull android.net.Uri, @Nullable android.database.ContentObserver, boolean); + method @Deprecated public void notifyChange(@NonNull android.net.Uri, @Nullable android.database.ContentObserver, boolean); method public void notifyChange(@NonNull android.net.Uri, @Nullable android.database.ContentObserver, int); + method public void notifyChange(@NonNull java.util.Collection<android.net.Uri>, @Nullable android.database.ContentObserver, int); method @Nullable public final android.content.res.AssetFileDescriptor openAssetFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException; method @Nullable public final android.content.res.AssetFileDescriptor openAssetFileDescriptor(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException; method @Nullable public final android.content.res.AssetFileDescriptor openAssetFileDescriptor(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException; @@ -9579,6 +9915,7 @@ package android.content { method @Nullable public final android.net.Uri uncanonicalize(@NonNull android.net.Uri); method public final void unregisterContentObserver(@NonNull android.database.ContentObserver); method public final int update(@NonNull @RequiresPermission.Write android.net.Uri, @Nullable android.content.ContentValues, @Nullable String, @Nullable String[]); + method public final int update(@NonNull @RequiresPermission.Write android.net.Uri, @Nullable android.content.ContentValues, @Nullable android.os.Bundle); method public static void validateSyncExtrasBundle(android.os.Bundle); method @NonNull public static android.content.ContentResolver wrap(@NonNull android.content.ContentProvider); method @NonNull public static android.content.ContentResolver wrap(@NonNull android.content.ContentProviderClient); @@ -9589,13 +9926,21 @@ package android.content { field public static final String EXTRA_REFRESH_SUPPORTED = "android.content.extra.REFRESH_SUPPORTED"; field public static final String EXTRA_SIZE = "android.content.extra.SIZE"; field public static final String EXTRA_TOTAL_COUNT = "android.content.extra.TOTAL_COUNT"; + field public static final int NOTIFY_DELETE = 16; // 0x10 + field public static final int NOTIFY_INSERT = 4; // 0x4 field public static final int NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS = 2; // 0x2 field public static final int NOTIFY_SYNC_TO_NETWORK = 1; // 0x1 + field public static final int NOTIFY_UPDATE = 8; // 0x8 + field public static final String QUERY_ARG_GROUP_COLUMNS = "android:query-arg-group-columns"; field public static final String QUERY_ARG_LIMIT = "android:query-arg-limit"; field public static final String QUERY_ARG_OFFSET = "android:query-arg-offset"; field public static final String QUERY_ARG_SORT_COLLATION = "android:query-arg-sort-collation"; field public static final String QUERY_ARG_SORT_COLUMNS = "android:query-arg-sort-columns"; field public static final String QUERY_ARG_SORT_DIRECTION = "android:query-arg-sort-direction"; + field public static final String QUERY_ARG_SORT_LOCALE = "android:query-arg-sort-locale"; + field public static final String QUERY_ARG_SQL_GROUP_BY = "android:query-arg-sql-group-by"; + field public static final String QUERY_ARG_SQL_HAVING = "android:query-arg-sql-having"; + field public static final String QUERY_ARG_SQL_LIMIT = "android:query-arg-sql-limit"; field public static final String QUERY_ARG_SQL_SELECTION = "android:query-arg-sql-selection"; field public static final String QUERY_ARG_SQL_SELECTION_ARGS = "android:query-arg-sql-selection-args"; field public static final String QUERY_ARG_SQL_SORT_ORDER = "android:query-arg-sql-sort-order"; @@ -9652,6 +9997,7 @@ package android.content { method public Long getAsLong(String); method public Short getAsShort(String); method public String getAsString(String); + method public boolean isEmpty(); method public java.util.Set<java.lang.String> keySet(); method public void put(String, String); method public void put(String, Byte); @@ -9677,6 +10023,7 @@ package android.content { method public boolean bindIsolatedService(@NonNull @RequiresPermission android.content.Intent, int, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.content.ServiceConnection); method public abstract boolean bindService(@RequiresPermission android.content.Intent, @NonNull android.content.ServiceConnection, int); method public boolean bindService(@NonNull @RequiresPermission android.content.Intent, int, @NonNull java.util.concurrent.Executor, @NonNull android.content.ServiceConnection); + method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", android.Manifest.permission.INTERACT_ACROSS_PROFILES}) public boolean bindServiceAsUser(@NonNull @RequiresPermission android.content.Intent, @NonNull android.content.ServiceConnection, int, @NonNull android.os.UserHandle); method @CheckResult(suggest="#enforceCallingOrSelfPermission(String,String)") public abstract int checkCallingOrSelfPermission(@NonNull String); method @CheckResult(suggest="#enforceCallingOrSelfUriPermission(Uri,int,String)") public abstract int checkCallingOrSelfUriPermission(android.net.Uri, int); method @CheckResult(suggest="#enforceCallingPermission(String,String)") public abstract int checkCallingPermission(@NonNull String); @@ -9686,11 +10033,13 @@ package android.content { method @CheckResult(suggest="#enforceUriPermission(Uri,int,int,String)") public abstract int checkUriPermission(android.net.Uri, int, int, int); method @CheckResult(suggest="#enforceUriPermission(Uri,String,String,int,int,int,String)") public abstract int checkUriPermission(@Nullable android.net.Uri, @Nullable String, @Nullable String, int, int, int); method @Deprecated public abstract void clearWallpaper() throws java.io.IOException; + method @NonNull public android.content.Context createAttributionContext(@Nullable String); method public abstract android.content.Context createConfigurationContext(@NonNull android.content.res.Configuration); method public abstract android.content.Context createContextForSplit(String) throws android.content.pm.PackageManager.NameNotFoundException; method public abstract android.content.Context createDeviceProtectedStorageContext(); method public abstract android.content.Context createDisplayContext(@NonNull android.view.Display); method public abstract android.content.Context createPackageContext(String, int) throws android.content.pm.PackageManager.NameNotFoundException; + method @NonNull public android.content.Context createWindowContext(int, @Nullable android.os.Bundle); method public abstract String[] databaseList(); method public abstract boolean deleteDatabase(String); method public abstract boolean deleteFile(String); @@ -9706,6 +10055,7 @@ package android.content { method public abstract android.content.Context getApplicationContext(); method public abstract android.content.pm.ApplicationInfo getApplicationInfo(); method public abstract android.content.res.AssetManager getAssets(); + method @Nullable public String getAttributionTag(); method public abstract java.io.File getCacheDir(); method public abstract ClassLoader getClassLoader(); method public abstract java.io.File getCodeCacheDir(); @@ -9715,12 +10065,13 @@ package android.content { method public abstract java.io.File getDataDir(); method public abstract java.io.File getDatabasePath(String); method public abstract java.io.File getDir(String, int); + method @Nullable public android.view.Display getDisplay(); method @Nullable public final android.graphics.drawable.Drawable getDrawable(@DrawableRes int); method @Nullable public abstract java.io.File getExternalCacheDir(); method public abstract java.io.File[] getExternalCacheDirs(); method @Nullable public abstract java.io.File getExternalFilesDir(@Nullable String); method public abstract java.io.File[] getExternalFilesDirs(String); - method public abstract java.io.File[] getExternalMediaDirs(); + method @Deprecated public abstract java.io.File[] getExternalMediaDirs(); method public abstract java.io.File getFileStreamPath(String); method public abstract java.io.File getFilesDir(); method public java.util.concurrent.Executor getMainExecutor(); @@ -9772,6 +10123,7 @@ package android.content { method public abstract void sendBroadcast(@RequiresPermission android.content.Intent, @Nullable String); method @RequiresPermission("android.permission.INTERACT_ACROSS_USERS") public abstract void sendBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle); method @RequiresPermission("android.permission.INTERACT_ACROSS_USERS") public abstract void sendBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle, @Nullable String); + method public void sendBroadcastWithMultiplePermissions(@NonNull android.content.Intent, @NonNull String[]); method public abstract void sendOrderedBroadcast(@RequiresPermission android.content.Intent, @Nullable String); method public abstract void sendOrderedBroadcast(@NonNull @RequiresPermission android.content.Intent, @Nullable String, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle); method public void sendOrderedBroadcast(@NonNull android.content.Intent, @Nullable String, @Nullable String, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle); @@ -9817,6 +10169,7 @@ package android.content { field public static final int BIND_NOT_PERCEPTIBLE = 256; // 0x100 field public static final int BIND_WAIVE_PRIORITY = 32; // 0x20 field public static final String BIOMETRIC_SERVICE = "biometric"; + field public static final String BLOB_STORE_SERVICE = "blob_store"; field public static final String BLUETOOTH_SERVICE = "bluetooth"; field public static final String CAMERA_SERVICE = "camera"; field public static final String CAPTIONING_SERVICE = "captioning"; @@ -9835,6 +10188,7 @@ package android.content { field public static final String DOWNLOAD_SERVICE = "download"; field public static final String DROPBOX_SERVICE = "dropbox"; field public static final String EUICC_SERVICE = "euicc"; + field public static final String FILE_INTEGRITY_SERVICE = "file_integrity"; field public static final String FINGERPRINT_SERVICE = "fingerprint"; field public static final String HARDWARE_PROPERTIES_SERVICE = "hardware_properties"; field public static final String INPUT_METHOD_SERVICE = "input_method"; @@ -10213,6 +10567,7 @@ package android.content { field public static final String ACTION_APP_ERROR = "android.intent.action.APP_ERROR"; field public static final String ACTION_ASSIST = "android.intent.action.ASSIST"; field public static final String ACTION_ATTACH_DATA = "android.intent.action.ATTACH_DATA"; + field public static final String ACTION_AUTO_REVOKE_PERMISSIONS = "android.intent.action.AUTO_REVOKE_PERMISSIONS"; field public static final String ACTION_BATTERY_CHANGED = "android.intent.action.BATTERY_CHANGED"; field public static final String ACTION_BATTERY_LOW = "android.intent.action.BATTERY_LOW"; field public static final String ACTION_BATTERY_OKAY = "android.intent.action.BATTERY_OKAY"; @@ -10226,6 +10581,7 @@ package android.content { field public static final String ACTION_CLOSE_SYSTEM_DIALOGS = "android.intent.action.CLOSE_SYSTEM_DIALOGS"; field public static final String ACTION_CONFIGURATION_CHANGED = "android.intent.action.CONFIGURATION_CHANGED"; field public static final String ACTION_CREATE_DOCUMENT = "android.intent.action.CREATE_DOCUMENT"; + field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER"; field public static final String ACTION_CREATE_SHORTCUT = "android.intent.action.CREATE_SHORTCUT"; field public static final String ACTION_DATE_CHANGED = "android.intent.action.DATE_CHANGED"; field public static final String ACTION_DEFAULT = "android.intent.action.VIEW"; @@ -10336,6 +10692,7 @@ package android.content { field public static final String ACTION_VOICE_COMMAND = "android.intent.action.VOICE_COMMAND"; field @Deprecated public static final String ACTION_WALLPAPER_CHANGED = "android.intent.action.WALLPAPER_CHANGED"; field public static final String ACTION_WEB_SEARCH = "android.intent.action.WEB_SEARCH"; + field public static final String CATEGORY_ACCESSIBILITY_SHORTCUT_TARGET = "android.intent.category.ACCESSIBILITY_SHORTCUT_TARGET"; field public static final String CATEGORY_ALTERNATIVE = "android.intent.category.ALTERNATIVE"; field public static final String CATEGORY_APP_BROWSER = "android.intent.category.APP_BROWSER"; field public static final String CATEGORY_APP_CALCULATOR = "android.intent.category.APP_CALCULATOR"; @@ -10450,6 +10807,8 @@ package android.content { field public static final String EXTRA_SUSPENDED_PACKAGE_EXTRAS = "android.intent.extra.SUSPENDED_PACKAGE_EXTRAS"; field public static final String EXTRA_TEMPLATE = "android.intent.extra.TEMPLATE"; field public static final String EXTRA_TEXT = "android.intent.extra.TEXT"; + field public static final String EXTRA_TIME = "android.intent.extra.TIME"; + field public static final String EXTRA_TIMEZONE = "time-zone"; field public static final String EXTRA_TITLE = "android.intent.extra.TITLE"; field public static final String EXTRA_UID = "android.intent.extra.UID"; field public static final String EXTRA_USER = "android.intent.extra.USER"; @@ -10479,6 +10838,8 @@ package android.content { field public static final int FLAG_ACTIVITY_NO_USER_ACTION = 262144; // 0x40000 field public static final int FLAG_ACTIVITY_PREVIOUS_IS_TOP = 16777216; // 0x1000000 field public static final int FLAG_ACTIVITY_REORDER_TO_FRONT = 131072; // 0x20000 + field public static final int FLAG_ACTIVITY_REQUIRE_DEFAULT = 512; // 0x200 + field public static final int FLAG_ACTIVITY_REQUIRE_NON_BROWSER = 1024; // 0x400 field public static final int FLAG_ACTIVITY_RESET_TASK_IF_NEEDED = 2097152; // 0x200000 field public static final int FLAG_ACTIVITY_RETAIN_IN_RECENTS = 8192; // 0x2000 field public static final int FLAG_ACTIVITY_SINGLE_TOP = 536870912; // 0x20000000 @@ -11016,6 +11377,7 @@ package android.content.pm { field public static final int FLAG_IMMERSIVE = 2048; // 0x800 field public static final int FLAG_MULTIPROCESS = 1; // 0x1 field public static final int FLAG_NO_HISTORY = 128; // 0x80 + field public static final int FLAG_PREFER_MINIMAL_POST_PROCESSING = 33554432; // 0x2000000 field public static final int FLAG_RELINQUISH_TASK_IDENTITY = 4096; // 0x1000 field public static final int FLAG_RESUME_WHILE_PAUSING = 16384; // 0x4000 field public static final int FLAG_SINGLE_USER = 1073741824; // 0x40000000 @@ -11079,6 +11441,7 @@ package android.content.pm { method public int describeContents(); method public void dump(android.util.Printer, String); method public static CharSequence getCategoryTitle(android.content.Context, int); + method public int getGwpAsanMode(); method public boolean isProfileableByShell(); method public boolean isResourceOverlay(); method public boolean isVirtualPreload(); @@ -11116,7 +11479,7 @@ package android.content.pm { field public static final int FLAG_SUPPORTS_LARGE_SCREENS = 2048; // 0x800 field public static final int FLAG_SUPPORTS_NORMAL_SCREENS = 1024; // 0x400 field public static final int FLAG_SUPPORTS_RTL = 4194304; // 0x400000 - field public static final int FLAG_SUPPORTS_SCREEN_DENSITIES = 8192; // 0x2000 + field @Deprecated public static final int FLAG_SUPPORTS_SCREEN_DENSITIES = 8192; // 0x2000 field public static final int FLAG_SUPPORTS_SMALL_SCREENS = 512; // 0x200 field public static final int FLAG_SUPPORTS_XLARGE_SCREENS = 524288; // 0x80000 field public static final int FLAG_SUSPENDED = 1073741824; // 0x40000000 @@ -11125,6 +11488,9 @@ package android.content.pm { field public static final int FLAG_UPDATED_SYSTEM_APP = 128; // 0x80 field public static final int FLAG_USES_CLEARTEXT_TRAFFIC = 134217728; // 0x8000000 field public static final int FLAG_VM_SAFE_MODE = 16384; // 0x4000 + field public static final int GWP_ASAN_ALWAYS = 1; // 0x1 + field public static final int GWP_ASAN_DEFAULT = -1; // 0xffffffff + field public static final int GWP_ASAN_NEVER = 0; // 0x0 field public String appComponentFactory; field public String backupAgentName; field public int category; @@ -11205,10 +11571,16 @@ package android.content.pm { } public class CrossProfileApps { + method public boolean canInteractAcrossProfiles(); + method public boolean canRequestInteractAcrossProfiles(); + method @NonNull public android.content.Intent createRequestInteractAcrossProfilesIntent(); method @NonNull public android.graphics.drawable.Drawable getProfileSwitchingIconDrawable(@NonNull android.os.UserHandle); method @NonNull public CharSequence getProfileSwitchingLabel(@NonNull android.os.UserHandle); method @NonNull public java.util.List<android.os.UserHandle> getTargetUserProfiles(); + method @RequiresPermission(anyOf={android.Manifest.permission.INTERACT_ACROSS_PROFILES, "android.permission.INTERACT_ACROSS_USERS"}) public void startActivity(@NonNull android.content.Intent, @NonNull android.os.UserHandle, @Nullable android.app.Activity); + method @RequiresPermission(anyOf={android.Manifest.permission.INTERACT_ACROSS_PROFILES, "android.permission.INTERACT_ACROSS_USERS"}) public void startActivity(@NonNull android.content.Intent, @NonNull android.os.UserHandle, @Nullable android.app.Activity, @Nullable android.os.Bundle); method public void startMainActivity(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle); + field public static final String ACTION_CAN_INTERACT_ACROSS_PROFILES_CHANGED = "android.content.pm.action.CAN_INTERACT_ACROSS_PROFILES_CHANGED"; } public final class FeatureGroupInfo implements android.os.Parcelable { @@ -11235,6 +11607,16 @@ package android.content.pm { field public int version; } + public final class InstallSourceInfo implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public String getInitiatingPackageName(); + method @Nullable public android.content.pm.SigningInfo getInitiatingPackageSigningInfo(); + method @Nullable public String getInstallingPackageName(); + method @Nullable public String getOriginatingPackageName(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstallSourceInfo> CREATOR; + } + public class InstrumentationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable { ctor public InstrumentationInfo(); ctor public InstrumentationInfo(android.content.pm.InstrumentationInfo); @@ -11317,7 +11699,7 @@ package android.content.pm { method public abstract void onPackageRemoved(String, android.os.UserHandle); method public abstract void onPackagesAvailable(String[], android.os.UserHandle, boolean); method public void onPackagesSuspended(String[], android.os.UserHandle); - method public void onPackagesSuspended(String[], android.os.UserHandle, @Nullable android.os.Bundle); + method @Deprecated public void onPackagesSuspended(String[], android.os.UserHandle, @Nullable android.os.Bundle); method public abstract void onPackagesUnavailable(String[], android.os.UserHandle, boolean); method public void onPackagesUnsuspended(String[], android.os.UserHandle); method public void onShortcutsChanged(@NonNull String, @NonNull java.util.List<android.content.pm.ShortcutInfo>, @NonNull android.os.UserHandle); @@ -11342,10 +11724,12 @@ package android.content.pm { ctor public LauncherApps.ShortcutQuery(); method public android.content.pm.LauncherApps.ShortcutQuery setActivity(@Nullable android.content.ComponentName); method public android.content.pm.LauncherApps.ShortcutQuery setChangedSince(long); + method @NonNull public android.content.pm.LauncherApps.ShortcutQuery setLocusIds(@Nullable java.util.List<android.content.LocusId>); method public android.content.pm.LauncherApps.ShortcutQuery setPackage(@Nullable String); method public android.content.pm.LauncherApps.ShortcutQuery setQueryFlags(int); method public android.content.pm.LauncherApps.ShortcutQuery setShortcutIds(@Nullable java.util.List<java.lang.String>); field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4 + field public static final int FLAG_MATCH_CACHED = 16; // 0x10 field public static final int FLAG_MATCH_DYNAMIC = 1; // 0x1 field public static final int FLAG_MATCH_MANIFEST = 8; // 0x8 field public static final int FLAG_MATCH_PINNED = 2; // 0x2 @@ -11475,6 +11859,7 @@ package android.content.pm { method @Nullable public CharSequence getAppLabel(); method @Nullable public String getAppPackageName(); method @NonNull public int[] getChildSessionIds(); + method public long getCreatedMillis(); method public int getInstallLocation(); method public int getInstallReason(); method @Nullable public String getInstallerPackageName(); @@ -11515,6 +11900,7 @@ package android.content.pm { method public void setAppIcon(@Nullable android.graphics.Bitmap); method public void setAppLabel(@Nullable CharSequence); method public void setAppPackageName(@Nullable String); + method public void setAutoRevokePermissionsMode(boolean); method public void setInstallLocation(int); method public void setInstallReason(int); method public void setMultiPackage(); @@ -11591,19 +11977,22 @@ package android.content.pm { method @NonNull public abstract CharSequence getApplicationLabel(@NonNull android.content.pm.ApplicationInfo); method @Nullable public abstract android.graphics.drawable.Drawable getApplicationLogo(@NonNull android.content.pm.ApplicationInfo); method @Nullable public abstract android.graphics.drawable.Drawable getApplicationLogo(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException; + method @NonNull public CharSequence getBackgroundPermissionOptionLabel(); method @Nullable public abstract android.content.pm.ChangedPackages getChangedPackages(@IntRange(from=0) int); method public abstract int getComponentEnabledSetting(@NonNull android.content.ComponentName); method @NonNull public abstract android.graphics.drawable.Drawable getDefaultActivityIcon(); method @Nullable public abstract android.graphics.drawable.Drawable getDrawable(@NonNull String, @DrawableRes int, @Nullable android.content.pm.ApplicationInfo); + method @NonNull public android.content.pm.InstallSourceInfo getInstallSourceInfo(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException; method @NonNull public abstract java.util.List<android.content.pm.ApplicationInfo> getInstalledApplications(int); method @NonNull public java.util.List<android.content.pm.ModuleInfo> getInstalledModules(int); method @NonNull public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackages(int); - method @Nullable public abstract String getInstallerPackageName(@NonNull String); + method @Deprecated @Nullable public abstract String getInstallerPackageName(@NonNull String); method @NonNull public abstract byte[] getInstantAppCookie(); method public abstract int getInstantAppCookieMaxBytes(); method @NonNull public abstract android.content.pm.InstrumentationInfo getInstrumentationInfo(@NonNull android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException; method @Nullable public abstract android.content.Intent getLaunchIntentForPackage(@NonNull String); method @Nullable public abstract android.content.Intent getLeanbackLaunchIntentForPackage(@NonNull String); + method @NonNull public java.util.Set<java.lang.String> getMimeGroup(@NonNull String); method @NonNull public android.content.pm.ModuleInfo getModuleInfo(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException; method @Nullable public abstract String getNameForUid(int); method @Nullable public android.content.pm.PackageInfo getPackageArchiveInfo(@NonNull String, int); @@ -11640,6 +12029,9 @@ package android.content.pm { method public boolean hasSigningCertificate(int, @NonNull byte[], int); method public abstract boolean hasSystemFeature(@NonNull String); method public abstract boolean hasSystemFeature(@NonNull String, int); + method @RequiresPermission(value="android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS", conditional=true) public boolean isAutoRevokeWhitelisted(@NonNull String); + method public boolean isAutoRevokeWhitelisted(); + method public boolean isDefaultApplicationIcon(@NonNull android.graphics.drawable.Drawable); method public boolean isDeviceUpgrading(); method public abstract boolean isInstantApp(); method public abstract boolean isInstantApp(@NonNull String); @@ -11663,8 +12055,10 @@ package android.content.pm { method @Nullable public abstract android.content.pm.ResolveInfo resolveService(@NonNull android.content.Intent, int); method public abstract void setApplicationCategoryHint(@NonNull String, int); method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public abstract void setApplicationEnabledSetting(@NonNull String, int, int); + method @RequiresPermission(value="android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS", conditional=true) public boolean setAutoRevokeWhitelisted(@NonNull String, boolean); method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public abstract void setComponentEnabledSetting(@NonNull android.content.ComponentName, int, int); method public abstract void setInstallerPackageName(@NonNull String, @Nullable String); + method public void setMimeGroup(@NonNull String, @NonNull java.util.Set<java.lang.String>); method public abstract void updateInstantAppCookie(@Nullable byte[]); method public abstract void verifyPendingInstall(int, int); field public static final int CERT_INPUT_RAW_X509 = 0; // 0x0 @@ -11694,6 +12088,7 @@ package android.content.pm { field public static final String FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING = "android.hardware.camera.capability.manual_post_processing"; field public static final String FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR = "android.hardware.camera.capability.manual_sensor"; field public static final String FEATURE_CAMERA_CAPABILITY_RAW = "android.hardware.camera.capability.raw"; + field public static final String FEATURE_CAMERA_CONCURRENT = "android.hardware.camera.concurrent"; field public static final String FEATURE_CAMERA_EXTERNAL = "android.hardware.camera.external"; field public static final String FEATURE_CAMERA_FLASH = "android.hardware.camera.flash"; field public static final String FEATURE_CAMERA_FRONT = "android.hardware.camera.front"; @@ -11702,6 +12097,7 @@ package android.content.pm { field public static final String FEATURE_COMPANION_DEVICE_SETUP = "android.software.companion_device_setup"; field public static final String FEATURE_CONNECTION_SERVICE = "android.software.connectionservice"; field public static final String FEATURE_CONSUMER_IR = "android.hardware.consumerir"; + field public static final String FEATURE_CONTROLS = "android.software.controls"; field public static final String FEATURE_DEVICE_ADMIN = "android.software.device_admin"; field public static final String FEATURE_EMBEDDED = "android.hardware.type.embedded"; field public static final String FEATURE_ETHERNET = "android.hardware.ethernet"; @@ -11750,6 +12146,7 @@ package android.content.pm { field public static final String FEATURE_SENSOR_GYROSCOPE = "android.hardware.sensor.gyroscope"; field public static final String FEATURE_SENSOR_HEART_RATE = "android.hardware.sensor.heartrate"; field public static final String FEATURE_SENSOR_HEART_RATE_ECG = "android.hardware.sensor.heartrate.ecg"; + field public static final String FEATURE_SENSOR_HINGE_ANGLE = "android.hardware.sensor.hinge_angle"; field public static final String FEATURE_SENSOR_LIGHT = "android.hardware.sensor.light"; field public static final String FEATURE_SENSOR_PROXIMITY = "android.hardware.sensor.proximity"; field public static final String FEATURE_SENSOR_RELATIVE_HUMIDITY = "android.hardware.sensor.relative_humidity"; @@ -11834,6 +12231,7 @@ package android.content.pm { field public static final int SIGNATURE_NO_MATCH = -3; // 0xfffffffd field public static final int SIGNATURE_SECOND_NOT_SIGNED = -2; // 0xfffffffe field public static final int SIGNATURE_UNKNOWN_PACKAGE = -4; // 0xfffffffc + field public static final int SYNCHRONOUS = 2; // 0x2 field public static final int VERIFICATION_ALLOW = 1; // 0x1 field public static final int VERIFICATION_REJECT = -1; // 0xffffffff field public static final int VERSION_CODE_HIGHEST = -1; // 0xffffffff @@ -11946,6 +12344,7 @@ package android.content.pm { method public int describeContents(); method public void dump(android.util.Printer, String); method public final int getIconResource(); + method public boolean isCrossProfileIntentForwarderActivity(); method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager); method public CharSequence loadLabel(android.content.pm.PackageManager); method public void writeToParcel(android.os.Parcel, int); @@ -11983,12 +12382,14 @@ package android.content.pm { field public static final int FLAG_SINGLE_USER = 1073741824; // 0x40000000 field public static final int FLAG_STOP_WITH_TASK = 1; // 0x1 field public static final int FLAG_USE_APP_ZYGOTE = 8; // 0x8 + field public static final int FOREGROUND_SERVICE_TYPE_CAMERA = 64; // 0x40 field public static final int FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE = 16; // 0x10 field public static final int FOREGROUND_SERVICE_TYPE_DATA_SYNC = 1; // 0x1 field public static final int FOREGROUND_SERVICE_TYPE_LOCATION = 8; // 0x8 field public static final int FOREGROUND_SERVICE_TYPE_MANIFEST = -1; // 0xffffffff field public static final int FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK = 2; // 0x2 field public static final int FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION = 32; // 0x20 + field public static final int FOREGROUND_SERVICE_TYPE_MICROPHONE = 128; // 0x80 field public static final int FOREGROUND_SERVICE_TYPE_NONE = 0; // 0x0 field public static final int FOREGROUND_SERVICE_TYPE_PHONE_CALL = 4; // 0x4 field public int flags; @@ -12029,6 +12430,7 @@ package android.content.pm { method @Nullable public CharSequence getShortLabel(); method public android.os.UserHandle getUserHandle(); method public boolean hasKeyFieldsOnly(); + method public boolean isCached(); method public boolean isDeclaredInManifest(); method public boolean isDynamic(); method public boolean isEnabled(); @@ -12078,14 +12480,21 @@ package android.content.pm { method @NonNull public java.util.List<android.content.pm.ShortcutInfo> getManifestShortcuts(); method public int getMaxShortcutCountPerActivity(); method @NonNull public java.util.List<android.content.pm.ShortcutInfo> getPinnedShortcuts(); + method @NonNull public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(int); method public boolean isRateLimitingActive(); method public boolean isRequestPinShortcutSupported(); + method public void pushDynamicShortcut(@NonNull android.content.pm.ShortcutInfo); method public void removeAllDynamicShortcuts(); method public void removeDynamicShortcuts(@NonNull java.util.List<java.lang.String>); + method public void removeLongLivedShortcuts(@NonNull java.util.List<java.lang.String>); method public void reportShortcutUsed(String); method public boolean requestPinShortcut(@NonNull android.content.pm.ShortcutInfo, @Nullable android.content.IntentSender); method public boolean setDynamicShortcuts(@NonNull java.util.List<android.content.pm.ShortcutInfo>); method public boolean updateShortcuts(@NonNull java.util.List<android.content.pm.ShortcutInfo>); + field public static final int FLAG_MATCH_CACHED = 8; // 0x8 + field public static final int FLAG_MATCH_DYNAMIC = 2; // 0x2 + field public static final int FLAG_MATCH_MANIFEST = 1; // 0x1 + field public static final int FLAG_MATCH_PINNED = 4; // 0x4 } public class Signature implements android.os.Parcelable { @@ -12200,6 +12609,7 @@ package android.content.res { method public int getLayoutDirection(); method @NonNull public android.os.LocaleList getLocales(); method public boolean isLayoutSizeAtLeast(int); + method public boolean isNightModeActive(); method public boolean isScreenHdr(); method public boolean isScreenRound(); method public boolean isScreenWideColorGamut(); @@ -12324,6 +12734,7 @@ package android.content.res { public class Resources { ctor @Deprecated public Resources(android.content.res.AssetManager, android.util.DisplayMetrics, android.content.res.Configuration); + method public void addLoaders(@NonNull android.content.res.loader.ResourcesLoader...); method public final void finishPreloading(); method public final void flushLayoutCache(); method @NonNull public android.content.res.XmlResourceParser getAnimation(@AnimRes @AnimatorRes int) throws android.content.res.Resources.NotFoundException; @@ -12377,6 +12788,7 @@ package android.content.res { method public android.content.res.AssetFileDescriptor openRawResourceFd(@RawRes int) throws android.content.res.Resources.NotFoundException; method public void parseBundleExtra(String, android.util.AttributeSet, android.os.Bundle) throws org.xmlpull.v1.XmlPullParserException; method public void parseBundleExtras(android.content.res.XmlResourceParser, android.os.Bundle) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException; + method public void removeLoaders(@NonNull android.content.res.loader.ResourcesLoader...); method @Deprecated public void updateConfiguration(android.content.res.Configuration, android.util.DisplayMetrics); field @AnyRes public static final int ID_NULL = 0; // 0x0 } @@ -12444,6 +12856,33 @@ package android.content.res { } +package android.content.res.loader { + + public interface AssetsProvider { + method @Nullable public default android.content.res.AssetFileDescriptor loadAssetFd(@NonNull String, int); + } + + public class ResourcesLoader { + ctor public ResourcesLoader(); + method public void addProvider(@NonNull android.content.res.loader.ResourcesProvider); + method public void clearProviders(); + method @NonNull public java.util.List<android.content.res.loader.ResourcesProvider> getProviders(); + method public void removeProvider(@NonNull android.content.res.loader.ResourcesProvider); + method public void setProviders(@NonNull java.util.List<android.content.res.loader.ResourcesProvider>); + } + + public class ResourcesProvider implements java.lang.AutoCloseable java.io.Closeable { + method public void close(); + method @NonNull public static android.content.res.loader.ResourcesProvider empty(@NonNull android.content.res.loader.AssetsProvider); + method @NonNull public static android.content.res.loader.ResourcesProvider loadFromApk(@NonNull android.os.ParcelFileDescriptor) throws java.io.IOException; + method @NonNull public static android.content.res.loader.ResourcesProvider loadFromApk(@NonNull android.os.ParcelFileDescriptor, @Nullable android.content.res.loader.AssetsProvider) throws java.io.IOException; + method @NonNull public static android.content.res.loader.ResourcesProvider loadFromDirectory(@NonNull String, @Nullable android.content.res.loader.AssetsProvider) throws java.io.IOException; + method @NonNull public static android.content.res.loader.ResourcesProvider loadFromSplit(@NonNull android.content.Context, @NonNull String) throws java.io.IOException; + method @NonNull public static android.content.res.loader.ResourcesProvider loadFromTable(@NonNull android.os.ParcelFileDescriptor, @Nullable android.content.res.loader.AssetsProvider) throws java.io.IOException; + } + +} + package android.database { public abstract class AbstractCursor implements android.database.CrossProcessCursor { @@ -12534,9 +12973,13 @@ package android.database { ctor public ContentObserver(android.os.Handler); method public boolean deliverSelfNotifications(); method @Deprecated public final void dispatchChange(boolean); - method public final void dispatchChange(boolean, android.net.Uri); + method public final void dispatchChange(boolean, @Nullable android.net.Uri); + method public final void dispatchChange(boolean, @Nullable android.net.Uri, int); + method public final void dispatchChange(boolean, @NonNull java.util.Collection<android.net.Uri>, int); method public void onChange(boolean); - method public void onChange(boolean, android.net.Uri); + method public void onChange(boolean, @Nullable android.net.Uri); + method public void onChange(boolean, @Nullable android.net.Uri, int); + method public void onChange(boolean, @NonNull java.util.Collection<android.net.Uri>, int); } public interface CrossProcessCursor extends android.database.Cursor { @@ -12934,6 +13377,7 @@ package android.database.sqlite { method public void disableWriteAheadLogging(); method public boolean enableWriteAheadLogging(); method public void endTransaction(); + method public void execPerConnectionSQL(@NonNull String, @Nullable Object[]) throws android.database.SQLException; method public void execSQL(String) throws android.database.SQLException; method public void execSQL(String, Object[]) throws android.database.SQLException; method public static String findEditTable(String); @@ -12976,6 +13420,8 @@ package android.database.sqlite { method public static int releaseMemory(); method public long replace(String, String, android.content.ContentValues); method public long replaceOrThrow(String, String, android.content.ContentValues) throws android.database.SQLException; + method public void setCustomAggregateFunction(@NonNull String, @NonNull java.util.function.BinaryOperator<java.lang.String>) throws android.database.sqlite.SQLiteException; + method public void setCustomScalarFunction(@NonNull String, @NonNull java.util.function.UnaryOperator<java.lang.String>) throws android.database.sqlite.SQLiteException; method public void setForeignKeyConstraintsEnabled(boolean); method public void setLocale(java.util.Locale); method @Deprecated public void setLockingEnabled(boolean); @@ -13129,17 +13575,24 @@ package android.database.sqlite { method @Deprecated public String buildUnionSubQuery(String, String[], java.util.Set<java.lang.String>, int, String, String, String[], String, String); method public int delete(@NonNull android.database.sqlite.SQLiteDatabase, @Nullable String, @Nullable String[]); method @Nullable public android.database.sqlite.SQLiteDatabase.CursorFactory getCursorFactory(); + method @Nullable public java.util.Collection<java.util.regex.Pattern> getProjectionGreylist(); method @Nullable public java.util.Map<java.lang.String,java.lang.String> getProjectionMap(); method @Nullable public String getTables(); + method public long insert(@NonNull android.database.sqlite.SQLiteDatabase, @NonNull android.content.ContentValues); method public boolean isDistinct(); method public boolean isStrict(); + method public boolean isStrictColumns(); + method public boolean isStrictGrammar(); method public android.database.Cursor query(android.database.sqlite.SQLiteDatabase, String[], String, String[], String, String, String); method public android.database.Cursor query(android.database.sqlite.SQLiteDatabase, String[], String, String[], String, String, String, String); method public android.database.Cursor query(android.database.sqlite.SQLiteDatabase, String[], String, String[], String, String, String, String, android.os.CancellationSignal); method public void setCursorFactory(@Nullable android.database.sqlite.SQLiteDatabase.CursorFactory); method public void setDistinct(boolean); + method public void setProjectionGreylist(@Nullable java.util.Collection<java.util.regex.Pattern>); method public void setProjectionMap(@Nullable java.util.Map<java.lang.String,java.lang.String>); method public void setStrict(boolean); + method public void setStrictColumns(boolean); + method public void setStrictGrammar(boolean); method public void setTables(@Nullable String); method public int update(@NonNull android.database.sqlite.SQLiteDatabase, @NonNull android.content.ContentValues, @Nullable String, @Nullable String[]); } @@ -13173,226 +13626,227 @@ package android.database.sqlite { package android.drm { - public class DrmConvertedStatus { - ctor public DrmConvertedStatus(int, byte[], int); - field public static final int STATUS_ERROR = 3; // 0x3 - field public static final int STATUS_INPUTDATA_ERROR = 2; // 0x2 - field public static final int STATUS_OK = 1; // 0x1 - field public final byte[] convertedData; - field public final int offset; - field public final int statusCode; - } - - public class DrmErrorEvent extends android.drm.DrmEvent { - ctor public DrmErrorEvent(int, int, String); - ctor public DrmErrorEvent(int, int, String, java.util.HashMap<java.lang.String,java.lang.Object>); - field public static final int TYPE_ACQUIRE_DRM_INFO_FAILED = 2008; // 0x7d8 - field public static final int TYPE_NOT_SUPPORTED = 2003; // 0x7d3 - field public static final int TYPE_NO_INTERNET_CONNECTION = 2005; // 0x7d5 - field public static final int TYPE_OUT_OF_MEMORY = 2004; // 0x7d4 - field public static final int TYPE_PROCESS_DRM_INFO_FAILED = 2006; // 0x7d6 - field public static final int TYPE_REMOVE_ALL_RIGHTS_FAILED = 2007; // 0x7d7 - field public static final int TYPE_RIGHTS_NOT_INSTALLED = 2001; // 0x7d1 - field public static final int TYPE_RIGHTS_RENEWAL_NOT_ALLOWED = 2002; // 0x7d2 - } - - public class DrmEvent { - ctor protected DrmEvent(int, int, String, java.util.HashMap<java.lang.String,java.lang.Object>); - ctor protected DrmEvent(int, int, String); - method public Object getAttribute(String); - method public String getMessage(); - method public int getType(); - method public int getUniqueId(); - field public static final String DRM_INFO_OBJECT = "drm_info_object"; - field public static final String DRM_INFO_STATUS_OBJECT = "drm_info_status_object"; - field public static final int TYPE_ALL_RIGHTS_REMOVED = 1001; // 0x3e9 - field public static final int TYPE_DRM_INFO_PROCESSED = 1002; // 0x3ea - } - - public class DrmInfo { - ctor public DrmInfo(int, byte[], String); - ctor public DrmInfo(int, String, String); - method public Object get(String); - method public byte[] getData(); - method public int getInfoType(); - method public String getMimeType(); - method public java.util.Iterator<java.lang.Object> iterator(); - method public java.util.Iterator<java.lang.String> keyIterator(); - method public void put(String, Object); - } - - public class DrmInfoEvent extends android.drm.DrmEvent { - ctor public DrmInfoEvent(int, int, String); - ctor public DrmInfoEvent(int, int, String, java.util.HashMap<java.lang.String,java.lang.Object>); - field public static final int TYPE_ACCOUNT_ALREADY_REGISTERED = 5; // 0x5 - field public static final int TYPE_ALREADY_REGISTERED_BY_ANOTHER_ACCOUNT = 1; // 0x1 - field public static final int TYPE_REMOVE_RIGHTS = 2; // 0x2 - field public static final int TYPE_RIGHTS_INSTALLED = 3; // 0x3 - field public static final int TYPE_RIGHTS_REMOVED = 6; // 0x6 - field public static final int TYPE_WAIT_FOR_RIGHTS = 4; // 0x4 - } - - public class DrmInfoRequest { - ctor public DrmInfoRequest(int, String); - method public Object get(String); - method public int getInfoType(); - method public String getMimeType(); - method public java.util.Iterator<java.lang.Object> iterator(); - method public java.util.Iterator<java.lang.String> keyIterator(); - method public void put(String, Object); - field public static final String ACCOUNT_ID = "account_id"; - field public static final String SUBSCRIPTION_ID = "subscription_id"; - field public static final int TYPE_REGISTRATION_INFO = 1; // 0x1 - field public static final int TYPE_RIGHTS_ACQUISITION_INFO = 3; // 0x3 - field public static final int TYPE_RIGHTS_ACQUISITION_PROGRESS_INFO = 4; // 0x4 - field public static final int TYPE_UNREGISTRATION_INFO = 2; // 0x2 - } - - public class DrmInfoStatus { - ctor public DrmInfoStatus(int, int, android.drm.ProcessedData, String); - field public static final int STATUS_ERROR = 2; // 0x2 - field public static final int STATUS_OK = 1; // 0x1 - field public final android.drm.ProcessedData data; - field public final int infoType; - field public final String mimeType; - field public final int statusCode; - } - - public class DrmManagerClient implements java.lang.AutoCloseable { - ctor public DrmManagerClient(android.content.Context); - method public android.drm.DrmInfo acquireDrmInfo(android.drm.DrmInfoRequest); - method public int acquireRights(android.drm.DrmInfoRequest); - method public boolean canHandle(String, String); - method public boolean canHandle(android.net.Uri, String); - method public int checkRightsStatus(String); - method public int checkRightsStatus(android.net.Uri); - method public int checkRightsStatus(String, int); - method public int checkRightsStatus(android.net.Uri, int); - method public void close(); - method public android.drm.DrmConvertedStatus closeConvertSession(int); - method public android.drm.DrmConvertedStatus convertData(int, byte[]); - method public String[] getAvailableDrmEngines(); - method public android.content.ContentValues getConstraints(String, int); - method public android.content.ContentValues getConstraints(android.net.Uri, int); - method public int getDrmObjectType(String, String); - method public int getDrmObjectType(android.net.Uri, String); - method public android.content.ContentValues getMetadata(String); - method public android.content.ContentValues getMetadata(android.net.Uri); - method public String getOriginalMimeType(String); - method public String getOriginalMimeType(android.net.Uri); - method public int openConvertSession(String); - method public int processDrmInfo(android.drm.DrmInfo); + @Deprecated public class DrmConvertedStatus { + ctor @Deprecated public DrmConvertedStatus(int, byte[], int); + field @Deprecated public static final int STATUS_ERROR = 3; // 0x3 + field @Deprecated public static final int STATUS_INPUTDATA_ERROR = 2; // 0x2 + field @Deprecated public static final int STATUS_OK = 1; // 0x1 + field @Deprecated public final byte[] convertedData; + field @Deprecated public final int offset; + field @Deprecated public final int statusCode; + } + + @Deprecated public class DrmErrorEvent extends android.drm.DrmEvent { + ctor @Deprecated public DrmErrorEvent(int, int, String); + ctor @Deprecated public DrmErrorEvent(int, int, String, java.util.HashMap<java.lang.String,java.lang.Object>); + field @Deprecated public static final int TYPE_ACQUIRE_DRM_INFO_FAILED = 2008; // 0x7d8 + field @Deprecated public static final int TYPE_NOT_SUPPORTED = 2003; // 0x7d3 + field @Deprecated public static final int TYPE_NO_INTERNET_CONNECTION = 2005; // 0x7d5 + field @Deprecated public static final int TYPE_OUT_OF_MEMORY = 2004; // 0x7d4 + field @Deprecated public static final int TYPE_PROCESS_DRM_INFO_FAILED = 2006; // 0x7d6 + field @Deprecated public static final int TYPE_REMOVE_ALL_RIGHTS_FAILED = 2007; // 0x7d7 + field @Deprecated public static final int TYPE_RIGHTS_NOT_INSTALLED = 2001; // 0x7d1 + field @Deprecated public static final int TYPE_RIGHTS_RENEWAL_NOT_ALLOWED = 2002; // 0x7d2 + } + + @Deprecated public class DrmEvent { + ctor @Deprecated protected DrmEvent(int, int, String, java.util.HashMap<java.lang.String,java.lang.Object>); + ctor @Deprecated protected DrmEvent(int, int, String); + method @Deprecated public Object getAttribute(String); + method @Deprecated public String getMessage(); + method @Deprecated public int getType(); + method @Deprecated public int getUniqueId(); + field @Deprecated public static final String DRM_INFO_OBJECT = "drm_info_object"; + field @Deprecated public static final String DRM_INFO_STATUS_OBJECT = "drm_info_status_object"; + field @Deprecated public static final int TYPE_ALL_RIGHTS_REMOVED = 1001; // 0x3e9 + field @Deprecated public static final int TYPE_DRM_INFO_PROCESSED = 1002; // 0x3ea + } + + @Deprecated public class DrmInfo { + ctor @Deprecated public DrmInfo(int, byte[], String); + ctor @Deprecated public DrmInfo(int, String, String); + method @Deprecated public Object get(String); + method @Deprecated public byte[] getData(); + method @Deprecated public int getInfoType(); + method @Deprecated public String getMimeType(); + method @Deprecated public java.util.Iterator<java.lang.Object> iterator(); + method @Deprecated public java.util.Iterator<java.lang.String> keyIterator(); + method @Deprecated public void put(String, Object); + } + + @Deprecated public class DrmInfoEvent extends android.drm.DrmEvent { + ctor @Deprecated public DrmInfoEvent(int, int, String); + ctor @Deprecated public DrmInfoEvent(int, int, String, java.util.HashMap<java.lang.String,java.lang.Object>); + field @Deprecated public static final int TYPE_ACCOUNT_ALREADY_REGISTERED = 5; // 0x5 + field @Deprecated public static final int TYPE_ALREADY_REGISTERED_BY_ANOTHER_ACCOUNT = 1; // 0x1 + field @Deprecated public static final int TYPE_REMOVE_RIGHTS = 2; // 0x2 + field @Deprecated public static final int TYPE_RIGHTS_INSTALLED = 3; // 0x3 + field @Deprecated public static final int TYPE_RIGHTS_REMOVED = 6; // 0x6 + field @Deprecated public static final int TYPE_WAIT_FOR_RIGHTS = 4; // 0x4 + } + + @Deprecated public class DrmInfoRequest { + ctor @Deprecated public DrmInfoRequest(int, String); + method @Deprecated public Object get(String); + method @Deprecated public int getInfoType(); + method @Deprecated public String getMimeType(); + method @Deprecated public java.util.Iterator<java.lang.Object> iterator(); + method @Deprecated public java.util.Iterator<java.lang.String> keyIterator(); + method @Deprecated public void put(String, Object); + field @Deprecated public static final String ACCOUNT_ID = "account_id"; + field @Deprecated public static final String SUBSCRIPTION_ID = "subscription_id"; + field @Deprecated public static final int TYPE_REGISTRATION_INFO = 1; // 0x1 + field @Deprecated public static final int TYPE_RIGHTS_ACQUISITION_INFO = 3; // 0x3 + field @Deprecated public static final int TYPE_RIGHTS_ACQUISITION_PROGRESS_INFO = 4; // 0x4 + field @Deprecated public static final int TYPE_UNREGISTRATION_INFO = 2; // 0x2 + } + + @Deprecated public class DrmInfoStatus { + ctor @Deprecated public DrmInfoStatus(int, int, android.drm.ProcessedData, String); + field @Deprecated public static final int STATUS_ERROR = 2; // 0x2 + field @Deprecated public static final int STATUS_OK = 1; // 0x1 + field @Deprecated public final android.drm.ProcessedData data; + field @Deprecated public final int infoType; + field @Deprecated public final String mimeType; + field @Deprecated public final int statusCode; + } + + @Deprecated public class DrmManagerClient implements java.lang.AutoCloseable { + ctor @Deprecated public DrmManagerClient(android.content.Context); + method @Deprecated public android.drm.DrmInfo acquireDrmInfo(android.drm.DrmInfoRequest); + method @Deprecated public int acquireRights(android.drm.DrmInfoRequest); + method @Deprecated public boolean canHandle(String, String); + method @Deprecated public boolean canHandle(android.net.Uri, String); + method @Deprecated public int checkRightsStatus(String); + method @Deprecated public int checkRightsStatus(android.net.Uri); + method @Deprecated public int checkRightsStatus(String, int); + method @Deprecated public int checkRightsStatus(android.net.Uri, int); + method @Deprecated public void close(); + method @Deprecated public android.drm.DrmConvertedStatus closeConvertSession(int); + method @Deprecated public android.drm.DrmConvertedStatus convertData(int, byte[]); + method @Deprecated public String[] getAvailableDrmEngines(); + method @Deprecated @NonNull public java.util.Collection<android.drm.DrmSupportInfo> getAvailableDrmSupportInfo(); + method @Deprecated public android.content.ContentValues getConstraints(String, int); + method @Deprecated public android.content.ContentValues getConstraints(android.net.Uri, int); + method @Deprecated public int getDrmObjectType(String, String); + method @Deprecated public int getDrmObjectType(android.net.Uri, String); + method @Deprecated public android.content.ContentValues getMetadata(String); + method @Deprecated public android.content.ContentValues getMetadata(android.net.Uri); + method @Deprecated public String getOriginalMimeType(String); + method @Deprecated public String getOriginalMimeType(android.net.Uri); + method @Deprecated public int openConvertSession(String); + method @Deprecated public int processDrmInfo(android.drm.DrmInfo); method @Deprecated public void release(); - method public int removeAllRights(); - method public int removeRights(String); - method public int removeRights(android.net.Uri); - method public int saveRights(android.drm.DrmRights, String, String) throws java.io.IOException; - method public void setOnErrorListener(android.drm.DrmManagerClient.OnErrorListener); - method public void setOnEventListener(android.drm.DrmManagerClient.OnEventListener); - method public void setOnInfoListener(android.drm.DrmManagerClient.OnInfoListener); - field public static final int ERROR_NONE = 0; // 0x0 - field public static final int ERROR_UNKNOWN = -2000; // 0xfffff830 + method @Deprecated public int removeAllRights(); + method @Deprecated public int removeRights(String); + method @Deprecated public int removeRights(android.net.Uri); + method @Deprecated public int saveRights(android.drm.DrmRights, String, String) throws java.io.IOException; + method @Deprecated public void setOnErrorListener(android.drm.DrmManagerClient.OnErrorListener); + method @Deprecated public void setOnEventListener(android.drm.DrmManagerClient.OnEventListener); + method @Deprecated public void setOnInfoListener(android.drm.DrmManagerClient.OnInfoListener); + field @Deprecated public static final int ERROR_NONE = 0; // 0x0 + field @Deprecated public static final int ERROR_UNKNOWN = -2000; // 0xfffff830 } - public static interface DrmManagerClient.OnErrorListener { - method public void onError(android.drm.DrmManagerClient, android.drm.DrmErrorEvent); + @Deprecated public static interface DrmManagerClient.OnErrorListener { + method @Deprecated public void onError(android.drm.DrmManagerClient, android.drm.DrmErrorEvent); } - public static interface DrmManagerClient.OnEventListener { - method public void onEvent(android.drm.DrmManagerClient, android.drm.DrmEvent); + @Deprecated public static interface DrmManagerClient.OnEventListener { + method @Deprecated public void onEvent(android.drm.DrmManagerClient, android.drm.DrmEvent); } - public static interface DrmManagerClient.OnInfoListener { - method public void onInfo(android.drm.DrmManagerClient, android.drm.DrmInfoEvent); + @Deprecated public static interface DrmManagerClient.OnInfoListener { + method @Deprecated public void onInfo(android.drm.DrmManagerClient, android.drm.DrmInfoEvent); } - public class DrmRights { - ctor public DrmRights(String, String); - ctor public DrmRights(String, String, String); - ctor public DrmRights(String, String, String, String); - ctor public DrmRights(java.io.File, String); - ctor public DrmRights(android.drm.ProcessedData, String); - method public String getAccountId(); - method public byte[] getData(); - method public String getMimeType(); - method public String getSubscriptionId(); + @Deprecated public class DrmRights { + ctor @Deprecated public DrmRights(String, String); + ctor @Deprecated public DrmRights(String, String, String); + ctor @Deprecated public DrmRights(String, String, String, String); + ctor @Deprecated public DrmRights(java.io.File, String); + ctor @Deprecated public DrmRights(android.drm.ProcessedData, String); + method @Deprecated public String getAccountId(); + method @Deprecated public byte[] getData(); + method @Deprecated public String getMimeType(); + method @Deprecated public String getSubscriptionId(); } - public class DrmStore { + @Deprecated public class DrmStore { ctor @Deprecated public DrmStore(); } - public static class DrmStore.Action { + @Deprecated public static class DrmStore.Action { ctor @Deprecated public DrmStore.Action(); - field public static final int DEFAULT = 0; // 0x0 - field public static final int DISPLAY = 7; // 0x7 - field public static final int EXECUTE = 6; // 0x6 - field public static final int OUTPUT = 4; // 0x4 - field public static final int PLAY = 1; // 0x1 - field public static final int PREVIEW = 5; // 0x5 - field public static final int RINGTONE = 2; // 0x2 - field public static final int TRANSFER = 3; // 0x3 - } - - public static interface DrmStore.ConstraintsColumns { - field public static final String EXTENDED_METADATA = "extended_metadata"; - field public static final String LICENSE_AVAILABLE_TIME = "license_available_time"; - field public static final String LICENSE_EXPIRY_TIME = "license_expiry_time"; - field public static final String LICENSE_START_TIME = "license_start_time"; - field public static final String MAX_REPEAT_COUNT = "max_repeat_count"; - field public static final String REMAINING_REPEAT_COUNT = "remaining_repeat_count"; - } - - public static class DrmStore.DrmObjectType { + field @Deprecated public static final int DEFAULT = 0; // 0x0 + field @Deprecated public static final int DISPLAY = 7; // 0x7 + field @Deprecated public static final int EXECUTE = 6; // 0x6 + field @Deprecated public static final int OUTPUT = 4; // 0x4 + field @Deprecated public static final int PLAY = 1; // 0x1 + field @Deprecated public static final int PREVIEW = 5; // 0x5 + field @Deprecated public static final int RINGTONE = 2; // 0x2 + field @Deprecated public static final int TRANSFER = 3; // 0x3 + } + + @Deprecated public static interface DrmStore.ConstraintsColumns { + field @Deprecated public static final String EXTENDED_METADATA = "extended_metadata"; + field @Deprecated public static final String LICENSE_AVAILABLE_TIME = "license_available_time"; + field @Deprecated public static final String LICENSE_EXPIRY_TIME = "license_expiry_time"; + field @Deprecated public static final String LICENSE_START_TIME = "license_start_time"; + field @Deprecated public static final String MAX_REPEAT_COUNT = "max_repeat_count"; + field @Deprecated public static final String REMAINING_REPEAT_COUNT = "remaining_repeat_count"; + } + + @Deprecated public static class DrmStore.DrmObjectType { ctor @Deprecated public DrmStore.DrmObjectType(); - field public static final int CONTENT = 1; // 0x1 - field public static final int RIGHTS_OBJECT = 2; // 0x2 - field public static final int TRIGGER_OBJECT = 3; // 0x3 - field public static final int UNKNOWN = 0; // 0x0 + field @Deprecated public static final int CONTENT = 1; // 0x1 + field @Deprecated public static final int RIGHTS_OBJECT = 2; // 0x2 + field @Deprecated public static final int TRIGGER_OBJECT = 3; // 0x3 + field @Deprecated public static final int UNKNOWN = 0; // 0x0 } - public static class DrmStore.Playback { + @Deprecated public static class DrmStore.Playback { ctor @Deprecated public DrmStore.Playback(); - field public static final int PAUSE = 2; // 0x2 - field public static final int RESUME = 3; // 0x3 - field public static final int START = 0; // 0x0 - field public static final int STOP = 1; // 0x1 + field @Deprecated public static final int PAUSE = 2; // 0x2 + field @Deprecated public static final int RESUME = 3; // 0x3 + field @Deprecated public static final int START = 0; // 0x0 + field @Deprecated public static final int STOP = 1; // 0x1 } - public static class DrmStore.RightsStatus { + @Deprecated public static class DrmStore.RightsStatus { ctor @Deprecated public DrmStore.RightsStatus(); - field public static final int RIGHTS_EXPIRED = 2; // 0x2 - field public static final int RIGHTS_INVALID = 1; // 0x1 - field public static final int RIGHTS_NOT_ACQUIRED = 3; // 0x3 - field public static final int RIGHTS_VALID = 0; // 0x0 + field @Deprecated public static final int RIGHTS_EXPIRED = 2; // 0x2 + field @Deprecated public static final int RIGHTS_INVALID = 1; // 0x1 + field @Deprecated public static final int RIGHTS_NOT_ACQUIRED = 3; // 0x3 + field @Deprecated public static final int RIGHTS_VALID = 0; // 0x0 } - public class DrmSupportInfo { - ctor public DrmSupportInfo(); - method public void addFileSuffix(String); - method public void addMimeType(String); + @Deprecated public class DrmSupportInfo { + ctor @Deprecated public DrmSupportInfo(); + method @Deprecated public void addFileSuffix(String); + method @Deprecated public void addMimeType(String); method @Deprecated public String getDescriprition(); - method public String getDescription(); - method public java.util.Iterator<java.lang.String> getFileSuffixIterator(); - method public java.util.Iterator<java.lang.String> getMimeTypeIterator(); - method public void setDescription(String); + method @Deprecated public String getDescription(); + method @Deprecated public java.util.Iterator<java.lang.String> getFileSuffixIterator(); + method @Deprecated public java.util.Iterator<java.lang.String> getMimeTypeIterator(); + method @Deprecated public void setDescription(String); } - public class DrmUtils { - ctor public DrmUtils(); - method public static android.drm.DrmUtils.ExtendedMetadataParser getExtendedMetadataParser(byte[]); + @Deprecated public class DrmUtils { + ctor @Deprecated public DrmUtils(); + method @Deprecated public static android.drm.DrmUtils.ExtendedMetadataParser getExtendedMetadataParser(byte[]); } - public static class DrmUtils.ExtendedMetadataParser { - method public String get(String); - method public java.util.Iterator<java.lang.String> iterator(); - method public java.util.Iterator<java.lang.String> keyIterator(); + @Deprecated public static class DrmUtils.ExtendedMetadataParser { + method @Deprecated public String get(String); + method @Deprecated public java.util.Iterator<java.lang.String> iterator(); + method @Deprecated public java.util.Iterator<java.lang.String> keyIterator(); } - public class ProcessedData { - method public String getAccountId(); - method public byte[] getData(); - method public String getSubscriptionId(); + @Deprecated public class ProcessedData { + method @Deprecated public String getAccountId(); + method @Deprecated public byte[] getData(); + method @Deprecated public String getSubscriptionId(); } } @@ -13422,6 +13876,7 @@ package android.gesture { public final class GestureLibraries { method public static android.gesture.GestureLibrary fromFile(String); method public static android.gesture.GestureLibrary fromFile(java.io.File); + method @NonNull public static android.gesture.GestureLibrary fromFileDescriptor(@NonNull android.os.ParcelFileDescriptor); method public static android.gesture.GestureLibrary fromPrivateFile(android.content.Context, String); method public static android.gesture.GestureLibrary fromRawResource(android.content.Context, @RawRes int); } @@ -13655,7 +14110,9 @@ package android.graphics { public enum Bitmap.CompressFormat { enum_constant public static final android.graphics.Bitmap.CompressFormat JPEG; enum_constant public static final android.graphics.Bitmap.CompressFormat PNG; - enum_constant public static final android.graphics.Bitmap.CompressFormat WEBP; + enum_constant @Deprecated public static final android.graphics.Bitmap.CompressFormat WEBP; + enum_constant public static final android.graphics.Bitmap.CompressFormat WEBP_LOSSLESS; + enum_constant public static final android.graphics.Bitmap.CompressFormat WEBP_LOSSY; } public enum Bitmap.Config { @@ -13875,9 +14332,12 @@ package android.graphics { method public int getWidth(); method public boolean isHardwareAccelerated(); method public boolean isOpaque(); - method public boolean quickReject(@NonNull android.graphics.RectF, @NonNull android.graphics.Canvas.EdgeType); - method public boolean quickReject(@NonNull android.graphics.Path, @NonNull android.graphics.Canvas.EdgeType); - method public boolean quickReject(float, float, float, float, @NonNull android.graphics.Canvas.EdgeType); + method @Deprecated public boolean quickReject(@NonNull android.graphics.RectF, @NonNull android.graphics.Canvas.EdgeType); + method public boolean quickReject(@NonNull android.graphics.RectF); + method @Deprecated public boolean quickReject(@NonNull android.graphics.Path, @NonNull android.graphics.Canvas.EdgeType); + method public boolean quickReject(@NonNull android.graphics.Path); + method @Deprecated public boolean quickReject(float, float, float, float, @NonNull android.graphics.Canvas.EdgeType); + method public boolean quickReject(float, float, float, float); method public void restore(); method public void restoreToCount(int); method public void rotate(float); @@ -13902,9 +14362,9 @@ package android.graphics { field public static final int ALL_SAVE_FLAG = 31; // 0x1f } - public enum Canvas.EdgeType { - enum_constant public static final android.graphics.Canvas.EdgeType AA; - enum_constant public static final android.graphics.Canvas.EdgeType BW; + @Deprecated public enum Canvas.EdgeType { + enum_constant @Deprecated public static final android.graphics.Canvas.EdgeType AA; + enum_constant @Deprecated public static final android.graphics.Canvas.EdgeType BW; } public enum Canvas.VertexMode { @@ -14450,10 +14910,11 @@ package android.graphics { method public void offset(int, int); method public void set(@NonNull android.graphics.Outline); method public void setAlpha(@FloatRange(from=0.0, to=1.0) float); - method public void setConvexPath(@NonNull android.graphics.Path); + method @Deprecated public void setConvexPath(@NonNull android.graphics.Path); method public void setEmpty(); method public void setOval(int, int, int, int); method public void setOval(@NonNull android.graphics.Rect); + method public void setPath(@NonNull android.graphics.Path); method public void setRect(int, int, int, int); method public void setRect(@NonNull android.graphics.Rect); method public void setRoundRect(int, int, int, int, float); @@ -14689,7 +15150,7 @@ package android.graphics { method public void cubicTo(float, float, float, float, float, float); method @NonNull public android.graphics.Path.FillType getFillType(); method public void incReserve(int); - method public boolean isConvex(); + method @Deprecated public boolean isConvex(); method public boolean isEmpty(); method public boolean isInverseFillType(); method public boolean isRect(@Nullable android.graphics.RectF); @@ -14821,6 +15282,7 @@ package android.graphics { ctor public PointF(); ctor public PointF(float, float); ctor public PointF(@NonNull android.graphics.Point); + ctor public PointF(@NonNull android.graphics.PointF); method public int describeContents(); method public final boolean equals(float, float); method public final float length(); @@ -15570,6 +16032,8 @@ package android.graphics.drawable { public final class Icon implements android.os.Parcelable { method public static android.graphics.drawable.Icon createWithAdaptiveBitmap(android.graphics.Bitmap); + method @NonNull public static android.graphics.drawable.Icon createWithAdaptiveBitmapContentUri(@NonNull String); + method @NonNull public static android.graphics.drawable.Icon createWithAdaptiveBitmapContentUri(@NonNull android.net.Uri); method public static android.graphics.drawable.Icon createWithBitmap(android.graphics.Bitmap); method public static android.graphics.drawable.Icon createWithContentUri(String); method public static android.graphics.drawable.Icon createWithContentUri(android.net.Uri); @@ -15596,6 +16060,7 @@ package android.graphics.drawable { field public static final int TYPE_DATA = 3; // 0x3 field public static final int TYPE_RESOURCE = 2; // 0x2 field public static final int TYPE_URI = 4; // 0x4 + field public static final int TYPE_URI_ADAPTIVE_BITMAP = 6; // 0x6 } public static interface Icon.OnDrawableLoadedListener { @@ -16332,6 +16797,7 @@ package android.hardware { field public static final long USAGE_PROTECTED_CONTENT = 16384L; // 0x4000L field public static final long USAGE_SENSOR_DIRECT_DATA = 8388608L; // 0x800000L field public static final long USAGE_VIDEO_ENCODE = 65536L; // 0x10000L + field public static final int YCBCR_420_888 = 35; // 0x23 } public final class Sensor { @@ -16368,6 +16834,7 @@ package android.hardware { field public static final String STRING_TYPE_GYROSCOPE_UNCALIBRATED = "android.sensor.gyroscope_uncalibrated"; field public static final String STRING_TYPE_HEART_BEAT = "android.sensor.heart_beat"; field public static final String STRING_TYPE_HEART_RATE = "android.sensor.heart_rate"; + field public static final String STRING_TYPE_HINGE_ANGLE = "android.sensor.hinge_angle"; field public static final String STRING_TYPE_LIGHT = "android.sensor.light"; field public static final String STRING_TYPE_LINEAR_ACCELERATION = "android.sensor.linear_acceleration"; field public static final String STRING_TYPE_LOW_LATENCY_OFFBODY_DETECT = "android.sensor.low_latency_offbody_detect"; @@ -16397,6 +16864,7 @@ package android.hardware { field public static final int TYPE_GYROSCOPE_UNCALIBRATED = 16; // 0x10 field public static final int TYPE_HEART_BEAT = 31; // 0x1f field public static final int TYPE_HEART_RATE = 21; // 0x15 + field public static final int TYPE_HINGE_ANGLE = 36; // 0x24 field public static final int TYPE_LIGHT = 5; // 0x5 field public static final int TYPE_LINEAR_ACCELERATION = 10; // 0xa field public static final int TYPE_LOW_LATENCY_OFFBODY_DETECT = 34; // 0x22 @@ -16587,16 +17055,32 @@ package android.hardware { package android.hardware.biometrics { public class BiometricManager { - method @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public int canAuthenticate(); + method @Deprecated @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public int canAuthenticate(); + method @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public int canAuthenticate(int); field public static final int BIOMETRIC_ERROR_HW_UNAVAILABLE = 1; // 0x1 field public static final int BIOMETRIC_ERROR_NONE_ENROLLED = 11; // 0xb field public static final int BIOMETRIC_ERROR_NO_HARDWARE = 12; // 0xc + field public static final int BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED = 15; // 0xf field public static final int BIOMETRIC_SUCCESS = 0; // 0x0 } + public static interface BiometricManager.Authenticators { + field public static final int BIOMETRIC_STRONG = 15; // 0xf + field public static final int BIOMETRIC_WEAK = 255; // 0xff + field public static final int DEVICE_CREDENTIAL = 32768; // 0x8000 + } + public class BiometricPrompt { method @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public void authenticate(@NonNull android.hardware.biometrics.BiometricPrompt.CryptoObject, @NonNull android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.biometrics.BiometricPrompt.AuthenticationCallback); method @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public void authenticate(@NonNull android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.biometrics.BiometricPrompt.AuthenticationCallback); + method @Nullable public int getAllowedAuthenticators(); + method @Nullable public CharSequence getDescription(); + method @Nullable public CharSequence getNegativeButtonText(); + method @Nullable public CharSequence getSubtitle(); + method @NonNull public CharSequence getTitle(); + method public boolean isConfirmationRequired(); + field public static final int AUTHENTICATION_RESULT_TYPE_BIOMETRIC = 2; // 0x2 + field public static final int AUTHENTICATION_RESULT_TYPE_DEVICE_CREDENTIAL = 1; // 0x1 field public static final int BIOMETRIC_ACQUIRED_GOOD = 0; // 0x0 field public static final int BIOMETRIC_ACQUIRED_IMAGER_DIRTY = 3; // 0x3 field public static final int BIOMETRIC_ACQUIRED_INSUFFICIENT = 2; // 0x2 @@ -16611,6 +17095,7 @@ package android.hardware.biometrics { field public static final int BIOMETRIC_ERROR_NO_BIOMETRICS = 11; // 0xb field public static final int BIOMETRIC_ERROR_NO_DEVICE_CREDENTIAL = 14; // 0xe field public static final int BIOMETRIC_ERROR_NO_SPACE = 4; // 0x4 + field public static final int BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED = 15; // 0xf field public static final int BIOMETRIC_ERROR_TIMEOUT = 3; // 0x3 field public static final int BIOMETRIC_ERROR_UNABLE_TO_PROCESS = 2; // 0x2 field public static final int BIOMETRIC_ERROR_USER_CANCELED = 10; // 0xa @@ -16626,15 +17111,17 @@ package android.hardware.biometrics { } public static class BiometricPrompt.AuthenticationResult { + method public int getAuthenticationType(); method public android.hardware.biometrics.BiometricPrompt.CryptoObject getCryptoObject(); } public static class BiometricPrompt.Builder { ctor public BiometricPrompt.Builder(android.content.Context); method @NonNull public android.hardware.biometrics.BiometricPrompt build(); + method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setAllowedAuthenticators(int); method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setConfirmationRequired(boolean); method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setDescription(@NonNull CharSequence); - method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setDeviceCredentialAllowed(boolean); + method @Deprecated @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setDeviceCredentialAllowed(boolean); method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setNegativeButton(@NonNull CharSequence, @NonNull java.util.concurrent.Executor, @NonNull android.content.DialogInterface.OnClickListener); method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setSubtitle(@NonNull CharSequence); method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setTitle(@NonNull CharSequence); @@ -16686,6 +17173,8 @@ package android.hardware.camera2 { method public abstract int setRepeatingRequest(@NonNull android.hardware.camera2.CaptureRequest, @Nullable android.hardware.camera2.CameraCaptureSession.CaptureCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException; method public int setSingleRepeatingRequest(@NonNull android.hardware.camera2.CaptureRequest, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraCaptureSession.CaptureCallback) throws android.hardware.camera2.CameraAccessException; method public abstract void stopRepeating() throws android.hardware.camera2.CameraAccessException; + method public boolean supportsOfflineProcessing(@NonNull android.view.Surface); + method @Nullable public android.hardware.camera2.CameraOfflineSession switchToOffline(@NonNull java.util.Collection<android.view.Surface>, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraOfflineSession.CameraOfflineSessionCallback) throws android.hardware.camera2.CameraAccessException; method public void updateOutputConfiguration(android.hardware.camera2.params.OutputConfiguration) throws android.hardware.camera2.CameraAccessException; } @@ -16730,6 +17219,7 @@ package android.hardware.camera2 { field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> CONTROL_AE_LOCK_AVAILABLE; field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AF_AVAILABLE_MODES; field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_EFFECTS; + field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.Capability[]> CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_CAPABILITIES; field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_MODES; field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_SCENE_MODES; field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES; @@ -16739,6 +17229,7 @@ package android.hardware.camera2 { field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> CONTROL_MAX_REGIONS_AF; field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> CONTROL_MAX_REGIONS_AWB; field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>> CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE; + field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Float>> CONTROL_ZOOM_RATIO_RANGE; field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> DEPTH_DEPTH_IS_EXCLUSIVE; field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> DISTORTION_CORRECTION_AVAILABLE_MODES; field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> EDGE_AVAILABLE_EDGE_MODES; @@ -16773,6 +17264,7 @@ package android.hardware.camera2 { field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Byte> REQUEST_PIPELINE_MAX_DEPTH; field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> SCALER_AVAILABLE_MAX_DIGITAL_ZOOM; field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SCALER_CROPPING_TYPE; + field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.MandatoryStreamCombination[]> SCALER_MANDATORY_CONCURRENT_STREAM_COMBINATIONS; field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.MandatoryStreamCombination[]> SCALER_MANDATORY_STREAM_COMBINATIONS; field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.StreamConfigurationMap> SCALER_STREAM_CONFIGURATION_MAP; field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> SENSOR_AVAILABLE_TEST_PATTERN_MODES; @@ -16824,15 +17316,20 @@ package android.hardware.camera2 { method public abstract void close(); method @NonNull public abstract android.hardware.camera2.CaptureRequest.Builder createCaptureRequest(int) throws android.hardware.camera2.CameraAccessException; method @NonNull public android.hardware.camera2.CaptureRequest.Builder createCaptureRequest(int, java.util.Set<java.lang.String>) throws android.hardware.camera2.CameraAccessException; - method public abstract void createCaptureSession(@NonNull java.util.List<android.view.Surface>, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException; + method @Deprecated public abstract void createCaptureSession(@NonNull java.util.List<android.view.Surface>, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException; method public void createCaptureSession(android.hardware.camera2.params.SessionConfiguration) throws android.hardware.camera2.CameraAccessException; - method public abstract void createCaptureSessionByOutputConfigurations(java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException; - method public abstract void createConstrainedHighSpeedCaptureSession(@NonNull java.util.List<android.view.Surface>, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException; + method @Deprecated public abstract void createCaptureSessionByOutputConfigurations(java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException; + method @Deprecated public abstract void createConstrainedHighSpeedCaptureSession(@NonNull java.util.List<android.view.Surface>, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException; method @NonNull public abstract android.hardware.camera2.CaptureRequest.Builder createReprocessCaptureRequest(@NonNull android.hardware.camera2.TotalCaptureResult) throws android.hardware.camera2.CameraAccessException; - method public abstract void createReprocessableCaptureSession(@NonNull android.hardware.camera2.params.InputConfiguration, @NonNull java.util.List<android.view.Surface>, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException; - method public abstract void createReprocessableCaptureSessionByConfigurations(@NonNull android.hardware.camera2.params.InputConfiguration, @NonNull java.util.List<android.hardware.camera2.params.OutputConfiguration>, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException; + method @Deprecated public abstract void createReprocessableCaptureSession(@NonNull android.hardware.camera2.params.InputConfiguration, @NonNull java.util.List<android.view.Surface>, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException; + method @Deprecated public abstract void createReprocessableCaptureSessionByConfigurations(@NonNull android.hardware.camera2.params.InputConfiguration, @NonNull java.util.List<android.hardware.camera2.params.OutputConfiguration>, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException; + method public int getCameraAudioRestriction() throws android.hardware.camera2.CameraAccessException; method @NonNull public abstract String getId(); method public boolean isSessionConfigurationSupported(@NonNull android.hardware.camera2.params.SessionConfiguration) throws android.hardware.camera2.CameraAccessException; + method public void setCameraAudioRestriction(int) throws android.hardware.camera2.CameraAccessException; + field public static final int AUDIO_RESTRICTION_NONE = 0; // 0x0 + field public static final int AUDIO_RESTRICTION_VIBRATION = 1; // 0x1 + field public static final int AUDIO_RESTRICTION_VIBRATION_SOUND = 3; // 0x3 field public static final int TEMPLATE_MANUAL = 6; // 0x6 field public static final int TEMPLATE_PREVIEW = 1; // 0x1 field public static final int TEMPLATE_RECORD = 3; // 0x3 @@ -16857,6 +17354,8 @@ package android.hardware.camera2 { public final class CameraManager { method @NonNull public android.hardware.camera2.CameraCharacteristics getCameraCharacteristics(@NonNull String) throws android.hardware.camera2.CameraAccessException; method @NonNull public String[] getCameraIdList() throws android.hardware.camera2.CameraAccessException; + method @NonNull public java.util.Set<java.util.Set<java.lang.String>> getConcurrentCameraIds() throws android.hardware.camera2.CameraAccessException; + method @RequiresPermission(android.Manifest.permission.CAMERA) public boolean isConcurrentSessionConfigurationSupported(@NonNull java.util.Map<java.lang.String,android.hardware.camera2.params.SessionConfiguration>) throws android.hardware.camera2.CameraAccessException; method @RequiresPermission(android.Manifest.permission.CAMERA) public void openCamera(@NonNull String, @NonNull android.hardware.camera2.CameraDevice.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException; method @RequiresPermission(android.Manifest.permission.CAMERA) public void openCamera(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraDevice.StateCallback) throws android.hardware.camera2.CameraAccessException; method public void registerAvailabilityCallback(@NonNull android.hardware.camera2.CameraManager.AvailabilityCallback, @Nullable android.os.Handler); @@ -16873,6 +17372,8 @@ package android.hardware.camera2 { method public void onCameraAccessPrioritiesChanged(); method public void onCameraAvailable(@NonNull String); method public void onCameraUnavailable(@NonNull String); + method public void onPhysicalCameraAvailable(@NonNull String, @NonNull String); + method public void onPhysicalCameraUnavailable(@NonNull String, @NonNull String); } public abstract static class CameraManager.TorchCallback { @@ -16956,9 +17457,13 @@ package android.hardware.camera2 { field public static final int CONTROL_EFFECT_MODE_SEPIA = 4; // 0x4 field public static final int CONTROL_EFFECT_MODE_SOLARIZE = 3; // 0x3 field public static final int CONTROL_EFFECT_MODE_WHITEBOARD = 6; // 0x6 + field public static final int CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS = 2; // 0x2 + field public static final int CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE = 1; // 0x1 + field public static final int CONTROL_EXTENDED_SCENE_MODE_DISABLED = 0; // 0x0 field public static final int CONTROL_MODE_AUTO = 1; // 0x1 field public static final int CONTROL_MODE_OFF = 0; // 0x0 field public static final int CONTROL_MODE_OFF_KEEP_STATE = 3; // 0x3 + field public static final int CONTROL_MODE_USE_EXTENDED_SCENE_MODE = 4; // 0x4 field public static final int CONTROL_MODE_USE_SCENE_MODE = 2; // 0x2 field public static final int CONTROL_SCENE_MODE_ACTION = 2; // 0x2 field public static final int CONTROL_SCENE_MODE_BARCODE = 16; // 0x10 @@ -17014,6 +17519,7 @@ package android.hardware.camera2 { field public static final int LENS_OPTICAL_STABILIZATION_MODE_ON = 1; // 0x1 field public static final int LENS_POSE_REFERENCE_GYROSCOPE = 1; // 0x1 field public static final int LENS_POSE_REFERENCE_PRIMARY_CAMERA = 0; // 0x0 + field public static final int LENS_POSE_REFERENCE_UNDEFINED = 2; // 0x2 field public static final int LENS_STATE_MOVING = 1; // 0x1 field public static final int LENS_STATE_STATIONARY = 0; // 0x0 field public static final int LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE = 0; // 0x0 @@ -17032,10 +17538,12 @@ package android.hardware.camera2 { field public static final int REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR = 1; // 0x1 field public static final int REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME = 12; // 0xc field public static final int REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING = 10; // 0xa + field public static final int REQUEST_AVAILABLE_CAPABILITIES_OFFLINE_PROCESSING = 15; // 0xf field public static final int REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING = 4; // 0x4 field public static final int REQUEST_AVAILABLE_CAPABILITIES_RAW = 3; // 0x3 field public static final int REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS = 5; // 0x5 field public static final int REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA = 13; // 0xd + field public static final int REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA = 14; // 0xe field public static final int REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING = 7; // 0x7 field public static final int SCALER_CROPPING_TYPE_CENTER_ONLY = 0; // 0x0 field public static final int SCALER_CROPPING_TYPE_FREEFORM = 1; // 0x1 @@ -17097,6 +17605,20 @@ package android.hardware.camera2 { field public static final int TONEMAP_PRESET_CURVE_SRGB = 0; // 0x0 } + public abstract class CameraOfflineSession extends android.hardware.camera2.CameraCaptureSession { + ctor public CameraOfflineSession(); + } + + public abstract static class CameraOfflineSession.CameraOfflineSessionCallback { + ctor public CameraOfflineSession.CameraOfflineSessionCallback(); + method public abstract void onClosed(@NonNull android.hardware.camera2.CameraOfflineSession); + method public abstract void onError(@NonNull android.hardware.camera2.CameraOfflineSession, int); + method public abstract void onIdle(@NonNull android.hardware.camera2.CameraOfflineSession); + method public abstract void onReady(@NonNull android.hardware.camera2.CameraOfflineSession); + method public abstract void onSwitchFailed(@NonNull android.hardware.camera2.CameraOfflineSession); + field public static final int STATUS_INTERNAL_ERROR = 0; // 0x0 + } + public class CaptureFailure { method public long getFrameNumber(); method @Nullable public String getPhysicalCameraId(); @@ -17136,10 +17658,12 @@ package android.hardware.camera2 { field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_CAPTURE_INTENT; field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_EFFECT_MODE; field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> CONTROL_ENABLE_ZSL; + field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_EXTENDED_SCENE_MODE; field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_MODE; field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST; field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_SCENE_MODE; field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_VIDEO_STABILIZATION_MODE; + field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> CONTROL_ZOOM_RATIO; field @NonNull public static final android.os.Parcelable.Creator<android.hardware.camera2.CaptureRequest> CREATOR; field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> DISTORTION_CORRECTION_MODE; field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> EDGE_MODE; @@ -17221,10 +17745,12 @@ package android.hardware.camera2 { field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_CAPTURE_INTENT; field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_EFFECT_MODE; field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> CONTROL_ENABLE_ZSL; + field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_EXTENDED_SCENE_MODE; field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_MODE; field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST; field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_SCENE_MODE; field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_VIDEO_STABILIZATION_MODE; + field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> CONTROL_ZOOM_RATIO; field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> DISTORTION_CORRECTION_MODE; field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> EDGE_MODE; field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> FLASH_MODE; @@ -17314,6 +17840,12 @@ package android.hardware.camera2.params { field public static final int COUNT = 4; // 0x4 } + public final class Capability { + method @NonNull public android.util.Size getMaxStreamingSize(); + method public int getMode(); + method @NonNull public android.util.Range<java.lang.Float> getZoomRatioRange(); + } + public final class ColorSpaceTransform { ctor public ColorSpaceTransform(android.util.Rational[]); ctor public ColorSpaceTransform(int[]); @@ -17598,6 +18130,7 @@ package android.hardware.input { method public int[] getInputDeviceIds(); method public void registerInputDeviceListener(android.hardware.input.InputManager.InputDeviceListener, android.os.Handler); method public void unregisterInputDeviceListener(android.hardware.input.InputManager.InputDeviceListener); + method @Nullable public android.view.VerifiedInputEvent verifyInputEvent(@NonNull android.view.InputEvent); field public static final String ACTION_QUERY_KEYBOARD_LAYOUTS = "android.hardware.input.action.QUERY_KEYBOARD_LAYOUTS"; field public static final String META_DATA_KEYBOARD_LAYOUTS = "android.hardware.input.metadata.KEYBOARD_LAYOUTS"; } @@ -22645,6 +23178,7 @@ package android.inputmethodservice { method public void onConfigureWindow(android.view.Window, boolean, boolean); method public android.view.View onCreateCandidatesView(); method public android.view.View onCreateExtractTextView(); + method @Nullable public android.view.inputmethod.InlineSuggestionsRequest onCreateInlineSuggestionsRequest(@NonNull android.os.Bundle); method public android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodImpl onCreateInputMethodInterface(); method public android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodSessionImpl onCreateInputMethodSessionInterface(); method public android.view.View onCreateInputView(); @@ -22661,6 +23195,7 @@ package android.inputmethodservice { method public void onFinishInput(); method public void onFinishInputView(boolean); method public void onInitializeInterface(); + method public boolean onInlineSuggestionsResponse(@NonNull android.view.inputmethod.InlineSuggestionsResponse); method public boolean onKeyDown(int, android.view.KeyEvent); method public boolean onKeyLongPress(int, android.view.KeyEvent); method public boolean onKeyMultiple(int, int, android.view.KeyEvent); @@ -22957,6 +23492,57 @@ package android.location { method public static boolean isPresent(); } + public final class GnssAntennaInfo implements android.os.Parcelable { + method public int describeContents(); + method @FloatRange(from=0.0f) public double getCarrierFrequencyMHz(); + method @NonNull public android.location.GnssAntennaInfo.PhaseCenterOffset getPhaseCenterOffset(); + method @Nullable public android.location.GnssAntennaInfo.SphericalCorrections getPhaseCenterVariationCorrections(); + method @Nullable public android.location.GnssAntennaInfo.SphericalCorrections getSignalGainCorrections(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAntennaInfo> CREATOR; + } + + public static class GnssAntennaInfo.Builder { + ctor public GnssAntennaInfo.Builder(); + method @NonNull public android.location.GnssAntennaInfo build(); + method @NonNull public android.location.GnssAntennaInfo.Builder setCarrierFrequencyMHz(@FloatRange(from=0.0f) double); + method @NonNull public android.location.GnssAntennaInfo.Builder setPhaseCenterOffset(@NonNull android.location.GnssAntennaInfo.PhaseCenterOffset); + method @NonNull public android.location.GnssAntennaInfo.Builder setPhaseCenterVariationCorrections(@Nullable android.location.GnssAntennaInfo.SphericalCorrections); + method @NonNull public android.location.GnssAntennaInfo.Builder setSignalGainCorrections(@Nullable android.location.GnssAntennaInfo.SphericalCorrections); + } + + public static interface GnssAntennaInfo.Listener { + method public void onGnssAntennaInfoReceived(@NonNull java.util.List<android.location.GnssAntennaInfo>); + } + + public static final class GnssAntennaInfo.PhaseCenterOffset implements android.os.Parcelable { + ctor public GnssAntennaInfo.PhaseCenterOffset(double, double, double, double, double, double); + method public int describeContents(); + method @FloatRange public double getXOffsetMm(); + method @FloatRange public double getXOffsetUncertaintyMm(); + method @FloatRange public double getYOffsetMm(); + method @FloatRange public double getYOffsetUncertaintyMm(); + method @FloatRange public double getZOffsetMm(); + method @FloatRange public double getZOffsetUncertaintyMm(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAntennaInfo.PhaseCenterOffset> CREATOR; + } + + public static final class GnssAntennaInfo.SphericalCorrections implements android.os.Parcelable { + ctor public GnssAntennaInfo.SphericalCorrections(@NonNull double[][], @NonNull double[][]); + method public int describeContents(); + method @NonNull public double[][] getCorrectionUncertaintiesArray(); + method @NonNull public double[][] getCorrectionsArray(); + method @FloatRange(from=0.0f, to=180.0f) public double getDeltaPhi(); + method @FloatRange(from=0.0f, to=360.0f) public double getDeltaTheta(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAntennaInfo.SphericalCorrections> CREATOR; + } + + public final class GnssCapabilities { + method public boolean hasGnssAntennaInfo(); + } + public final class GnssClock implements android.os.Parcelable { method public int describeContents(); method public double getBiasNanos(); @@ -22968,6 +23554,9 @@ package android.location { method public long getFullBiasNanos(); method public int getHardwareClockDiscontinuityCount(); method public int getLeapSecond(); + method @FloatRange(from=0.0) public double getReferenceCarrierFrequencyHzForIsb(); + method @NonNull public String getReferenceCodeTypeForIsb(); + method public int getReferenceConstellationTypeForIsb(); method public long getTimeNanos(); method @FloatRange(from=0.0f) public double getTimeUncertaintyNanos(); method public boolean hasBiasNanos(); @@ -22978,6 +23567,9 @@ package android.location { method public boolean hasElapsedRealtimeUncertaintyNanos(); method public boolean hasFullBiasNanos(); method public boolean hasLeapSecond(); + method public boolean hasReferenceCarrierFrequencyHzForIsb(); + method public boolean hasReferenceCodeTypeForIsb(); + method public boolean hasReferenceConstellationTypeForIsb(); method public boolean hasTimeUncertaintyNanos(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssClock> CREATOR; @@ -22989,28 +23581,38 @@ package android.location { method public int getAccumulatedDeltaRangeState(); method public double getAccumulatedDeltaRangeUncertaintyMeters(); method public double getAutomaticGainControlLevelDb(); + method @FloatRange(from=0, to=63) public double getBasebandCn0DbHz(); method @Deprecated public long getCarrierCycles(); method public float getCarrierFrequencyHz(); method @Deprecated public double getCarrierPhase(); method @Deprecated public double getCarrierPhaseUncertainty(); - method public double getCn0DbHz(); + method @FloatRange(from=0, to=63) public double getCn0DbHz(); method @NonNull public String getCodeType(); method public int getConstellationType(); + method public double getFullInterSignalBiasNanos(); + method @FloatRange(from=0.0) public double getFullInterSignalBiasUncertaintyNanos(); method public int getMultipathIndicator(); method public double getPseudorangeRateMetersPerSecond(); method public double getPseudorangeRateUncertaintyMetersPerSecond(); method public long getReceivedSvTimeNanos(); method public long getReceivedSvTimeUncertaintyNanos(); + method public double getSatelliteInterSignalBiasNanos(); + method @FloatRange(from=0.0) public double getSatelliteInterSignalBiasUncertaintyNanos(); method public double getSnrInDb(); method public int getState(); method public int getSvid(); method public double getTimeOffsetNanos(); method public boolean hasAutomaticGainControlLevelDb(); + method public boolean hasBasebandCn0DbHz(); method @Deprecated public boolean hasCarrierCycles(); method public boolean hasCarrierFrequencyHz(); method @Deprecated public boolean hasCarrierPhase(); method @Deprecated public boolean hasCarrierPhaseUncertainty(); method public boolean hasCodeType(); + method public boolean hasFullInterSignalBiasNanos(); + method public boolean hasFullInterSignalBiasUncertaintyNanos(); + method public boolean hasSatelliteInterSignalBiasNanos(); + method public boolean hasSatelliteInterSignalBiasUncertaintyNanos(); method public boolean hasSnrInDb(); method public void writeToParcel(android.os.Parcel, int); field public static final int ADR_STATE_CYCLE_SLIP = 4; // 0x4 @@ -23074,6 +23676,8 @@ package android.location { field public static final int STATUS_PARITY_PASSED = 1; // 0x1 field public static final int STATUS_PARITY_REBUILT = 2; // 0x2 field public static final int STATUS_UNKNOWN = 0; // 0x0 + field public static final int TYPE_BDS_CNAV1 = 1283; // 0x503 + field public static final int TYPE_BDS_CNAV2 = 1284; // 0x504 field public static final int TYPE_BDS_D1 = 1281; // 0x501 field public static final int TYPE_BDS_D2 = 1282; // 0x502 field public static final int TYPE_GAL_F = 1538; // 0x602 @@ -23083,6 +23687,9 @@ package android.location { field public static final int TYPE_GPS_L1CA = 257; // 0x101 field public static final int TYPE_GPS_L2CNAV = 258; // 0x102 field public static final int TYPE_GPS_L5CNAV = 259; // 0x103 + field public static final int TYPE_IRN_L5CA = 1793; // 0x701 + field public static final int TYPE_QZS_L1CA = 1025; // 0x401 + field public static final int TYPE_SBS = 513; // 0x201 field public static final int TYPE_UNKNOWN = 0; // 0x0 } @@ -23096,17 +23703,19 @@ package android.location { } public final class GnssStatus { - method public float getAzimuthDegrees(int); - method public float getCarrierFrequencyHz(int); - method public float getCn0DbHz(int); - method public int getConstellationType(int); - method public float getElevationDegrees(int); - method public int getSatelliteCount(); - method public int getSvid(int); - method public boolean hasAlmanacData(int); - method public boolean hasCarrierFrequencyHz(int); - method public boolean hasEphemerisData(int); - method public boolean usedInFix(int); + method @FloatRange(from=0, to=360) public float getAzimuthDegrees(@IntRange(from=0) int); + method @FloatRange(from=0, to=63) public float getBasebandCn0DbHz(@IntRange(from=0) int); + method @FloatRange(from=0) public float getCarrierFrequencyHz(@IntRange(from=0) int); + method @FloatRange(from=0, to=63) public float getCn0DbHz(@IntRange(from=0) int); + method public int getConstellationType(@IntRange(from=0) int); + method @FloatRange(from=0xffffffa6, to=90) public float getElevationDegrees(@IntRange(from=0) int); + method @IntRange(from=0) public int getSatelliteCount(); + method @IntRange(from=1, to=200) public int getSvid(@IntRange(from=0) int); + method public boolean hasAlmanacData(@IntRange(from=0) int); + method public boolean hasBasebandCn0DbHz(@IntRange(from=0) int); + method public boolean hasCarrierFrequencyHz(@IntRange(from=0) int); + method public boolean hasEphemerisData(@IntRange(from=0) int); + method public boolean usedInFix(@IntRange(from=0) int); field public static final int CONSTELLATION_BEIDOU = 5; // 0x5 field public static final int CONSTELLATION_GALILEO = 6; // 0x6 field public static final int CONSTELLATION_GLONASS = 3; // 0x3 @@ -23117,10 +23726,17 @@ package android.location { field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0 } + public static final class GnssStatus.Builder { + ctor public GnssStatus.Builder(); + method @NonNull public android.location.GnssStatus.Builder addSatellite(int, @IntRange(from=1, to=200) int, @FloatRange(from=0, to=63) float, @FloatRange(from=0xffffffa6, to=90) float, @FloatRange(from=0, to=360) float, boolean, boolean, boolean, boolean, @FloatRange(from=0) float, boolean, @FloatRange(from=0, to=63) float); + method @NonNull public android.location.GnssStatus build(); + method @NonNull public android.location.GnssStatus.Builder clearSatellites(); + } + public abstract static class GnssStatus.Callback { ctor public GnssStatus.Callback(); method public void onFirstFix(int); - method public void onSatelliteStatusChanged(android.location.GnssStatus); + method public void onSatelliteStatusChanged(@NonNull android.location.GnssStatus); method public void onStarted(); method public void onStopped(); } @@ -23136,6 +23752,7 @@ package android.location { } @Deprecated public final class GpsStatus { + method @Deprecated @NonNull public static android.location.GpsStatus create(@NonNull android.location.GnssStatus, int); method @Deprecated public int getMaxSatellites(); method @Deprecated public Iterable<android.location.GpsSatellite> getSatellites(); method @Deprecated public int getTimeToFirstFix(); @@ -23214,16 +23831,18 @@ package android.location { } public interface LocationListener { - method public void onLocationChanged(android.location.Location); - method public void onProviderDisabled(String); - method public void onProviderEnabled(String); - method @Deprecated public void onStatusChanged(String, int, android.os.Bundle); + method public void onLocationChanged(@NonNull android.location.Location); + method public default void onProviderDisabled(@NonNull String); + method public default void onProviderEnabled(@NonNull String); + method @Deprecated public default void onStatusChanged(String, int, android.os.Bundle); } public class LocationManager { method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addGpsStatusListener(android.location.GpsStatus.Listener); - method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(@NonNull android.location.OnNmeaMessageListener); + method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(@NonNull android.location.GpsStatus.NmeaListener); + method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(@NonNull android.location.OnNmeaMessageListener); method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(@NonNull android.location.OnNmeaMessageListener, @Nullable android.os.Handler); + method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(@NonNull java.util.concurrent.Executor, @NonNull android.location.OnNmeaMessageListener); method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void addProximityAlert(double, double, float, long, @NonNull android.app.PendingIntent); method public void addTestProvider(@NonNull String, boolean, boolean, boolean, boolean, boolean, boolean, boolean, int, int); method @Deprecated public void clearTestProviderEnabled(@NonNull String); @@ -23231,6 +23850,8 @@ package android.location { method @Deprecated public void clearTestProviderStatus(@NonNull String); method @NonNull public java.util.List<java.lang.String> getAllProviders(); method @Nullable public String getBestProvider(@NonNull android.location.Criteria, boolean); + method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void getCurrentLocation(@NonNull String, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.location.Location>); + method @NonNull public android.location.GnssCapabilities getGnssCapabilities(); method @Nullable public String getGnssHardwareModelName(); method public int getGnssYearOfHardware(); method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public android.location.GpsStatus getGpsStatus(@Nullable android.location.GpsStatus); @@ -23240,13 +23861,18 @@ package android.location { method @NonNull public java.util.List<java.lang.String> getProviders(@NonNull android.location.Criteria, boolean); method public boolean isLocationEnabled(); method public boolean isProviderEnabled(@NonNull String); - method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback); + method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerAntennaInfoListener(@NonNull java.util.concurrent.Executor, @NonNull android.location.GnssAntennaInfo.Listener); + method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback); method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback, @Nullable android.os.Handler); - method public boolean registerGnssNavigationMessageCallback(@NonNull android.location.GnssNavigationMessage.Callback); + method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull java.util.concurrent.Executor, @NonNull android.location.GnssMeasurementsEvent.Callback); + method @Deprecated public boolean registerGnssNavigationMessageCallback(@NonNull android.location.GnssNavigationMessage.Callback); method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssNavigationMessageCallback(@NonNull android.location.GnssNavigationMessage.Callback, @Nullable android.os.Handler); - method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssStatusCallback(@NonNull android.location.GnssStatus.Callback); + method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssNavigationMessageCallback(@NonNull java.util.concurrent.Executor, @NonNull android.location.GnssNavigationMessage.Callback); + method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssStatusCallback(@NonNull android.location.GnssStatus.Callback); method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssStatusCallback(@NonNull android.location.GnssStatus.Callback, @Nullable android.os.Handler); + method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssStatusCallback(@NonNull java.util.concurrent.Executor, @NonNull android.location.GnssStatus.Callback); method @Deprecated public void removeGpsStatusListener(android.location.GpsStatus.Listener); + method @Deprecated public void removeNmeaListener(@NonNull android.location.GpsStatus.NmeaListener); method public void removeNmeaListener(@NonNull android.location.OnNmeaMessageListener); method @RequiresPermission(anyOf={"android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION"}, apis="..22") public void removeProximityAlert(@NonNull android.app.PendingIntent); method public void removeTestProvider(@NonNull String); @@ -23254,20 +23880,25 @@ package android.location { method public void removeUpdates(@NonNull android.app.PendingIntent); method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, long, float, @NonNull android.location.LocationListener); method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, long, float, @NonNull android.location.LocationListener, @Nullable android.os.Looper); + method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, long, float, @NonNull java.util.concurrent.Executor, @NonNull android.location.LocationListener); method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(long, float, @NonNull android.location.Criteria, @NonNull android.location.LocationListener, @Nullable android.os.Looper); + method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(long, float, @NonNull android.location.Criteria, @NonNull java.util.concurrent.Executor, @NonNull android.location.LocationListener); method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, long, float, @NonNull android.app.PendingIntent); method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(long, float, @NonNull android.location.Criteria, @NonNull android.app.PendingIntent); - method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull String, @NonNull android.location.LocationListener, @Nullable android.os.Looper); - method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull android.location.Criteria, @NonNull android.location.LocationListener, @Nullable android.os.Looper); - method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull String, @NonNull android.app.PendingIntent); - method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull android.location.Criteria, @NonNull android.app.PendingIntent); + method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull String, @NonNull android.location.LocationListener, @Nullable android.os.Looper); + method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull android.location.Criteria, @NonNull android.location.LocationListener, @Nullable android.os.Looper); + method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull String, @NonNull android.app.PendingIntent); + method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull android.location.Criteria, @NonNull android.app.PendingIntent); method public boolean sendExtraCommand(@NonNull String, @NonNull String, @Nullable android.os.Bundle); method public void setTestProviderEnabled(@NonNull String, boolean); method public void setTestProviderLocation(@NonNull String, @NonNull android.location.Location); method @Deprecated public void setTestProviderStatus(@NonNull String, int, @Nullable android.os.Bundle, long); + method public void unregisterAntennaInfoListener(@NonNull android.location.GnssAntennaInfo.Listener); method public void unregisterGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback); method public void unregisterGnssNavigationMessageCallback(@NonNull android.location.GnssNavigationMessage.Callback); method public void unregisterGnssStatusCallback(@NonNull android.location.GnssStatus.Callback); + field public static final String EXTRA_LOCATION_ENABLED = "android.location.extra.LOCATION_ENABLED"; + field public static final String EXTRA_PROVIDER_ENABLED = "android.location.extra.PROVIDER_ENABLED"; field public static final String EXTRA_PROVIDER_NAME = "android.location.extra.PROVIDER_NAME"; field public static final String GPS_PROVIDER = "gps"; field public static final String KEY_LOCATION_CHANGED = "location"; @@ -23388,6 +24019,8 @@ package android.media { method @NonNull public int[] getChannelCounts(); method @NonNull public int[] getChannelIndexMasks(); method @NonNull public int[] getChannelMasks(); + method @NonNull public int[] getEncapsulationMetadataTypes(); + method @NonNull public int[] getEncapsulationModes(); method @NonNull public int[] getEncodings(); method public int getId(); method public CharSequence getProductName(); @@ -23403,6 +24036,7 @@ package android.media { field public static final int TYPE_BUILTIN_EARPIECE = 1; // 0x1 field public static final int TYPE_BUILTIN_MIC = 15; // 0xf field public static final int TYPE_BUILTIN_SPEAKER = 2; // 0x2 + field public static final int TYPE_BUILTIN_SPEAKER_SAFE = 24; // 0x18 field public static final int TYPE_BUS = 21; // 0x15 field public static final int TYPE_DOCK = 13; // 0xd field public static final int TYPE_FM = 14; // 0xe @@ -23554,6 +24188,7 @@ package android.media { method @Deprecated public boolean isBluetoothA2dpOn(); method public boolean isBluetoothScoAvailableOffCall(); method public boolean isBluetoothScoOn(); + method public boolean isCallScreeningModeSupported(); method public static boolean isHapticPlaybackSupported(); method public boolean isMicrophoneMute(); method public boolean isMusicActive(); @@ -23565,9 +24200,9 @@ package android.media { method public void loadSoundEffects(); method public void playSoundEffect(int); method public void playSoundEffect(int, float); - method public void registerAudioDeviceCallback(android.media.AudioDeviceCallback, android.os.Handler); - method public void registerAudioPlaybackCallback(@NonNull android.media.AudioManager.AudioPlaybackCallback, android.os.Handler); - method public void registerAudioRecordingCallback(@NonNull android.media.AudioManager.AudioRecordingCallback, android.os.Handler); + method public void registerAudioDeviceCallback(android.media.AudioDeviceCallback, @Nullable android.os.Handler); + method public void registerAudioPlaybackCallback(@NonNull android.media.AudioManager.AudioPlaybackCallback, @Nullable android.os.Handler); + method public void registerAudioRecordingCallback(@NonNull android.media.AudioManager.AudioRecordingCallback, @Nullable android.os.Handler); method @Deprecated public void registerMediaButtonEventReceiver(android.content.ComponentName); method @Deprecated public void registerMediaButtonEventReceiver(android.app.PendingIntent); method @Deprecated public void registerRemoteControlClient(android.media.RemoteControlClient); @@ -23652,6 +24287,7 @@ package android.media { field public static final int GET_DEVICES_ALL = 3; // 0x3 field public static final int GET_DEVICES_INPUTS = 1; // 0x1 field public static final int GET_DEVICES_OUTPUTS = 2; // 0x2 + field public static final int MODE_CALL_SCREENING = 4; // 0x4 field public static final int MODE_CURRENT = -1; // 0xffffffff field public static final int MODE_INVALID = -2; // 0xfffffffe field public static final int MODE_IN_CALL = 2; // 0x2 @@ -23710,6 +24346,37 @@ package android.media { method public void onAudioFocusChange(int); } + public final class AudioMetadata { + method @NonNull public static android.media.AudioMetadataMap createMap(); + } + + public static class AudioMetadata.Format { + field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Boolean> KEY_ATMOS_PRESENT; + field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_AUDIO_ENCODING; + field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_BIT_RATE; + field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_BIT_WIDTH; + field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_CHANNEL_MASK; + field @NonNull public static final android.media.AudioMetadata.Key<java.lang.String> KEY_MIME; + field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_SAMPLE_RATE; + } + + public static interface AudioMetadata.Key<T> { + method @NonNull public String getName(); + method @NonNull public Class<T> getValueClass(); + } + + public interface AudioMetadataMap extends android.media.AudioMetadataReadMap { + method @Nullable public <T> T remove(@NonNull android.media.AudioMetadata.Key<T>); + method @Nullable public <T> T set(@NonNull android.media.AudioMetadata.Key<T>, @NonNull T); + } + + public interface AudioMetadataReadMap { + method public <T> boolean containsKey(@NonNull android.media.AudioMetadata.Key<T>); + method @NonNull public android.media.AudioMetadataMap dup(); + method @Nullable public <T> T get(@NonNull android.media.AudioMetadata.Key<T>); + method @IntRange(from=0) public int size(); + } + public final class AudioPlaybackCaptureConfiguration { method @NonNull public int[] getExcludeUids(); method @NonNull public int[] getExcludeUsages(); @@ -23786,6 +24453,7 @@ package android.media { method public int getSampleRate(); method public int getState(); method public int getTimestamp(@NonNull android.media.AudioTimestamp, int); + method public boolean isPrivacySensitive(); method public int read(@NonNull byte[], int, int); method public int read(@NonNull byte[], int, int, int); method public int read(@NonNull short[], int, int); @@ -23828,6 +24496,7 @@ package android.media { method @NonNull public android.media.AudioRecord.Builder setAudioPlaybackCaptureConfig(@NonNull android.media.AudioPlaybackCaptureConfiguration); method public android.media.AudioRecord.Builder setAudioSource(int) throws java.lang.IllegalArgumentException; method public android.media.AudioRecord.Builder setBufferSizeInBytes(int) throws java.lang.IllegalArgumentException; + method @NonNull public android.media.AudioRecord.Builder setPrivacySensitive(boolean); } public static final class AudioRecord.MetricsConstants { @@ -23893,6 +24562,7 @@ package android.media { ctor @Deprecated public AudioTrack(int, int, int, int, int, int) throws java.lang.IllegalArgumentException; ctor @Deprecated public AudioTrack(int, int, int, int, int, int, int) throws java.lang.IllegalArgumentException; ctor public AudioTrack(android.media.AudioAttributes, android.media.AudioFormat, int, int, int) throws java.lang.IllegalArgumentException; + method public void addOnCodecFormatChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioTrack.OnCodecFormatChangedListener); method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler); method @Deprecated public void addOnRoutingChangedListener(android.media.AudioTrack.OnRoutingChangedListener, android.os.Handler); method public int attachAuxEffect(int); @@ -23900,12 +24570,14 @@ package android.media { method protected void finalize(); method public void flush(); method @NonNull public android.media.AudioAttributes getAudioAttributes(); + method public float getAudioDescriptionMixLeveldB(); method public int getAudioFormat(); method public int getAudioSessionId(); method @IntRange(from=0) public int getBufferCapacityInFrames(); method @IntRange(from=0) public int getBufferSizeInFrames(); method public int getChannelConfiguration(); method public int getChannelCount(); + method public int getDualMonoMode(); method @NonNull public android.media.AudioFormat getFormat(); method public static float getMaxVolume(); method public android.os.PersistableBundle getMetrics(); @@ -23936,10 +24608,13 @@ package android.media { method public void registerStreamEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioTrack.StreamEventCallback); method public void release(); method public int reloadStaticData(); + method public void removeOnCodecFormatChangedListener(@NonNull android.media.AudioTrack.OnCodecFormatChangedListener); method public void removeOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener); method @Deprecated public void removeOnRoutingChangedListener(android.media.AudioTrack.OnRoutingChangedListener); + method public boolean setAudioDescriptionMixLeveldB(@FloatRange(to=48.0f, toInclusive=true) float); method public int setAuxEffectSendLevel(@FloatRange(from=0.0) float); method public int setBufferSizeInFrames(@IntRange(from=0) int); + method public boolean setDualMonoMode(int); method public int setLoopPoints(@IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0xffffffff) int); method public int setNotificationMarkerPosition(int); method public void setOffloadDelayPadding(@IntRange(from=0) int, @IntRange(from=0) int); @@ -23964,6 +24639,14 @@ package android.media { method public int write(@NonNull float[], int, int, int); method public int write(@NonNull java.nio.ByteBuffer, int, int); method public int write(@NonNull java.nio.ByteBuffer, int, int, long); + field public static final int DUAL_MONO_MODE_LL = 2; // 0x2 + field public static final int DUAL_MONO_MODE_LR = 1; // 0x1 + field public static final int DUAL_MONO_MODE_OFF = 0; // 0x0 + field public static final int DUAL_MONO_MODE_RR = 3; // 0x3 + field public static final int ENCAPSULATION_METADATA_TYPE_DVB_AD_DESCRIPTOR = 2; // 0x2 + field public static final int ENCAPSULATION_METADATA_TYPE_FRAMEWORK_TUNER = 1; // 0x1 + field public static final int ENCAPSULATION_MODE_ELEMENTARY_STREAM = 1; // 0x1 + field public static final int ENCAPSULATION_MODE_NONE = 0; // 0x0 field public static final int ERROR = -1; // 0xffffffff field public static final int ERROR_BAD_VALUE = -2; // 0xfffffffe field public static final int ERROR_DEAD_OBJECT = -6; // 0xfffffffa @@ -23990,6 +24673,7 @@ package android.media { method @NonNull public android.media.AudioTrack.Builder setAudioAttributes(@NonNull android.media.AudioAttributes) throws java.lang.IllegalArgumentException; method @NonNull public android.media.AudioTrack.Builder setAudioFormat(@NonNull android.media.AudioFormat) throws java.lang.IllegalArgumentException; method @NonNull public android.media.AudioTrack.Builder setBufferSizeInBytes(@IntRange(from=0) int) throws java.lang.IllegalArgumentException; + method @NonNull public android.media.AudioTrack.Builder setEncapsulationMode(int); method @NonNull public android.media.AudioTrack.Builder setOffloadedPlayback(boolean); method @NonNull public android.media.AudioTrack.Builder setPerformanceMode(int); method @NonNull public android.media.AudioTrack.Builder setSessionId(@IntRange(from=1) int) throws java.lang.IllegalArgumentException; @@ -24004,6 +24688,10 @@ package android.media { field public static final String USAGE = "android.media.audiotrack.usage"; } + public static interface AudioTrack.OnCodecFormatChangedListener { + method public void onCodecFormatChanged(@NonNull android.media.AudioTrack, @Nullable android.media.AudioMetadataReadMap); + } + public static interface AudioTrack.OnPlaybackPositionUpdateListener { method public void onMarkerReached(android.media.AudioTrack); method public void onPeriodicNotification(android.media.AudioTrack); @@ -24028,28 +24716,39 @@ package android.media { method public static boolean hasProfile(int, int); field public static final int QUALITY_1080P = 6; // 0x6 field public static final int QUALITY_2160P = 8; // 0x8 + field public static final int QUALITY_2K = 12; // 0xc field public static final int QUALITY_480P = 4; // 0x4 + field public static final int QUALITY_4KDCI = 10; // 0xa field public static final int QUALITY_720P = 5; // 0x5 field public static final int QUALITY_CIF = 3; // 0x3 field public static final int QUALITY_HIGH = 1; // 0x1 field public static final int QUALITY_HIGH_SPEED_1080P = 2004; // 0x7d4 field public static final int QUALITY_HIGH_SPEED_2160P = 2005; // 0x7d5 field public static final int QUALITY_HIGH_SPEED_480P = 2002; // 0x7d2 + field public static final int QUALITY_HIGH_SPEED_4KDCI = 2008; // 0x7d8 field public static final int QUALITY_HIGH_SPEED_720P = 2003; // 0x7d3 + field public static final int QUALITY_HIGH_SPEED_CIF = 2006; // 0x7d6 field public static final int QUALITY_HIGH_SPEED_HIGH = 2001; // 0x7d1 field public static final int QUALITY_HIGH_SPEED_LOW = 2000; // 0x7d0 + field public static final int QUALITY_HIGH_SPEED_VGA = 2007; // 0x7d7 field public static final int QUALITY_LOW = 0; // 0x0 field public static final int QUALITY_QCIF = 2; // 0x2 + field public static final int QUALITY_QHD = 11; // 0xb field public static final int QUALITY_QVGA = 7; // 0x7 field public static final int QUALITY_TIME_LAPSE_1080P = 1006; // 0x3ee field public static final int QUALITY_TIME_LAPSE_2160P = 1008; // 0x3f0 + field public static final int QUALITY_TIME_LAPSE_2K = 1012; // 0x3f4 field public static final int QUALITY_TIME_LAPSE_480P = 1004; // 0x3ec + field public static final int QUALITY_TIME_LAPSE_4KDCI = 1010; // 0x3f2 field public static final int QUALITY_TIME_LAPSE_720P = 1005; // 0x3ed field public static final int QUALITY_TIME_LAPSE_CIF = 1003; // 0x3eb field public static final int QUALITY_TIME_LAPSE_HIGH = 1001; // 0x3e9 field public static final int QUALITY_TIME_LAPSE_LOW = 1000; // 0x3e8 field public static final int QUALITY_TIME_LAPSE_QCIF = 1002; // 0x3ea + field public static final int QUALITY_TIME_LAPSE_QHD = 1011; // 0x3f3 field public static final int QUALITY_TIME_LAPSE_QVGA = 1007; // 0x3ef + field public static final int QUALITY_TIME_LAPSE_VGA = 1009; // 0x3f1 + field public static final int QUALITY_VGA = 9; // 0x9 field public int audioBitRate; field public int audioChannels; field public int audioCodec; @@ -24078,12 +24777,16 @@ package android.media { } public abstract class DrmInitData { - method public abstract android.media.DrmInitData.SchemeInitData get(java.util.UUID); + method @Deprecated public abstract android.media.DrmInitData.SchemeInitData get(java.util.UUID); + method @NonNull public android.media.DrmInitData.SchemeInitData getSchemeInitDataAt(int); + method public int getSchemeInitDataCount(); } public static final class DrmInitData.SchemeInitData { + field @NonNull public static final java.util.UUID UUID_NIL; field public final byte[] data; field public final String mimeType; + field @NonNull public final java.util.UUID uuid; } public class ExifInterface { @@ -24091,6 +24794,7 @@ package android.media { ctor public ExifInterface(@NonNull String) throws java.io.IOException; ctor public ExifInterface(@NonNull java.io.FileDescriptor) throws java.io.IOException; ctor public ExifInterface(@NonNull java.io.InputStream) throws java.io.IOException; + ctor public ExifInterface(@NonNull java.io.InputStream, int) throws java.io.IOException; method public double getAltitude(double); method @Nullable public String getAttribute(@NonNull String); method @Nullable public byte[] getAttributeBytes(@NonNull String); @@ -24104,6 +24808,7 @@ package android.media { method @Nullable public long[] getThumbnailRange(); method public boolean hasAttribute(@NonNull String); method public boolean hasThumbnail(); + method public static boolean isSupportedMimeType(@NonNull String); method public boolean isThumbnailCompressed(); method public void saveAttributes() throws java.io.IOException; method public void setAttribute(@NonNull String, @Nullable String); @@ -24116,6 +24821,8 @@ package android.media { field public static final int ORIENTATION_TRANSPOSE = 5; // 0x5 field public static final int ORIENTATION_TRANSVERSE = 7; // 0x7 field public static final int ORIENTATION_UNDEFINED = 0; // 0x0 + field public static final int STREAM_TYPE_EXIF_DATA_ONLY = 1; // 0x1 + field public static final int STREAM_TYPE_FULL_IMAGE_DATA = 0; // 0x0 field @Deprecated public static final String TAG_APERTURE = "FNumber"; field public static final String TAG_APERTURE_VALUE = "ApertureValue"; field public static final String TAG_ARTIST = "Artist"; @@ -24201,6 +24908,9 @@ package android.media { field public static final String TAG_MODEL = "Model"; field public static final String TAG_NEW_SUBFILE_TYPE = "NewSubfileType"; field public static final String TAG_OECF = "OECF"; + field public static final String TAG_OFFSET_TIME = "OffsetTime"; + field public static final String TAG_OFFSET_TIME_DIGITIZED = "OffsetTimeDigitized"; + field public static final String TAG_OFFSET_TIME_ORIGINAL = "OffsetTimeOriginal"; field public static final String TAG_ORF_ASPECT_FRAME = "AspectFrame"; field public static final String TAG_ORF_PREVIEW_IMAGE_LENGTH = "PreviewImageLength"; field public static final String TAG_ORF_PREVIEW_IMAGE_START = "PreviewImageStart"; @@ -24245,6 +24955,7 @@ package android.media { field public static final String TAG_SUBSEC_TIME_ORIGINAL = "SubSecTimeOriginal"; field public static final String TAG_THUMBNAIL_IMAGE_LENGTH = "ThumbnailImageLength"; field public static final String TAG_THUMBNAIL_IMAGE_WIDTH = "ThumbnailImageWidth"; + field public static final String TAG_THUMBNAIL_ORIENTATION = "ThumbnailOrientation"; field public static final String TAG_TRANSFER_FUNCTION = "TransferFunction"; field public static final String TAG_USER_COMMENT = "UserComment"; field public static final String TAG_WHITE_BALANCE = "WhiteBalance"; @@ -24370,11 +25081,13 @@ package android.media { public final class MediaCas implements java.lang.AutoCloseable { ctor public MediaCas(int) throws android.media.MediaCasException.UnsupportedCasException; + ctor public MediaCas(@NonNull android.content.Context, int, @Nullable String, int) throws android.media.MediaCasException.UnsupportedCasException; method public void close(); method public static android.media.MediaCas.PluginDescriptor[] enumeratePlugins(); method protected void finalize(); method public static boolean isSystemIdSupported(int); method public android.media.MediaCas.Session openSession() throws android.media.MediaCasException; + method @Nullable public android.media.MediaCas.Session openSession(int, int) throws android.media.MediaCasException; method public void processEmm(@NonNull byte[], int, int) throws android.media.MediaCasException; method public void processEmm(@NonNull byte[]) throws android.media.MediaCasException; method public void provision(@NonNull String) throws android.media.MediaCasException; @@ -24382,10 +25095,32 @@ package android.media { method public void sendEvent(int, int, @Nullable byte[]) throws android.media.MediaCasException; method public void setEventListener(@Nullable android.media.MediaCas.EventListener, @Nullable android.os.Handler); method public void setPrivateData(@NonNull byte[]) throws android.media.MediaCasException; + field public static final int PLUGIN_STATUS_PHYSICAL_MODULE_CHANGED = 0; // 0x0 + field public static final int PLUGIN_STATUS_SESSION_NUMBER_CHANGED = 1; // 0x1 + field public static final int SCRAMBLING_MODE_AES128 = 9; // 0x9 + field public static final int SCRAMBLING_MODE_AES_ECB = 10; // 0xa + field public static final int SCRAMBLING_MODE_AES_SCTE52 = 11; // 0xb + field public static final int SCRAMBLING_MODE_DVB_CISSA_V1 = 6; // 0x6 + field public static final int SCRAMBLING_MODE_DVB_CSA1 = 1; // 0x1 + field public static final int SCRAMBLING_MODE_DVB_CSA2 = 2; // 0x2 + field public static final int SCRAMBLING_MODE_DVB_CSA3_ENHANCE = 5; // 0x5 + field public static final int SCRAMBLING_MODE_DVB_CSA3_MINIMAL = 4; // 0x4 + field public static final int SCRAMBLING_MODE_DVB_CSA3_STANDARD = 3; // 0x3 + field public static final int SCRAMBLING_MODE_DVB_IDSA = 7; // 0x7 + field public static final int SCRAMBLING_MODE_MULTI2 = 8; // 0x8 + field public static final int SCRAMBLING_MODE_RESERVED = 0; // 0x0 + field public static final int SCRAMBLING_MODE_TDES_ECB = 12; // 0xc + field public static final int SCRAMBLING_MODE_TDES_SCTE52 = 13; // 0xd + field public static final int SESSION_USAGE_LIVE = 0; // 0x0 + field public static final int SESSION_USAGE_PLAYBACK = 1; // 0x1 + field public static final int SESSION_USAGE_RECORD = 2; // 0x2 + field public static final int SESSION_USAGE_TIMESHIFT = 3; // 0x3 } public static interface MediaCas.EventListener { method public void onEvent(@NonNull android.media.MediaCas, int, int, @Nullable byte[]); + method public default void onPluginStatusUpdate(@NonNull android.media.MediaCas, int, int); + method public default void onResourceLost(@NonNull android.media.MediaCas); method public default void onSessionEvent(@NonNull android.media.MediaCas, @NonNull android.media.MediaCas.Session, int, int, @Nullable byte[]); } @@ -24396,6 +25131,7 @@ package android.media { public final class MediaCas.Session implements java.lang.AutoCloseable { method public void close(); + method @NonNull public byte[] getSessionId(); method public void processEcm(@NonNull byte[], int, int) throws android.media.MediaCasException; method public void processEcm(@NonNull byte[]) throws android.media.MediaCasException; method public void sendSessionEvent(int, int, @Nullable byte[]) throws android.media.MediaCasException; @@ -24408,6 +25144,9 @@ package android.media { public static final class MediaCasException.DeniedByServerException extends android.media.MediaCasException { } + public static final class MediaCasException.InsufficientResourceException extends android.media.MediaCasException { + } + public static final class MediaCasException.NotProvisionedException extends android.media.MediaCasException { } @@ -24445,7 +25184,10 @@ package android.media { method @Deprecated @NonNull public java.nio.ByteBuffer[] getOutputBuffers(); method @NonNull public android.media.MediaFormat getOutputFormat(); method @NonNull public android.media.MediaFormat getOutputFormat(int); + method @NonNull public android.media.MediaCodec.OutputFrame getOutputFrame(int); method @Nullable public android.media.Image getOutputImage(int); + method @NonNull public android.media.MediaCodec.QueueRequest getQueueRequest(int); + method @Nullable public static android.media.Image mapHardwareBuffer(@NonNull android.hardware.HardwareBuffer); method public void queueInputBuffer(int, int, int, long, int) throws android.media.MediaCodec.CryptoException; method public void queueSecureInputBuffer(int, int, @NonNull android.media.MediaCodec.CryptoInfo, long, int) throws android.media.MediaCodec.CryptoException; method public void release(); @@ -24469,6 +25211,7 @@ package android.media { field public static final int BUFFER_FLAG_PARTIAL_FRAME = 8; // 0x8 field @Deprecated public static final int BUFFER_FLAG_SYNC_FRAME = 1; // 0x1 field public static final int CONFIGURE_FLAG_ENCODE = 1; // 0x1 + field public static final int CONFIGURE_FLAG_USE_BLOCK_MODEL = 2; // 0x2 field public static final int CRYPTO_MODE_AES_CBC = 2; // 0x2 field public static final int CRYPTO_MODE_AES_CTR = 1; // 0x1 field public static final int CRYPTO_MODE_UNENCRYPTED = 0; // 0x0 @@ -24476,6 +25219,7 @@ package android.media { field public static final int INFO_OUTPUT_FORMAT_CHANGED = -2; // 0xfffffffe field public static final int INFO_TRY_AGAIN_LATER = -1; // 0xffffffff field public static final String PARAMETER_KEY_HDR10_PLUS_INFO = "hdr10-plus-info"; + field public static final String PARAMETER_KEY_LOW_LATENCY = "low-latency"; field public static final String PARAMETER_KEY_OFFSET_TIME = "time-offset-us"; field public static final String PARAMETER_KEY_REQUEST_SYNC_FRAME = "request-sync"; field public static final String PARAMETER_KEY_SUSPEND = "drop-input-frames"; @@ -24544,6 +25288,18 @@ package android.media { method public void set(int, int); } + public class MediaCodec.IncompatibleWithBlockModelException extends java.lang.RuntimeException { + } + + public static final class MediaCodec.LinearBlock { + method protected void finalize(); + method public static boolean isCodecCopyFreeCompatible(@NonNull String[]); + method public boolean isMappable(); + method @NonNull public java.nio.ByteBuffer map(); + method @Nullable public static android.media.MediaCodec.LinearBlock obtain(int, @NonNull String[]); + method public void recycle(); + } + public static final class MediaCodec.MetricsConstants { field public static final String CODEC = "android.media.mediacodec.codec"; field public static final String ENCODER = "android.media.mediacodec.encoder"; @@ -24561,6 +25317,29 @@ package android.media { method public void onFrameRendered(@NonNull android.media.MediaCodec, long, long); } + public static final class MediaCodec.OutputFrame { + method @NonNull public java.util.Set<java.lang.String> getChangedKeys(); + method public int getFlags(); + method @NonNull public android.media.MediaFormat getFormat(); + method @Nullable public android.hardware.HardwareBuffer getHardwareBuffer(); + method @Nullable public android.media.MediaCodec.LinearBlock getLinearBlock(); + method public long getPresentationTimeUs(); + } + + public final class MediaCodec.QueueRequest { + method public void queue(); + method @NonNull public android.media.MediaCodec.QueueRequest setByteBufferParameter(@NonNull String, @NonNull java.nio.ByteBuffer); + method @NonNull public android.media.MediaCodec.QueueRequest setEncryptedLinearBlock(@NonNull android.media.MediaCodec.LinearBlock, int, int, @NonNull android.media.MediaCodec.CryptoInfo); + method @NonNull public android.media.MediaCodec.QueueRequest setFlags(int); + method @NonNull public android.media.MediaCodec.QueueRequest setFloatParameter(@NonNull String, float); + method @NonNull public android.media.MediaCodec.QueueRequest setHardwareBuffer(@NonNull android.hardware.HardwareBuffer); + method @NonNull public android.media.MediaCodec.QueueRequest setIntegerParameter(@NonNull String, int); + method @NonNull public android.media.MediaCodec.QueueRequest setLinearBlock(@NonNull android.media.MediaCodec.LinearBlock, int, int); + method @NonNull public android.media.MediaCodec.QueueRequest setLongParameter(@NonNull String, long); + method @NonNull public android.media.MediaCodec.QueueRequest setPresentationTimeUs(long); + method @NonNull public android.media.MediaCodec.QueueRequest setStringParameter(@NonNull String, @NonNull String); + } + public final class MediaCodecInfo { method @NonNull public String getCanonicalName(); method public android.media.MediaCodecInfo.CodecCapabilities getCapabilitiesForType(String); @@ -24649,6 +25428,7 @@ package android.media { field public static final String FEATURE_DynamicTimestamp = "dynamic-timestamp"; field public static final String FEATURE_FrameParsing = "frame-parsing"; field public static final String FEATURE_IntraRefresh = "intra-refresh"; + field public static final String FEATURE_LowLatency = "low-latency"; field public static final String FEATURE_MultipleFrames = "multiple-frames"; field public static final String FEATURE_PartialFrame = "partial-frame"; field public static final String FEATURE_SecurePlayback = "secure-playback"; @@ -24737,6 +25517,7 @@ package android.media { field public static final int DolbyVisionLevelUhd30 = 64; // 0x40 field public static final int DolbyVisionLevelUhd48 = 128; // 0x80 field public static final int DolbyVisionLevelUhd60 = 256; // 0x100 + field public static final int DolbyVisionProfileDvav110 = 1024; // 0x400 field public static final int DolbyVisionProfileDvavPen = 2; // 0x2 field public static final int DolbyVisionProfileDvavPer = 1; // 0x1 field public static final int DolbyVisionProfileDvavSe = 512; // 0x200 @@ -25055,6 +25836,7 @@ package android.media { method @NonNull public java.util.List<byte[]> getSecureStopIds(); method @NonNull public java.util.List<byte[]> getSecureStops(); method @android.media.MediaDrm.SecurityLevel public int getSecurityLevel(@NonNull byte[]); + method @NonNull public static java.util.List<java.util.UUID> getSupportedCryptoSchemes(); method public static boolean isCryptoSchemeSupported(@NonNull java.util.UUID); method public static boolean isCryptoSchemeSupported(@NonNull java.util.UUID, @NonNull String); method public static boolean isCryptoSchemeSupported(@NonNull java.util.UUID, @NonNull String, @android.media.MediaDrm.SecurityLevel int); @@ -25320,10 +26102,12 @@ package android.media { field public static final int COLOR_TRANSFER_LINEAR = 1; // 0x1 field public static final int COLOR_TRANSFER_SDR_VIDEO = 3; // 0x3 field public static final int COLOR_TRANSFER_ST2084 = 6; // 0x6 + field public static final String KEY_AAC_DRC_ALBUM_MODE = "aac-drc-album-mode"; field public static final String KEY_AAC_DRC_ATTENUATION_FACTOR = "aac-drc-cut-level"; field public static final String KEY_AAC_DRC_BOOST_FACTOR = "aac-drc-boost-level"; field public static final String KEY_AAC_DRC_EFFECT_TYPE = "aac-drc-effect-type"; field public static final String KEY_AAC_DRC_HEAVY_COMPRESSION = "aac-drc-heavy-compression"; + field public static final String KEY_AAC_DRC_OUTPUT_LOUDNESS = "aac-drc-output-loudness"; field public static final String KEY_AAC_DRC_TARGET_REFERENCE_LEVEL = "aac-target-ref-level"; field public static final String KEY_AAC_ENCODED_TARGET_LEVEL = "aac-encoded-target-level"; field public static final String KEY_AAC_MAX_OUTPUT_CHANNEL_COUNT = "aac-max-output-channel_count"; @@ -25332,9 +26116,11 @@ package android.media { field public static final String KEY_AUDIO_SESSION_ID = "audio-session-id"; field public static final String KEY_BITRATE_MODE = "bitrate-mode"; field public static final String KEY_BIT_RATE = "bitrate"; + field public static final String KEY_CAPTION_SERVICE_NUMBER = "caption-service-number"; field public static final String KEY_CAPTURE_RATE = "capture-rate"; field public static final String KEY_CHANNEL_COUNT = "channel-count"; field public static final String KEY_CHANNEL_MASK = "channel-mask"; + field public static final String KEY_CODECS_STRING = "codecs-string"; field public static final String KEY_COLOR_FORMAT = "color-format"; field public static final String KEY_COLOR_RANGE = "color-range"; field public static final String KEY_COLOR_STANDARD = "color-standard"; @@ -25342,11 +26128,14 @@ package android.media { field public static final String KEY_COMPLEXITY = "complexity"; field public static final String KEY_CREATE_INPUT_SURFACE_SUSPENDED = "create-input-buffers-suspended"; field public static final String KEY_DURATION = "durationUs"; + field public static final String KEY_ENCODER_DELAY = "encoder-delay"; + field public static final String KEY_ENCODER_PADDING = "encoder-padding"; field public static final String KEY_FLAC_COMPRESSION_LEVEL = "flac-compression-level"; field public static final String KEY_FRAME_RATE = "frame-rate"; field public static final String KEY_GRID_COLUMNS = "grid-cols"; field public static final String KEY_GRID_ROWS = "grid-rows"; field public static final String KEY_HAPTIC_CHANNEL_COUNT = "haptic-channel-count"; + field public static final String KEY_HARDWARE_AV_SYNC_ID = "hw-av-sync-id"; field public static final String KEY_HDR10_PLUS_INFO = "hdr10-plus-info"; field public static final String KEY_HDR_STATIC_INFO = "hdr-static-info"; field public static final String KEY_HEIGHT = "height"; @@ -25359,6 +26148,7 @@ package android.media { field public static final String KEY_LANGUAGE = "language"; field public static final String KEY_LATENCY = "latency"; field public static final String KEY_LEVEL = "level"; + field public static final String KEY_LOW_LATENCY = "low-latency"; field public static final String KEY_MAX_B_FRAMES = "max-bframes"; field public static final String KEY_MAX_FPS_TO_ENCODER = "max-fps-to-encoder"; field public static final String KEY_MAX_HEIGHT = "max-height"; @@ -25369,6 +26159,8 @@ package android.media { field public static final String KEY_OPERATING_RATE = "operating-rate"; field public static final String KEY_OUTPUT_REORDER_DEPTH = "output-reorder-depth"; field public static final String KEY_PCM_ENCODING = "pcm-encoding"; + field public static final String KEY_PIXEL_ASPECT_RATIO_HEIGHT = "sar-height"; + field public static final String KEY_PIXEL_ASPECT_RATIO_WIDTH = "sar-width"; field public static final String KEY_PREPEND_HEADER_TO_SYNC_FRAMES = "prepend-sps-pps-to-idr-frames"; field public static final String KEY_PRIORITY = "priority"; field public static final String KEY_PROFILE = "profile"; @@ -25502,20 +26294,22 @@ package android.media { public class MediaMetadataRetriever implements java.lang.AutoCloseable { ctor public MediaMetadataRetriever(); method public void close(); - method public String extractMetadata(int); - method public byte[] getEmbeddedPicture(); - method public android.graphics.Bitmap getFrameAtIndex(int, @NonNull android.media.MediaMetadataRetriever.BitmapParams); - method public android.graphics.Bitmap getFrameAtIndex(int); - method public android.graphics.Bitmap getFrameAtTime(long, int); - method public android.graphics.Bitmap getFrameAtTime(long); - method public android.graphics.Bitmap getFrameAtTime(); + method @Nullable public String extractMetadata(int); + method @Nullable public byte[] getEmbeddedPicture(); + method @Nullable public android.graphics.Bitmap getFrameAtIndex(int, @NonNull android.media.MediaMetadataRetriever.BitmapParams); + method @Nullable public android.graphics.Bitmap getFrameAtIndex(int); + method @Nullable public android.graphics.Bitmap getFrameAtTime(long, int); + method @Nullable public android.graphics.Bitmap getFrameAtTime(long, int, @NonNull android.media.MediaMetadataRetriever.BitmapParams); + method @Nullable public android.graphics.Bitmap getFrameAtTime(long); + method @Nullable public android.graphics.Bitmap getFrameAtTime(); method @NonNull public java.util.List<android.graphics.Bitmap> getFramesAtIndex(int, int, @NonNull android.media.MediaMetadataRetriever.BitmapParams); method @NonNull public java.util.List<android.graphics.Bitmap> getFramesAtIndex(int, int); - method public android.graphics.Bitmap getImageAtIndex(int, @NonNull android.media.MediaMetadataRetriever.BitmapParams); - method public android.graphics.Bitmap getImageAtIndex(int); - method public android.graphics.Bitmap getPrimaryImage(@NonNull android.media.MediaMetadataRetriever.BitmapParams); - method public android.graphics.Bitmap getPrimaryImage(); - method public android.graphics.Bitmap getScaledFrameAtTime(long, int, int, int); + method @Nullable public android.graphics.Bitmap getImageAtIndex(int, @NonNull android.media.MediaMetadataRetriever.BitmapParams); + method @Nullable public android.graphics.Bitmap getImageAtIndex(int); + method @Nullable public android.graphics.Bitmap getPrimaryImage(@NonNull android.media.MediaMetadataRetriever.BitmapParams); + method @Nullable public android.graphics.Bitmap getPrimaryImage(); + method @Nullable public android.graphics.Bitmap getScaledFrameAtTime(long, int, @IntRange(from=1) int, @IntRange(from=1) int); + method @Nullable public android.graphics.Bitmap getScaledFrameAtTime(long, int, @IntRange(from=1) int, @IntRange(from=1) int, @NonNull android.media.MediaMetadataRetriever.BitmapParams); method public void release(); method public void setDataSource(String) throws java.lang.IllegalArgumentException; method public void setDataSource(String, java.util.Map<java.lang.String,java.lang.String>) throws java.lang.IllegalArgumentException; @@ -25530,6 +26324,9 @@ package android.media { field public static final int METADATA_KEY_BITRATE = 20; // 0x14 field public static final int METADATA_KEY_CAPTURE_FRAMERATE = 25; // 0x19 field public static final int METADATA_KEY_CD_TRACK_NUMBER = 0; // 0x0 + field public static final int METADATA_KEY_COLOR_RANGE = 37; // 0x25 + field public static final int METADATA_KEY_COLOR_STANDARD = 35; // 0x23 + field public static final int METADATA_KEY_COLOR_TRANSFER = 36; // 0x24 field public static final int METADATA_KEY_COMPILATION = 15; // 0xf field public static final int METADATA_KEY_COMPOSER = 4; // 0x4 field public static final int METADATA_KEY_DATE = 5; // 0x5 @@ -25589,6 +26386,97 @@ package android.media { field public static final int MUXER_OUTPUT_WEBM = 1; // 0x1 } + public final class MediaParser { + method public boolean advance(@NonNull android.media.MediaParser.SeekableInputReader) throws java.io.IOException; + method @NonNull public static android.media.MediaParser create(@NonNull android.media.MediaParser.OutputConsumer, @NonNull java.lang.String...); + method @NonNull public static android.media.MediaParser createByName(@NonNull String, @NonNull android.media.MediaParser.OutputConsumer); + method @NonNull public String getParserName(); + method @NonNull public static java.util.List<java.lang.String> getParserNames(@NonNull android.media.MediaFormat); + method public void release(); + method public void seek(@NonNull android.media.MediaParser.SeekPoint); + method @NonNull public android.media.MediaParser setParameter(@NonNull String, @NonNull Object); + method public boolean supportsParameter(@NonNull String); + field public static final String PARAMETER_ADTS_ENABLE_CBR_SEEKING = "android.media.mediaparser.adts.enableCbrSeeking"; + field public static final String PARAMETER_AMR_ENABLE_CBR_SEEKING = "android.media.mediaparser.amr.enableCbrSeeking"; + field public static final String PARAMETER_FLAC_DISABLE_ID3 = "android.media.mediaparser.flac.disableId3"; + field public static final String PARAMETER_MATROSKA_DISABLE_CUES_SEEKING = "android.media.mediaparser.matroska.disableCuesSeeking"; + field public static final String PARAMETER_MP3_DISABLE_ID3 = "android.media.mediaparser.mp3.disableId3"; + field public static final String PARAMETER_MP3_ENABLE_CBR_SEEKING = "android.media.mediaparser.mp3.enableCbrSeeking"; + field public static final String PARAMETER_MP3_ENABLE_INDEX_SEEKING = "android.media.mediaparser.mp3.enableIndexSeeking"; + field public static final String PARAMETER_MP4_IGNORE_EDIT_LISTS = "android.media.mediaparser.mp4.ignoreEditLists"; + field public static final String PARAMETER_MP4_IGNORE_TFDT_BOX = "android.media.mediaparser.mp4.ignoreTfdtBox"; + field public static final String PARAMETER_MP4_TREAT_VIDEO_FRAMES_AS_KEYFRAMES = "android.media.mediaparser.mp4.treatVideoFramesAsKeyframes"; + field public static final String PARAMETER_TS_ALLOW_NON_IDR_AVC_KEYFRAMES = "android.media.mediaparser.ts.allowNonIdrAvcKeyframes"; + field public static final String PARAMETER_TS_DETECT_ACCESS_UNITS = "android.media.mediaparser.ts.ignoreDetectAccessUnits"; + field public static final String PARAMETER_TS_ENABLE_HDMV_DTS_AUDIO_STREAMS = "android.media.mediaparser.ts.enableHdmvDtsAudioStreams"; + field public static final String PARAMETER_TS_IGNORE_AAC_STREAM = "android.media.mediaparser.ts.ignoreAacStream"; + field public static final String PARAMETER_TS_IGNORE_AVC_STREAM = "android.media.mediaparser.ts.ignoreAvcStream"; + field public static final String PARAMETER_TS_IGNORE_SPLICE_INFO_STREAM = "android.media.mediaparser.ts.ignoreSpliceInfoStream"; + field public static final String PARAMETER_TS_MODE = "android.media.mediaparser.ts.mode"; + field public static final String PARSER_NAME_AC3 = "android.media.mediaparser.Ac3Parser"; + field public static final String PARSER_NAME_AC4 = "android.media.mediaparser.Ac4Parser"; + field public static final String PARSER_NAME_ADTS = "android.media.mediaparser.AdtsParser"; + field public static final String PARSER_NAME_AMR = "android.media.mediaparser.AmrParser"; + field public static final String PARSER_NAME_FLAC = "android.media.mediaparser.FlacParser"; + field public static final String PARSER_NAME_FLV = "android.media.mediaparser.FlvParser"; + field public static final String PARSER_NAME_FMP4 = "android.media.mediaparser.FragmentedMp4Parser"; + field public static final String PARSER_NAME_MATROSKA = "android.media.mediaparser.MatroskaParser"; + field public static final String PARSER_NAME_MP3 = "android.media.mediaparser.Mp3Parser"; + field public static final String PARSER_NAME_MP4 = "android.media.mediaparser.Mp4Parser"; + field public static final String PARSER_NAME_OGG = "android.media.mediaparser.OggParser"; + field public static final String PARSER_NAME_PS = "android.media.mediaparser.PsParser"; + field public static final String PARSER_NAME_TS = "android.media.mediaparser.TsParser"; + field public static final String PARSER_NAME_UNKNOWN = "android.media.mediaparser.UNKNOWN"; + field public static final String PARSER_NAME_WAV = "android.media.mediaparser.WavParser"; + field public static final int SAMPLE_FLAG_DECODE_ONLY = -2147483648; // 0x80000000 + field public static final int SAMPLE_FLAG_ENCRYPTED = 1073741824; // 0x40000000 + field public static final int SAMPLE_FLAG_HAS_SUPPLEMENTAL_DATA = 268435456; // 0x10000000 + field public static final int SAMPLE_FLAG_KEY_FRAME = 1; // 0x1 + field public static final int SAMPLE_FLAG_LAST_SAMPLE = 536870912; // 0x20000000 + } + + public static interface MediaParser.InputReader { + method public long getLength(); + method public long getPosition(); + method public int read(@NonNull byte[], int, int) throws java.io.IOException; + } + + public static interface MediaParser.OutputConsumer { + method public void onSampleCompleted(int, long, int, int, int, @Nullable android.media.MediaCodec.CryptoInfo); + method public void onSampleDataFound(int, @NonNull android.media.MediaParser.InputReader) throws java.io.IOException; + method public void onSeekMapFound(@NonNull android.media.MediaParser.SeekMap); + method public void onTrackCountFound(int); + method public void onTrackDataFound(int, @NonNull android.media.MediaParser.TrackData); + } + + public static final class MediaParser.ParsingException extends java.io.IOException { + } + + public static final class MediaParser.SeekMap { + method public long getDurationMicros(); + method @NonNull public android.util.Pair<android.media.MediaParser.SeekPoint,android.media.MediaParser.SeekPoint> getSeekPoints(long); + method public boolean isSeekable(); + field public static final int UNKNOWN_DURATION = -2147483648; // 0x80000000 + } + + public static final class MediaParser.SeekPoint { + field @NonNull public static final android.media.MediaParser.SeekPoint START; + field public final long position; + field public final long timeMicros; + } + + public static interface MediaParser.SeekableInputReader extends android.media.MediaParser.InputReader { + method public void seekToPosition(long); + } + + public static final class MediaParser.TrackData { + field @Nullable public final android.media.DrmInitData drmInitData; + field @NonNull public final android.media.MediaFormat mediaFormat; + } + + public static final class MediaParser.UnrecognizedInputFormatException extends java.io.IOException { + } + public class MediaPlayer implements android.media.AudioRouting android.media.VolumeAutomation { ctor public MediaPlayer(); method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler); @@ -25829,6 +26717,7 @@ package android.media { method public android.media.AudioDeviceInfo getPreferredDevice(); method public android.media.AudioDeviceInfo getRoutedDevice(); method public android.view.Surface getSurface(); + method public boolean isPrivacySensitive(); method public void pause() throws java.lang.IllegalStateException; method public void prepare() throws java.io.IOException, java.lang.IllegalStateException; method public void registerAudioRecordingCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioRecordingCallback); @@ -25860,6 +26749,7 @@ package android.media { method public boolean setPreferredMicrophoneDirection(int); method public boolean setPreferredMicrophoneFieldDimension(@FloatRange(from=-1.0, to=1.0) float); method public void setPreviewDisplay(android.view.Surface); + method public void setPrivacySensitive(boolean); method public void setProfile(android.media.CamcorderProfile); method public void setVideoEncoder(int) throws java.lang.IllegalStateException; method public void setVideoEncodingBitRate(int); @@ -25959,6 +26849,78 @@ package android.media { field public static final int SURFACE = 2; // 0x2 } + public final class MediaRoute2Info implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public String getClientPackageName(); + method public int getConnectionState(); + method @Nullable public CharSequence getDescription(); + method @Nullable public android.os.Bundle getExtras(); + method @NonNull public java.util.List<java.lang.String> getFeatures(); + method @Nullable public android.net.Uri getIconUri(); + method @NonNull public String getId(); + method @NonNull public CharSequence getName(); + method public int getVolume(); + method public int getVolumeHandling(); + method public int getVolumeMax(); + method public boolean isSystemRoute(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field public static final int CONNECTION_STATE_CONNECTED = 2; // 0x2 + field public static final int CONNECTION_STATE_CONNECTING = 1; // 0x1 + field public static final int CONNECTION_STATE_DISCONNECTED = 0; // 0x0 + field @NonNull public static final android.os.Parcelable.Creator<android.media.MediaRoute2Info> CREATOR; + field public static final String FEATURE_LIVE_AUDIO = "android.media.route.feature.LIVE_AUDIO"; + field public static final String FEATURE_LIVE_VIDEO = "android.media.route.feature.LIVE_VIDEO"; + field public static final String FEATURE_REMOTE_AUDIO_PLAYBACK = "android.media.route.feature.REMOTE_AUDIO_PLAYBACK"; + field public static final String FEATURE_REMOTE_PLAYBACK = "android.media.route.feature.REMOTE_PLAYBACK"; + field public static final String FEATURE_REMOTE_VIDEO_PLAYBACK = "android.media.route.feature.REMOTE_VIDEO_PLAYBACK"; + field public static final int PLAYBACK_VOLUME_FIXED = 0; // 0x0 + field public static final int PLAYBACK_VOLUME_VARIABLE = 1; // 0x1 + } + + public static final class MediaRoute2Info.Builder { + ctor public MediaRoute2Info.Builder(@NonNull String, @NonNull CharSequence); + ctor public MediaRoute2Info.Builder(@NonNull android.media.MediaRoute2Info); + method @NonNull public android.media.MediaRoute2Info.Builder addFeature(@NonNull String); + method @NonNull public android.media.MediaRoute2Info.Builder addFeatures(@NonNull java.util.Collection<java.lang.String>); + method @NonNull public android.media.MediaRoute2Info build(); + method @NonNull public android.media.MediaRoute2Info.Builder clearFeatures(); + method @NonNull public android.media.MediaRoute2Info.Builder setClientPackageName(@Nullable String); + method @NonNull public android.media.MediaRoute2Info.Builder setConnectionState(int); + method @NonNull public android.media.MediaRoute2Info.Builder setDescription(@Nullable CharSequence); + method @NonNull public android.media.MediaRoute2Info.Builder setExtras(@Nullable android.os.Bundle); + method @NonNull public android.media.MediaRoute2Info.Builder setIconUri(@Nullable android.net.Uri); + method @NonNull public android.media.MediaRoute2Info.Builder setVolume(int); + method @NonNull public android.media.MediaRoute2Info.Builder setVolumeHandling(int); + method @NonNull public android.media.MediaRoute2Info.Builder setVolumeMax(int); + } + + public abstract class MediaRoute2ProviderService extends android.app.Service { + ctor public MediaRoute2ProviderService(); + method @NonNull public final java.util.List<android.media.RoutingSessionInfo> getAllSessionInfo(); + method @Nullable public final android.media.RoutingSessionInfo getSessionInfo(@NonNull String); + method public final void notifyRequestFailed(long, int); + method public final void notifyRoutes(@NonNull java.util.Collection<android.media.MediaRoute2Info>); + method public final void notifySessionCreated(long, @NonNull android.media.RoutingSessionInfo); + method public final void notifySessionReleased(@NonNull String); + method public final void notifySessionUpdated(@NonNull android.media.RoutingSessionInfo); + method @CallSuper @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent); + method public abstract void onCreateSession(long, @NonNull String, @NonNull String, @Nullable android.os.Bundle); + method public abstract void onDeselectRoute(long, @NonNull String, @NonNull String); + method public void onDiscoveryPreferenceChanged(@NonNull android.media.RouteDiscoveryPreference); + method public abstract void onReleaseSession(long, @NonNull String); + method public abstract void onSelectRoute(long, @NonNull String, @NonNull String); + method public abstract void onSetRouteVolume(long, @NonNull String, int); + method public abstract void onSetSessionVolume(long, @NonNull String, int); + method public abstract void onTransferToRoute(long, @NonNull String, @NonNull String); + field public static final int REASON_INVALID_COMMAND = 4; // 0x4 + field public static final int REASON_NETWORK_ERROR = 2; // 0x2 + field public static final int REASON_REJECTED = 1; // 0x1 + field public static final int REASON_ROUTE_NOT_AVAILABLE = 3; // 0x3 + field public static final int REASON_UNKNOWN_ERROR = 0; // 0x0 + field public static final long REQUEST_ID_NONE = 0L; // 0x0L + field public static final String SERVICE_INTERFACE = "android.media.MediaRoute2ProviderService"; + } + public class MediaRouter { method public void addCallback(int, android.media.MediaRouter.Callback); method public void addCallback(int, android.media.MediaRouter.Callback, int); @@ -26082,6 +27044,61 @@ package android.media { method public abstract void onVolumeUpdateRequest(android.media.MediaRouter.RouteInfo, int); } + public final class MediaRouter2 { + method @NonNull public java.util.List<android.media.MediaRouter2.RoutingController> getControllers(); + method @NonNull public static android.media.MediaRouter2 getInstance(@NonNull android.content.Context); + method @NonNull public java.util.List<android.media.MediaRoute2Info> getRoutes(); + method @NonNull public android.media.MediaRouter2.RoutingController getSystemController(); + method public void registerControllerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.ControllerCallback); + method public void registerRouteCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.RouteCallback, @NonNull android.media.RouteDiscoveryPreference); + method public void registerTransferCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.TransferCallback); + method public void setOnGetControllerHintsListener(@Nullable android.media.MediaRouter2.OnGetControllerHintsListener); + method public void stop(); + method public void transferTo(@NonNull android.media.MediaRoute2Info); + method public void unregisterControllerCallback(@NonNull android.media.MediaRouter2.ControllerCallback); + method public void unregisterRouteCallback(@NonNull android.media.MediaRouter2.RouteCallback); + method public void unregisterTransferCallback(@NonNull android.media.MediaRouter2.TransferCallback); + } + + public abstract static class MediaRouter2.ControllerCallback { + ctor public MediaRouter2.ControllerCallback(); + method public void onControllerUpdated(@NonNull android.media.MediaRouter2.RoutingController); + } + + public static interface MediaRouter2.OnGetControllerHintsListener { + method @Nullable public android.os.Bundle onGetControllerHints(@NonNull android.media.MediaRoute2Info); + } + + public abstract static class MediaRouter2.RouteCallback { + ctor public MediaRouter2.RouteCallback(); + method public void onRoutesAdded(@NonNull java.util.List<android.media.MediaRoute2Info>); + method public void onRoutesChanged(@NonNull java.util.List<android.media.MediaRoute2Info>); + method public void onRoutesRemoved(@NonNull java.util.List<android.media.MediaRoute2Info>); + } + + public class MediaRouter2.RoutingController { + method public void deselectRoute(@NonNull android.media.MediaRoute2Info); + method @Nullable public android.os.Bundle getControlHints(); + method @NonNull public java.util.List<android.media.MediaRoute2Info> getDeselectableRoutes(); + method @NonNull public String getId(); + method @NonNull public java.util.List<android.media.MediaRoute2Info> getSelectableRoutes(); + method @NonNull public java.util.List<android.media.MediaRoute2Info> getSelectedRoutes(); + method public int getVolume(); + method public int getVolumeHandling(); + method public int getVolumeMax(); + method public boolean isReleased(); + method public void release(); + method public void selectRoute(@NonNull android.media.MediaRoute2Info); + method public void setVolume(int); + } + + public abstract static class MediaRouter2.TransferCallback { + ctor public MediaRouter2.TransferCallback(); + method public void onStop(@NonNull android.media.MediaRouter2.RoutingController); + method public void onTransfer(@NonNull android.media.MediaRouter2.RoutingController, @NonNull android.media.MediaRouter2.RoutingController); + method public void onTransferFailure(@NonNull android.media.MediaRoute2Info); + } + public class MediaScannerConnection implements android.content.ServiceConnection { ctor public MediaScannerConnection(android.content.Context, android.media.MediaScannerConnection.MediaScannerConnectionClient); method public void connect(); @@ -26440,6 +27457,62 @@ package android.media { field public static final int URI_COLUMN_INDEX = 2; // 0x2 } + public final class RouteDiscoveryPreference implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<java.lang.String> getPreferredFeatures(); + method public boolean shouldPerformActiveScan(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.media.RouteDiscoveryPreference> CREATOR; + } + + public static final class RouteDiscoveryPreference.Builder { + ctor public RouteDiscoveryPreference.Builder(@NonNull java.util.List<java.lang.String>, boolean); + ctor public RouteDiscoveryPreference.Builder(@NonNull android.media.RouteDiscoveryPreference); + method @NonNull public android.media.RouteDiscoveryPreference build(); + method @NonNull public android.media.RouteDiscoveryPreference.Builder setPreferredFeatures(@NonNull java.util.List<java.lang.String>); + method @NonNull public android.media.RouteDiscoveryPreference.Builder setShouldPerformActiveScan(boolean); + } + + public final class RoutingSessionInfo implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public String getClientPackageName(); + method @Nullable public android.os.Bundle getControlHints(); + method @NonNull public java.util.List<java.lang.String> getDeselectableRoutes(); + method @NonNull public String getId(); + method @Nullable public CharSequence getName(); + method @NonNull public java.util.List<java.lang.String> getSelectableRoutes(); + method @NonNull public java.util.List<java.lang.String> getSelectedRoutes(); + method @NonNull public java.util.List<java.lang.String> getTransferableRoutes(); + method public int getVolume(); + method public int getVolumeHandling(); + method public int getVolumeMax(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.media.RoutingSessionInfo> CREATOR; + } + + public static final class RoutingSessionInfo.Builder { + ctor public RoutingSessionInfo.Builder(@NonNull String, @NonNull String); + ctor public RoutingSessionInfo.Builder(@NonNull android.media.RoutingSessionInfo); + method @NonNull public android.media.RoutingSessionInfo.Builder addDeselectableRoute(@NonNull String); + method @NonNull public android.media.RoutingSessionInfo.Builder addSelectableRoute(@NonNull String); + method @NonNull public android.media.RoutingSessionInfo.Builder addSelectedRoute(@NonNull String); + method @NonNull public android.media.RoutingSessionInfo.Builder addTransferableRoute(@NonNull String); + method @NonNull public android.media.RoutingSessionInfo build(); + method @NonNull public android.media.RoutingSessionInfo.Builder clearDeselectableRoutes(); + method @NonNull public android.media.RoutingSessionInfo.Builder clearSelectableRoutes(); + method @NonNull public android.media.RoutingSessionInfo.Builder clearSelectedRoutes(); + method @NonNull public android.media.RoutingSessionInfo.Builder clearTransferableRoutes(); + method @NonNull public android.media.RoutingSessionInfo.Builder removeDeselectableRoute(@NonNull String); + method @NonNull public android.media.RoutingSessionInfo.Builder removeSelectableRoute(@NonNull String); + method @NonNull public android.media.RoutingSessionInfo.Builder removeSelectedRoute(@NonNull String); + method @NonNull public android.media.RoutingSessionInfo.Builder removeTransferableRoute(@NonNull String); + method @NonNull public android.media.RoutingSessionInfo.Builder setControlHints(@Nullable android.os.Bundle); + method @NonNull public android.media.RoutingSessionInfo.Builder setName(@Nullable CharSequence); + method @NonNull public android.media.RoutingSessionInfo.Builder setVolume(int); + method @NonNull public android.media.RoutingSessionInfo.Builder setVolumeHandling(int); + method @NonNull public android.media.RoutingSessionInfo.Builder setVolumeMax(int); + } + public final class Session2Command implements android.os.Parcelable { ctor public Session2Command(int); ctor public Session2Command(@NonNull String, @Nullable android.os.Bundle); @@ -26698,9 +27771,11 @@ package android.media { public abstract class VolumeProvider { ctor public VolumeProvider(int, int, int); + ctor public VolumeProvider(int, int, int, @Nullable String); method public final int getCurrentVolume(); method public final int getMaxVolume(); method public final int getVolumeControl(); + method @Nullable public final String getVolumeControlId(); method public void onAdjustVolume(int); method public void onSetVolumeTo(int); method public final void setCurrentVolume(int); @@ -26787,6 +27862,8 @@ package android.media.audiofx { field public static final int CONTENT_TYPE_VOICE = 3; // 0x3 field public static final String EFFECT_AUXILIARY = "Auxiliary"; field public static final String EFFECT_INSERT = "Insert"; + field public static final String EFFECT_POST_PROCESSING = "Post Processing"; + field public static final String EFFECT_PRE_PROCESSING = "Pre Processing"; field public static final java.util.UUID EFFECT_TYPE_AEC; field public static final java.util.UUID EFFECT_TYPE_AGC; field public static final java.util.UUID EFFECT_TYPE_BASS_BOOST; @@ -27532,6 +28609,7 @@ package android.media.session { method @Nullable public android.app.PendingIntent getSessionActivity(); method @NonNull public android.os.Bundle getSessionInfo(); method @NonNull public android.media.session.MediaSession.Token getSessionToken(); + method @NonNull public String getTag(); method @NonNull public android.media.session.MediaController.TransportControls getTransportControls(); method public void registerCallback(@NonNull android.media.session.MediaController.Callback); method public void registerCallback(@NonNull android.media.session.MediaController.Callback, @Nullable android.os.Handler); @@ -27559,6 +28637,7 @@ package android.media.session { method public int getMaxVolume(); method public int getPlaybackType(); method public int getVolumeControl(); + method @Nullable public String getVolumeControlId(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.media.session.MediaController.PlaybackInfo> CREATOR; field public static final int PLAYBACK_TYPE_LOCAL = 1; // 0x1 @@ -28250,6 +29329,19 @@ package android.media.tv { field public static final int TIME_SHIFT_STATUS_UNSUPPORTED = 1; // 0x1 field public static final int VIDEO_UNAVAILABLE_REASON_AUDIO_ONLY = 4; // 0x4 field public static final int VIDEO_UNAVAILABLE_REASON_BUFFERING = 3; // 0x3 + field public static final int VIDEO_UNAVAILABLE_REASON_CAS_BLACKOUT = 16; // 0x10 + field public static final int VIDEO_UNAVAILABLE_REASON_CAS_CARD_INVALID = 15; // 0xf + field public static final int VIDEO_UNAVAILABLE_REASON_CAS_CARD_MUTE = 14; // 0xe + field public static final int VIDEO_UNAVAILABLE_REASON_CAS_INSUFFICIENT_OUTPUT_PROTECTION = 7; // 0x7 + field public static final int VIDEO_UNAVAILABLE_REASON_CAS_LICENSE_EXPIRED = 10; // 0xa + field public static final int VIDEO_UNAVAILABLE_REASON_CAS_NEED_ACTIVATION = 11; // 0xb + field public static final int VIDEO_UNAVAILABLE_REASON_CAS_NEED_PAIRING = 12; // 0xc + field public static final int VIDEO_UNAVAILABLE_REASON_CAS_NO_CARD = 13; // 0xd + field public static final int VIDEO_UNAVAILABLE_REASON_CAS_PVR_RECORDING_NOT_ALLOWED = 8; // 0x8 + field public static final int VIDEO_UNAVAILABLE_REASON_CAS_REBOOTING = 17; // 0x11 + field public static final int VIDEO_UNAVAILABLE_REASON_CAS_UNKNOWN = 18; // 0x12 + field public static final int VIDEO_UNAVAILABLE_REASON_INSUFFICIENT_RESOURCE = 6; // 0x6 + field public static final int VIDEO_UNAVAILABLE_REASON_NOT_CONNECTED = 5; // 0x5 field public static final int VIDEO_UNAVAILABLE_REASON_TUNING = 1; // 0x1 field public static final int VIDEO_UNAVAILABLE_REASON_UNKNOWN = 0; // 0x0 field public static final int VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL = 2; // 0x2 @@ -28267,8 +29359,15 @@ package android.media.tv { public abstract class TvInputService extends android.app.Service { ctor public TvInputService(); method public final android.os.IBinder onBind(android.content.Intent); - method @Nullable public android.media.tv.TvInputService.RecordingSession onCreateRecordingSession(String); - method @Nullable public abstract android.media.tv.TvInputService.Session onCreateSession(String); + method @Nullable public android.media.tv.TvInputService.RecordingSession onCreateRecordingSession(@NonNull String); + method @Nullable public android.media.tv.TvInputService.RecordingSession onCreateRecordingSession(@NonNull String, @NonNull String); + method @Nullable public abstract android.media.tv.TvInputService.Session onCreateSession(@NonNull String); + method @Nullable public android.media.tv.TvInputService.Session onCreateSession(@NonNull String, @NonNull String); + field public static final int PRIORITY_HINT_USE_CASE_TYPE_BACKGROUND = 100; // 0x64 + field public static final int PRIORITY_HINT_USE_CASE_TYPE_LIVE = 400; // 0x190 + field public static final int PRIORITY_HINT_USE_CASE_TYPE_PLAYBACK = 300; // 0x12c + field public static final int PRIORITY_HINT_USE_CASE_TYPE_RECORD = 500; // 0x1f4 + field public static final int PRIORITY_HINT_USE_CASE_TYPE_SCAN = 200; // 0xc8 field public static final String SERVICE_INTERFACE = "android.media.tv.TvInputService"; field public static final String SERVICE_META_DATA = "android.media.tv.input"; } @@ -28289,6 +29388,7 @@ package android.media.tv { method public void onAppPrivateCommand(@NonNull String, android.os.Bundle); method public abstract void onRelease(); method public abstract void onStartRecording(@Nullable android.net.Uri); + method public void onStartRecording(@Nullable android.net.Uri, @NonNull android.os.Bundle); method public abstract void onStopRecording(); method public abstract void onTune(android.net.Uri); method public void onTune(android.net.Uri, android.os.Bundle); @@ -28339,6 +29439,7 @@ package android.media.tv { method public void release(); method public void sendAppPrivateCommand(@NonNull String, android.os.Bundle); method public void startRecording(@Nullable android.net.Uri); + method public void startRecording(@Nullable android.net.Uri, @NonNull android.os.Bundle); method public void stopRecording(); method public void tune(String, android.net.Uri); method public void tune(String, android.net.Uri, android.os.Bundle); @@ -28372,7 +29473,7 @@ package android.media.tv { method public boolean isEncrypted(); method public boolean isHardOfHearing(); method public boolean isSpokenSubtitle(); - method public void writeToParcel(android.os.Parcel, int); + method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvTrackInfo> CREATOR; field public static final int TYPE_AUDIO = 0; // 0x0 field public static final int TYPE_SUBTITLE = 2; // 0x2 @@ -28381,22 +29482,22 @@ package android.media.tv { public static final class TvTrackInfo.Builder { ctor public TvTrackInfo.Builder(int, @NonNull String); - method public android.media.tv.TvTrackInfo build(); - method public android.media.tv.TvTrackInfo.Builder setAudioChannelCount(int); + method @NonNull public android.media.tv.TvTrackInfo build(); + method @NonNull public android.media.tv.TvTrackInfo.Builder setAudioChannelCount(int); method @NonNull public android.media.tv.TvTrackInfo.Builder setAudioDescription(boolean); - method public android.media.tv.TvTrackInfo.Builder setAudioSampleRate(int); - method public android.media.tv.TvTrackInfo.Builder setDescription(CharSequence); + method @NonNull public android.media.tv.TvTrackInfo.Builder setAudioSampleRate(int); + method @NonNull public android.media.tv.TvTrackInfo.Builder setDescription(@NonNull CharSequence); method @NonNull public android.media.tv.TvTrackInfo.Builder setEncoding(@Nullable String); method @NonNull public android.media.tv.TvTrackInfo.Builder setEncrypted(boolean); - method public android.media.tv.TvTrackInfo.Builder setExtra(android.os.Bundle); + method @NonNull public android.media.tv.TvTrackInfo.Builder setExtra(@NonNull android.os.Bundle); method @NonNull public android.media.tv.TvTrackInfo.Builder setHardOfHearing(boolean); - method public android.media.tv.TvTrackInfo.Builder setLanguage(String); + method @NonNull public android.media.tv.TvTrackInfo.Builder setLanguage(@NonNull String); method @NonNull public android.media.tv.TvTrackInfo.Builder setSpokenSubtitle(boolean); - method public android.media.tv.TvTrackInfo.Builder setVideoActiveFormatDescription(byte); - method public android.media.tv.TvTrackInfo.Builder setVideoFrameRate(float); - method public android.media.tv.TvTrackInfo.Builder setVideoHeight(int); - method public android.media.tv.TvTrackInfo.Builder setVideoPixelAspectRatio(float); - method public android.media.tv.TvTrackInfo.Builder setVideoWidth(int); + method @NonNull public android.media.tv.TvTrackInfo.Builder setVideoActiveFormatDescription(byte); + method @NonNull public android.media.tv.TvTrackInfo.Builder setVideoFrameRate(float); + method @NonNull public android.media.tv.TvTrackInfo.Builder setVideoHeight(int); + method @NonNull public android.media.tv.TvTrackInfo.Builder setVideoPixelAspectRatio(float); + method @NonNull public android.media.tv.TvTrackInfo.Builder setVideoWidth(int); } public class TvView extends android.view.ViewGroup { @@ -29982,10 +31083,27 @@ package android.net.ssl { package android.net.wifi { - public class ScanResult implements android.os.Parcelable { + public abstract class EasyConnectStatusCallback { + field public static final int EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION = -2; // 0xfffffffe + field public static final int EASY_CONNECT_EVENT_FAILURE_BUSY = -5; // 0xfffffffb + field public static final int EASY_CONNECT_EVENT_FAILURE_CANNOT_FIND_NETWORK = -10; // 0xfffffff6 + field public static final int EASY_CONNECT_EVENT_FAILURE_CONFIGURATION = -4; // 0xfffffffc + field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_AUTHENTICATION = -11; // 0xfffffff5 + field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_REJECTED_CONFIGURATION = -12; // 0xfffffff4 + field public static final int EASY_CONNECT_EVENT_FAILURE_GENERIC = -7; // 0xfffffff9 + field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK = -9; // 0xfffffff7 + field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_URI = -1; // 0xffffffff + field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_COMPATIBLE = -3; // 0xfffffffd + field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_SUPPORTED = -8; // 0xfffffff8 + field public static final int EASY_CONNECT_EVENT_FAILURE_TIMEOUT = -6; // 0xfffffffa + } + + public final class ScanResult implements android.os.Parcelable { ctor public ScanResult(@NonNull android.net.wifi.ScanResult); + ctor public ScanResult(); method public int describeContents(); method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getInformationElements(); + method public int getWifiStandard(); method public boolean is80211mcResponder(); method public boolean isPasspointNetwork(); method public void writeToParcel(android.os.Parcel, int); @@ -29997,6 +31115,11 @@ package android.net.wifi { field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.ScanResult> CREATOR; field public String SSID; + field public static final int WIFI_STANDARD_11AC = 5; // 0x5 + field public static final int WIFI_STANDARD_11AX = 6; // 0x6 + field public static final int WIFI_STANDARD_11N = 4; // 0x4 + field public static final int WIFI_STANDARD_LEGACY = 1; // 0x1 + field public static final int WIFI_STANDARD_UNKNOWN = 0; // 0x0 field public String capabilities; field public int centerFreq0; field public int centerFreq1; @@ -30012,6 +31135,22 @@ package android.net.wifi { ctor public ScanResult.InformationElement(@NonNull android.net.wifi.ScanResult.InformationElement); method @NonNull public java.nio.ByteBuffer getBytes(); method public int getId(); + method public int getIdExt(); + } + + public final class SoftApConfiguration implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public android.net.MacAddress getBssid(); + method @Nullable public String getPassphrase(); + method public int getSecurityType(); + method @Nullable public String getSsid(); + method public boolean isHiddenSsid(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApConfiguration> CREATOR; + field public static final int SECURITY_TYPE_OPEN = 0; // 0x0 + field public static final int SECURITY_TYPE_WPA2_PSK = 1; // 0x1 + field public static final int SECURITY_TYPE_WPA3_SAE = 3; // 0x3 + field public static final int SECURITY_TYPE_WPA3_SAE_TRANSITION = 2; // 0x2 } public enum SupplicantState implements android.os.Parcelable { @@ -30035,14 +31174,26 @@ package android.net.wifi { @Deprecated public class WifiConfiguration implements android.os.Parcelable { ctor @Deprecated public WifiConfiguration(); + ctor @Deprecated public WifiConfiguration(@NonNull android.net.wifi.WifiConfiguration); method public int describeContents(); method @Deprecated public android.net.ProxyInfo getHttpProxy(); + method @Deprecated @NonNull public String getKey(); method @Deprecated @NonNull public android.net.MacAddress getRandomizedMacAddress(); method @Deprecated public boolean isPasspoint(); method @Deprecated public void setHttpProxy(android.net.ProxyInfo); + method @Deprecated public void setSecurityParams(int); method public void writeToParcel(android.os.Parcel, int); field @Deprecated public String BSSID; field @Deprecated public String FQDN; + field @Deprecated public static final int SECURITY_TYPE_EAP = 3; // 0x3 + field @Deprecated public static final int SECURITY_TYPE_EAP_SUITE_B = 5; // 0x5 + field @Deprecated public static final int SECURITY_TYPE_OPEN = 0; // 0x0 + field @Deprecated public static final int SECURITY_TYPE_OWE = 6; // 0x6 + field @Deprecated public static final int SECURITY_TYPE_PSK = 2; // 0x2 + field @Deprecated public static final int SECURITY_TYPE_SAE = 4; // 0x4 + field @Deprecated public static final int SECURITY_TYPE_WAPI_CERT = 8; // 0x8 + field @Deprecated public static final int SECURITY_TYPE_WAPI_PSK = 7; // 0x7 + field @Deprecated public static final int SECURITY_TYPE_WEP = 1; // 0x1 field @Deprecated public String SSID; field @Deprecated @NonNull public java.util.BitSet allowedAuthAlgorithms; field @Deprecated @NonNull public java.util.BitSet allowedGroupCiphers; @@ -30067,6 +31218,7 @@ package android.net.wifi { @Deprecated public static class WifiConfiguration.AuthAlgorithm { field @Deprecated public static final int LEAP = 2; // 0x2 field @Deprecated public static final int OPEN = 0; // 0x0 + field @Deprecated public static final int SAE = 3; // 0x3 field @Deprecated public static final int SHARED = 1; // 0x1 field @Deprecated public static final String[] strings; field @Deprecated public static final String varName = "auth_alg"; @@ -30075,6 +31227,7 @@ package android.net.wifi { @Deprecated public static class WifiConfiguration.GroupCipher { field @Deprecated public static final int CCMP = 3; // 0x3 field @Deprecated public static final int GCMP_256 = 5; // 0x5 + field @Deprecated public static final int SMS4 = 6; // 0x6 field @Deprecated public static final int TKIP = 2; // 0x2 field @Deprecated public static final int WEP104 = 1; // 0x1 field @Deprecated public static final int WEP40 = 0; // 0x0 @@ -30104,6 +31257,7 @@ package android.net.wifi { field @Deprecated public static final int CCMP = 2; // 0x2 field @Deprecated public static final int GCMP_256 = 3; // 0x3 field @Deprecated public static final int NONE = 0; // 0x0 + field @Deprecated public static final int SMS4 = 4; // 0x4 field @Deprecated public static final int TKIP = 1; // 0x1 field @Deprecated public static final String[] strings; field @Deprecated public static final String varName = "pairwise"; @@ -30111,6 +31265,7 @@ package android.net.wifi { @Deprecated public static class WifiConfiguration.Protocol { field @Deprecated public static final int RSN = 1; // 0x1 + field @Deprecated public static final int WAPI = 3; // 0x3 field @Deprecated public static final int WPA = 0; // 0x0 field @Deprecated public static final String[] strings; field @Deprecated public static final String varName = "proto"; @@ -30133,6 +31288,7 @@ package android.net.wifi { method @Nullable public java.security.cert.X509Certificate[] getCaCertificates(); method public java.security.cert.X509Certificate getClientCertificate(); method @Nullable public java.security.cert.X509Certificate[] getClientCertificateChain(); + method @Nullable public java.security.PrivateKey getClientPrivateKey(); method public String getDomainSuffixMatch(); method public int getEapMethod(); method public String getIdentity(); @@ -30141,6 +31297,7 @@ package android.net.wifi { method public String getPlmn(); method public String getRealm(); method @Deprecated public String getSubjectMatch(); + method public boolean isAuthenticationSimBased(); method public void setAltSubjectMatch(String); method public void setAnonymousIdentity(String); method public void setCaCertificate(@Nullable java.security.cert.X509Certificate); @@ -30157,6 +31314,12 @@ package android.net.wifi { method @Deprecated public void setSubjectMatch(String); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiEnterpriseConfig> CREATOR; + field public static final String EXTRA_WAPI_AS_CERTIFICATE_DATA = "android.net.wifi.extra.WAPI_AS_CERTIFICATE_DATA"; + field public static final String EXTRA_WAPI_AS_CERTIFICATE_NAME = "android.net.wifi.extra.WAPI_AS_CERTIFICATE_NAME"; + field public static final String EXTRA_WAPI_USER_CERTIFICATE_DATA = "android.net.wifi.extra.WAPI_USER_CERTIFICATE_DATA"; + field public static final String EXTRA_WAPI_USER_CERTIFICATE_NAME = "android.net.wifi.extra.WAPI_USER_CERTIFICATE_NAME"; + field public static final String WAPI_AS_CERTIFICATE = "WAPIAS_"; + field public static final String WAPI_USER_CERTIFICATE = "WAPIUSR_"; } public static final class WifiEnterpriseConfig.Eap { @@ -30169,6 +31332,7 @@ package android.net.wifi { field public static final int TLS = 1; // 0x1 field public static final int TTLS = 2; // 0x2 field public static final int UNAUTH_TLS = 7; // 0x7 + field public static final int WAPI_CERT = 8; // 0x8 } public static final class WifiEnterpriseConfig.Phase2 { @@ -30191,6 +31355,8 @@ package android.net.wifi { method public int getIpAddress(); method public int getLinkSpeed(); method public String getMacAddress(); + method public int getMaxSupportedRxLinkSpeedMbps(); + method public int getMaxSupportedTxLinkSpeedMbps(); method public int getNetworkId(); method @Nullable public String getPasspointFqdn(); method @Nullable public String getPasspointProviderFriendlyName(); @@ -30199,17 +31365,29 @@ package android.net.wifi { method public String getSSID(); method public android.net.wifi.SupplicantState getSupplicantState(); method @IntRange(from=0xffffffff) public int getTxLinkSpeedMbps(); + method public int getWifiStandard(); method public void writeToParcel(android.os.Parcel, int); field public static final String FREQUENCY_UNITS = "MHz"; field public static final String LINK_SPEED_UNITS = "Mbps"; field public static final int LINK_SPEED_UNKNOWN = -1; // 0xffffffff } + public static final class WifiInfo.Builder { + ctor public WifiInfo.Builder(); + method @NonNull public android.net.wifi.WifiInfo build(); + method @NonNull public android.net.wifi.WifiInfo.Builder setBssid(@NonNull String); + method @NonNull public android.net.wifi.WifiInfo.Builder setNetworkId(int); + method @NonNull public android.net.wifi.WifiInfo.Builder setRssi(int); + method @NonNull public android.net.wifi.WifiInfo.Builder setSsid(@NonNull byte[]); + } + public class WifiManager { method @Deprecated public int addNetwork(android.net.wifi.WifiConfiguration); method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public int addNetworkSuggestions(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>); method public void addOrUpdatePasspointConfiguration(android.net.wifi.hotspot2.PasspointConfiguration); - method public static int calculateSignalLevel(int, int); + method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE}) public void addSuggestionConnectionStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SuggestionConnectionStatusListener); + method @Deprecated public static int calculateSignalLevel(int, int); + method @IntRange(from=0) public int calculateSignalLevel(int); method @Deprecated public void cancelWps(android.net.wifi.WifiManager.WpsCallback); method public static int compareSignalLevel(int, int); method public android.net.wifi.WifiManager.MulticastLock createMulticastLock(String); @@ -30222,10 +31400,14 @@ package android.net.wifi { method public android.net.wifi.WifiInfo getConnectionInfo(); method public android.net.DhcpInfo getDhcpInfo(); method public int getMaxNumberOfNetworkSuggestionsPerApp(); + method @IntRange(from=0) public int getMaxSignalLevel(); + method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public java.util.List<android.net.wifi.WifiNetworkSuggestion> getNetworkSuggestions(); method @Deprecated @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", "android.permission.NETWORK_SETUP_WIZARD"}) public java.util.List<android.net.wifi.hotspot2.PasspointConfiguration> getPasspointConfigurations(); method public java.util.List<android.net.wifi.ScanResult> getScanResults(); method public int getWifiState(); method public boolean is5GHzBandSupported(); + method public boolean is6GHzBandSupported(); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isAutoWakeupEnabled(); method @Deprecated public boolean isDeviceToApRttSupported(); method public boolean isEasyConnectSupported(); method public boolean isEnhancedOpenSupported(); @@ -30233,27 +31415,35 @@ package android.net.wifi { method public boolean isP2pSupported(); method public boolean isPreferredNetworkOffloadSupported(); method @Deprecated public boolean isScanAlwaysAvailable(); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isScanThrottleEnabled(); + method public boolean isStaApConcurrencySupported(); method public boolean isTdlsSupported(); + method public boolean isWapiSupported(); method public boolean isWifiEnabled(); + method public boolean isWifiStandardSupported(int); method public boolean isWpa3SaeSupported(); method public boolean isWpa3SuiteBSupported(); method @Deprecated public boolean pingSupplicant(); method @Deprecated public boolean reassociate(); method @Deprecated public boolean reconnect(); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void registerScanResultsCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.ScanResultsCallback); method @Deprecated public boolean removeNetwork(int); method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public int removeNetworkSuggestions(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>); - method @Deprecated @RequiresPermission("android.permission.NETWORK_SETTINGS") public void removePasspointConfiguration(String); + method @Deprecated @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", "android.permission.NETWORK_CARRIER_PROVISIONING"}) public void removePasspointConfiguration(String); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeSuggestionConnectionStatusListener(@NonNull android.net.wifi.WifiManager.SuggestionConnectionStatusListener); method @Deprecated public boolean saveConfiguration(); method public void setTdlsEnabled(java.net.InetAddress, boolean); method public void setTdlsEnabledWithMacAddress(String, boolean); method @Deprecated public boolean setWifiEnabled(boolean); - method public void startLocalOnlyHotspot(android.net.wifi.WifiManager.LocalOnlyHotspotCallback, @Nullable android.os.Handler); + method @RequiresPermission(allOf={android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void startLocalOnlyHotspot(android.net.wifi.WifiManager.LocalOnlyHotspotCallback, @Nullable android.os.Handler); method @Deprecated public boolean startScan(); method @Deprecated public void startWps(android.net.wifi.WpsInfo, android.net.wifi.WifiManager.WpsCallback); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void unregisterScanResultsCallback(@NonNull android.net.wifi.WifiManager.ScanResultsCallback); method @Deprecated public int updateNetwork(android.net.wifi.WifiConfiguration); field public static final String ACTION_PICK_WIFI_NETWORK = "android.net.wifi.PICK_WIFI_NETWORK"; field public static final String ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE = "android.net.wifi.action.REQUEST_SCAN_ALWAYS_AVAILABLE"; field public static final String ACTION_WIFI_NETWORK_SUGGESTION_POST_CONNECTION = "android.net.wifi.action.WIFI_NETWORK_SUGGESTION_POST_CONNECTION"; + field public static final String ACTION_WIFI_SCAN_AVAILABILITY_CHANGED = "android.net.wifi.action.WIFI_SCAN_AVAILABILITY_CHANGED"; field @Deprecated public static final int ERROR_AUTHENTICATING = 1; // 0x1 field @Deprecated public static final String EXTRA_BSSID = "bssid"; field public static final String EXTRA_NETWORK_INFO = "networkInfo"; @@ -30262,6 +31452,7 @@ package android.net.wifi { field @Deprecated public static final String EXTRA_NEW_STATE = "newState"; field public static final String EXTRA_PREVIOUS_WIFI_STATE = "previous_wifi_state"; field public static final String EXTRA_RESULTS_UPDATED = "resultsUpdated"; + field public static final String EXTRA_SCAN_AVAILABLE = "android.net.wifi.extra.SCAN_AVAILABLE"; field @Deprecated public static final String EXTRA_SUPPLICANT_CONNECTED = "connected"; field @Deprecated public static final String EXTRA_SUPPLICANT_ERROR = "supplicantError"; field @Deprecated public static final String EXTRA_WIFI_INFO = "wifiInfo"; @@ -30272,10 +31463,16 @@ package android.net.wifi { field public static final String SCAN_RESULTS_AVAILABLE_ACTION = "android.net.wifi.SCAN_RESULTS"; field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_DUPLICATE = 3; // 0x3 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_EXCEEDS_MAX_PER_APP = 4; // 0x4 + field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_INVALID = 7; // 0x7 + field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_NOT_ALLOWED = 6; // 0x6 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_APP_DISALLOWED = 2; // 0x2 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_INTERNAL = 1; // 0x1 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_REMOVE_INVALID = 5; // 0x5 field public static final int STATUS_NETWORK_SUGGESTIONS_SUCCESS = 0; // 0x0 + field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_ASSOCIATION = 1; // 0x1 + field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_AUTHENTICATION = 2; // 0x2 + field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_IP_PROVISIONING = 3; // 0x3 + field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_UNKNOWN = 0; // 0x0 field @Deprecated public static final String SUPPLICANT_CONNECTION_CHANGE_ACTION = "android.net.wifi.supplicant.CONNECTION_CHANGE"; field @Deprecated public static final String SUPPLICANT_STATE_CHANGED_ACTION = "android.net.wifi.supplicant.STATE_CHANGE"; field public static final String UNKNOWN_SSID = "<unknown ssid>"; @@ -30309,7 +31506,8 @@ package android.net.wifi { public class WifiManager.LocalOnlyHotspotReservation implements java.lang.AutoCloseable { method public void close(); - method public android.net.wifi.WifiConfiguration getWifiConfiguration(); + method @NonNull public android.net.wifi.SoftApConfiguration getSoftApConfiguration(); + method @Deprecated @Nullable public android.net.wifi.WifiConfiguration getWifiConfiguration(); } public class WifiManager.MulticastLock { @@ -30319,6 +31517,15 @@ package android.net.wifi { method public void setReferenceCounted(boolean); } + public abstract static class WifiManager.ScanResultsCallback { + ctor public WifiManager.ScanResultsCallback(); + method public abstract void onScanResultsAvailable(); + } + + public static interface WifiManager.SuggestionConnectionStatusListener { + method public void onConnectionStatus(@NonNull android.net.wifi.WifiNetworkSuggestion, int); + } + public class WifiManager.WifiLock { method public void acquire(); method public boolean isHeld(); @@ -30357,6 +31564,20 @@ package android.net.wifi { public final class WifiNetworkSuggestion implements android.os.Parcelable { method public int describeContents(); + method @Nullable public android.net.MacAddress getBssid(); + method @Nullable public android.net.wifi.WifiEnterpriseConfig getEnterpriseConfig(); + method @Nullable public String getPassphrase(); + method @Nullable public android.net.wifi.hotspot2.PasspointConfiguration getPasspointConfig(); + method @IntRange(from=0) public int getPriority(); + method @Nullable public String getSsid(); + method public boolean isAppInteractionRequired(); + method public boolean isCredentialSharedWithUser(); + method public boolean isEnhancedOpen(); + method public boolean isHiddenSsid(); + method public boolean isInitialAutojoinEnabled(); + method public boolean isMetered(); + method public boolean isUntrusted(); + method public boolean isUserInteractionRequired(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSuggestion> CREATOR; } @@ -30365,13 +31586,19 @@ package android.net.wifi { ctor public WifiNetworkSuggestion.Builder(); method @NonNull public android.net.wifi.WifiNetworkSuggestion build(); method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setBssid(@NonNull android.net.MacAddress); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setCredentialSharedWithUser(boolean); method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsAppInteractionRequired(boolean); method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsEnhancedOpen(boolean); method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsHiddenSsid(boolean); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsInitialAutojoinEnabled(boolean); method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsMetered(boolean); method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsUserInteractionRequired(boolean); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPasspointConfig(@NonNull android.net.wifi.hotspot2.PasspointConfiguration); method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriority(@IntRange(from=0) int); method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSsid(@NonNull String); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setUntrusted(boolean); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWapiEnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWapiPassphrase(@NonNull String); method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa2EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig); method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa2Passphrase(@NonNull String); method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig); @@ -30409,8 +31636,11 @@ package android.net.wifi.aware { method public int getMaxMatchFilterLength(); method public int getMaxServiceNameLength(); method public int getMaxServiceSpecificInfoLength(); + method public int getSupportedCipherSuites(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.Characteristics> CREATOR; + field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_SK_128 = 1; // 0x1 + field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_SK_256 = 2; // 0x2 } public class DiscoverySession implements java.lang.AutoCloseable { @@ -30526,6 +31756,7 @@ package android.net.wifi.aware { public static final class WifiAwareNetworkSpecifier.Builder { ctor public WifiAwareNetworkSpecifier.Builder(@NonNull android.net.wifi.aware.DiscoverySession, @NonNull android.net.wifi.aware.PeerHandle); method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier build(); + method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPmk(@NonNull byte[]); method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPort(@IntRange(from=0, to=65535) int); method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPskPassphrase(@NonNull String); method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setTransportProtocol(@IntRange(from=0, to=255) int); @@ -30553,6 +31784,9 @@ package android.net.wifi.hotspot2 { method public int describeContents(); method public android.net.wifi.hotspot2.pps.Credential getCredential(); method public android.net.wifi.hotspot2.pps.HomeSp getHomeSp(); + method public long getSubscriptionExpirationTimeMillis(); + method @NonNull public String getUniqueId(); + method public boolean isOsuProvisioned(); method public void setCredential(android.net.wifi.hotspot2.pps.Credential); method public void setHomeSp(android.net.wifi.hotspot2.pps.HomeSp); method public void writeToParcel(android.os.Parcel, int); @@ -30655,13 +31889,20 @@ package android.net.wifi.p2p { ctor public WifiP2pConfig(); ctor public WifiP2pConfig(android.net.wifi.p2p.WifiP2pConfig); method public int describeContents(); + method public int getGroupOwnerBand(); + method public int getNetworkId(); + method @Nullable public String getNetworkName(); + method @Nullable public String getPassphrase(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pConfig> CREATOR; field public static final int GROUP_OWNER_BAND_2GHZ = 1; // 0x1 field public static final int GROUP_OWNER_BAND_5GHZ = 2; // 0x2 field public static final int GROUP_OWNER_BAND_AUTO = 0; // 0x0 + field public static final int GROUP_OWNER_INTENT_AUTO = -1; // 0xffffffff + field public static final int GROUP_OWNER_INTENT_MAX = 15; // 0xf + field public static final int GROUP_OWNER_INTENT_MIN = 0; // 0x0 field public String deviceAddress; - field public int groupOwnerIntent; + field @IntRange(from=0, to=15) public int groupOwnerIntent; field public android.net.wifi.WpsInfo wps; } @@ -30680,8 +31921,10 @@ package android.net.wifi.p2p { ctor public WifiP2pDevice(); ctor public WifiP2pDevice(android.net.wifi.p2p.WifiP2pDevice); method public int describeContents(); + method @Nullable public android.net.wifi.p2p.WifiP2pWfdInfo getWfdInfo(); method public boolean isGroupOwner(); method public boolean isServiceDiscoveryCapable(); + method public void update(@NonNull android.net.wifi.p2p.WifiP2pDevice); method public boolean wpsDisplaySupported(); method public boolean wpsKeypadSupported(); method public boolean wpsPbcSupported(); @@ -30716,12 +31959,15 @@ package android.net.wifi.p2p { method public java.util.Collection<android.net.wifi.p2p.WifiP2pDevice> getClientList(); method public int getFrequency(); method public String getInterface(); + method public int getNetworkId(); method public String getNetworkName(); method public android.net.wifi.p2p.WifiP2pDevice getOwner(); method public String getPassphrase(); method public boolean isGroupOwner(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroup> CREATOR; + field public static final int NETWORK_ID_PERSISTENT = -2; // 0xfffffffe + field public static final int NETWORK_ID_TEMPORARY = -1; // 0xffffffff } public class WifiP2pInfo implements android.os.Parcelable { @@ -30840,6 +32086,30 @@ package android.net.wifi.p2p { method public void onUpnpServiceAvailable(java.util.List<java.lang.String>, android.net.wifi.p2p.WifiP2pDevice); } + public final class WifiP2pWfdInfo implements android.os.Parcelable { + ctor public WifiP2pWfdInfo(); + ctor public WifiP2pWfdInfo(@Nullable android.net.wifi.p2p.WifiP2pWfdInfo); + method public int describeContents(); + method public int getControlPort(); + method public int getDeviceType(); + method public int getMaxThroughput(); + method public boolean isContentProtectionSupported(); + method public boolean isEnabled(); + method public boolean isSessionAvailable(); + method public void setContentProtectionSupported(boolean); + method public void setControlPort(@IntRange(from=0) int); + method public boolean setDeviceType(int); + method public void setEnabled(boolean); + method public void setMaxThroughput(@IntRange(from=0) int); + method public void setSessionAvailable(boolean); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pWfdInfo> CREATOR; + field public static final int DEVICE_TYPE_PRIMARY_SINK = 1; // 0x1 + field public static final int DEVICE_TYPE_SECONDARY_SINK = 2; // 0x2 + field public static final int DEVICE_TYPE_SOURCE_OR_PRIMARY_SINK = 3; // 0x3 + field public static final int DEVICE_TYPE_WFD_SOURCE = 0; // 0x0 + } + } package android.net.wifi.p2p.nsd { @@ -30983,7 +32253,7 @@ package android.net.wifi.rtt { method public boolean isLciSubelementValid(); method public boolean isZaxisSubelementValid(); method @Nullable public android.location.Address toCivicLocationAddress(); - method @Nullable public android.util.SparseArray toCivicLocationSparseArray(); + method @Nullable public android.util.SparseArray<java.lang.String> toCivicLocationSparseArray(); method @NonNull public android.location.Location toLocation(); method public void writeToParcel(android.os.Parcel, int); field public static final int ALTITUDE_FLOORS = 2; // 0x2 @@ -34566,6 +35836,7 @@ package android.os { field public static final String INCREMENTAL; field public static final int PREVIEW_SDK_INT; field public static final String RELEASE; + field @NonNull public static final String RELEASE_OR_CODENAME; field @Deprecated public static final String SDK; field public static final int SDK_INT; field public static final String SECURITY_PATCH; @@ -34603,7 +35874,7 @@ package android.os { field public static final int O_MR1 = 27; // 0x1b field public static final int P = 28; // 0x1c field public static final int Q = 29; // 0x1d - field public static final int R = 10000; // 0x2710 + field public static final int R = 30; // 0x1e } public final class Bundle extends android.os.BaseBundle implements java.lang.Cloneable android.os.Parcelable { @@ -34870,11 +36141,14 @@ package android.os { method public static String getExternalStorageState(); method public static String getExternalStorageState(java.io.File); method @NonNull public static java.io.File getRootDirectory(); + method @NonNull public static java.io.File getStorageDirectory(); method @Deprecated public static String getStorageState(java.io.File); method public static boolean isExternalStorageEmulated(); method public static boolean isExternalStorageEmulated(@NonNull java.io.File); method public static boolean isExternalStorageLegacy(); method public static boolean isExternalStorageLegacy(@NonNull java.io.File); + method public static boolean isExternalStorageManager(); + method public static boolean isExternalStorageManager(@NonNull java.io.File); method public static boolean isExternalStorageRemovable(); method public static boolean isExternalStorageRemovable(@NonNull java.io.File); field public static String DIRECTORY_ALARMS; @@ -35018,6 +36292,7 @@ package android.os { method public void dump(@NonNull java.io.FileDescriptor, @Nullable String[]) throws android.os.RemoteException; method public void dumpAsync(@NonNull java.io.FileDescriptor, @Nullable String[]) throws android.os.RemoteException; method @Nullable public String getInterfaceDescriptor() throws android.os.RemoteException; + method public static int getSuggestedMaxIpcSizeBytes(); method public boolean isBinderAlive(); method public void linkToDeath(@NonNull android.os.IBinder.DeathRecipient, int) throws android.os.RemoteException; method public boolean pingBinder(); @@ -35042,6 +36317,11 @@ package android.os { method public android.os.IBinder asBinder(); } + public class LimitExceededException extends java.lang.IllegalStateException { + ctor public LimitExceededException(); + ctor public LimitExceededException(@NonNull String); + } + public final class LocaleList implements android.os.Parcelable { ctor public LocaleList(@NonNull java.util.Locale...); method public int describeContents(); @@ -35214,6 +36494,7 @@ package android.os { method public void readMap(@NonNull java.util.Map, @Nullable ClassLoader); method @Nullable public <T extends android.os.Parcelable> T readParcelable(@Nullable ClassLoader); method @Nullable public android.os.Parcelable[] readParcelableArray(@Nullable ClassLoader); + method @Nullable public android.os.Parcelable.Creator<?> readParcelableCreator(@Nullable ClassLoader); method @NonNull public <T extends android.os.Parcelable> java.util.List<T> readParcelableList(@NonNull java.util.List<T>, @Nullable ClassLoader); method @Nullable public android.os.PersistableBundle readPersistableBundle(); method @Nullable public android.os.PersistableBundle readPersistableBundle(@Nullable ClassLoader); @@ -35261,6 +36542,7 @@ package android.os { method public void writeNoException(); method public void writeParcelable(@Nullable android.os.Parcelable, int); method public <T extends android.os.Parcelable> void writeParcelableArray(@Nullable T[], int); + method public void writeParcelableCreator(@NonNull android.os.Parcelable); method public <T extends android.os.Parcelable> void writeParcelableList(@Nullable java.util.List<T>, int); method public void writePersistableBundle(@Nullable android.os.PersistableBundle); method public void writeSerializable(@Nullable java.io.Serializable); @@ -35306,6 +36588,7 @@ package android.os { method public static android.os.ParcelFileDescriptor open(java.io.File, int) throws java.io.FileNotFoundException; method public static android.os.ParcelFileDescriptor open(java.io.File, int, android.os.Handler, android.os.ParcelFileDescriptor.OnCloseListener) throws java.io.IOException; method public static int parseMode(String); + method @NonNull public static android.os.ParcelFileDescriptor wrap(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.Handler, @NonNull android.os.ParcelFileDescriptor.OnCloseListener) throws java.io.IOException; method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.os.ParcelFileDescriptor> CREATOR; field public static final int MODE_APPEND = 33554432; // 0x2000000 @@ -35400,6 +36683,7 @@ package android.os { method public void addThermalStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.PowerManager.OnThermalStatusChangedListener); method public int getCurrentThermalStatus(); method public int getLocationPowerSaveMode(); + method public float getThermalHeadroom(@IntRange(from=0, to=60) int); method public boolean isDeviceIdleMode(); method public boolean isIgnoringBatteryOptimizations(String); method public boolean isInteractive(); @@ -35492,6 +36776,7 @@ package android.os { field public static final int THREAD_PRIORITY_URGENT_AUDIO = -19; // 0xffffffed field public static final int THREAD_PRIORITY_URGENT_DISPLAY = -8; // 0xfffffff8 field public static final int THREAD_PRIORITY_VIDEO = -10; // 0xfffffff6 + field public static final int WIFI_UID = 1010; // 0x3f2 } public abstract class ProxyFileDescriptorCallback { @@ -35534,6 +36819,8 @@ package android.os { public class RemoteException extends android.util.AndroidException { ctor public RemoteException(); ctor public RemoteException(String); + method @NonNull public RuntimeException rethrowAsRuntimeException(); + method @NonNull public RuntimeException rethrowFromSystemServer(); } public class ResultReceiver implements android.os.Parcelable { @@ -35715,30 +37002,32 @@ package android.os { method public static android.content.Intent createUserCreationIntent(@Nullable String, @Nullable String, @Nullable String, @Nullable android.os.PersistableBundle); method @WorkerThread public android.os.Bundle getApplicationRestrictions(String); method public long getSerialNumberForUser(android.os.UserHandle); - method public int getUserCount(); + method @RequiresPermission("android.permission.MANAGE_USERS") public int getUserCount(); method public long getUserCreationTime(android.os.UserHandle); method public android.os.UserHandle getUserForSerialNumber(long); - method public String getUserName(); + method @NonNull @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}, conditional=true) public String getUserName(); method public java.util.List<android.os.UserHandle> getUserProfiles(); method public android.os.Bundle getUserRestrictions(); - method public android.os.Bundle getUserRestrictions(android.os.UserHandle); + method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.INTERACT_ACROSS_USERS"}, conditional=true) public android.os.Bundle getUserRestrictions(android.os.UserHandle); method public boolean hasUserRestriction(String); method public boolean isDemoUser(); + method public boolean isManagedProfile(); method public boolean isQuietModeEnabled(android.os.UserHandle); method public boolean isSystemUser(); method public boolean isUserAGoat(); - method public boolean isUserRunning(android.os.UserHandle); - method public boolean isUserRunningOrStopping(android.os.UserHandle); + method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.INTERACT_ACROSS_USERS"}, conditional=true) public boolean isUserRunning(android.os.UserHandle); + method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.INTERACT_ACROSS_USERS"}, conditional=true) public boolean isUserRunningOrStopping(android.os.UserHandle); method public boolean isUserUnlocked(); - method public boolean isUserUnlocked(android.os.UserHandle); - method public boolean requestQuietModeEnabled(boolean, @NonNull android.os.UserHandle); + method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.INTERACT_ACROSS_USERS"}, conditional=true) public boolean isUserUnlocked(android.os.UserHandle); + method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.MODIFY_QUIET_MODE"}, conditional=true) public boolean requestQuietModeEnabled(boolean, @NonNull android.os.UserHandle); + method public boolean requestQuietModeEnabled(boolean, @NonNull android.os.UserHandle, int); method @Deprecated public boolean setRestrictionsChallenge(String); - method @Deprecated public void setUserRestriction(String, boolean); + method @Deprecated @RequiresPermission("android.permission.MANAGE_USERS") public void setUserRestriction(String, boolean); method @Deprecated public void setUserRestrictions(android.os.Bundle); method @Deprecated public void setUserRestrictions(android.os.Bundle, android.os.UserHandle); method public static boolean supportsMultipleUsers(); field public static final String ALLOW_PARENT_PROFILE_APP_LINKING = "allow_parent_profile_app_linking"; - field public static final String DISALLOW_ADD_MANAGED_PROFILE = "no_add_managed_profile"; + field @Deprecated public static final String DISALLOW_ADD_MANAGED_PROFILE = "no_add_managed_profile"; field public static final String DISALLOW_ADD_USER = "no_add_user"; field public static final String DISALLOW_ADJUST_VOLUME = "no_adjust_volume"; field public static final String DISALLOW_AIRPLANE_MODE = "no_airplane_mode"; @@ -35777,7 +37066,7 @@ package android.os { field public static final String DISALLOW_OUTGOING_BEAM = "no_outgoing_beam"; field public static final String DISALLOW_OUTGOING_CALLS = "no_outgoing_calls"; field public static final String DISALLOW_PRINTING = "no_printing"; - field public static final String DISALLOW_REMOVE_MANAGED_PROFILE = "no_remove_managed_profile"; + field @Deprecated public static final String DISALLOW_REMOVE_MANAGED_PROFILE = "no_remove_managed_profile"; field public static final String DISALLOW_REMOVE_USER = "no_remove_user"; field public static final String DISALLOW_SAFE_BOOT = "no_safe_boot"; field public static final String DISALLOW_SET_USER_ICON = "no_set_user_icon"; @@ -35793,6 +37082,7 @@ package android.os { field public static final String DISALLOW_USER_SWITCH = "no_user_switch"; field public static final String ENSURE_VERIFY_APPS = "ensure_verify_apps"; field public static final String KEY_RESTRICTIONS_PENDING = "restrictions_pending"; + field public static final int QUIET_MODE_DISABLE_ONLY_IF_CREDENTIAL_NOT_REQUIRED = 1; // 0x1 field public static final int USER_CREATION_FAILED_NOT_PERMITTED = 1; // 0x1 field public static final int USER_CREATION_FAILED_NO_MORE_USERS = 2; // 0x2 field public static final int USER_OPERATION_ERROR_CURRENT_USER = 4; // 0x4 @@ -35808,12 +37098,44 @@ package android.os { method public int getUserOperationResult(); } + public final class VibrationAttributes implements android.os.Parcelable { + method public int describeContents(); + method public int getFlags(); + method public int getUsage(); + method public int getUsageClass(); + method public boolean isFlagSet(int); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.os.VibrationAttributes> CREATOR; + field public static final int FLAG_BYPASS_INTERRUPTION_POLICY = 1; // 0x1 + field public static final int USAGE_ALARM = 17; // 0x11 + field public static final int USAGE_CLASS_ALARM = 1; // 0x1 + field public static final int USAGE_CLASS_FEEDBACK = 2; // 0x2 + field public static final int USAGE_CLASS_MASK = 15; // 0xf + field public static final int USAGE_CLASS_UNKNOWN = 0; // 0x0 + field public static final int USAGE_COMMUNICATION_REQUEST = 65; // 0x41 + field public static final int USAGE_HARDWARE_FEEDBACK = 50; // 0x32 + field public static final int USAGE_NOTIFICATION = 49; // 0x31 + field public static final int USAGE_PHYSICAL_EMULATION = 34; // 0x22 + field public static final int USAGE_RINGTONE = 33; // 0x21 + field public static final int USAGE_TOUCH = 18; // 0x12 + field public static final int USAGE_UNKNOWN = 0; // 0x0 + } + + public static final class VibrationAttributes.Builder { + ctor public VibrationAttributes.Builder(); + ctor public VibrationAttributes.Builder(@Nullable android.os.VibrationAttributes); + method @NonNull public android.os.VibrationAttributes build(); + method @NonNull public android.os.VibrationAttributes.Builder setFlags(int, int); + method @NonNull public android.os.VibrationAttributes.Builder setUsage(int); + } + public abstract class VibrationEffect implements android.os.Parcelable { method public static android.os.VibrationEffect createOneShot(long, int); method @NonNull public static android.os.VibrationEffect createPredefined(int); method public static android.os.VibrationEffect createWaveform(long[], int); method public static android.os.VibrationEffect createWaveform(long[], int[], int); method public int describeContents(); + method @NonNull public static android.os.VibrationEffect.Composition startComposition(); field @NonNull public static final android.os.Parcelable.Creator<android.os.VibrationEffect> CREATOR; field public static final int DEFAULT_AMPLITUDE = -1; // 0xffffffff field public static final int EFFECT_CLICK = 0; // 0x0 @@ -35822,7 +37144,23 @@ package android.os { field public static final int EFFECT_TICK = 2; // 0x2 } + public static final class VibrationEffect.Composition { + method @NonNull public android.os.VibrationEffect.Composition addPrimitive(int); + method @NonNull public android.os.VibrationEffect.Composition addPrimitive(int, @FloatRange(from=0.0f, to=1.0f) float); + method @NonNull public android.os.VibrationEffect.Composition addPrimitive(int, @FloatRange(from=0.0f, to=1.0f) float, @IntRange(from=0) int); + method @NonNull public android.os.VibrationEffect compose(); + field public static final int PRIMITIVE_CLICK = 1; // 0x1 + field public static final int PRIMITIVE_QUICK_FALL = 6; // 0x6 + field public static final int PRIMITIVE_QUICK_RISE = 4; // 0x4 + field public static final int PRIMITIVE_SLOW_RISE = 5; // 0x5 + field public static final int PRIMITIVE_TICK = 7; // 0x7 + } + public abstract class Vibrator { + method public final int areAllEffectsSupported(@NonNull int...); + method public final boolean areAllPrimitivesSupported(@NonNull int...); + method @NonNull public int[] areEffectsSupported(@NonNull int...); + method @NonNull public boolean[] arePrimitivesSupported(@NonNull int...); method @RequiresPermission(android.Manifest.permission.VIBRATE) public abstract void cancel(); method public abstract boolean hasAmplitudeControl(); method public abstract boolean hasVibrator(); @@ -35832,6 +37170,9 @@ package android.os { method @Deprecated @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(long[], int, android.media.AudioAttributes); method @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(android.os.VibrationEffect); method @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(android.os.VibrationEffect, android.media.AudioAttributes); + field public static final int VIBRATION_EFFECT_SUPPORT_NO = 2; // 0x2 + field public static final int VIBRATION_EFFECT_SUPPORT_UNKNOWN = 0; // 0x0 + field public static final int VIBRATION_EFFECT_SUPPORT_YES = 1; // 0x1 } public class WorkSource implements android.os.Parcelable { @@ -36012,7 +37353,8 @@ package android.os.storage { method @WorkerThread public long getCacheSizeBytes(@NonNull java.util.UUID) throws java.io.IOException; method public String getMountedObbPath(String); method @NonNull public android.os.storage.StorageVolume getPrimaryStorageVolume(); - method @Nullable public android.os.storage.StorageVolume getStorageVolume(java.io.File); + method @NonNull public java.util.List<android.os.storage.StorageVolume> getRecentStorageVolumes(); + method @Nullable public android.os.storage.StorageVolume getStorageVolume(@NonNull java.io.File); method @NonNull public android.os.storage.StorageVolume getStorageVolume(@NonNull android.net.Uri); method @NonNull public java.util.List<android.os.storage.StorageVolume> getStorageVolumes(); method @NonNull public java.util.UUID getUuidForPath(@NonNull java.io.File) throws java.io.IOException; @@ -36024,20 +37366,30 @@ package android.os.storage { method public boolean isObbMounted(String); method public boolean mountObb(String, String, android.os.storage.OnObbStateChangeListener); method @NonNull public android.os.ParcelFileDescriptor openProxyFileDescriptor(int, android.os.ProxyFileDescriptorCallback, android.os.Handler) throws java.io.IOException; + method public void registerStorageVolumeCallback(@NonNull java.util.concurrent.Executor, @NonNull android.os.storage.StorageManager.StorageVolumeCallback); method public void setCacheBehaviorGroup(java.io.File, boolean) throws java.io.IOException; method public void setCacheBehaviorTombstone(java.io.File, boolean) throws java.io.IOException; method public boolean unmountObb(String, boolean, android.os.storage.OnObbStateChangeListener); + method public void unregisterStorageVolumeCallback(@NonNull android.os.storage.StorageManager.StorageVolumeCallback); + field @RequiresPermission(android.Manifest.permission.MANAGE_EXTERNAL_STORAGE) public static final String ACTION_CLEAR_APP_CACHE = "android.os.storage.action.CLEAR_APP_CACHE"; field public static final String ACTION_MANAGE_STORAGE = "android.os.storage.action.MANAGE_STORAGE"; field public static final String EXTRA_REQUESTED_BYTES = "android.os.storage.extra.REQUESTED_BYTES"; field public static final String EXTRA_UUID = "android.os.storage.extra.UUID"; field public static final java.util.UUID UUID_DEFAULT; } + public static class StorageManager.StorageVolumeCallback { + ctor public StorageManager.StorageVolumeCallback(); + method public void onStateChanged(@NonNull android.os.storage.StorageVolume); + } + public final class StorageVolume implements android.os.Parcelable { method @Deprecated @Nullable public android.content.Intent createAccessIntent(String); method @NonNull public android.content.Intent createOpenDocumentTreeIntent(); method public int describeContents(); method public String getDescription(android.content.Context); + method @Nullable public java.io.File getDirectory(); + method @Nullable public String getMediaStoreVolumeName(); method public String getState(); method @Nullable public String getUuid(); method public boolean isEmulated(); @@ -38361,6 +39713,8 @@ package android.provider { public static final class ContactsContract.RawContacts implements android.provider.BaseColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.RawContactsColumns android.provider.ContactsContract.SyncColumns { method public static android.net.Uri getContactLookupUri(android.content.ContentResolver, android.net.Uri); + method @Nullable public static String getLocalAccountName(@NonNull android.content.Context); + method @Nullable public static String getLocalAccountType(@NonNull android.content.Context); method public static android.content.EntityIterator newEntityIterator(android.database.Cursor); field public static final int AGGREGATION_MODE_DEFAULT = 0; // 0x0 field public static final int AGGREGATION_MODE_DISABLED = 3; // 0x3 @@ -38391,7 +39745,7 @@ package android.provider { field public static final String CONTACT_ID = "contact_id"; field public static final String DATA_SET = "data_set"; field public static final String DELETED = "deleted"; - field public static final String METADATA_DIRTY = "metadata_dirty"; + field @Deprecated public static final String METADATA_DIRTY = "metadata_dirty"; field public static final String RAW_CONTACT_IS_READ_ONLY = "raw_contact_is_read_only"; field public static final String RAW_CONTACT_IS_USER_PROFILE = "raw_contact_is_user_profile"; } @@ -38532,6 +39886,7 @@ package android.provider { field public static final String COLUMN_MIME_TYPE = "mime_type"; field public static final String COLUMN_SIZE = "_size"; field public static final String COLUMN_SUMMARY = "summary"; + field public static final int FLAG_DIR_BLOCKS_OPEN_DOCUMENT_TREE = 32768; // 0x8000 field public static final int FLAG_DIR_PREFERS_GRID = 16; // 0x10 field public static final int FLAG_DIR_PREFERS_LAST_MODIFIED = 32; // 0x20 field public static final int FLAG_DIR_SUPPORTS_CREATE = 8; // 0x8 @@ -38697,14 +40052,21 @@ package android.provider { public final class MediaStore { ctor public MediaStore(); + method @NonNull public static android.app.PendingIntent createDeleteRequest(@NonNull android.content.ContentResolver, @NonNull java.util.Collection<android.net.Uri>); + method @NonNull public static android.app.PendingIntent createFavoriteRequest(@NonNull android.content.ContentResolver, @NonNull java.util.Collection<android.net.Uri>, boolean); + method @NonNull public static android.app.PendingIntent createTrashRequest(@NonNull android.content.ContentResolver, @NonNull java.util.Collection<android.net.Uri>, boolean); + method @NonNull public static android.app.PendingIntent createWriteRequest(@NonNull android.content.ContentResolver, @NonNull java.util.Collection<android.net.Uri>); method @Nullable public static android.net.Uri getDocumentUri(@NonNull android.content.Context, @NonNull android.net.Uri); method @NonNull public static java.util.Set<java.lang.String> getExternalVolumeNames(@NonNull android.content.Context); + method public static long getGeneration(@NonNull android.content.Context, @NonNull String); method public static android.net.Uri getMediaScannerUri(); method @Nullable public static android.net.Uri getMediaUri(@NonNull android.content.Context, @NonNull android.net.Uri); + method @NonNull public static java.util.Set<java.lang.String> getRecentExternalVolumeNames(@NonNull android.content.Context); + method public static boolean getRequireOriginal(@NonNull android.net.Uri); method @NonNull public static String getVersion(@NonNull android.content.Context); method @NonNull public static String getVersion(@NonNull android.content.Context, @NonNull String); method @NonNull public static String getVolumeName(@NonNull android.net.Uri); - method @NonNull public static android.net.Uri setIncludePending(@NonNull android.net.Uri); + method @Deprecated @NonNull public static android.net.Uri setIncludePending(@NonNull android.net.Uri); method @NonNull public static android.net.Uri setRequireOriginal(@NonNull android.net.Uri); field public static final String ACTION_IMAGE_CAPTURE = "android.media.action.IMAGE_CAPTURE"; field public static final String ACTION_IMAGE_CAPTURE_SECURE = "android.media.action.IMAGE_CAPTURE_SECURE"; @@ -38737,9 +40099,18 @@ package android.provider { field public static final String INTENT_ACTION_TEXT_OPEN_FROM_SEARCH = "android.media.action.TEXT_OPEN_FROM_SEARCH"; field public static final String INTENT_ACTION_VIDEO_CAMERA = "android.media.action.VIDEO_CAMERA"; field public static final String INTENT_ACTION_VIDEO_PLAY_FROM_SEARCH = "android.media.action.VIDEO_PLAY_FROM_SEARCH"; + field public static final int MATCH_DEFAULT = 0; // 0x0 + field public static final int MATCH_EXCLUDE = 2; // 0x2 + field public static final int MATCH_INCLUDE = 1; // 0x1 + field public static final int MATCH_ONLY = 3; // 0x3 field public static final String MEDIA_IGNORE_FILENAME = ".nomedia"; field public static final String MEDIA_SCANNER_VOLUME = "volume"; + field public static final String META_DATA_REVIEW_GALLERY_PREWARM_SERVICE = "android.media.review_gallery_prewarm_service"; field public static final String META_DATA_STILL_IMAGE_CAMERA_PREWARM_SERVICE = "android.media.still_image_camera_preview_service"; + field public static final String QUERY_ARG_MATCH_FAVORITE = "android:query-arg-match-favorite"; + field public static final String QUERY_ARG_MATCH_PENDING = "android:query-arg-match-pending"; + field public static final String QUERY_ARG_MATCH_TRASHED = "android:query-arg-match-trashed"; + field public static final String QUERY_ARG_RELATED_URI = "android:query-arg-related-uri"; field public static final String UNKNOWN_STRING = "<unknown>"; field public static final String VOLUME_EXTERNAL = "external"; field public static final String VOLUME_EXTERNAL_PRIMARY = "external_primary"; @@ -38748,16 +40119,17 @@ package android.provider { public static final class MediaStore.Audio { ctor public MediaStore.Audio(); - method public static String keyFor(String); + method @Deprecated @Nullable public static String keyFor(@Nullable String); } public static interface MediaStore.Audio.AlbumColumns { field public static final String ALBUM = "album"; field @Deprecated public static final String ALBUM_ART = "album_art"; field public static final String ALBUM_ID = "album_id"; - field public static final String ALBUM_KEY = "album_key"; + field @Deprecated public static final String ALBUM_KEY = "album_key"; field public static final String ARTIST = "artist"; field public static final String ARTIST_ID = "artist_id"; + field @Deprecated public static final String ARTIST_KEY = "artist_key"; field public static final String FIRST_YEAR = "minyear"; field public static final String LAST_YEAR = "maxyear"; field public static final String NUMBER_OF_SONGS = "numsongs"; @@ -38776,7 +40148,7 @@ package android.provider { public static interface MediaStore.Audio.ArtistColumns { field public static final String ARTIST = "artist"; - field public static final String ARTIST_KEY = "artist_key"; + field @Deprecated public static final String ARTIST_KEY = "artist_key"; field public static final String NUMBER_OF_ALBUMS = "number_of_albums"; field public static final String NUMBER_OF_TRACKS = "number_of_tracks"; } @@ -38797,21 +40169,22 @@ package android.provider { } public static interface MediaStore.Audio.AudioColumns extends android.provider.MediaStore.MediaColumns { - field public static final String ALBUM = "album"; field public static final String ALBUM_ID = "album_id"; - field public static final String ALBUM_KEY = "album_key"; - field public static final String ARTIST = "artist"; + field @Deprecated public static final String ALBUM_KEY = "album_key"; field public static final String ARTIST_ID = "artist_id"; - field public static final String ARTIST_KEY = "artist_key"; + field @Deprecated public static final String ARTIST_KEY = "artist_key"; field public static final String BOOKMARK = "bookmark"; - field public static final String COMPOSER = "composer"; + field public static final String GENRE = "genre"; + field public static final String GENRE_ID = "genre_id"; + field @Deprecated public static final String GENRE_KEY = "genre_key"; field public static final String IS_ALARM = "is_alarm"; field public static final String IS_AUDIOBOOK = "is_audiobook"; field public static final String IS_MUSIC = "is_music"; field public static final String IS_NOTIFICATION = "is_notification"; field public static final String IS_PODCAST = "is_podcast"; field public static final String IS_RINGTONE = "is_ringtone"; - field public static final String TITLE_KEY = "title_key"; + field @Deprecated public static final String TITLE_KEY = "title_key"; + field public static final String TITLE_RESOURCE_URI = "title_resource_uri"; field public static final String TRACK = "track"; field public static final String YEAR = "year"; } @@ -38843,6 +40216,7 @@ package android.provider { public static final class MediaStore.Audio.Media implements android.provider.MediaStore.Audio.AudioColumns { ctor public MediaStore.Audio.Media(); method public static android.net.Uri getContentUri(String); + method @NonNull public static android.net.Uri getContentUri(@NonNull String, long); method @Deprecated @Nullable public static android.net.Uri getContentUriForPath(@NonNull String); field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/audio"; field public static final String DEFAULT_SORT_ORDER = "title_key"; @@ -38875,7 +40249,7 @@ package android.provider { field public static final String _ID = "_id"; } - public static interface MediaStore.Audio.PlaylistsColumns { + public static interface MediaStore.Audio.PlaylistsColumns extends android.provider.MediaStore.MediaColumns { field @Deprecated public static final String DATA = "_data"; field public static final String DATE_ADDED = "date_added"; field public static final String DATE_MODIFIED = "date_modified"; @@ -38893,6 +40267,7 @@ package android.provider { public static final class MediaStore.Downloads implements android.provider.MediaStore.DownloadColumns { method @NonNull public static android.net.Uri getContentUri(@NonNull String); + method @NonNull public static android.net.Uri getContentUri(@NonNull String, long); field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/download"; field @NonNull public static final android.net.Uri EXTERNAL_CONTENT_URI; field @NonNull public static final android.net.Uri INTERNAL_CONTENT_URI; @@ -38907,13 +40282,14 @@ package android.provider { public static interface MediaStore.Files.FileColumns extends android.provider.MediaStore.MediaColumns { field public static final String MEDIA_TYPE = "media_type"; field public static final int MEDIA_TYPE_AUDIO = 2; // 0x2 + field public static final int MEDIA_TYPE_DOCUMENT = 6; // 0x6 field public static final int MEDIA_TYPE_IMAGE = 1; // 0x1 field public static final int MEDIA_TYPE_NONE = 0; // 0x0 field public static final int MEDIA_TYPE_PLAYLIST = 4; // 0x4 + field public static final int MEDIA_TYPE_SUBTITLE = 5; // 0x5 field public static final int MEDIA_TYPE_VIDEO = 3; // 0x3 field public static final String MIME_TYPE = "mime_type"; field public static final String PARENT = "parent"; - field public static final String TITLE = "title"; } public static final class MediaStore.Images { @@ -38922,17 +40298,22 @@ package android.provider { public static interface MediaStore.Images.ImageColumns extends android.provider.MediaStore.MediaColumns { field public static final String DESCRIPTION = "description"; + field public static final String EXPOSURE_TIME = "exposure_time"; + field public static final String F_NUMBER = "f_number"; + field public static final String ISO = "iso"; field public static final String IS_PRIVATE = "isprivate"; field @Deprecated public static final String LATITUDE = "latitude"; field @Deprecated public static final String LONGITUDE = "longitude"; field @Deprecated public static final String MINI_THUMB_MAGIC = "mini_thumb_magic"; field @Deprecated public static final String PICASA_ID = "picasa_id"; + field public static final String SCENE_CAPTURE_TYPE = "scene_capture_type"; } public static final class MediaStore.Images.Media implements android.provider.MediaStore.Images.ImageColumns { ctor public MediaStore.Images.Media(); method @Deprecated public static android.graphics.Bitmap getBitmap(android.content.ContentResolver, android.net.Uri) throws java.io.FileNotFoundException, java.io.IOException; method public static android.net.Uri getContentUri(String); + method @NonNull public static android.net.Uri getContentUri(@NonNull String, long); method @Deprecated public static String insertImage(android.content.ContentResolver, String, String, String) throws java.io.FileNotFoundException; method @Deprecated public static String insertImage(android.content.ContentResolver, android.graphics.Bitmap, String, String); method @Deprecated public static android.database.Cursor query(android.content.ContentResolver, android.net.Uri, String[]); @@ -38949,6 +40330,7 @@ package android.provider { method @Deprecated public static void cancelThumbnailRequest(android.content.ContentResolver, long); method @Deprecated public static void cancelThumbnailRequest(android.content.ContentResolver, long, long); method @Deprecated public static android.net.Uri getContentUri(String); + method @Deprecated @NonNull public static android.util.Size getKindSize(int); method @Deprecated public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, int, android.graphics.BitmapFactory.Options); method @Deprecated public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options); method @Deprecated public static final android.database.Cursor query(android.content.ContentResolver, android.net.Uri, String[]); @@ -38969,28 +40351,50 @@ package android.provider { } public static interface MediaStore.MediaColumns extends android.provider.BaseColumns { + field public static final String ALBUM = "album"; + field public static final String ALBUM_ARTIST = "album_artist"; + field public static final String ARTIST = "artist"; + field public static final String AUTHOR = "author"; + field public static final String BITRATE = "bitrate"; field public static final String BUCKET_DISPLAY_NAME = "bucket_display_name"; field public static final String BUCKET_ID = "bucket_id"; + field public static final String CAPTURE_FRAMERATE = "capture_framerate"; + field public static final String CD_TRACK_NUMBER = "cd_track_number"; + field public static final String COMPILATION = "compilation"; + field public static final String COMPOSER = "composer"; field @Deprecated public static final String DATA = "_data"; field public static final String DATE_ADDED = "date_added"; field public static final String DATE_EXPIRES = "date_expires"; field public static final String DATE_MODIFIED = "date_modified"; field public static final String DATE_TAKEN = "datetaken"; + field public static final String DISC_NUMBER = "disc_number"; field public static final String DISPLAY_NAME = "_display_name"; field public static final String DOCUMENT_ID = "document_id"; field public static final String DURATION = "duration"; + field public static final String GENERATION_ADDED = "generation_added"; + field public static final String GENERATION_MODIFIED = "generation_modified"; + field public static final String GENRE = "genre"; field public static final String HEIGHT = "height"; field public static final String INSTANCE_ID = "instance_id"; + field public static final String IS_DOWNLOAD = "is_download"; + field public static final String IS_DRM = "is_drm"; + field public static final String IS_FAVORITE = "is_favorite"; field public static final String IS_PENDING = "is_pending"; + field public static final String IS_TRASHED = "is_trashed"; field public static final String MIME_TYPE = "mime_type"; + field public static final String NUM_TRACKS = "num_tracks"; field public static final String ORIENTATION = "orientation"; field public static final String ORIGINAL_DOCUMENT_ID = "original_document_id"; field public static final String OWNER_PACKAGE_NAME = "owner_package_name"; field public static final String RELATIVE_PATH = "relative_path"; + field public static final String RESOLUTION = "resolution"; field public static final String SIZE = "_size"; field public static final String TITLE = "title"; field public static final String VOLUME_NAME = "volume_name"; field public static final String WIDTH = "width"; + field public static final String WRITER = "writer"; + field public static final String XMP = "xmp"; + field public static final String YEAR = "year"; } public static final class MediaStore.Video { @@ -39002,6 +40406,7 @@ package android.provider { public static final class MediaStore.Video.Media implements android.provider.MediaStore.Video.VideoColumns { ctor public MediaStore.Video.Media(); method public static android.net.Uri getContentUri(String); + method @NonNull public static android.net.Uri getContentUri(@NonNull String, long); field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/video"; field public static final String DEFAULT_SORT_ORDER = "title"; field public static final android.net.Uri EXTERNAL_CONTENT_URI; @@ -39013,6 +40418,7 @@ package android.provider { method @Deprecated public static void cancelThumbnailRequest(android.content.ContentResolver, long); method @Deprecated public static void cancelThumbnailRequest(android.content.ContentResolver, long, long); method @Deprecated public static android.net.Uri getContentUri(String); + method @Deprecated @NonNull public static android.util.Size getKindSize(int); method @Deprecated public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, int, android.graphics.BitmapFactory.Options); method @Deprecated public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options); field @Deprecated public static final String DATA = "_data"; @@ -39029,17 +40435,17 @@ package android.provider { } public static interface MediaStore.Video.VideoColumns extends android.provider.MediaStore.MediaColumns { - field public static final String ALBUM = "album"; - field public static final String ARTIST = "artist"; field public static final String BOOKMARK = "bookmark"; field public static final String CATEGORY = "category"; + field public static final String COLOR_RANGE = "color_range"; + field public static final String COLOR_STANDARD = "color_standard"; + field public static final String COLOR_TRANSFER = "color_transfer"; field public static final String DESCRIPTION = "description"; field public static final String IS_PRIVATE = "isprivate"; field public static final String LANGUAGE = "language"; field @Deprecated public static final String LATITUDE = "latitude"; field @Deprecated public static final String LONGITUDE = "longitude"; field @Deprecated public static final String MINI_THUMB_MAGIC = "mini_thumb_magic"; - field public static final String RESOLUTION = "resolution"; field public static final String TAGS = "tags"; } @@ -39076,17 +40482,19 @@ package android.provider { field public static final String ACTION_APP_SEARCH_SETTINGS = "android.settings.APP_SEARCH_SETTINGS"; field public static final String ACTION_APP_USAGE_SETTINGS = "android.settings.action.APP_USAGE_SETTINGS"; field public static final String ACTION_BATTERY_SAVER_SETTINGS = "android.settings.BATTERY_SAVER_SETTINGS"; + field public static final String ACTION_BIOMETRIC_ENROLL = "android.settings.BIOMETRIC_ENROLL"; field public static final String ACTION_BLUETOOTH_SETTINGS = "android.settings.BLUETOOTH_SETTINGS"; field public static final String ACTION_CAPTIONING_SETTINGS = "android.settings.CAPTIONING_SETTINGS"; field public static final String ACTION_CAST_SETTINGS = "android.settings.CAST_SETTINGS"; field public static final String ACTION_CHANNEL_NOTIFICATION_SETTINGS = "android.settings.CHANNEL_NOTIFICATION_SETTINGS"; + field public static final String ACTION_CONDITION_PROVIDER_SETTINGS = "android.settings.ACTION_CONDITION_PROVIDER_SETTINGS"; field public static final String ACTION_DATA_ROAMING_SETTINGS = "android.settings.DATA_ROAMING_SETTINGS"; field public static final String ACTION_DATA_USAGE_SETTINGS = "android.settings.DATA_USAGE_SETTINGS"; field public static final String ACTION_DATE_SETTINGS = "android.settings.DATE_SETTINGS"; field public static final String ACTION_DEVICE_INFO_SETTINGS = "android.settings.DEVICE_INFO_SETTINGS"; field public static final String ACTION_DISPLAY_SETTINGS = "android.settings.DISPLAY_SETTINGS"; field public static final String ACTION_DREAM_SETTINGS = "android.settings.DREAM_SETTINGS"; - field public static final String ACTION_FINGERPRINT_ENROLL = "android.settings.FINGERPRINT_ENROLL"; + field @Deprecated public static final String ACTION_FINGERPRINT_ENROLL = "android.settings.FINGERPRINT_ENROLL"; field public static final String ACTION_HARD_KEYBOARD_SETTINGS = "android.settings.HARD_KEYBOARD_SETTINGS"; field public static final String ACTION_HOME_SETTINGS = "android.settings.HOME_SETTINGS"; field public static final String ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS = "android.settings.IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS"; @@ -39097,7 +40505,9 @@ package android.provider { field public static final String ACTION_LOCALE_SETTINGS = "android.settings.LOCALE_SETTINGS"; field public static final String ACTION_LOCATION_SOURCE_SETTINGS = "android.settings.LOCATION_SOURCE_SETTINGS"; field public static final String ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS = "android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS"; + field public static final String ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION = "android.settings.MANAGE_ALL_FILES_ACCESS_PERMISSION"; field public static final String ACTION_MANAGE_APPLICATIONS_SETTINGS = "android.settings.MANAGE_APPLICATIONS_SETTINGS"; + field public static final String ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION = "android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION"; field public static final String ACTION_MANAGE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_DEFAULT_APPS_SETTINGS"; field public static final String ACTION_MANAGE_OVERLAY_PERMISSION = "android.settings.action.MANAGE_OVERLAY_PERMISSION"; field public static final String ACTION_MANAGE_UNKNOWN_APP_SOURCES = "android.settings.MANAGE_UNKNOWN_APP_SOURCES"; @@ -39109,11 +40519,13 @@ package android.provider { field public static final String ACTION_NFC_SETTINGS = "android.settings.NFC_SETTINGS"; field public static final String ACTION_NIGHT_DISPLAY_SETTINGS = "android.settings.NIGHT_DISPLAY_SETTINGS"; field public static final String ACTION_NOTIFICATION_ASSISTANT_SETTINGS = "android.settings.NOTIFICATION_ASSISTANT_SETTINGS"; + field public static final String ACTION_NOTIFICATION_LISTENER_DETAIL_SETTINGS = "android.settings.NOTIFICATION_LISTENER_DETAIL_SETTINGS"; field public static final String ACTION_NOTIFICATION_LISTENER_SETTINGS = "android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"; field public static final String ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS = "android.settings.NOTIFICATION_POLICY_ACCESS_SETTINGS"; field public static final String ACTION_PRINT_SETTINGS = "android.settings.ACTION_PRINT_SETTINGS"; field public static final String ACTION_PRIVACY_SETTINGS = "android.settings.PRIVACY_SETTINGS"; field public static final String ACTION_PROCESS_WIFI_EASY_CONNECT_URI = "android.settings.PROCESS_WIFI_EASY_CONNECT_URI"; + field public static final String ACTION_QUICK_ACCESS_WALLET_SETTINGS = "android.settings.QUICK_ACCESS_WALLET_SETTINGS"; field public static final String ACTION_QUICK_LAUNCH_SETTINGS = "android.settings.QUICK_LAUNCH_SETTINGS"; field public static final String ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS = "android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"; field public static final String ACTION_REQUEST_SET_AUTOFILL_SERVICE = "android.settings.REQUEST_SET_AUTOFILL_SERVICE"; @@ -39121,6 +40533,7 @@ package android.provider { field public static final String ACTION_SECURITY_SETTINGS = "android.settings.SECURITY_SETTINGS"; field public static final String ACTION_SETTINGS = "android.settings.SETTINGS"; field public static final String ACTION_SHOW_REGULATORY_INFO = "android.settings.SHOW_REGULATORY_INFO"; + field public static final String ACTION_SHOW_WORK_POLICY_INFO = "android.settings.SHOW_WORK_POLICY_INFO"; field public static final String ACTION_SOUND_SETTINGS = "android.settings.SOUND_SETTINGS"; field @Deprecated public static final String ACTION_STORAGE_VOLUME_ACCESS_SETTINGS = "android.settings.STORAGE_VOLUME_ACCESS_SETTINGS"; field public static final String ACTION_SYNC_SETTINGS = "android.settings.SYNC_SETTINGS"; @@ -39133,21 +40546,34 @@ package android.provider { field public static final String ACTION_VPN_SETTINGS = "android.settings.VPN_SETTINGS"; field public static final String ACTION_VR_LISTENER_SETTINGS = "android.settings.VR_LISTENER_SETTINGS"; field public static final String ACTION_WEBVIEW_SETTINGS = "android.settings.WEBVIEW_SETTINGS"; + field public static final String ACTION_WIFI_ADD_NETWORKS = "android.settings.WIFI_ADD_NETWORKS"; field public static final String ACTION_WIFI_IP_SETTINGS = "android.settings.WIFI_IP_SETTINGS"; field public static final String ACTION_WIFI_SETTINGS = "android.settings.WIFI_SETTINGS"; field public static final String ACTION_WIRELESS_SETTINGS = "android.settings.WIRELESS_SETTINGS"; field public static final String ACTION_ZEN_MODE_PRIORITY_SETTINGS = "android.settings.ZEN_MODE_PRIORITY_SETTINGS"; + field public static final int ADD_WIFI_RESULT_ADD_OR_UPDATE_FAILED = 1; // 0x1 + field public static final int ADD_WIFI_RESULT_ALREADY_EXISTS = 2; // 0x2 + field public static final int ADD_WIFI_RESULT_SUCCESS = 0; // 0x0 field public static final String AUTHORITY = "settings"; field public static final String EXTRA_ACCOUNT_TYPES = "account_types"; field public static final String EXTRA_AIRPLANE_MODE_ENABLED = "airplane_mode_enabled"; field public static final String EXTRA_APP_PACKAGE = "android.provider.extra.APP_PACKAGE"; field public static final String EXTRA_AUTHORITIES = "authorities"; field public static final String EXTRA_BATTERY_SAVER_MODE_ENABLED = "android.settings.extra.battery_saver_mode_enabled"; + field public static final String EXTRA_BIOMETRIC_AUTHENTICATORS_ALLOWED = "android.provider.extra.BIOMETRIC_AUTHENTICATORS_ALLOWED"; field public static final String EXTRA_CHANNEL_ID = "android.provider.extra.CHANNEL_ID"; + field public static final String EXTRA_CONVERSATION_ID = "android.provider.extra.CONVERSATION_ID"; field public static final String EXTRA_DO_NOT_DISTURB_MODE_ENABLED = "android.settings.extra.do_not_disturb_mode_enabled"; field public static final String EXTRA_DO_NOT_DISTURB_MODE_MINUTES = "android.settings.extra.do_not_disturb_mode_minutes"; + field public static final String EXTRA_EASY_CONNECT_ATTEMPTED_SSID = "android.provider.extra.EASY_CONNECT_ATTEMPTED_SSID"; + field public static final String EXTRA_EASY_CONNECT_BAND_LIST = "android.provider.extra.EASY_CONNECT_BAND_LIST"; + field public static final String EXTRA_EASY_CONNECT_CHANNEL_LIST = "android.provider.extra.EASY_CONNECT_CHANNEL_LIST"; + field public static final String EXTRA_EASY_CONNECT_ERROR_CODE = "android.provider.extra.EASY_CONNECT_ERROR_CODE"; field public static final String EXTRA_INPUT_METHOD_ID = "input_method_id"; + field public static final String EXTRA_NOTIFICATION_LISTENER_COMPONENT_NAME = "android.provider.extra.NOTIFICATION_LISTENER_COMPONENT_NAME"; field public static final String EXTRA_SUB_ID = "android.provider.extra.SUB_ID"; + field public static final String EXTRA_WIFI_NETWORK_LIST = "android.provider.extra.WIFI_NETWORK_LIST"; + field public static final String EXTRA_WIFI_NETWORK_RESULT_LIST = "android.provider.extra.WIFI_NETWORK_RESULT_LIST"; field public static final String INTENT_CATEGORY_USAGE_ACCESS_CONFIG = "android.intent.category.USAGE_ACCESS_CONFIG"; field public static final String METADATA_USAGE_ACCESS_REASON = "android.settings.metadata.USAGE_ACCESS_REASON"; } @@ -39201,13 +40627,13 @@ package android.provider { field public static final String WIFI_MAX_DHCP_RETRY_COUNT = "wifi_max_dhcp_retry_count"; field public static final String WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS = "wifi_mobile_data_transition_wakelock_timeout_ms"; field @Deprecated public static final String WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON = "wifi_networks_available_notification_on"; - field public static final String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY = "wifi_networks_available_repeat_delay"; - field public static final String WIFI_NUM_OPEN_NETWORKS_KEPT = "wifi_num_open_networks_kept"; + field @Deprecated public static final String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY = "wifi_networks_available_repeat_delay"; + field @Deprecated public static final String WIFI_NUM_OPEN_NETWORKS_KEPT = "wifi_num_open_networks_kept"; field public static final String WIFI_ON = "wifi_on"; - field public static final String WIFI_SLEEP_POLICY = "wifi_sleep_policy"; - field public static final int WIFI_SLEEP_POLICY_DEFAULT = 0; // 0x0 - field public static final int WIFI_SLEEP_POLICY_NEVER = 2; // 0x2 - field public static final int WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED = 1; // 0x1 + field @Deprecated public static final String WIFI_SLEEP_POLICY = "wifi_sleep_policy"; + field @Deprecated public static final int WIFI_SLEEP_POLICY_DEFAULT = 0; // 0x0 + field @Deprecated public static final int WIFI_SLEEP_POLICY_NEVER = 2; // 0x2 + field @Deprecated public static final int WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED = 1; // 0x1 field public static final String WIFI_WATCHDOG_ON = "wifi_watchdog_on"; field public static final String WINDOW_ANIMATION_SCALE = "window_animation_scale"; } @@ -39277,6 +40703,7 @@ package android.provider { field public static final String PARENTAL_CONTROL_LAST_UPDATE = "parental_control_last_update"; field public static final String PARENTAL_CONTROL_REDIRECT_URL = "parental_control_redirect_url"; field public static final String RTT_CALLING_MODE = "rtt_calling_mode"; + field public static final String SECURE_FRP_MODE = "secure_frp_mode"; field public static final String SELECTED_INPUT_METHOD_SUBTYPE = "selected_input_method_subtype"; field public static final String SETTINGS_CLASSNAME = "settings_classname"; field public static final String SKIP_FIRST_USE_HINTS = "skip_first_use_hints"; @@ -39705,10 +41132,16 @@ package android.provider { field public static final String DATA_SMS_RECEIVED_ACTION = "android.intent.action.DATA_SMS_RECEIVED"; field public static final String EXTRA_IS_DEFAULT_SMS_APP = "android.provider.extra.IS_DEFAULT_SMS_APP"; field public static final String EXTRA_PACKAGE_NAME = "package"; + field public static final int RESULT_SMS_DATABASE_ERROR = 10; // 0xa + field public static final int RESULT_SMS_DISPATCH_FAILURE = 6; // 0x6 field public static final int RESULT_SMS_DUPLICATED = 5; // 0x5 field public static final int RESULT_SMS_GENERIC_ERROR = 2; // 0x2 field public static final int RESULT_SMS_HANDLED = 1; // 0x1 + field public static final int RESULT_SMS_INVALID_URI = 11; // 0xb + field public static final int RESULT_SMS_NULL_MESSAGE = 8; // 0x8 + field public static final int RESULT_SMS_NULL_PDU = 7; // 0x7 field public static final int RESULT_SMS_OUT_OF_MEMORY = 3; // 0x3 + field public static final int RESULT_SMS_RECEIVED_WHILE_ENCRYPTED = 9; // 0x9 field public static final int RESULT_SMS_UNSUPPORTED = 4; // 0x4 field @Deprecated public static final String SECRET_CODE_ACTION = "android.provider.Telephony.SECRET_CODE"; field public static final String SIM_FULL_ACTION = "android.provider.Telephony.SIM_FULL"; @@ -41037,8 +42470,9 @@ package android.se.omapi { package android.security { public final class AttestedKeyPair { - method public java.util.List<java.security.cert.Certificate> getAttestationRecord(); - method public java.security.KeyPair getKeyPair(); + ctor public AttestedKeyPair(@Nullable java.security.KeyPair, @NonNull java.util.List<java.security.cert.Certificate>); + method @NonNull public java.util.List<java.security.cert.Certificate> getAttestationRecord(); + method @Nullable public java.security.KeyPair getKeyPair(); } public class ConfirmationAlreadyPresentingException extends java.lang.Exception { @@ -41072,6 +42506,11 @@ package android.security { method public android.security.ConfirmationPrompt.Builder setPromptText(CharSequence); } + public final class FileIntegrityManager { + method public boolean isApkVeritySupported(); + method @RequiresPermission(anyOf={android.Manifest.permission.INSTALL_PACKAGES, android.Manifest.permission.REQUEST_INSTALL_PACKAGES}) public boolean isAppSourceCertificateTrusted(@NonNull java.security.cert.X509Certificate) throws java.security.cert.CertificateEncodingException; + } + public final class KeyChain { ctor public KeyChain(); method public static void choosePrivateKeyAlias(@NonNull android.app.Activity, @NonNull android.security.KeyChainAliasCallback, @Nullable String[], @Nullable java.security.Principal[], @Nullable String, int, @Nullable String); @@ -41306,6 +42745,7 @@ package android.security.keystore { method @NonNull public String getKeystoreAlias(); method public int getPurposes(); method @NonNull public String[] getSignaturePaddings(); + method public int getUserAuthenticationType(); method public int getUserAuthenticationValidityDurationSeconds(); method public boolean isDevicePropertiesAttestationIncluded(); method @NonNull public boolean isDigestsSpecified(); @@ -41342,9 +42782,10 @@ package android.security.keystore { method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setRandomizedEncryptionRequired(boolean); method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setSignaturePaddings(java.lang.String...); method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUnlockedDeviceRequired(boolean); + method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserAuthenticationParameters(@IntRange(from=0) int, int); method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserAuthenticationRequired(boolean); method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserAuthenticationValidWhileOnBody(boolean); - method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserAuthenticationValidityDurationSeconds(@IntRange(from=0xffffffff) int); + method @Deprecated @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserAuthenticationValidityDurationSeconds(@IntRange(from=0xffffffff) int); method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserConfirmationRequired(boolean); method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserPresenceRequired(boolean); } @@ -41361,6 +42802,7 @@ package android.security.keystore { method public int getOrigin(); method public int getPurposes(); method @NonNull public String[] getSignaturePaddings(); + method public int getUserAuthenticationType(); method public int getUserAuthenticationValidityDurationSeconds(); method public boolean isInsideSecureHardware(); method public boolean isInvalidatedByBiometricEnrollment(); @@ -41384,6 +42826,8 @@ package android.security.keystore { } public abstract class KeyProperties { + field public static final int AUTH_BIOMETRIC_STRONG = 2; // 0x2 + field public static final int AUTH_DEVICE_CREDENTIAL = 1; // 0x1 field public static final String BLOCK_MODE_CBC = "CBC"; field public static final String BLOCK_MODE_CTR = "CTR"; field public static final String BLOCK_MODE_ECB = "ECB"; @@ -41430,6 +42874,7 @@ package android.security.keystore { method @Nullable public java.util.Date getKeyValidityStart(); method public int getPurposes(); method @NonNull public String[] getSignaturePaddings(); + method public int getUserAuthenticationType(); method public int getUserAuthenticationValidityDurationSeconds(); method public boolean isDigestsSpecified(); method public boolean isInvalidatedByBiometricEnrollment(); @@ -41455,9 +42900,10 @@ package android.security.keystore { method @NonNull public android.security.keystore.KeyProtection.Builder setRandomizedEncryptionRequired(boolean); method @NonNull public android.security.keystore.KeyProtection.Builder setSignaturePaddings(java.lang.String...); method @NonNull public android.security.keystore.KeyProtection.Builder setUnlockedDeviceRequired(boolean); + method @NonNull public android.security.keystore.KeyProtection.Builder setUserAuthenticationParameters(@IntRange(from=0) int, int); method @NonNull public android.security.keystore.KeyProtection.Builder setUserAuthenticationRequired(boolean); method @NonNull public android.security.keystore.KeyProtection.Builder setUserAuthenticationValidWhileOnBody(boolean); - method @NonNull public android.security.keystore.KeyProtection.Builder setUserAuthenticationValidityDurationSeconds(@IntRange(from=0xffffffff) int); + method @Deprecated @NonNull public android.security.keystore.KeyProtection.Builder setUserAuthenticationValidityDurationSeconds(@IntRange(from=0xffffffff) int); method @NonNull public android.security.keystore.KeyProtection.Builder setUserConfirmationRequired(boolean); method @NonNull public android.security.keystore.KeyProtection.Builder setUserPresenceRequired(boolean); } @@ -41563,10 +43009,13 @@ package android.service.autofill { method @NonNull public android.service.autofill.Dataset build(); method @NonNull public android.service.autofill.Dataset.Builder setAuthentication(@Nullable android.content.IntentSender); method @NonNull public android.service.autofill.Dataset.Builder setId(@Nullable String); + method @NonNull public android.service.autofill.Dataset.Builder setInlinePresentation(@NonNull android.service.autofill.InlinePresentation); method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue); method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @NonNull android.widget.RemoteViews); method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @Nullable java.util.regex.Pattern); method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @Nullable java.util.regex.Pattern, @NonNull android.widget.RemoteViews); + method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @NonNull android.widget.RemoteViews, @NonNull android.service.autofill.InlinePresentation); + method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @Nullable java.util.regex.Pattern, @NonNull android.widget.RemoteViews, @NonNull android.service.autofill.InlinePresentation); } public final class DateTransformation implements android.os.Parcelable android.service.autofill.Transformation { @@ -41625,6 +43074,7 @@ package android.service.autofill { method public int getType(); field public static final int TYPE_AUTHENTICATION_SELECTED = 2; // 0x2 field public static final int TYPE_CONTEXT_COMMITTED = 4; // 0x4 + field public static final int TYPE_DATASETS_SHOWN = 5; // 0x5 field public static final int TYPE_DATASET_AUTHENTICATION_SELECTED = 1; // 0x1 field public static final int TYPE_DATASET_SELECTED = 0; // 0x0 field public static final int TYPE_SAVE_SHOWN = 3; // 0x3 @@ -41636,7 +43086,8 @@ package android.service.autofill { method @NonNull public java.util.List<android.service.autofill.FillContext> getFillContexts(); method public int getFlags(); method public int getId(); - method public void writeToParcel(android.os.Parcel, int); + method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest(); + method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.FillRequest> CREATOR; field public static final int FLAG_COMPATIBILITY_MODE_REQUEST = 2; // 0x2 field public static final int FLAG_MANUAL_REQUEST = 1; // 0x1 @@ -41656,12 +43107,14 @@ package android.service.autofill { method @NonNull public android.service.autofill.FillResponse build(); method @NonNull public android.service.autofill.FillResponse.Builder disableAutofill(long); method @NonNull public android.service.autofill.FillResponse.Builder setAuthentication(@NonNull android.view.autofill.AutofillId[], @Nullable android.content.IntentSender, @Nullable android.widget.RemoteViews); + method @NonNull public android.service.autofill.FillResponse.Builder setAuthentication(@NonNull android.view.autofill.AutofillId[], @Nullable android.content.IntentSender, @Nullable android.widget.RemoteViews, @Nullable android.service.autofill.InlinePresentation); method @NonNull public android.service.autofill.FillResponse.Builder setClientState(@Nullable android.os.Bundle); method @NonNull public android.service.autofill.FillResponse.Builder setFieldClassificationIds(@NonNull android.view.autofill.AutofillId...); method @NonNull public android.service.autofill.FillResponse.Builder setFlags(int); method @NonNull public android.service.autofill.FillResponse.Builder setFooter(@NonNull android.widget.RemoteViews); method @NonNull public android.service.autofill.FillResponse.Builder setHeader(@NonNull android.widget.RemoteViews); method @NonNull public android.service.autofill.FillResponse.Builder setIgnoredIds(android.view.autofill.AutofillId...); + method @NonNull public android.service.autofill.FillResponse.Builder setPresentationCancelIds(@Nullable int[]); method @NonNull public android.service.autofill.FillResponse.Builder setSaveInfo(@NonNull android.service.autofill.SaveInfo); method @NonNull public android.service.autofill.FillResponse.Builder setUserData(@NonNull android.service.autofill.UserData); } @@ -41680,6 +43133,16 @@ package android.service.autofill { method public android.service.autofill.ImageTransformation build(); } + public final class InlinePresentation implements android.os.Parcelable { + ctor public InlinePresentation(@NonNull android.app.slice.Slice, @NonNull android.widget.inline.InlinePresentationSpec, boolean); + method public int describeContents(); + method @NonNull public android.widget.inline.InlinePresentationSpec getInlinePresentationSpec(); + method @NonNull public android.app.slice.Slice getSlice(); + method public boolean isPinned(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.InlinePresentation> CREATOR; + } + public final class LuhnChecksumValidator implements android.os.Parcelable android.service.autofill.Validator { ctor public LuhnChecksumValidator(@NonNull android.view.autofill.AutofillId...); method public int describeContents(); @@ -41714,12 +43177,18 @@ package android.service.autofill { field public static final int FLAG_DONT_SAVE_ON_FINISH = 2; // 0x2 field public static final int FLAG_SAVE_ON_ALL_VIEWS_INVISIBLE = 1; // 0x1 field public static final int NEGATIVE_BUTTON_STYLE_CANCEL = 0; // 0x0 + field public static final int NEGATIVE_BUTTON_STYLE_NEVER = 2; // 0x2 field public static final int NEGATIVE_BUTTON_STYLE_REJECT = 1; // 0x1 + field public static final int POSITIVE_BUTTON_STYLE_CONTINUE = 1; // 0x1 + field public static final int POSITIVE_BUTTON_STYLE_SAVE = 0; // 0x0 field public static final int SAVE_DATA_TYPE_ADDRESS = 2; // 0x2 field public static final int SAVE_DATA_TYPE_CREDIT_CARD = 4; // 0x4 + field public static final int SAVE_DATA_TYPE_DEBIT_CARD = 32; // 0x20 field public static final int SAVE_DATA_TYPE_EMAIL_ADDRESS = 16; // 0x10 field public static final int SAVE_DATA_TYPE_GENERIC = 0; // 0x0 + field public static final int SAVE_DATA_TYPE_GENERIC_CARD = 128; // 0x80 field public static final int SAVE_DATA_TYPE_PASSWORD = 1; // 0x1 + field public static final int SAVE_DATA_TYPE_PAYMENT_CARD = 64; // 0x40 field public static final int SAVE_DATA_TYPE_USERNAME = 8; // 0x8 } @@ -41733,6 +43202,7 @@ package android.service.autofill { method @NonNull public android.service.autofill.SaveInfo.Builder setFlags(int); method @NonNull public android.service.autofill.SaveInfo.Builder setNegativeAction(int, @Nullable android.content.IntentSender); method @NonNull public android.service.autofill.SaveInfo.Builder setOptionalIds(@NonNull android.view.autofill.AutofillId[]); + method @NonNull public android.service.autofill.SaveInfo.Builder setPositiveAction(int); method @NonNull public android.service.autofill.SaveInfo.Builder setTriggerId(@NonNull android.view.autofill.AutofillId); method @NonNull public android.service.autofill.SaveInfo.Builder setValidator(@NonNull android.service.autofill.Validator); } @@ -41893,25 +43363,289 @@ package android.service.carrier { package android.service.chooser { - public final class ChooserTarget implements android.os.Parcelable { - ctor public ChooserTarget(CharSequence, android.graphics.drawable.Icon, float, android.content.ComponentName, @Nullable android.os.Bundle); + @Deprecated public final class ChooserTarget implements android.os.Parcelable { + ctor @Deprecated public ChooserTarget(CharSequence, android.graphics.drawable.Icon, float, android.content.ComponentName, @Nullable android.os.Bundle); + method @Deprecated public int describeContents(); + method @Deprecated public android.content.ComponentName getComponentName(); + method @Deprecated public android.graphics.drawable.Icon getIcon(); + method @Deprecated public android.os.Bundle getIntentExtras(); + method @Deprecated public float getScore(); + method @Deprecated public CharSequence getTitle(); + method @Deprecated public void writeToParcel(android.os.Parcel, int); + field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.service.chooser.ChooserTarget> CREATOR; + } + + @Deprecated public abstract class ChooserTargetService extends android.app.Service { + ctor @Deprecated public ChooserTargetService(); + method @Deprecated public android.os.IBinder onBind(android.content.Intent); + method @Deprecated public abstract java.util.List<android.service.chooser.ChooserTarget> onGetChooserTargets(android.content.ComponentName, android.content.IntentFilter); + field @Deprecated public static final String BIND_PERMISSION = "android.permission.BIND_CHOOSER_TARGET_SERVICE"; + field @Deprecated public static final String META_DATA_NAME = "android.service.chooser.chooser_target_service"; + field @Deprecated public static final String SERVICE_INTERFACE = "android.service.chooser.ChooserTargetService"; + } + +} + +package android.service.controls { + + public final class Control implements android.os.Parcelable { method public int describeContents(); - method public android.content.ComponentName getComponentName(); - method public android.graphics.drawable.Icon getIcon(); - method public android.os.Bundle getIntentExtras(); - method public float getScore(); - method public CharSequence getTitle(); - method public void writeToParcel(android.os.Parcel, int); - field @NonNull public static final android.os.Parcelable.Creator<android.service.chooser.ChooserTarget> CREATOR; + method @NonNull public android.app.PendingIntent getAppIntent(); + method @NonNull public String getControlId(); + method @NonNull public android.service.controls.templates.ControlTemplate getControlTemplate(); + method @Nullable public android.content.res.ColorStateList getCustomColor(); + method @Nullable public android.graphics.drawable.Icon getCustomIcon(); + method public int getDeviceType(); + method public int getStatus(); + method @NonNull public CharSequence getStatusText(); + method @Nullable public CharSequence getStructure(); + method @NonNull public CharSequence getSubtitle(); + method @NonNull public CharSequence getTitle(); + method @Nullable public CharSequence getZone(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.service.controls.Control> CREATOR; + field public static final int STATUS_DISABLED = 4; // 0x4 + field public static final int STATUS_ERROR = 3; // 0x3 + field public static final int STATUS_NOT_FOUND = 2; // 0x2 + field public static final int STATUS_OK = 1; // 0x1 + field public static final int STATUS_UNKNOWN = 0; // 0x0 } - public abstract class ChooserTargetService extends android.app.Service { - ctor public ChooserTargetService(); - method public android.os.IBinder onBind(android.content.Intent); - method public abstract java.util.List<android.service.chooser.ChooserTarget> onGetChooserTargets(android.content.ComponentName, android.content.IntentFilter); - field public static final String BIND_PERMISSION = "android.permission.BIND_CHOOSER_TARGET_SERVICE"; - field public static final String META_DATA_NAME = "android.service.chooser.chooser_target_service"; - field public static final String SERVICE_INTERFACE = "android.service.chooser.ChooserTargetService"; + public static final class Control.StatefulBuilder { + ctor public Control.StatefulBuilder(@NonNull String, @NonNull android.app.PendingIntent); + ctor public Control.StatefulBuilder(@NonNull android.service.controls.Control); + method @NonNull public android.service.controls.Control build(); + method @NonNull public android.service.controls.Control.StatefulBuilder setAppIntent(@NonNull android.app.PendingIntent); + method @NonNull public android.service.controls.Control.StatefulBuilder setControlId(@NonNull String); + method @NonNull public android.service.controls.Control.StatefulBuilder setControlTemplate(@NonNull android.service.controls.templates.ControlTemplate); + method @NonNull public android.service.controls.Control.StatefulBuilder setCustomColor(@Nullable android.content.res.ColorStateList); + method @NonNull public android.service.controls.Control.StatefulBuilder setCustomIcon(@Nullable android.graphics.drawable.Icon); + method @NonNull public android.service.controls.Control.StatefulBuilder setDeviceType(int); + method @NonNull public android.service.controls.Control.StatefulBuilder setStatus(int); + method @NonNull public android.service.controls.Control.StatefulBuilder setStatusText(@NonNull CharSequence); + method @NonNull public android.service.controls.Control.StatefulBuilder setStructure(@Nullable CharSequence); + method @NonNull public android.service.controls.Control.StatefulBuilder setSubtitle(@NonNull CharSequence); + method @NonNull public android.service.controls.Control.StatefulBuilder setTitle(@NonNull CharSequence); + method @NonNull public android.service.controls.Control.StatefulBuilder setZone(@Nullable CharSequence); + } + + public static final class Control.StatelessBuilder { + ctor public Control.StatelessBuilder(@NonNull String, @NonNull android.app.PendingIntent); + ctor public Control.StatelessBuilder(@NonNull android.service.controls.Control); + method @NonNull public android.service.controls.Control build(); + method @NonNull public android.service.controls.Control.StatelessBuilder setAppIntent(@NonNull android.app.PendingIntent); + method @NonNull public android.service.controls.Control.StatelessBuilder setControlId(@NonNull String); + method @NonNull public android.service.controls.Control.StatelessBuilder setCustomColor(@Nullable android.content.res.ColorStateList); + method @NonNull public android.service.controls.Control.StatelessBuilder setCustomIcon(@Nullable android.graphics.drawable.Icon); + method @NonNull public android.service.controls.Control.StatelessBuilder setDeviceType(int); + method @NonNull public android.service.controls.Control.StatelessBuilder setStructure(@Nullable CharSequence); + method @NonNull public android.service.controls.Control.StatelessBuilder setSubtitle(@NonNull CharSequence); + method @NonNull public android.service.controls.Control.StatelessBuilder setTitle(@NonNull CharSequence); + method @NonNull public android.service.controls.Control.StatelessBuilder setZone(@Nullable CharSequence); + } + + public abstract class ControlsProviderService extends android.app.Service { + ctor public ControlsProviderService(); + method @NonNull public abstract java.util.concurrent.Flow.Publisher<android.service.controls.Control> createPublisherFor(@NonNull java.util.List<java.lang.String>); + method @NonNull public abstract java.util.concurrent.Flow.Publisher<android.service.controls.Control> createPublisherForAllAvailable(); + method @Nullable public java.util.concurrent.Flow.Publisher<android.service.controls.Control> createPublisherForSuggested(); + method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent); + method public final boolean onUnbind(@NonNull android.content.Intent); + method public abstract void performControlAction(@NonNull String, @NonNull android.service.controls.actions.ControlAction, @NonNull java.util.function.Consumer<java.lang.Integer>); + method public static void requestAddControl(@NonNull android.content.Context, @NonNull android.content.ComponentName, @NonNull android.service.controls.Control); + field public static final String SERVICE_CONTROLS = "android.service.controls.ControlsProviderService"; + field @NonNull public static final String TAG = "ControlsProviderService"; + } + + public class DeviceTypes { + method public static boolean validDeviceType(int); + field public static final int TYPE_AC_HEATER = 1; // 0x1 + field public static final int TYPE_AC_UNIT = 2; // 0x2 + field public static final int TYPE_AIR_FRESHENER = 3; // 0x3 + field public static final int TYPE_AIR_PURIFIER = 4; // 0x4 + field public static final int TYPE_AWNING = 33; // 0x21 + field public static final int TYPE_BLINDS = 34; // 0x22 + field public static final int TYPE_CAMERA = 50; // 0x32 + field public static final int TYPE_CLOSET = 35; // 0x23 + field public static final int TYPE_COFFEE_MAKER = 5; // 0x5 + field public static final int TYPE_CURTAIN = 36; // 0x24 + field public static final int TYPE_DEHUMIDIFIER = 6; // 0x6 + field public static final int TYPE_DISHWASHER = 24; // 0x18 + field public static final int TYPE_DISPLAY = 7; // 0x7 + field public static final int TYPE_DOOR = 37; // 0x25 + field public static final int TYPE_DOORBELL = 51; // 0x33 + field public static final int TYPE_DRAWER = 38; // 0x26 + field public static final int TYPE_DRYER = 25; // 0x19 + field public static final int TYPE_FAN = 8; // 0x8 + field public static final int TYPE_GARAGE = 39; // 0x27 + field public static final int TYPE_GATE = 40; // 0x28 + field public static final int TYPE_GENERIC_ARM_DISARM = -5; // 0xfffffffb + field public static final int TYPE_GENERIC_LOCK_UNLOCK = -4; // 0xfffffffc + field public static final int TYPE_GENERIC_ON_OFF = -1; // 0xffffffff + field public static final int TYPE_GENERIC_OPEN_CLOSE = -3; // 0xfffffffd + field public static final int TYPE_GENERIC_START_STOP = -2; // 0xfffffffe + field public static final int TYPE_GENERIC_TEMP_SETTING = -6; // 0xfffffffa + field public static final int TYPE_GENERIC_VIEWSTREAM = -7; // 0xfffffff9 + field public static final int TYPE_HEATER = 47; // 0x2f + field public static final int TYPE_HOOD = 10; // 0xa + field public static final int TYPE_HUMIDIFIER = 11; // 0xb + field public static final int TYPE_KETTLE = 12; // 0xc + field public static final int TYPE_LIGHT = 13; // 0xd + field public static final int TYPE_LOCK = 45; // 0x2d + field public static final int TYPE_MICROWAVE = 14; // 0xe + field public static final int TYPE_MOP = 26; // 0x1a + field public static final int TYPE_MOWER = 27; // 0x1b + field public static final int TYPE_MULTICOOKER = 28; // 0x1c + field public static final int TYPE_OUTLET = 15; // 0xf + field public static final int TYPE_PERGOLA = 41; // 0x29 + field public static final int TYPE_RADIATOR = 16; // 0x10 + field public static final int TYPE_REFRIGERATOR = 48; // 0x30 + field public static final int TYPE_REMOTE_CONTROL = 17; // 0x11 + field public static final int TYPE_ROUTINE = 52; // 0x34 + field public static final int TYPE_SECURITY_SYSTEM = 46; // 0x2e + field public static final int TYPE_SET_TOP = 18; // 0x12 + field public static final int TYPE_SHOWER = 29; // 0x1d + field public static final int TYPE_SHUTTER = 42; // 0x2a + field public static final int TYPE_SPRINKLER = 30; // 0x1e + field public static final int TYPE_STANDMIXER = 19; // 0x13 + field public static final int TYPE_STYLER = 20; // 0x14 + field public static final int TYPE_SWITCH = 21; // 0x15 + field public static final int TYPE_THERMOSTAT = 49; // 0x31 + field public static final int TYPE_TV = 22; // 0x16 + field public static final int TYPE_UNKNOWN = 0; // 0x0 + field public static final int TYPE_VACUUM = 32; // 0x20 + field public static final int TYPE_VALVE = 44; // 0x2c + field public static final int TYPE_WASHER = 31; // 0x1f + field public static final int TYPE_WATER_HEATER = 23; // 0x17 + field public static final int TYPE_WINDOW = 43; // 0x2b + } + +} + +package android.service.controls.actions { + + public final class BooleanAction extends android.service.controls.actions.ControlAction { + ctor public BooleanAction(@NonNull String, boolean); + ctor public BooleanAction(@NonNull String, boolean, @Nullable String); + method public int getActionType(); + method public boolean getNewState(); + } + + public final class CommandAction extends android.service.controls.actions.ControlAction { + ctor public CommandAction(@NonNull String, @Nullable String); + ctor public CommandAction(@NonNull String); + method public int getActionType(); + } + + public abstract class ControlAction { + method public abstract int getActionType(); + method @Nullable public String getChallengeValue(); + method @NonNull public static android.service.controls.actions.ControlAction getErrorAction(); + method @NonNull public String getTemplateId(); + method public static final boolean isValidResponse(int); + field public static final int RESPONSE_CHALLENGE_ACK = 3; // 0x3 + field public static final int RESPONSE_CHALLENGE_PASSPHRASE = 5; // 0x5 + field public static final int RESPONSE_CHALLENGE_PIN = 4; // 0x4 + field public static final int RESPONSE_FAIL = 2; // 0x2 + field public static final int RESPONSE_OK = 1; // 0x1 + field public static final int RESPONSE_UNKNOWN = 0; // 0x0 + field public static final int TYPE_BOOLEAN = 1; // 0x1 + field public static final int TYPE_COMMAND = 5; // 0x5 + field public static final int TYPE_ERROR = -1; // 0xffffffff + field public static final int TYPE_FLOAT = 2; // 0x2 + field public static final int TYPE_MODE = 4; // 0x4 + } + + public final class FloatAction extends android.service.controls.actions.ControlAction { + ctor public FloatAction(@NonNull String, float); + ctor public FloatAction(@NonNull String, float, @Nullable String); + method public int getActionType(); + method public float getNewValue(); + } + + public final class ModeAction extends android.service.controls.actions.ControlAction { + ctor public ModeAction(@NonNull String, int, @Nullable String); + ctor public ModeAction(@NonNull String, int); + method public int getActionType(); + method public int getNewMode(); + } + +} + +package android.service.controls.templates { + + public final class ControlButton implements android.os.Parcelable { + ctor public ControlButton(boolean, @NonNull CharSequence); + method public int describeContents(); + method @NonNull public CharSequence getActionDescription(); + method public boolean isChecked(); + method @NonNull public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.service.controls.templates.ControlButton> CREATOR; + } + + public abstract class ControlTemplate { + method @NonNull public static android.service.controls.templates.ControlTemplate getErrorTemplate(); + method @NonNull public static android.service.controls.templates.ControlTemplate getNoTemplateObject(); + method @NonNull public String getTemplateId(); + method public abstract int getTemplateType(); + field public static final int TYPE_ERROR = -1; // 0xffffffff + field public static final int TYPE_NO_TEMPLATE = 0; // 0x0 + field public static final int TYPE_RANGE = 2; // 0x2 + field public static final int TYPE_STATELESS = 8; // 0x8 + field public static final int TYPE_TEMPERATURE = 7; // 0x7 + field public static final int TYPE_TOGGLE = 1; // 0x1 + field public static final int TYPE_TOGGLE_RANGE = 6; // 0x6 + } + + public final class RangeTemplate extends android.service.controls.templates.ControlTemplate { + ctor public RangeTemplate(@NonNull String, float, float, float, float, @Nullable CharSequence); + method public float getCurrentValue(); + method @NonNull public CharSequence getFormatString(); + method public float getMaxValue(); + method public float getMinValue(); + method public float getStepValue(); + method public int getTemplateType(); + } + + public final class StatelessTemplate extends android.service.controls.templates.ControlTemplate { + ctor public StatelessTemplate(@NonNull String); + method public int getTemplateType(); + } + + public final class TemperatureControlTemplate extends android.service.controls.templates.ControlTemplate { + ctor public TemperatureControlTemplate(@NonNull String, @NonNull android.service.controls.templates.ControlTemplate, int, int, int); + method public int getCurrentActiveMode(); + method public int getCurrentMode(); + method public int getModes(); + method @NonNull public android.service.controls.templates.ControlTemplate getTemplate(); + method public int getTemplateType(); + field public static final int FLAG_MODE_COOL = 8; // 0x8 + field public static final int FLAG_MODE_ECO = 32; // 0x20 + field public static final int FLAG_MODE_HEAT = 4; // 0x4 + field public static final int FLAG_MODE_HEAT_COOL = 16; // 0x10 + field public static final int FLAG_MODE_OFF = 2; // 0x2 + field public static final int MODE_COOL = 3; // 0x3 + field public static final int MODE_ECO = 5; // 0x5 + field public static final int MODE_HEAT = 2; // 0x2 + field public static final int MODE_HEAT_COOL = 4; // 0x4 + field public static final int MODE_OFF = 1; // 0x1 + field public static final int MODE_UNKNOWN = 0; // 0x0 + } + + public final class ToggleRangeTemplate extends android.service.controls.templates.ControlTemplate { + ctor public ToggleRangeTemplate(@NonNull String, @NonNull android.service.controls.templates.ControlButton, @NonNull android.service.controls.templates.RangeTemplate); + ctor public ToggleRangeTemplate(@NonNull String, boolean, @NonNull CharSequence, @NonNull android.service.controls.templates.RangeTemplate); + method @NonNull public CharSequence getActionDescription(); + method @NonNull public android.service.controls.templates.RangeTemplate getRange(); + method public int getTemplateType(); + method public boolean isChecked(); + } + + public final class ToggleTemplate extends android.service.controls.templates.ControlTemplate { + ctor public ToggleTemplate(@NonNull String, @NonNull android.service.controls.templates.ControlButton); + method @NonNull public CharSequence getContentDescription(); + method public int getTemplateType(); + method public boolean isChecked(); } } @@ -42178,6 +43912,7 @@ package android.service.notification { method public int getUid(); method public android.os.UserHandle getUser(); method @Deprecated public int getUserId(); + method public boolean isAppGroup(); method public boolean isClearable(); method public boolean isGroup(); method public boolean isOngoing(); @@ -42191,12 +43926,14 @@ package android.service.notification { method public int getPriorityCallSenders(); method public int getPriorityCategoryAlarms(); method public int getPriorityCategoryCalls(); + method public int getPriorityCategoryConversations(); method public int getPriorityCategoryEvents(); method public int getPriorityCategoryMedia(); method public int getPriorityCategoryMessages(); method public int getPriorityCategoryReminders(); method public int getPriorityCategoryRepeatCallers(); method public int getPriorityCategorySystem(); + method public int getPriorityConversationSenders(); method public int getPriorityMessageSenders(); method public int getVisualEffectAmbient(); method public int getVisualEffectBadge(); @@ -42206,6 +43943,10 @@ package android.service.notification { method public int getVisualEffectPeek(); method public int getVisualEffectStatusBar(); method public void writeToParcel(android.os.Parcel, int); + field public static final int CONVERSATION_SENDERS_ANYONE = 1; // 0x1 + field public static final int CONVERSATION_SENDERS_IMPORTANT = 2; // 0x2 + field public static final int CONVERSATION_SENDERS_NONE = 3; // 0x3 + field public static final int CONVERSATION_SENDERS_UNSET = 0; // 0x0 field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.ZenPolicy> CREATOR; field public static final int PEOPLE_TYPE_ANYONE = 1; // 0x1 field public static final int PEOPLE_TYPE_CONTACTS = 2; // 0x2 @@ -42222,6 +43963,7 @@ package android.service.notification { method @NonNull public android.service.notification.ZenPolicy.Builder allowAlarms(boolean); method @NonNull public android.service.notification.ZenPolicy.Builder allowAllSounds(); method @NonNull public android.service.notification.ZenPolicy.Builder allowCalls(int); + method @NonNull public android.service.notification.ZenPolicy.Builder allowConversations(int); method @NonNull public android.service.notification.ZenPolicy.Builder allowEvents(boolean); method @NonNull public android.service.notification.ZenPolicy.Builder allowMedia(boolean); method @NonNull public android.service.notification.ZenPolicy.Builder allowMessages(int); @@ -42243,6 +43985,93 @@ package android.service.notification { } +package android.service.quickaccesswallet { + + public interface GetWalletCardsCallback { + method public void onFailure(@NonNull android.service.quickaccesswallet.GetWalletCardsError); + method public void onSuccess(@NonNull android.service.quickaccesswallet.GetWalletCardsResponse); + } + + public final class GetWalletCardsError implements android.os.Parcelable { + ctor public GetWalletCardsError(@Nullable android.graphics.drawable.Icon, @Nullable CharSequence); + method public int describeContents(); + method @Nullable public android.graphics.drawable.Icon getIcon(); + method @Nullable public CharSequence getMessage(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.service.quickaccesswallet.GetWalletCardsError> CREATOR; + } + + public final class GetWalletCardsRequest implements android.os.Parcelable { + ctor public GetWalletCardsRequest(int, int, int, int); + method public int describeContents(); + method public int getCardHeightPx(); + method public int getCardWidthPx(); + method public int getIconSizePx(); + method public int getMaxCards(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.service.quickaccesswallet.GetWalletCardsRequest> CREATOR; + } + + public final class GetWalletCardsResponse implements android.os.Parcelable { + ctor public GetWalletCardsResponse(@NonNull java.util.List<android.service.quickaccesswallet.WalletCard>, int); + method public int describeContents(); + method public int getSelectedIndex(); + method @NonNull public java.util.List<android.service.quickaccesswallet.WalletCard> getWalletCards(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.service.quickaccesswallet.GetWalletCardsResponse> CREATOR; + } + + public abstract class QuickAccessWalletService extends android.app.Service { + ctor public QuickAccessWalletService(); + method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent); + method public abstract void onWalletCardSelected(@NonNull android.service.quickaccesswallet.SelectWalletCardRequest); + method public abstract void onWalletCardsRequested(@NonNull android.service.quickaccesswallet.GetWalletCardsRequest, @NonNull android.service.quickaccesswallet.GetWalletCardsCallback); + method public abstract void onWalletDismissed(); + method public final void sendWalletServiceEvent(@NonNull android.service.quickaccesswallet.WalletServiceEvent); + field public static final String ACTION_VIEW_WALLET = "android.service.quickaccesswallet.action.VIEW_WALLET"; + field public static final String ACTION_VIEW_WALLET_SETTINGS = "android.service.quickaccesswallet.action.VIEW_WALLET_SETTINGS"; + field public static final String SERVICE_INTERFACE = "android.service.quickaccesswallet.QuickAccessWalletService"; + field public static final String SERVICE_META_DATA = "android.quickaccesswallet"; + } + + public final class SelectWalletCardRequest implements android.os.Parcelable { + ctor public SelectWalletCardRequest(@NonNull String); + method public int describeContents(); + method @NonNull public String getCardId(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.service.quickaccesswallet.SelectWalletCardRequest> CREATOR; + } + + public final class WalletCard implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public android.graphics.drawable.Icon getCardIcon(); + method @NonNull public String getCardId(); + method @NonNull public android.graphics.drawable.Icon getCardImage(); + method @Nullable public CharSequence getCardLabel(); + method @NonNull public CharSequence getContentDescription(); + method @NonNull public android.app.PendingIntent getPendingIntent(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.service.quickaccesswallet.WalletCard> CREATOR; + } + + public static final class WalletCard.Builder { + ctor public WalletCard.Builder(@NonNull String, @NonNull android.graphics.drawable.Icon, @NonNull CharSequence, @NonNull android.app.PendingIntent); + method @NonNull public android.service.quickaccesswallet.WalletCard build(); + method @NonNull public android.service.quickaccesswallet.WalletCard.Builder setCardIcon(@Nullable android.graphics.drawable.Icon); + method @NonNull public android.service.quickaccesswallet.WalletCard.Builder setCardLabel(@Nullable CharSequence); + } + + public final class WalletServiceEvent implements android.os.Parcelable { + ctor public WalletServiceEvent(int); + method public int describeContents(); + method public int getEventType(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.service.quickaccesswallet.WalletServiceEvent> CREATOR; + field public static final int TYPE_NFC_PAYMENT_STARTED = 1; // 0x1 + } + +} + package android.service.quicksettings { public final class Tile implements android.os.Parcelable { @@ -42251,11 +44080,13 @@ package android.service.quicksettings { method public android.graphics.drawable.Icon getIcon(); method public CharSequence getLabel(); method public int getState(); + method @Nullable public CharSequence getStateDescription(); method @Nullable public CharSequence getSubtitle(); method public void setContentDescription(CharSequence); method public void setIcon(android.graphics.drawable.Icon); method public void setLabel(CharSequence); method public void setState(int); + method public void setStateDescription(@Nullable CharSequence); method public void setSubtitle(@Nullable CharSequence); method public void updateTile(); method public void writeToParcel(android.os.Parcel, int); @@ -42283,6 +44114,7 @@ package android.service.quicksettings { field public static final String ACTION_QS_TILE = "android.service.quicksettings.action.QS_TILE"; field public static final String ACTION_QS_TILE_PREFERENCES = "android.service.quicksettings.action.QS_TILE_PREFERENCES"; field public static final String META_DATA_ACTIVE_TILE = "android.service.quicksettings.ACTIVE_TILE"; + field public static final String META_DATA_TOGGLEABLE_TILE = "android.service.quicksettings.TOGGLEABLE_TILE"; } } @@ -42326,17 +44158,26 @@ package android.service.voice { method public android.content.Intent createEnrollIntent(); method public android.content.Intent createReEnrollIntent(); method public android.content.Intent createUnEnrollIntent(); + method public int getParameter(int); + method public int getSupportedAudioCapabilities(); method public int getSupportedRecognitionModes(); + method @Nullable public android.service.voice.AlwaysOnHotwordDetector.ModelParamRange queryParameter(int); + method public int setParameter(int, int); method public boolean startRecognition(int); method public boolean stopRecognition(); + field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1 + field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2 + field public static final int MODEL_PARAM_THRESHOLD_FACTOR = 0; // 0x0 field public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2 field public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1 + field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4 + field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8 field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2 field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1 field public static final int STATE_HARDWARE_UNAVAILABLE = -2; // 0xfffffffe field public static final int STATE_KEYPHRASE_ENROLLED = 2; // 0x2 field public static final int STATE_KEYPHRASE_UNENROLLED = 1; // 0x1 - field public static final int STATE_KEYPHRASE_UNSUPPORTED = -1; // 0xffffffff + field @Deprecated public static final int STATE_KEYPHRASE_UNSUPPORTED = -1; // 0xffffffff } public abstract static class AlwaysOnHotwordDetector.Callback { @@ -42353,6 +44194,11 @@ package android.service.voice { method @Nullable public byte[] getTriggerAudio(); } + public static final class AlwaysOnHotwordDetector.ModelParamRange { + method public int getEnd(); + method public int getStart(); + } + public class VoiceInteractionService extends android.app.Service { ctor public VoiceInteractionService(); method public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetector(String, java.util.Locale, android.service.voice.AlwaysOnHotwordDetector.Callback); @@ -42550,6 +44396,7 @@ package android.service.wallpaper { method public void onSurfaceRedrawNeeded(android.view.SurfaceHolder); method public void onTouchEvent(android.view.MotionEvent); method public void onVisibilityChanged(boolean); + method public void onZoomChanged(@FloatRange(from=0.0f, to=1.0f) float); method public void setOffsetNotificationsEnabled(boolean); method public void setTouchEventsEnabled(boolean); } @@ -42730,6 +44577,7 @@ package android.speech.tts { method public int speak(CharSequence, int, android.os.Bundle, String); method @Deprecated public int speak(String, int, java.util.HashMap<java.lang.String,java.lang.String>); method public int stop(); + method public int synthesizeToFile(@NonNull CharSequence, @NonNull android.os.Bundle, @NonNull android.os.ParcelFileDescriptor, @NonNull String); method public int synthesizeToFile(CharSequence, android.os.Bundle, java.io.File, String); method @Deprecated public int synthesizeToFile(String, java.util.HashMap<java.lang.String,java.lang.String>, String); field public static final String ACTION_TTS_QUEUE_PROCESSING_COMPLETED = "android.speech.tts.TTS_QUEUE_PROCESSING_COMPLETED"; @@ -44409,7 +46257,7 @@ package android.telecom { method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts(); method public String getDefaultDialerPackage(); method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public android.telecom.PhoneAccountHandle getDefaultOutgoingPhoneAccount(String); - method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getLine1Number(android.telecom.PhoneAccountHandle); + method @RequiresPermission(anyOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.READ_SMS, android.Manifest.permission.READ_PHONE_NUMBERS}, conditional=true) public String getLine1Number(android.telecom.PhoneAccountHandle); method public android.telecom.PhoneAccount getPhoneAccount(android.telecom.PhoneAccountHandle); method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.List<android.telecom.PhoneAccountHandle> getSelfManagedPhoneAccounts(); method public android.telecom.PhoneAccountHandle getSimCallManager(); @@ -44758,6 +46606,7 @@ package android.telephony { field public static final String ACTION_CARRIER_CONFIG_CHANGED = "android.telephony.action.CARRIER_CONFIG_CHANGED"; field public static final int DATA_CYCLE_THRESHOLD_DISABLED = -2; // 0xfffffffe field public static final int DATA_CYCLE_USE_PLATFORM_DEFAULT = -1; // 0xffffffff + field public static final String ENABLE_EAP_METHOD_PREFIX_BOOL = "enable_eap_method_prefix_bool"; field public static final String EXTRA_SLOT_INDEX = "android.telephony.extra.SLOT_INDEX"; field public static final String EXTRA_SUBSCRIPTION_INDEX = "android.telephony.extra.SUBSCRIPTION_INDEX"; field public static final String IMSI_KEY_AVAILABILITY_INT = "imsi_key_availability_int"; @@ -44957,6 +46806,7 @@ package android.telephony { field public static final String KEY_SHOW_BLOCKING_PAY_PHONE_OPTION_BOOL = "show_blocking_pay_phone_option_bool"; field public static final String KEY_SHOW_CALL_BLOCKING_DISABLED_NOTIFICATION_ALWAYS_BOOL = "show_call_blocking_disabled_notification_always_bool"; field public static final String KEY_SHOW_CDMA_CHOICES_BOOL = "show_cdma_choices_bool"; + field public static final String KEY_SHOW_FORWARDED_NUMBER_BOOL = "show_forwarded_number_bool"; field public static final String KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL = "show_iccid_in_sim_status_bool"; field public static final String KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL = "show_ims_registration_status_bool"; field public static final String KEY_SHOW_ONSCREEN_DIAL_BUTTON_BOOL = "show_onscreen_dial_button_bool"; @@ -45004,6 +46854,15 @@ package android.telephony { field public static final String KEY_WORLD_PHONE_BOOL = "world_phone_bool"; } + public static final class CarrierConfigManager.Apn { + field public static final String KEY_PREFIX = "apn."; + field public static final String KEY_SETTINGS_DEFAULT_PROTOCOL_STRING = "apn.settings_default_protocol_string"; + field public static final String KEY_SETTINGS_DEFAULT_ROAMING_PROTOCOL_STRING = "apn.settings_default_roaming_protocol_string"; + field public static final String PROTOCOL_IPV4 = "IP"; + field public static final String PROTOCOL_IPV4V6 = "IPV4V6"; + field public static final String PROTOCOL_IPV6 = "IPV6"; + } + public static final class CarrierConfigManager.Gps { field public static final String KEY_PERSIST_LPP_MODE_BOOL = "gps.persist_lpp_mode_bool"; field public static final String KEY_PREFIX = "gps."; @@ -45011,6 +46870,7 @@ package android.telephony { public static final class CarrierConfigManager.Ims { field public static final String KEY_PREFIX = "ims."; + field public static final String KEY_WIFI_OFF_DEFERRING_TIME_MILLIS_INT = "ims.wifi_off_deferring_time_millis_int"; } public abstract class CellIdentity implements android.os.Parcelable { @@ -45178,7 +47038,6 @@ package android.telephony { method public abstract int getAsuLevel(); method public abstract int getDbm(); method @IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) public abstract int getLevel(); - method public static final int getNumSignalStrengthLevels(); method public abstract int hashCode(); field public static final int SIGNAL_STRENGTH_GOOD = 3; // 0x3 field public static final int SIGNAL_STRENGTH_GREAT = 4; // 0x4 @@ -45274,6 +47133,350 @@ package android.telephony { field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ClosedSubscriberGroupInfo> CREATOR; } + public final class DataFailCause { + field public static final int ACCESS_ATTEMPT_ALREADY_IN_PROGRESS = 2219; // 0x8ab + field public static final int ACCESS_BLOCK = 2087; // 0x827 + field public static final int ACCESS_BLOCK_ALL = 2088; // 0x828 + field public static final int ACCESS_CLASS_DSAC_REJECTION = 2108; // 0x83c + field public static final int ACCESS_CONTROL_LIST_CHECK_FAILURE = 2128; // 0x850 + field public static final int ACTIVATION_REJECTED_BCM_VIOLATION = 48; // 0x30 + field public static final int ACTIVATION_REJECT_GGSN = 30; // 0x1e + field public static final int ACTIVATION_REJECT_UNSPECIFIED = 31; // 0x1f + field public static final int ACTIVE_PDP_CONTEXT_MAX_NUMBER_REACHED = 65; // 0x41 + field public static final int APN_DISABLED = 2045; // 0x7fd + field public static final int APN_DISALLOWED_ON_ROAMING = 2059; // 0x80b + field public static final int APN_MISMATCH = 2054; // 0x806 + field public static final int APN_PARAMETERS_CHANGED = 2060; // 0x80c + field public static final int APN_PENDING_HANDOVER = 2041; // 0x7f9 + field public static final int APN_TYPE_CONFLICT = 112; // 0x70 + field public static final int AUTH_FAILURE_ON_EMERGENCY_CALL = 122; // 0x7a + field public static final int BEARER_HANDLING_NOT_SUPPORTED = 60; // 0x3c + field public static final int CALL_DISALLOWED_IN_ROAMING = 2068; // 0x814 + field public static final int CALL_PREEMPT_BY_EMERGENCY_APN = 127; // 0x7f + field public static final int CANNOT_ENCODE_OTA_MESSAGE = 2159; // 0x86f + field public static final int CDMA_ALERT_STOP = 2077; // 0x81d + field public static final int CDMA_INCOMING_CALL = 2076; // 0x81c + field public static final int CDMA_INTERCEPT = 2073; // 0x819 + field public static final int CDMA_LOCK = 2072; // 0x818 + field public static final int CDMA_RELEASE_DUE_TO_SO_REJECTION = 2075; // 0x81b + field public static final int CDMA_REORDER = 2074; // 0x81a + field public static final int CDMA_RETRY_ORDER = 2086; // 0x826 + field public static final int CHANNEL_ACQUISITION_FAILURE = 2078; // 0x81e + field public static final int CLOSE_IN_PROGRESS = 2030; // 0x7ee + field public static final int COLLISION_WITH_NETWORK_INITIATED_REQUEST = 56; // 0x38 + field public static final int COMPANION_IFACE_IN_USE = 118; // 0x76 + field public static final int CONCURRENT_SERVICES_INCOMPATIBLE = 2083; // 0x823 + field public static final int CONCURRENT_SERVICES_NOT_ALLOWED = 2091; // 0x82b + field public static final int CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION = 2080; // 0x820 + field public static final int CONDITIONAL_IE_ERROR = 100; // 0x64 + field public static final int CONGESTION = 2106; // 0x83a + field public static final int CONNECTION_RELEASED = 2113; // 0x841 + field public static final int CS_DOMAIN_NOT_AVAILABLE = 2181; // 0x885 + field public static final int CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED = 2188; // 0x88c + field public static final int DATA_PLAN_EXPIRED = 2198; // 0x896 + field public static final int DATA_ROAMING_SETTINGS_DISABLED = 2064; // 0x810 + field public static final int DATA_SETTINGS_DISABLED = 2063; // 0x80f + field public static final int DBM_OR_SMS_IN_PROGRESS = 2211; // 0x8a3 + field public static final int DDS_SWITCHED = 2065; // 0x811 + field public static final int DDS_SWITCH_IN_PROGRESS = 2067; // 0x813 + field public static final int DRB_RELEASED_BY_RRC = 2112; // 0x840 + field public static final int DS_EXPLICIT_DEACTIVATION = 2125; // 0x84d + field public static final int DUAL_SWITCH = 2227; // 0x8b3 + field public static final int DUN_CALL_DISALLOWED = 2056; // 0x808 + field public static final int DUPLICATE_BEARER_ID = 2118; // 0x846 + field public static final int EHRPD_TO_HRPD_FALLBACK = 2049; // 0x801 + field public static final int EMBMS_NOT_ENABLED = 2193; // 0x891 + field public static final int EMBMS_REGULAR_DEACTIVATION = 2195; // 0x893 + field public static final int EMERGENCY_IFACE_ONLY = 116; // 0x74 + field public static final int EMERGENCY_MODE = 2221; // 0x8ad + field public static final int EMM_ACCESS_BARRED = 115; // 0x73 + field public static final int EMM_ACCESS_BARRED_INFINITE_RETRY = 121; // 0x79 + field public static final int EMM_ATTACH_FAILED = 2115; // 0x843 + field public static final int EMM_ATTACH_STARTED = 2116; // 0x844 + field public static final int EMM_DETACHED = 2114; // 0x842 + field public static final int EMM_T3417_EXPIRED = 2130; // 0x852 + field public static final int EMM_T3417_EXT_EXPIRED = 2131; // 0x853 + field public static final int EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED = 2178; // 0x882 + field public static final int EPS_SERVICES_NOT_ALLOWED_IN_PLMN = 2179; // 0x883 + field public static final int ERROR_UNSPECIFIED = 65535; // 0xffff + field public static final int ESM_BAD_OTA_MESSAGE = 2122; // 0x84a + field public static final int ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK = 2120; // 0x848 + field public static final int ESM_COLLISION_SCENARIOS = 2119; // 0x847 + field public static final int ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT = 2124; // 0x84c + field public static final int ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL = 2123; // 0x84b + field public static final int ESM_FAILURE = 2182; // 0x886 + field public static final int ESM_INFO_NOT_RECEIVED = 53; // 0x35 + field public static final int ESM_LOCAL_CAUSE_NONE = 2126; // 0x84e + field public static final int ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER = 2121; // 0x849 + field public static final int ESM_PROCEDURE_TIME_OUT = 2155; // 0x86b + field public static final int ESM_UNKNOWN_EPS_BEARER_CONTEXT = 2111; // 0x83f + field public static final int EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE = 2201; // 0x899 + field public static final int EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY = 2200; // 0x898 + field public static final int EVDO_HDR_CHANGED = 2202; // 0x89a + field public static final int EVDO_HDR_CONNECTION_SETUP_TIMEOUT = 2206; // 0x89e + field public static final int EVDO_HDR_EXITED = 2203; // 0x89b + field public static final int EVDO_HDR_NO_SESSION = 2204; // 0x89c + field public static final int EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL = 2205; // 0x89d + field public static final int FADE = 2217; // 0x8a9 + field public static final int FAILED_TO_ACQUIRE_COLOCATED_HDR = 2207; // 0x89f + field public static final int FEATURE_NOT_SUPP = 40; // 0x28 + field public static final int FILTER_SEMANTIC_ERROR = 44; // 0x2c + field public static final int FILTER_SYTAX_ERROR = 45; // 0x2d + field public static final int FORBIDDEN_APN_NAME = 2066; // 0x812 + field public static final int GPRS_REGISTRATION_FAIL = -2; // 0xfffffffe + field public static final int GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 2097; // 0x831 + field public static final int GPRS_SERVICES_NOT_ALLOWED = 2098; // 0x832 + field public static final int GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN = 2103; // 0x837 + field public static final int HANDOFF_PREFERENCE_CHANGED = 2251; // 0x8cb + field public static final int HDR_ACCESS_FAILURE = 2213; // 0x8a5 + field public static final int HDR_FADE = 2212; // 0x8a4 + field public static final int HDR_NO_LOCK_GRANTED = 2210; // 0x8a2 + field public static final int IFACE_AND_POL_FAMILY_MISMATCH = 120; // 0x78 + field public static final int IFACE_MISMATCH = 117; // 0x75 + field public static final int ILLEGAL_ME = 2096; // 0x830 + field public static final int ILLEGAL_MS = 2095; // 0x82f + field public static final int IMEI_NOT_ACCEPTED = 2177; // 0x881 + field public static final int IMPLICITLY_DETACHED = 2100; // 0x834 + field public static final int IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER = 2176; // 0x880 + field public static final int INCOMING_CALL_REJECTED = 2092; // 0x82c + field public static final int INSUFFICIENT_RESOURCES = 26; // 0x1a + field public static final int INTERFACE_IN_USE = 2058; // 0x80a + field public static final int INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN = 114; // 0x72 + field public static final int INTERNAL_EPC_NONEPC_TRANSITION = 2057; // 0x809 + field public static final int INVALID_CONNECTION_ID = 2156; // 0x86c + field public static final int INVALID_DNS_ADDR = 123; // 0x7b + field public static final int INVALID_EMM_STATE = 2190; // 0x88e + field public static final int INVALID_MANDATORY_INFO = 96; // 0x60 + field public static final int INVALID_MODE = 2223; // 0x8af + field public static final int INVALID_PCSCF_ADDR = 113; // 0x71 + field public static final int INVALID_PCSCF_OR_DNS_ADDRESS = 124; // 0x7c + field public static final int INVALID_PRIMARY_NSAPI = 2158; // 0x86e + field public static final int INVALID_SIM_STATE = 2224; // 0x8b0 + field public static final int INVALID_TRANSACTION_ID = 81; // 0x51 + field public static final int IPV6_ADDRESS_TRANSFER_FAILED = 2047; // 0x7ff + field public static final int IPV6_PREFIX_UNAVAILABLE = 2250; // 0x8ca + field public static final int IP_ADDRESS_MISMATCH = 119; // 0x77 + field public static final int IP_VERSION_MISMATCH = 2055; // 0x807 + field public static final int IRAT_HANDOVER_FAILED = 2194; // 0x892 + field public static final int IS707B_MAX_ACCESS_PROBES = 2089; // 0x829 + field public static final int LIMITED_TO_IPV4 = 2234; // 0x8ba + field public static final int LIMITED_TO_IPV6 = 2235; // 0x8bb + field public static final int LLC_SNDCP = 25; // 0x19 + field public static final int LOCAL_END = 2215; // 0x8a7 + field public static final int LOCATION_AREA_NOT_ALLOWED = 2102; // 0x836 + field public static final int LOST_CONNECTION = 65540; // 0x10004 + field public static final int LOWER_LAYER_REGISTRATION_FAILURE = 2197; // 0x895 + field public static final int LOW_POWER_MODE_OR_POWERING_DOWN = 2044; // 0x7fc + field public static final int LTE_NAS_SERVICE_REQUEST_FAILED = 2117; // 0x845 + field public static final int LTE_THROTTLING_NOT_REQUIRED = 2127; // 0x84f + field public static final int MAC_FAILURE = 2183; // 0x887 + field public static final int MAXIMIUM_NSAPIS_EXCEEDED = 2157; // 0x86d + field public static final int MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED = 2166; // 0x876 + field public static final int MAX_ACCESS_PROBE = 2079; // 0x81f + field public static final int MAX_IPV4_CONNECTIONS = 2052; // 0x804 + field public static final int MAX_IPV6_CONNECTIONS = 2053; // 0x805 + field public static final int MAX_PPP_INACTIVITY_TIMER_EXPIRED = 2046; // 0x7fe + field public static final int MESSAGE_INCORRECT_SEMANTIC = 95; // 0x5f + field public static final int MESSAGE_TYPE_UNSUPPORTED = 97; // 0x61 + field public static final int MIP_CONFIG_FAILURE = 2050; // 0x802 + field public static final int MIP_FA_ADMIN_PROHIBITED = 2001; // 0x7d1 + field public static final int MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED = 2012; // 0x7dc + field public static final int MIP_FA_ENCAPSULATION_UNAVAILABLE = 2008; // 0x7d8 + field public static final int MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE = 2004; // 0x7d4 + field public static final int MIP_FA_INSUFFICIENT_RESOURCES = 2002; // 0x7d2 + field public static final int MIP_FA_MALFORMED_REPLY = 2007; // 0x7d7 + field public static final int MIP_FA_MALFORMED_REQUEST = 2006; // 0x7d6 + field public static final int MIP_FA_MISSING_CHALLENGE = 2017; // 0x7e1 + field public static final int MIP_FA_MISSING_HOME_ADDRESS = 2015; // 0x7df + field public static final int MIP_FA_MISSING_HOME_AGENT = 2014; // 0x7de + field public static final int MIP_FA_MISSING_NAI = 2013; // 0x7dd + field public static final int MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE = 2003; // 0x7d3 + field public static final int MIP_FA_REASON_UNSPECIFIED = 2000; // 0x7d0 + field public static final int MIP_FA_REQUESTED_LIFETIME_TOO_LONG = 2005; // 0x7d5 + field public static final int MIP_FA_REVERSE_TUNNEL_IS_MANDATORY = 2011; // 0x7db + field public static final int MIP_FA_REVERSE_TUNNEL_UNAVAILABLE = 2010; // 0x7da + field public static final int MIP_FA_STALE_CHALLENGE = 2018; // 0x7e2 + field public static final int MIP_FA_UNKNOWN_CHALLENGE = 2016; // 0x7e0 + field public static final int MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE = 2009; // 0x7d9 + field public static final int MIP_HA_ADMIN_PROHIBITED = 2020; // 0x7e4 + field public static final int MIP_HA_ENCAPSULATION_UNAVAILABLE = 2029; // 0x7ed + field public static final int MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE = 2023; // 0x7e7 + field public static final int MIP_HA_INSUFFICIENT_RESOURCES = 2021; // 0x7e5 + field public static final int MIP_HA_MALFORMED_REQUEST = 2025; // 0x7e9 + field public static final int MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE = 2022; // 0x7e6 + field public static final int MIP_HA_REASON_UNSPECIFIED = 2019; // 0x7e3 + field public static final int MIP_HA_REGISTRATION_ID_MISMATCH = 2024; // 0x7e8 + field public static final int MIP_HA_REVERSE_TUNNEL_IS_MANDATORY = 2028; // 0x7ec + field public static final int MIP_HA_REVERSE_TUNNEL_UNAVAILABLE = 2027; // 0x7eb + field public static final int MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS = 2026; // 0x7ea + field public static final int MISSING_UNKNOWN_APN = 27; // 0x1b + field public static final int MODEM_APP_PREEMPTED = 2032; // 0x7f0 + field public static final int MODEM_RESTART = 2037; // 0x7f5 + field public static final int MSC_TEMPORARILY_NOT_REACHABLE = 2180; // 0x884 + field public static final int MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE = 101; // 0x65 + field public static final int MSG_TYPE_NONCOMPATIBLE_STATE = 98; // 0x62 + field public static final int MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK = 2099; // 0x833 + field public static final int MULTIPLE_PDP_CALL_NOT_ALLOWED = 2192; // 0x890 + field public static final int MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED = 55; // 0x37 + field public static final int NAS_LAYER_FAILURE = 2191; // 0x88f + field public static final int NAS_REQUEST_REJECTED_BY_NETWORK = 2167; // 0x877 + field public static final int NAS_SIGNALLING = 14; // 0xe + field public static final int NETWORK_FAILURE = 38; // 0x26 + field public static final int NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH = 2154; // 0x86a + field public static final int NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH = 2153; // 0x869 + field public static final int NETWORK_INITIATED_TERMINATION = 2031; // 0x7ef + field public static final int NONE = 0; // 0x0 + field public static final int NON_IP_NOT_SUPPORTED = 2069; // 0x815 + field public static final int NORMAL_RELEASE = 2218; // 0x8aa + field public static final int NO_CDMA_SERVICE = 2084; // 0x824 + field public static final int NO_COLLOCATED_HDR = 2225; // 0x8b1 + field public static final int NO_EPS_BEARER_CONTEXT_ACTIVATED = 2189; // 0x88d + field public static final int NO_GPRS_CONTEXT = 2094; // 0x82e + field public static final int NO_HYBRID_HDR_SERVICE = 2209; // 0x8a1 + field public static final int NO_PDP_CONTEXT_ACTIVATED = 2107; // 0x83b + field public static final int NO_RESPONSE_FROM_BASE_STATION = 2081; // 0x821 + field public static final int NO_SERVICE = 2216; // 0x8a8 + field public static final int NO_SERVICE_ON_GATEWAY = 2093; // 0x82d + field public static final int NSAPI_IN_USE = 35; // 0x23 + field public static final int NULL_APN_DISALLOWED = 2061; // 0x80d + field public static final int OEM_DCFAILCAUSE_1 = 4097; // 0x1001 + field public static final int OEM_DCFAILCAUSE_10 = 4106; // 0x100a + field public static final int OEM_DCFAILCAUSE_11 = 4107; // 0x100b + field public static final int OEM_DCFAILCAUSE_12 = 4108; // 0x100c + field public static final int OEM_DCFAILCAUSE_13 = 4109; // 0x100d + field public static final int OEM_DCFAILCAUSE_14 = 4110; // 0x100e + field public static final int OEM_DCFAILCAUSE_15 = 4111; // 0x100f + field public static final int OEM_DCFAILCAUSE_2 = 4098; // 0x1002 + field public static final int OEM_DCFAILCAUSE_3 = 4099; // 0x1003 + field public static final int OEM_DCFAILCAUSE_4 = 4100; // 0x1004 + field public static final int OEM_DCFAILCAUSE_5 = 4101; // 0x1005 + field public static final int OEM_DCFAILCAUSE_6 = 4102; // 0x1006 + field public static final int OEM_DCFAILCAUSE_7 = 4103; // 0x1007 + field public static final int OEM_DCFAILCAUSE_8 = 4104; // 0x1008 + field public static final int OEM_DCFAILCAUSE_9 = 4105; // 0x1009 + field public static final int ONLY_IPV4V6_ALLOWED = 57; // 0x39 + field public static final int ONLY_IPV4_ALLOWED = 50; // 0x32 + field public static final int ONLY_IPV6_ALLOWED = 51; // 0x33 + field public static final int ONLY_NON_IP_ALLOWED = 58; // 0x3a + field public static final int ONLY_SINGLE_BEARER_ALLOWED = 52; // 0x34 + field public static final int OPERATOR_BARRED = 8; // 0x8 + field public static final int OTASP_COMMIT_IN_PROGRESS = 2208; // 0x8a0 + field public static final int PDN_CONN_DOES_NOT_EXIST = 54; // 0x36 + field public static final int PDN_INACTIVITY_TIMER_EXPIRED = 2051; // 0x803 + field public static final int PDN_IPV4_CALL_DISALLOWED = 2033; // 0x7f1 + field public static final int PDN_IPV4_CALL_THROTTLED = 2034; // 0x7f2 + field public static final int PDN_IPV6_CALL_DISALLOWED = 2035; // 0x7f3 + field public static final int PDN_IPV6_CALL_THROTTLED = 2036; // 0x7f4 + field public static final int PDN_NON_IP_CALL_DISALLOWED = 2071; // 0x817 + field public static final int PDN_NON_IP_CALL_THROTTLED = 2070; // 0x816 + field public static final int PDP_ACTIVATE_MAX_RETRY_FAILED = 2109; // 0x83d + field public static final int PDP_DUPLICATE = 2104; // 0x838 + field public static final int PDP_ESTABLISH_TIMEOUT_EXPIRED = 2161; // 0x871 + field public static final int PDP_INACTIVE_TIMEOUT_EXPIRED = 2163; // 0x873 + field public static final int PDP_LOWERLAYER_ERROR = 2164; // 0x874 + field public static final int PDP_MODIFY_COLLISION = 2165; // 0x875 + field public static final int PDP_MODIFY_TIMEOUT_EXPIRED = 2162; // 0x872 + field public static final int PDP_PPP_NOT_SUPPORTED = 2038; // 0x7f6 + field public static final int PDP_WITHOUT_ACTIVE_TFT = 46; // 0x2e + field public static final int PHONE_IN_USE = 2222; // 0x8ae + field public static final int PHYSICAL_LINK_CLOSE_IN_PROGRESS = 2040; // 0x7f8 + field public static final int PLMN_NOT_ALLOWED = 2101; // 0x835 + field public static final int PPP_AUTH_FAILURE = 2229; // 0x8b5 + field public static final int PPP_CHAP_FAILURE = 2232; // 0x8b8 + field public static final int PPP_CLOSE_IN_PROGRESS = 2233; // 0x8b9 + field public static final int PPP_OPTION_MISMATCH = 2230; // 0x8b6 + field public static final int PPP_PAP_FAILURE = 2231; // 0x8b7 + field public static final int PPP_TIMEOUT = 2228; // 0x8b4 + field public static final int PREF_RADIO_TECH_CHANGED = -4; // 0xfffffffc + field public static final int PROFILE_BEARER_INCOMPATIBLE = 2042; // 0x7fa + field public static final int PROTOCOL_ERRORS = 111; // 0x6f + field public static final int QOS_NOT_ACCEPTED = 37; // 0x25 + field public static final int RADIO_ACCESS_BEARER_FAILURE = 2110; // 0x83e + field public static final int RADIO_ACCESS_BEARER_SETUP_FAILURE = 2160; // 0x870 + field public static final int RADIO_NOT_AVAILABLE = 65537; // 0x10001 + field public static final int RADIO_POWER_OFF = -5; // 0xfffffffb + field public static final int REDIRECTION_OR_HANDOFF_IN_PROGRESS = 2220; // 0x8ac + field public static final int REGISTRATION_FAIL = -1; // 0xffffffff + field public static final int REGULAR_DEACTIVATION = 36; // 0x24 + field public static final int REJECTED_BY_BASE_STATION = 2082; // 0x822 + field public static final int RRC_CONNECTION_ABORTED_AFTER_HANDOVER = 2173; // 0x87d + field public static final int RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE = 2174; // 0x87e + field public static final int RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE = 2171; // 0x87b + field public static final int RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE = 2175; // 0x87f + field public static final int RRC_CONNECTION_ABORT_REQUEST = 2151; // 0x867 + field public static final int RRC_CONNECTION_ACCESS_BARRED = 2139; // 0x85b + field public static final int RRC_CONNECTION_ACCESS_STRATUM_FAILURE = 2137; // 0x859 + field public static final int RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS = 2138; // 0x85a + field public static final int RRC_CONNECTION_CELL_NOT_CAMPED = 2144; // 0x860 + field public static final int RRC_CONNECTION_CELL_RESELECTION = 2140; // 0x85c + field public static final int RRC_CONNECTION_CONFIG_FAILURE = 2141; // 0x85d + field public static final int RRC_CONNECTION_INVALID_REQUEST = 2168; // 0x878 + field public static final int RRC_CONNECTION_LINK_FAILURE = 2143; // 0x85f + field public static final int RRC_CONNECTION_NORMAL_RELEASE = 2147; // 0x863 + field public static final int RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER = 2150; // 0x866 + field public static final int RRC_CONNECTION_RADIO_LINK_FAILURE = 2148; // 0x864 + field public static final int RRC_CONNECTION_REESTABLISHMENT_FAILURE = 2149; // 0x865 + field public static final int RRC_CONNECTION_REJECT_BY_NETWORK = 2146; // 0x862 + field public static final int RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE = 2172; // 0x87c + field public static final int RRC_CONNECTION_RF_UNAVAILABLE = 2170; // 0x87a + field public static final int RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR = 2152; // 0x868 + field public static final int RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE = 2145; // 0x861 + field public static final int RRC_CONNECTION_TIMER_EXPIRED = 2142; // 0x85e + field public static final int RRC_CONNECTION_TRACKING_AREA_ID_CHANGED = 2169; // 0x879 + field public static final int RRC_UPLINK_CONNECTION_RELEASE = 2134; // 0x856 + field public static final int RRC_UPLINK_DATA_TRANSMISSION_FAILURE = 2132; // 0x854 + field public static final int RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER = 2133; // 0x855 + field public static final int RRC_UPLINK_ERROR_REQUEST_FROM_NAS = 2136; // 0x858 + field public static final int RRC_UPLINK_RADIO_LINK_FAILURE = 2135; // 0x857 + field public static final int RUIM_NOT_PRESENT = 2085; // 0x825 + field public static final int SECURITY_MODE_REJECTED = 2186; // 0x88a + field public static final int SERVICE_NOT_ALLOWED_ON_PLMN = 2129; // 0x851 + field public static final int SERVICE_OPTION_NOT_SUBSCRIBED = 33; // 0x21 + field public static final int SERVICE_OPTION_NOT_SUPPORTED = 32; // 0x20 + field public static final int SERVICE_OPTION_OUT_OF_ORDER = 34; // 0x22 + field public static final int SIGNAL_LOST = -3; // 0xfffffffd + field public static final int SIM_CARD_CHANGED = 2043; // 0x7fb + field public static final int SYNCHRONIZATION_FAILURE = 2184; // 0x888 + field public static final int TEST_LOOPBACK_REGULAR_DEACTIVATION = 2196; // 0x894 + field public static final int TETHERED_CALL_ACTIVE = -6; // 0xfffffffa + field public static final int TFT_SEMANTIC_ERROR = 41; // 0x29 + field public static final int TFT_SYTAX_ERROR = 42; // 0x2a + field public static final int THERMAL_EMERGENCY = 2090; // 0x82a + field public static final int THERMAL_MITIGATION = 2062; // 0x80e + field public static final int TRAT_SWAP_FAILED = 2048; // 0x800 + field public static final int UE_INITIATED_DETACH_OR_DISCONNECT = 128; // 0x80 + field public static final int UE_IS_ENTERING_POWERSAVE_MODE = 2226; // 0x8b2 + field public static final int UE_RAT_CHANGE = 2105; // 0x839 + field public static final int UE_SECURITY_CAPABILITIES_MISMATCH = 2185; // 0x889 + field public static final int UMTS_HANDOVER_TO_IWLAN = 2199; // 0x897 + field public static final int UMTS_REACTIVATION_REQ = 39; // 0x27 + field public static final int UNACCEPTABLE_NETWORK_PARAMETER = 65538; // 0x10002 + field public static final int UNACCEPTABLE_NON_EPS_AUTHENTICATION = 2187; // 0x88b + field public static final int UNKNOWN = 65536; // 0x10000 + field public static final int UNKNOWN_INFO_ELEMENT = 99; // 0x63 + field public static final int UNKNOWN_PDP_ADDRESS_TYPE = 28; // 0x1c + field public static final int UNKNOWN_PDP_CONTEXT = 43; // 0x2b + field public static final int UNPREFERRED_RAT = 2039; // 0x7f7 + field public static final int UNSUPPORTED_1X_PREV = 2214; // 0x8a6 + field public static final int UNSUPPORTED_APN_IN_CURRENT_PLMN = 66; // 0x42 + field public static final int UNSUPPORTED_QCI_VALUE = 59; // 0x3b + field public static final int USER_AUTHENTICATION = 29; // 0x1d + field public static final int VSNCP_ADMINISTRATIVELY_PROHIBITED = 2245; // 0x8c5 + field public static final int VSNCP_APN_UNAUTHORIZED = 2238; // 0x8be + field public static final int VSNCP_GEN_ERROR = 2237; // 0x8bd + field public static final int VSNCP_INSUFFICIENT_PARAMETERS = 2243; // 0x8c3 + field public static final int VSNCP_NO_PDN_GATEWAY_ADDRESS = 2240; // 0x8c0 + field public static final int VSNCP_PDN_EXISTS_FOR_THIS_APN = 2248; // 0x8c8 + field public static final int VSNCP_PDN_GATEWAY_REJECT = 2242; // 0x8c2 + field public static final int VSNCP_PDN_GATEWAY_UNREACHABLE = 2241; // 0x8c1 + field public static final int VSNCP_PDN_ID_IN_USE = 2246; // 0x8c6 + field public static final int VSNCP_PDN_LIMIT_EXCEEDED = 2239; // 0x8bf + field public static final int VSNCP_RECONNECT_NOT_ALLOWED = 2249; // 0x8c9 + field public static final int VSNCP_RESOURCE_UNAVAILABLE = 2244; // 0x8c4 + field public static final int VSNCP_SUBSCRIBER_LIMITATION = 2247; // 0x8c7 + field public static final int VSNCP_TIMEOUT = 2236; // 0x8bc + } + public final class DisconnectCause { field public static final int ALREADY_DIALING = 72; // 0x48 field public static final int ANSWERED_ELSEWHERE = 52; // 0x34 @@ -45320,6 +47523,7 @@ package android.telephony { field public static final int IMS_ACCESS_BLOCKED = 60; // 0x3c field public static final int IMS_MERGED_SUCCESSFULLY = 45; // 0x2d field public static final int IMS_SIP_ALTERNATE_EMERGENCY_CALL = 71; // 0x47 + field public static final int INCOMING_AUTO_REJECTED = 81; // 0x51 field public static final int INCOMING_MISSED = 1; // 0x1 field public static final int INCOMING_REJECTED = 16; // 0x10 field public static final int INVALID_CREDENTIALS = 10; // 0xa @@ -45498,12 +47702,6 @@ package android.telephony { field public static final int SCAN_TYPE_PERIODIC = 1; // 0x1 } - public final class PhoneCapability implements android.os.Parcelable { - method public int describeContents(); - method public void writeToParcel(@NonNull android.os.Parcel, int); - field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneCapability> CREATOR; - } - public class PhoneNumberFormattingTextWatcher implements android.text.TextWatcher { ctor public PhoneNumberFormattingTextWatcher(); ctor public PhoneNumberFormattingTextWatcher(String); @@ -45593,7 +47791,7 @@ package android.telephony { method public void onSignalStrengthsChanged(android.telephony.SignalStrength); method public void onUserMobileDataStateChanged(boolean); field public static final int LISTEN_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGE = 4194304; // 0x400000 - field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int LISTEN_BARRING_INFO = -2147483648; // 0x80000000 + field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_BARRING_INFO = -2147483648; // 0x80000000 field @RequiresPermission("android.permission.READ_PRECISE_PHONE_STATE") public static final int LISTEN_CALL_DISCONNECT_CAUSES = 33554432; // 0x2000000 field public static final int LISTEN_CALL_FORWARDING_INDICATOR = 8; // 0x8 field public static final int LISTEN_CALL_STATE = 32; // 0x20 @@ -45607,7 +47805,7 @@ package android.telephony { field public static final int LISTEN_MESSAGE_WAITING_INDICATOR = 4; // 0x4 field public static final int LISTEN_NONE = 0; // 0x0 field @RequiresPermission("android.permission.READ_PRECISE_PHONE_STATE") public static final int LISTEN_PRECISE_DATA_CONNECTION_STATE = 4096; // 0x1000 - field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int LISTEN_REGISTRATION_FAILURE = 1073741824; // 0x40000000 + field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_REGISTRATION_FAILURE = 1073741824; // 0x40000000 field public static final int LISTEN_SERVICE_STATE = 1; // 0x1 field @Deprecated public static final int LISTEN_SIGNAL_STRENGTH = 2; // 0x2 field public static final int LISTEN_SIGNAL_STRENGTHS = 256; // 0x100 @@ -45707,7 +47905,10 @@ package android.telephony { method public void sendDataMessage(String, String, short, byte[], android.app.PendingIntent, android.app.PendingIntent); method public void sendMultimediaMessage(android.content.Context, android.net.Uri, String, android.os.Bundle, android.app.PendingIntent); method public void sendMultipartTextMessage(String, String, java.util.ArrayList<java.lang.String>, java.util.ArrayList<android.app.PendingIntent>, java.util.ArrayList<android.app.PendingIntent>); + method public void sendMultipartTextMessage(@NonNull String, @Nullable String, @NonNull java.util.List<java.lang.String>, @Nullable java.util.List<android.app.PendingIntent>, @Nullable java.util.List<android.app.PendingIntent>, long); + method public void sendMultipartTextMessage(@NonNull String, @Nullable String, @NonNull java.util.List<java.lang.String>, @Nullable java.util.List<android.app.PendingIntent>, @Nullable java.util.List<android.app.PendingIntent>, @NonNull String, @Nullable String); method public void sendTextMessage(String, String, String, android.app.PendingIntent, android.app.PendingIntent); + method public void sendTextMessage(@NonNull String, @Nullable String, @NonNull String, @Nullable android.app.PendingIntent, @Nullable android.app.PendingIntent, long); method @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.SEND_SMS}) public void sendTextMessageWithoutPersisting(String, String, String, android.app.PendingIntent, android.app.PendingIntent); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setSmscAddress(@NonNull String); field public static final String EXTRA_MMS_DATA = "android.telephony.extra.MMS_DATA"; @@ -45778,6 +47979,13 @@ package android.telephony { field public static final int RESULT_NO_RESOURCES = 22; // 0x16 field public static final int RESULT_OPERATION_NOT_ALLOWED = 20; // 0x14 field public static final int RESULT_RADIO_NOT_AVAILABLE = 9; // 0x9 + field public static final int RESULT_RECEIVE_DISPATCH_FAILURE = 500; // 0x1f4 + field public static final int RESULT_RECEIVE_INJECTED_NULL_PDU = 501; // 0x1f5 + field public static final int RESULT_RECEIVE_NULL_MESSAGE_FROM_RIL = 503; // 0x1f7 + field public static final int RESULT_RECEIVE_RUNTIME_EXCEPTION = 502; // 0x1f6 + field public static final int RESULT_RECEIVE_SQL_EXCEPTION = 505; // 0x1f9 + field public static final int RESULT_RECEIVE_URI_EXCEPTION = 506; // 0x1fa + field public static final int RESULT_RECEIVE_WHILE_ENCRYPTED = 504; // 0x1f8 field public static final int RESULT_REMOTE_EXCEPTION = 31; // 0x1f field public static final int RESULT_REQUEST_NOT_SUPPORTED = 24; // 0x18 field public static final int RESULT_RIL_CANCELLED = 119; // 0x77 @@ -45835,7 +48043,6 @@ package android.telephony { method public byte[] getPdu(); method public int getProtocolIdentifier(); method public String getPseudoSubject(); - method @Nullable public String getRecipientAddress(); method public String getServiceCenterAddress(); method public int getStatus(); method public int getStatusOnIcc(); @@ -45913,13 +48120,13 @@ package android.telephony { method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.os.ParcelUuid createSubscriptionGroup(@NonNull java.util.List<java.lang.Integer>); method @Deprecated public static android.telephony.SubscriptionManager from(android.content.Context); method public java.util.List<android.telephony.SubscriptionInfo> getAccessibleSubscriptionInfoList(); - method @Nullable public java.util.List<android.telephony.SubscriptionInfo> getActiveAndHiddenSubscriptionInfoList(); method public static int getActiveDataSubscriptionId(); method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfo(int); method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int getActiveSubscriptionInfoCount(); method public int getActiveSubscriptionInfoCountMax(); method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForSimSlotIndex(int); method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.List<android.telephony.SubscriptionInfo> getActiveSubscriptionInfoList(); + method @NonNull public java.util.List<android.telephony.SubscriptionInfo> getCompleteActiveSubscriptionInfoList(); method public static int getDefaultDataSubscriptionId(); method public static int getDefaultSmsSubscriptionId(); method public static int getDefaultSubscriptionId(); @@ -46019,7 +48226,6 @@ package android.telephony { method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean doesSwitchMultiSimConfigTriggerReboot(); method public int getActiveModemCount(); method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public java.util.List<android.telephony.CellInfo> getAllCellInfo(); - method @NonNull public static int[] getAllNetworkTypes(); method public int getCallState(); method public int getCardIdForDefaultEuicc(); method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) @WorkerThread public android.os.PersistableBundle getCarrierConfig(); @@ -46039,6 +48245,7 @@ package android.telephony { method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getImei(); method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getImei(int); method @RequiresPermission(anyOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.READ_SMS, android.Manifest.permission.READ_PHONE_NUMBERS}) public String getLine1Number(); + method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public String getManualNetworkSelectionPlmn(); method @Nullable public String getManufacturerCode(); method @Nullable public String getManufacturerCode(int); method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getMeid(); @@ -46069,6 +48276,7 @@ package android.telephony { method public int getSimState(); method public int getSimState(int); method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getSubscriberId(); + method public int getSubscriptionId(); method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int getSubscriptionId(@NonNull android.telecom.PhoneAccountHandle); method public int getSupportedModemCount(); method @Nullable public String getTypeAllocationCode(); @@ -46092,6 +48300,8 @@ package android.telephony { method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataRoamingEnabled(); method public boolean isEmergencyNumber(@NonNull String); method public boolean isHearingAidCompatibilitySupported(); + method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, "android.permission.READ_PRIVILEGED_PHONE_STATE"}) public boolean isManualNetworkSelectionAllowed(); + method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isModemEnabledForSlot(int); method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int isMultiSimSupported(); method public boolean isNetworkRoaming(); method public boolean isRttSupported(); @@ -46139,7 +48349,6 @@ package android.telephony { field public static final int APPTYPE_USIM = 2; // 0x2 field public static final int AUTHTYPE_EAP_AKA = 129; // 0x81 field public static final int AUTHTYPE_EAP_SIM = 128; // 0x80 - field public static final long CALLBACK_ON_MORE_ERROR_CODE_CHANGE = 130595455L; // 0x7c8ba7fL field public static final int CALL_STATE_IDLE = 0; // 0x0 field public static final int CALL_STATE_OFFHOOK = 2; // 0x2 field public static final int CALL_STATE_RINGING = 1; // 0x1 @@ -48393,7 +50602,9 @@ package android.text.style { public abstract class ReplacementSpan extends android.text.style.MetricAffectingSpan { ctor public ReplacementSpan(); method public abstract void draw(@NonNull android.graphics.Canvas, CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, float, int, int, int, @NonNull android.graphics.Paint); + method @Nullable public CharSequence getContentDescription(); method public abstract int getSize(@NonNull android.graphics.Paint, CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @Nullable android.graphics.Paint.FontMetricsInt); + method public void setContentDescription(@Nullable CharSequence); method public void updateDrawState(android.text.TextPaint); method public void updateMeasureState(android.text.TextPaint); } @@ -49719,6 +51930,7 @@ package android.util { method public void append(int, E); method public void clear(); method public android.util.SparseArray<E> clone(); + method public boolean contains(int); method public void delete(int); method public E get(int); method public E get(int, E); @@ -49819,6 +52031,7 @@ package android.util { method public static java.util.TimeZone getTimeZone(int, boolean, long, String); method public static String getTimeZoneDatabaseVersion(); method @Nullable public static java.util.List<java.lang.String> getTimeZoneIdsForCountryCode(@NonNull String); + method public static boolean isTimeBetween(@NonNull java.time.LocalTime, @NonNull java.time.LocalTime, @NonNull java.time.LocalTime); } @Deprecated public class TimingLogger { @@ -50096,7 +52309,7 @@ package android.view { method public int getFlags(); method public android.view.Display.HdrCapabilities getHdrCapabilities(); method @Deprecated public int getHeight(); - method public void getMetrics(android.util.DisplayMetrics); + method @Deprecated public void getMetrics(android.util.DisplayMetrics); method public android.view.Display.Mode getMode(); method public String getName(); method @Deprecated public int getOrientation(); @@ -50105,15 +52318,16 @@ package android.view { method public long getPresentationDeadlineNanos(); method public void getRealMetrics(android.util.DisplayMetrics); method public void getRealSize(android.graphics.Point); - method public void getRectSize(android.graphics.Rect); + method @Deprecated public void getRectSize(android.graphics.Rect); method public float getRefreshRate(); method public int getRotation(); - method public void getSize(android.graphics.Point); + method @Deprecated public void getSize(android.graphics.Point); method public int getState(); method public android.view.Display.Mode[] getSupportedModes(); method @Deprecated public float[] getSupportedRefreshRates(); method @Deprecated public int getWidth(); method public boolean isHdr(); + method public boolean isMinimalPostProcessingSupported(); method public boolean isValid(); method public boolean isWideColorGamut(); field public static final int DEFAULT_DISPLAY = 0; // 0x0 @@ -50159,6 +52373,7 @@ package android.view { public final class DisplayCutout { ctor public DisplayCutout(@NonNull android.graphics.Insets, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect); + ctor public DisplayCutout(@NonNull android.graphics.Insets, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, @NonNull android.graphics.Insets); ctor @Deprecated public DisplayCutout(@Nullable android.graphics.Rect, @Nullable java.util.List<android.graphics.Rect>); method @NonNull public android.graphics.Rect getBoundingRectBottom(); method @NonNull public android.graphics.Rect getBoundingRectLeft(); @@ -50169,6 +52384,7 @@ package android.view { method public int getSafeInsetLeft(); method public int getSafeInsetRight(); method public int getSafeInsetTop(); + method @NonNull public android.graphics.Insets getWaterfallInsets(); } public final class DragAndDropPermissions implements android.os.Parcelable { @@ -50321,13 +52537,17 @@ package android.view { public class HapticFeedbackConstants { field public static final int CLOCK_TICK = 4; // 0x4 + field public static final int CONFIRM = 16; // 0x10 field public static final int CONTEXT_CLICK = 6; // 0x6 field public static final int FLAG_IGNORE_GLOBAL_SETTING = 2; // 0x2 field public static final int FLAG_IGNORE_VIEW_SETTING = 1; // 0x1 + field public static final int GESTURE_END = 13; // 0xd + field public static final int GESTURE_START = 12; // 0xc field public static final int KEYBOARD_PRESS = 3; // 0x3 field public static final int KEYBOARD_RELEASE = 7; // 0x7 field public static final int KEYBOARD_TAP = 3; // 0x3 field public static final int LONG_PRESS = 0; // 0x0 + field public static final int REJECT = 17; // 0x11 field public static final int TEXT_HANDLE_MOVE = 9; // 0x9 field public static final int VIRTUAL_KEY = 1; // 0x1 field public static final int VIRTUAL_KEY_RELEASE = 8; // 0x8 @@ -51414,10 +53634,13 @@ package android.view { method public android.graphics.Canvas lockHardwareCanvas(); method public void readFromParcel(android.os.Parcel); method public void release(); + method public void setFrameRate(@FloatRange(from=0.0) float, int); method @Deprecated public void unlockCanvas(android.graphics.Canvas); method public void unlockCanvasAndPost(android.graphics.Canvas); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.view.Surface> CREATOR; + field public static final int FRAME_RATE_COMPATIBILITY_DEFAULT = 0; // 0x0 + field public static final int FRAME_RATE_COMPATIBILITY_FIXED_SOURCE = 1; // 0x1 field public static final int ROTATION_0 = 0; // 0x0 field public static final int ROTATION_180 = 2; // 0x2 field public static final int ROTATION_270 = 3; // 0x3 @@ -51448,17 +53671,37 @@ package android.view { method @NonNull public android.view.SurfaceControl.Builder setParent(@Nullable android.view.SurfaceControl); } - public static class SurfaceControl.Transaction implements java.io.Closeable { + public static class SurfaceControl.Transaction implements java.io.Closeable android.os.Parcelable { ctor public SurfaceControl.Transaction(); method public void apply(); method public void close(); + method public int describeContents(); method @NonNull public android.view.SurfaceControl.Transaction merge(@NonNull android.view.SurfaceControl.Transaction); method @NonNull public android.view.SurfaceControl.Transaction reparent(@NonNull android.view.SurfaceControl, @Nullable android.view.SurfaceControl); method @NonNull public android.view.SurfaceControl.Transaction setAlpha(@NonNull android.view.SurfaceControl, @FloatRange(from=0.0, to=1.0) float); method @NonNull public android.view.SurfaceControl.Transaction setBufferSize(@NonNull android.view.SurfaceControl, @IntRange(from=0) int, @IntRange(from=0) int); + method @NonNull public android.view.SurfaceControl.Transaction setFrameRate(@NonNull android.view.SurfaceControl, @FloatRange(from=0.0) float, int); method @NonNull public android.view.SurfaceControl.Transaction setGeometry(@NonNull android.view.SurfaceControl, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, int); method @NonNull public android.view.SurfaceControl.Transaction setLayer(@NonNull android.view.SurfaceControl, @IntRange(from=java.lang.Integer.MIN_VALUE, to=java.lang.Integer.MAX_VALUE) int); method @NonNull public android.view.SurfaceControl.Transaction setVisibility(@NonNull android.view.SurfaceControl, boolean); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.view.SurfaceControl.Transaction> CREATOR; + } + + public class SurfaceControlViewHost { + ctor public SurfaceControlViewHost(@NonNull android.content.Context, @NonNull android.view.Display, @Nullable android.os.IBinder); + method @Nullable public android.view.SurfaceControlViewHost.SurfacePackage getSurfacePackage(); + method @Nullable public android.view.View getView(); + method public void relayout(int, int); + method public void release(); + method public void setView(@NonNull android.view.View, int, int); + } + + public static final class SurfaceControlViewHost.SurfacePackage implements android.os.Parcelable { + method public int describeContents(); + method public void release(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.view.SurfaceControlViewHost.SurfacePackage> CREATOR; } public interface SurfaceHolder { @@ -51488,14 +53731,14 @@ package android.view { } public static interface SurfaceHolder.Callback { - method public void surfaceChanged(android.view.SurfaceHolder, int, int, int); - method public void surfaceCreated(android.view.SurfaceHolder); - method public void surfaceDestroyed(android.view.SurfaceHolder); + method public void surfaceChanged(@NonNull android.view.SurfaceHolder, int, @IntRange(from=0) int, @IntRange(from=0) int); + method public void surfaceCreated(@NonNull android.view.SurfaceHolder); + method public void surfaceDestroyed(@NonNull android.view.SurfaceHolder); } public static interface SurfaceHolder.Callback2 extends android.view.SurfaceHolder.Callback { - method public void surfaceRedrawNeeded(android.view.SurfaceHolder); - method public default void surfaceRedrawNeededAsync(android.view.SurfaceHolder, Runnable); + method public void surfaceRedrawNeeded(@NonNull android.view.SurfaceHolder); + method public default void surfaceRedrawNeededAsync(@NonNull android.view.SurfaceHolder, @NonNull Runnable); } public class SurfaceView extends android.view.View { @@ -51505,41 +53748,43 @@ package android.view { ctor public SurfaceView(android.content.Context, android.util.AttributeSet, int, int); method public boolean gatherTransparentRegion(android.graphics.Region); method public android.view.SurfaceHolder getHolder(); + method @Nullable public android.os.IBinder getHostToken(); method public android.view.SurfaceControl getSurfaceControl(); + method public void setChildSurfacePackage(@NonNull android.view.SurfaceControlViewHost.SurfacePackage); method public void setSecure(boolean); method public void setZOrderMediaOverlay(boolean); method public void setZOrderOnTop(boolean); } public class TextureView extends android.view.View { - ctor public TextureView(android.content.Context); - ctor public TextureView(android.content.Context, android.util.AttributeSet); - ctor public TextureView(android.content.Context, android.util.AttributeSet, int); - ctor public TextureView(android.content.Context, android.util.AttributeSet, int, int); + ctor public TextureView(@NonNull android.content.Context); + ctor public TextureView(@NonNull android.content.Context, @Nullable android.util.AttributeSet); + ctor public TextureView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int); + ctor public TextureView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int, int); method public final void draw(android.graphics.Canvas); - method public android.graphics.Bitmap getBitmap(); - method public android.graphics.Bitmap getBitmap(int, int); - method public android.graphics.Bitmap getBitmap(android.graphics.Bitmap); - method public android.graphics.SurfaceTexture getSurfaceTexture(); - method public android.view.TextureView.SurfaceTextureListener getSurfaceTextureListener(); - method public android.graphics.Matrix getTransform(android.graphics.Matrix); + method @Nullable public android.graphics.Bitmap getBitmap(); + method @Nullable public android.graphics.Bitmap getBitmap(int, int); + method @NonNull public android.graphics.Bitmap getBitmap(@NonNull android.graphics.Bitmap); + method @Nullable public android.graphics.SurfaceTexture getSurfaceTexture(); + method @Nullable public android.view.TextureView.SurfaceTextureListener getSurfaceTextureListener(); + method @NonNull public android.graphics.Matrix getTransform(@Nullable android.graphics.Matrix); method public boolean isAvailable(); - method public android.graphics.Canvas lockCanvas(); - method public android.graphics.Canvas lockCanvas(android.graphics.Rect); + method @Nullable public android.graphics.Canvas lockCanvas(); + method @Nullable public android.graphics.Canvas lockCanvas(@Nullable android.graphics.Rect); method protected final void onDraw(android.graphics.Canvas); method public void setBackgroundDrawable(android.graphics.drawable.Drawable); method public void setOpaque(boolean); - method public void setSurfaceTexture(android.graphics.SurfaceTexture); - method public void setSurfaceTextureListener(android.view.TextureView.SurfaceTextureListener); - method public void setTransform(android.graphics.Matrix); - method public void unlockCanvasAndPost(android.graphics.Canvas); + method public void setSurfaceTexture(@NonNull android.graphics.SurfaceTexture); + method public void setSurfaceTextureListener(@Nullable android.view.TextureView.SurfaceTextureListener); + method public void setTransform(@Nullable android.graphics.Matrix); + method public void unlockCanvasAndPost(@NonNull android.graphics.Canvas); } public static interface TextureView.SurfaceTextureListener { - method public void onSurfaceTextureAvailable(android.graphics.SurfaceTexture, int, int); - method public boolean onSurfaceTextureDestroyed(android.graphics.SurfaceTexture); - method public void onSurfaceTextureSizeChanged(android.graphics.SurfaceTexture, int, int); - method public void onSurfaceTextureUpdated(android.graphics.SurfaceTexture); + method public void onSurfaceTextureAvailable(@NonNull android.graphics.SurfaceTexture, int, int); + method public boolean onSurfaceTextureDestroyed(@NonNull android.graphics.SurfaceTexture); + method public void onSurfaceTextureSizeChanged(@NonNull android.graphics.SurfaceTexture, int, int); + method public void onSurfaceTextureUpdated(@NonNull android.graphics.SurfaceTexture); } public class TouchDelegate { @@ -51566,6 +53811,38 @@ package android.view { method public void recycle(); } + public abstract class VerifiedInputEvent implements android.os.Parcelable { + method public int describeContents(); + method public int getDeviceId(); + method public int getDisplayId(); + method public long getEventTimeNanos(); + method public int getSource(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.view.VerifiedInputEvent> CREATOR; + } + + public final class VerifiedKeyEvent extends android.view.VerifiedInputEvent implements android.os.Parcelable { + method public int getAction(); + method public long getDownTimeNanos(); + method @Nullable public Boolean getFlag(int); + method public int getKeyCode(); + method public int getMetaState(); + method public int getRepeatCount(); + method public int getScanCode(); + field @NonNull public static final android.os.Parcelable.Creator<android.view.VerifiedKeyEvent> CREATOR; + } + + public final class VerifiedMotionEvent extends android.view.VerifiedInputEvent implements android.os.Parcelable { + method public int getActionMasked(); + method public int getButtonState(); + method public long getDownTimeNanos(); + method @Nullable public Boolean getFlag(int); + method public int getMetaState(); + method public float getRawX(); + method public float getRawY(); + field @NonNull public static final android.os.Parcelable.Creator<android.view.VerifiedMotionEvent> CREATOR; + } + @UiThread public class View implements android.view.accessibility.AccessibilityEventSource android.graphics.drawable.Drawable.Callback android.view.KeyEvent.Callback { ctor public View(android.content.Context); ctor public View(android.content.Context, @Nullable android.util.AttributeSet); @@ -51645,13 +53922,17 @@ package android.view { method protected void dispatchSetPressed(boolean); method protected void dispatchSetSelected(boolean); method @CallSuper public void dispatchStartTemporaryDetach(); - method public void dispatchSystemUiVisibilityChanged(int); + method @Deprecated public void dispatchSystemUiVisibilityChanged(int); method public boolean dispatchTouchEvent(android.view.MotionEvent); method public boolean dispatchTrackballEvent(android.view.MotionEvent); method public boolean dispatchUnhandledMove(android.view.View, int); method protected void dispatchVisibilityChanged(@NonNull android.view.View, int); method public void dispatchWindowFocusChanged(boolean); - method public void dispatchWindowSystemUiVisiblityChanged(int); + method public void dispatchWindowInsetsAnimationEnd(@NonNull android.view.WindowInsetsAnimation); + method public void dispatchWindowInsetsAnimationPrepare(@NonNull android.view.WindowInsetsAnimation); + method @NonNull public android.view.WindowInsets dispatchWindowInsetsAnimationProgress(@NonNull android.view.WindowInsets, @NonNull java.util.List<android.view.WindowInsetsAnimation>); + method @NonNull public android.view.WindowInsetsAnimation.Bounds dispatchWindowInsetsAnimationStart(@NonNull android.view.WindowInsetsAnimation, @NonNull android.view.WindowInsetsAnimation.Bounds); + method @Deprecated public void dispatchWindowSystemUiVisiblityChanged(int); method public void dispatchWindowVisibilityChanged(int); method @CallSuper public void draw(android.graphics.Canvas); method @CallSuper public void drawableHotspotChanged(float, float); @@ -51733,6 +54014,7 @@ package android.view { method @IdRes public int getId(); method public int getImportantForAccessibility(); method public int getImportantForAutofill(); + method public int getImportantForContentCapture(); method public boolean getKeepScreenOn(); method public android.view.KeyEvent.DispatcherState getKeyDispatcherState(); method @IdRes public int getLabelFor(); @@ -51798,11 +54080,12 @@ package android.view { method public final int getScrollY(); method @ColorInt public int getSolidColor(); method @LayoutRes public int getSourceLayoutResId(); + method @Nullable public final CharSequence getStateDescription(); method public android.animation.StateListAnimator getStateListAnimator(); method protected int getSuggestedMinimumHeight(); method protected int getSuggestedMinimumWidth(); method @NonNull public java.util.List<android.graphics.Rect> getSystemGestureExclusionRects(); - method public int getSystemUiVisibility(); + method @Deprecated public int getSystemUiVisibility(); method public Object getTag(); method public Object getTag(int); method public int getTextAlignment(); @@ -51829,7 +54112,8 @@ package android.view { method public final int getWidth(); method protected int getWindowAttachCount(); method public android.view.WindowId getWindowId(); - method public int getWindowSystemUiVisibility(); + method @Nullable public android.view.WindowInsetsController getWindowInsetsController(); + method @Deprecated public int getWindowSystemUiVisibility(); method public android.os.IBinder getWindowToken(); method public int getWindowVisibility(); method public void getWindowVisibleDisplayFrame(android.graphics.Rect); @@ -51841,6 +54125,7 @@ package android.view { method public boolean hasFocusable(); method public boolean hasNestedScrollingParent(); method public boolean hasOnClickListeners(); + method public boolean hasOnLongClickListeners(); method public boolean hasOverlappingRendering(); method public boolean hasPointerCapture(); method public boolean hasTransientState(); @@ -51873,6 +54158,7 @@ package android.view { method public boolean isHovered(); method public boolean isImportantForAccessibility(); method public final boolean isImportantForAutofill(); + method public final boolean isImportantForContentCapture(); method public boolean isInEditMode(); method public boolean isInLayout(); method public boolean isInTouchMode(); @@ -51893,6 +54179,7 @@ package android.view { method public boolean isScrollContainer(); method public boolean isScrollbarFadingEnabled(); method public boolean isSelected(); + method public final boolean isShowingLayoutBounds(); method public boolean isShown(); method public boolean isSoundEffectsEnabled(); method public final boolean isTemporarilyDetached(); @@ -51947,6 +54234,7 @@ package android.view { method @CallSuper public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent); method public void onProvideAutofillStructure(android.view.ViewStructure, int); method public void onProvideAutofillVirtualStructure(android.view.ViewStructure, int); + method public void onProvideContentCaptureStructure(@NonNull android.view.ViewStructure, int); method public void onProvideStructure(android.view.ViewStructure); method public void onProvideVirtualStructure(android.view.ViewStructure); method public android.view.PointerIcon onResolvePointerIcon(android.view.MotionEvent, int); @@ -51963,7 +54251,7 @@ package android.view { method @CallSuper public void onVisibilityAggregated(boolean); method protected void onVisibilityChanged(@NonNull android.view.View, int); method public void onWindowFocusChanged(boolean); - method public void onWindowSystemUiVisibilityChanged(int); + method @Deprecated public void onWindowSystemUiVisibilityChanged(int); method protected void onWindowVisibilityChanged(int); method protected boolean overScrollBy(int, int, int, int, int, int, int, int, boolean); method public boolean performAccessibilityAction(int, android.os.Bundle); @@ -52002,6 +54290,7 @@ package android.view { method public boolean requestRectangleOnScreen(android.graphics.Rect); method public boolean requestRectangleOnScreen(android.graphics.Rect, boolean); method public final void requestUnbufferedDispatch(android.view.MotionEvent); + method public final void requestUnbufferedDispatch(int); method @NonNull public final <T extends android.view.View> T requireViewById(@IdRes int); method public void resetPivot(); method public static int resolveSize(int, int); @@ -52072,6 +54361,7 @@ package android.view { method public void setId(@IdRes int); method public void setImportantForAccessibility(int); method public void setImportantForAutofill(int); + method public void setImportantForContentCapture(int); method public void setKeepScreenOn(boolean); method public void setKeyboardNavigationCluster(boolean); method public void setLabelFor(@IdRes int); @@ -52104,7 +54394,7 @@ package android.view { method public void setOnKeyListener(android.view.View.OnKeyListener); method public void setOnLongClickListener(@Nullable android.view.View.OnLongClickListener); method public void setOnScrollChangeListener(android.view.View.OnScrollChangeListener); - method public void setOnSystemUiVisibilityChangeListener(android.view.View.OnSystemUiVisibilityChangeListener); + method @Deprecated public void setOnSystemUiVisibilityChangeListener(android.view.View.OnSystemUiVisibilityChangeListener); method public void setOnTouchListener(android.view.View.OnTouchListener); method public void setOutlineAmbientShadowColor(@ColorInt int); method public void setOutlineProvider(android.view.ViewOutlineProvider); @@ -52138,9 +54428,10 @@ package android.view { method public void setScrollbarFadingEnabled(boolean); method public void setSelected(boolean); method public void setSoundEffectsEnabled(boolean); + method public void setStateDescription(@Nullable CharSequence); method public void setStateListAnimator(android.animation.StateListAnimator); method public void setSystemGestureExclusionRects(@NonNull java.util.List<android.graphics.Rect>); - method public void setSystemUiVisibility(int); + method @Deprecated public void setSystemUiVisibility(int); method public void setTag(Object); method public void setTag(int, Object); method public void setTextAlignment(int); @@ -52162,6 +54453,7 @@ package android.view { method public void setVisibility(int); method @Deprecated public void setWillNotCacheDrawing(boolean); method public void setWillNotDraw(boolean); + method public void setWindowInsetsAnimationCallback(@Nullable android.view.WindowInsetsAnimation.Callback); method public void setX(float); method public void setY(float); method public void setZ(float); @@ -52250,6 +54542,11 @@ package android.view { field public static final int IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS = 8; // 0x8 field public static final int IMPORTANT_FOR_AUTOFILL_YES = 1; // 0x1 field public static final int IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS = 4; // 0x4 + field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_AUTO = 0; // 0x0 + field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_NO = 2; // 0x2 + field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS = 8; // 0x8 + field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_YES = 1; // 0x1 + field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS = 4; // 0x4 field public static final int INVISIBLE = 4; // 0x4 field public static final int KEEP_SCREEN_ON = 67108864; // 0x4000000 field public static final int LAYER_TYPE_HARDWARE = 2; // 0x2 @@ -52312,18 +54609,18 @@ package android.view { field public static final int SOUND_EFFECTS_ENABLED = 134217728; // 0x8000000 field @Deprecated public static final int STATUS_BAR_HIDDEN = 1; // 0x1 field @Deprecated public static final int STATUS_BAR_VISIBLE = 0; // 0x0 - field public static final int SYSTEM_UI_FLAG_FULLSCREEN = 4; // 0x4 - field public static final int SYSTEM_UI_FLAG_HIDE_NAVIGATION = 2; // 0x2 - field public static final int SYSTEM_UI_FLAG_IMMERSIVE = 2048; // 0x800 - field public static final int SYSTEM_UI_FLAG_IMMERSIVE_STICKY = 4096; // 0x1000 - field public static final int SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN = 1024; // 0x400 - field public static final int SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION = 512; // 0x200 - field public static final int SYSTEM_UI_FLAG_LAYOUT_STABLE = 256; // 0x100 - field public static final int SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR = 16; // 0x10 - field public static final int SYSTEM_UI_FLAG_LIGHT_STATUS_BAR = 8192; // 0x2000 - field public static final int SYSTEM_UI_FLAG_LOW_PROFILE = 1; // 0x1 - field public static final int SYSTEM_UI_FLAG_VISIBLE = 0; // 0x0 - field public static final int SYSTEM_UI_LAYOUT_FLAGS = 1536; // 0x600 + field @Deprecated public static final int SYSTEM_UI_FLAG_FULLSCREEN = 4; // 0x4 + field @Deprecated public static final int SYSTEM_UI_FLAG_HIDE_NAVIGATION = 2; // 0x2 + field @Deprecated public static final int SYSTEM_UI_FLAG_IMMERSIVE = 2048; // 0x800 + field @Deprecated public static final int SYSTEM_UI_FLAG_IMMERSIVE_STICKY = 4096; // 0x1000 + field @Deprecated public static final int SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN = 1024; // 0x400 + field @Deprecated public static final int SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION = 512; // 0x200 + field @Deprecated public static final int SYSTEM_UI_FLAG_LAYOUT_STABLE = 256; // 0x100 + field @Deprecated public static final int SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR = 16; // 0x10 + field @Deprecated public static final int SYSTEM_UI_FLAG_LIGHT_STATUS_BAR = 8192; // 0x2000 + field @Deprecated public static final int SYSTEM_UI_FLAG_LOW_PROFILE = 1; // 0x1 + field @Deprecated public static final int SYSTEM_UI_FLAG_VISIBLE = 0; // 0x0 + field @Deprecated public static final int SYSTEM_UI_LAYOUT_FLAGS = 1536; // 0x600 field public static final int TEXT_ALIGNMENT_CENTER = 4; // 0x4 field public static final int TEXT_ALIGNMENT_GRAVITY = 1; // 0x1 field public static final int TEXT_ALIGNMENT_INHERIT = 0; // 0x0 @@ -52447,8 +54744,8 @@ package android.view { method public void onScrollChange(android.view.View, int, int, int, int); } - public static interface View.OnSystemUiVisibilityChangeListener { - method public void onSystemUiVisibilityChange(int); + @Deprecated public static interface View.OnSystemUiVisibilityChangeListener { + method @Deprecated public void onSystemUiVisibilityChange(int); } public static interface View.OnTouchListener { @@ -52466,7 +54763,7 @@ package android.view { public class ViewConfiguration { ctor @Deprecated public ViewConfiguration(); method public static android.view.ViewConfiguration get(android.content.Context); - method @FloatRange(from=1.0) public static float getAmbiguousGestureMultiplier(); + method @Deprecated @FloatRange(from=1.0) public static float getAmbiguousGestureMultiplier(); method public static long getDefaultActionModeHideDuration(); method public static int getDoubleTapTimeout(); method @Deprecated public static int getEdgeSlop(); @@ -52480,6 +54777,7 @@ package android.view { method @Deprecated public static int getMaximumFlingVelocity(); method @Deprecated public static int getMinimumFlingVelocity(); method public static int getPressedStateDuration(); + method @FloatRange(from=1.0) public float getScaledAmbiguousGestureMultiplier(); method public int getScaledDoubleTapSlop(); method public int getScaledEdgeSlop(); method public int getScaledFadingEdgeLength(); @@ -52904,6 +55202,7 @@ package android.view { method public abstract void setFocusable(boolean); method public abstract void setFocused(boolean); method public abstract void setHint(CharSequence); + method public void setHintIdEntry(@NonNull String); method public abstract void setHtmlInfo(@NonNull android.view.ViewStructure.HtmlInfo); method public abstract void setId(int, String, String, String); method public void setImportantForAutofill(int); @@ -53042,6 +55341,7 @@ package android.view { method public android.transition.Transition getExitTransition(); method protected final int getFeatures(); method protected final int getForcedWindowFlags(); + method @Nullable public android.view.WindowInsetsController getInsetsController(); method @NonNull public abstract android.view.LayoutInflater getLayoutInflater(); method protected final int getLocalFeatures(); method public android.media.session.MediaController getMediaController(); @@ -53100,6 +55400,7 @@ package android.view { method public abstract void setContentView(android.view.View); method public abstract void setContentView(android.view.View, android.view.ViewGroup.LayoutParams); method public abstract void setDecorCaptionShade(int); + method public void setDecorFitsSystemWindows(boolean); method protected void setDefaultWindowFormat(int); method public void setDimAmount(float); method public void setElevation(float); @@ -53121,6 +55422,7 @@ package android.view { method public abstract void setNavigationBarColor(@ColorInt int); method public void setNavigationBarContrastEnforced(boolean); method public void setNavigationBarDividerColor(@ColorInt int); + method public void setPreferMinimalPostProcessing(boolean); method public void setReenterTransition(android.transition.Transition); method public abstract void setResizingCaptionDrawable(android.graphics.drawable.Drawable); method public final void setRestrictedCaptionAreaListener(android.view.Window.OnRestrictedCaptionAreaChangedListener); @@ -53172,7 +55474,7 @@ package android.view { field public static final int FEATURE_OPTIONS_PANEL = 0; // 0x0 field @Deprecated public static final int FEATURE_PROGRESS = 2; // 0x2 field public static final int FEATURE_RIGHT_ICON = 4; // 0x4 - field public static final int FEATURE_SWIPE_TO_DISMISS = 11; // 0xb + field @Deprecated public static final int FEATURE_SWIPE_TO_DISMISS = 11; // 0xb field public static final int ID_ANDROID_CONTENT = 16908290; // 0x1020002 field public static final String NAVIGATION_BAR_BACKGROUND_TRANSITION_NAME = "android:navigation:background"; field @Deprecated public static final int PROGRESS_END = 10000; // 0x2710 @@ -53253,31 +55555,36 @@ package android.view { public final class WindowInsets { ctor public WindowInsets(android.view.WindowInsets); - method @NonNull public android.view.WindowInsets consumeDisplayCutout(); - method @NonNull public android.view.WindowInsets consumeStableInsets(); - method @NonNull public android.view.WindowInsets consumeSystemWindowInsets(); + method @Deprecated @NonNull public android.view.WindowInsets consumeDisplayCutout(); + method @Deprecated @NonNull public android.view.WindowInsets consumeStableInsets(); + method @Deprecated @NonNull public android.view.WindowInsets consumeSystemWindowInsets(); method @Nullable public android.view.DisplayCutout getDisplayCutout(); - method @NonNull public android.graphics.Insets getMandatorySystemGestureInsets(); - method public int getStableInsetBottom(); - method public int getStableInsetLeft(); - method public int getStableInsetRight(); - method public int getStableInsetTop(); - method @NonNull public android.graphics.Insets getStableInsets(); - method @NonNull public android.graphics.Insets getSystemGestureInsets(); - method public int getSystemWindowInsetBottom(); - method public int getSystemWindowInsetLeft(); - method public int getSystemWindowInsetRight(); - method public int getSystemWindowInsetTop(); - method @NonNull public android.graphics.Insets getSystemWindowInsets(); - method @NonNull public android.graphics.Insets getTappableElementInsets(); + method @NonNull public android.graphics.Insets getInsets(int); + method @NonNull public android.graphics.Insets getInsetsIgnoringVisibility(int); + method @Deprecated @NonNull public android.graphics.Insets getMandatorySystemGestureInsets(); + method @Deprecated public int getStableInsetBottom(); + method @Deprecated public int getStableInsetLeft(); + method @Deprecated public int getStableInsetRight(); + method @Deprecated public int getStableInsetTop(); + method @Deprecated @NonNull public android.graphics.Insets getStableInsets(); + method @Deprecated @NonNull public android.graphics.Insets getSystemGestureInsets(); + method @Deprecated public int getSystemWindowInsetBottom(); + method @Deprecated public int getSystemWindowInsetLeft(); + method @Deprecated public int getSystemWindowInsetRight(); + method @Deprecated public int getSystemWindowInsetTop(); + method @Deprecated @NonNull public android.graphics.Insets getSystemWindowInsets(); + method @Deprecated @NonNull public android.graphics.Insets getTappableElementInsets(); method public boolean hasInsets(); - method public boolean hasStableInsets(); - method public boolean hasSystemWindowInsets(); + method @Deprecated public boolean hasStableInsets(); + method @Deprecated public boolean hasSystemWindowInsets(); + method @NonNull public android.view.WindowInsets inset(@NonNull android.graphics.Insets); method @NonNull public android.view.WindowInsets inset(@IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int); method public boolean isConsumed(); method public boolean isRound(); + method public boolean isVisible(int); method @Deprecated @NonNull public android.view.WindowInsets replaceSystemWindowInsets(int, int, int, int); method @Deprecated @NonNull public android.view.WindowInsets replaceSystemWindowInsets(android.graphics.Rect); + field @NonNull public static final android.view.WindowInsets CONSUMED; } public static final class WindowInsets.Builder { @@ -53285,15 +55592,111 @@ package android.view { ctor public WindowInsets.Builder(@NonNull android.view.WindowInsets); method @NonNull public android.view.WindowInsets build(); method @NonNull public android.view.WindowInsets.Builder setDisplayCutout(@Nullable android.view.DisplayCutout); - method @NonNull public android.view.WindowInsets.Builder setMandatorySystemGestureInsets(@NonNull android.graphics.Insets); - method @NonNull public android.view.WindowInsets.Builder setStableInsets(@NonNull android.graphics.Insets); - method @NonNull public android.view.WindowInsets.Builder setSystemGestureInsets(@NonNull android.graphics.Insets); - method @NonNull public android.view.WindowInsets.Builder setSystemWindowInsets(@NonNull android.graphics.Insets); - method @NonNull public android.view.WindowInsets.Builder setTappableElementInsets(@NonNull android.graphics.Insets); + method @NonNull public android.view.WindowInsets.Builder setInsets(int, @NonNull android.graphics.Insets); + method @NonNull public android.view.WindowInsets.Builder setInsetsIgnoringVisibility(int, @NonNull android.graphics.Insets) throws java.lang.IllegalArgumentException; + method @Deprecated @NonNull public android.view.WindowInsets.Builder setMandatorySystemGestureInsets(@NonNull android.graphics.Insets); + method @Deprecated @NonNull public android.view.WindowInsets.Builder setStableInsets(@NonNull android.graphics.Insets); + method @Deprecated @NonNull public android.view.WindowInsets.Builder setSystemGestureInsets(@NonNull android.graphics.Insets); + method @Deprecated @NonNull public android.view.WindowInsets.Builder setSystemWindowInsets(@NonNull android.graphics.Insets); + method @Deprecated @NonNull public android.view.WindowInsets.Builder setTappableElementInsets(@NonNull android.graphics.Insets); + method @NonNull public android.view.WindowInsets.Builder setVisible(int, boolean); + } + + public static final class WindowInsets.Side { + method public static int all(); + field public static final int BOTTOM = 8; // 0x8 + field public static final int LEFT = 1; // 0x1 + field public static final int RIGHT = 4; // 0x4 + field public static final int TOP = 2; // 0x2 + } + + public static final class WindowInsets.Type { + method public static int captionBar(); + method public static int displayCutout(); + method public static int ime(); + method public static int mandatorySystemGestures(); + method public static int navigationBars(); + method public static int statusBars(); + method public static int systemBars(); + method public static int systemGestures(); + method public static int tappableElement(); + } + + public final class WindowInsetsAnimation { + ctor public WindowInsetsAnimation(int, @Nullable android.view.animation.Interpolator, long); + method @FloatRange(from=0.0f, to=1.0f) public float getAlpha(); + method public long getDurationMillis(); + method @FloatRange(from=0.0f, to=1.0f) public float getFraction(); + method public float getInterpolatedFraction(); + method @Nullable public android.view.animation.Interpolator getInterpolator(); + method public int getTypeMask(); + method public void setAlpha(@FloatRange(from=0.0f, to=1.0f) float); + method public void setFraction(@FloatRange(from=0.0f, to=1.0f) float); + } + + public static final class WindowInsetsAnimation.Bounds { + ctor public WindowInsetsAnimation.Bounds(@NonNull android.graphics.Insets, @NonNull android.graphics.Insets); + method @NonNull public android.graphics.Insets getLowerBound(); + method @NonNull public android.graphics.Insets getUpperBound(); + method @NonNull public android.view.WindowInsetsAnimation.Bounds inset(@NonNull android.graphics.Insets); + } + + public abstract static class WindowInsetsAnimation.Callback { + ctor public WindowInsetsAnimation.Callback(int); + method public final int getDispatchMode(); + method public void onEnd(@NonNull android.view.WindowInsetsAnimation); + method public void onPrepare(@NonNull android.view.WindowInsetsAnimation); + method @NonNull public abstract android.view.WindowInsets onProgress(@NonNull android.view.WindowInsets, @NonNull java.util.List<android.view.WindowInsetsAnimation>); + method @NonNull public android.view.WindowInsetsAnimation.Bounds onStart(@NonNull android.view.WindowInsetsAnimation, @NonNull android.view.WindowInsetsAnimation.Bounds); + field public static final int DISPATCH_MODE_CONTINUE_ON_SUBTREE = 1; // 0x1 + field public static final int DISPATCH_MODE_STOP = 0; // 0x0 + } + + public interface WindowInsetsAnimationControlListener { + method public void onCancelled(@Nullable android.view.WindowInsetsAnimationController); + method public void onFinished(@NonNull android.view.WindowInsetsAnimationController); + method public void onReady(@NonNull android.view.WindowInsetsAnimationController, int); + } + + public interface WindowInsetsAnimationController { + method public void finish(boolean); + method public float getCurrentAlpha(); + method @FloatRange(from=0.0f, to=1.0f) public float getCurrentFraction(); + method @NonNull public android.graphics.Insets getCurrentInsets(); + method @NonNull public android.graphics.Insets getHiddenStateInsets(); + method @NonNull public android.graphics.Insets getShownStateInsets(); + method public int getTypes(); + method public boolean isCancelled(); + method public boolean isFinished(); + method public default boolean isReady(); + method public void setInsetsAndAlpha(@Nullable android.graphics.Insets, @FloatRange(from=0.0f, to=1.0f) float, @FloatRange(from=0.0f, to=1.0f) float); + } + + public interface WindowInsetsController { + method public void addOnControllableInsetsChangedListener(@NonNull android.view.WindowInsetsController.OnControllableInsetsChangedListener); + method public void controlWindowInsetsAnimation(int, long, @Nullable android.view.animation.Interpolator, @Nullable android.os.CancellationSignal, @NonNull android.view.WindowInsetsAnimationControlListener); + method public int getSystemBarsAppearance(); + method public int getSystemBarsBehavior(); + method public void hide(int); + method public void removeOnControllableInsetsChangedListener(@NonNull android.view.WindowInsetsController.OnControllableInsetsChangedListener); + method public void setSystemBarsAppearance(int, int); + method public void setSystemBarsBehavior(int); + method public void show(int); + field public static final int APPEARANCE_LIGHT_NAVIGATION_BARS = 16; // 0x10 + field public static final int APPEARANCE_LIGHT_STATUS_BARS = 8; // 0x8 + field public static final int BEHAVIOR_SHOW_BARS_BY_SWIPE = 1; // 0x1 + field public static final int BEHAVIOR_SHOW_BARS_BY_TOUCH = 0; // 0x0 + field public static final int BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE = 2; // 0x2 + } + + public static interface WindowInsetsController.OnControllableInsetsChangedListener { + method public void onControllableInsetsChanged(@NonNull android.view.WindowInsetsController, int); } public interface WindowManager extends android.view.ViewManager { - method public android.view.Display getDefaultDisplay(); + method @NonNull public default android.view.WindowMetrics getCurrentWindowMetrics(); + method @Deprecated public android.view.Display getDefaultDisplay(); + method @NonNull public default android.view.WindowMetrics getMaximumWindowMetrics(); method public void removeViewImmediate(android.view.View); } @@ -53319,9 +55722,15 @@ package android.view { method public String debug(String); method public int describeContents(); method public int getColorMode(); + method public int getFitInsetsSides(); + method public int getFitInsetsTypes(); method public final CharSequence getTitle(); + method public boolean isFitInsetsIgnoringVisibility(); method public static boolean mayUseInputMethod(int); method public void setColorMode(int); + method public void setFitInsetsIgnoringVisibility(boolean); + method public void setFitInsetsSides(int); + method public void setFitInsetsTypes(int); method public final void setTitle(CharSequence); method public void writeToParcel(android.os.Parcel, int); field public static final int ALPHA_CHANGED = 128; // 0x80 @@ -53342,14 +55751,14 @@ package android.view { field @Deprecated public static final int FLAG_DISMISS_KEYGUARD = 4194304; // 0x400000 field @Deprecated public static final int FLAG_DITHER = 4096; // 0x1000 field public static final int FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS = -2147483648; // 0x80000000 - field public static final int FLAG_FORCE_NOT_FULLSCREEN = 2048; // 0x800 - field public static final int FLAG_FULLSCREEN = 1024; // 0x400 + field @Deprecated public static final int FLAG_FORCE_NOT_FULLSCREEN = 2048; // 0x800 + field @Deprecated public static final int FLAG_FULLSCREEN = 1024; // 0x400 field public static final int FLAG_HARDWARE_ACCELERATED = 16777216; // 0x1000000 field public static final int FLAG_IGNORE_CHEEK_PRESSES = 32768; // 0x8000 field public static final int FLAG_KEEP_SCREEN_ON = 128; // 0x80 - field public static final int FLAG_LAYOUT_ATTACHED_IN_DECOR = 1073741824; // 0x40000000 - field public static final int FLAG_LAYOUT_INSET_DECOR = 65536; // 0x10000 - field public static final int FLAG_LAYOUT_IN_OVERSCAN = 33554432; // 0x2000000 + field @Deprecated public static final int FLAG_LAYOUT_ATTACHED_IN_DECOR = 1073741824; // 0x40000000 + field @Deprecated public static final int FLAG_LAYOUT_INSET_DECOR = 65536; // 0x10000 + field @Deprecated public static final int FLAG_LAYOUT_IN_OVERSCAN = 33554432; // 0x2000000 field public static final int FLAG_LAYOUT_IN_SCREEN = 256; // 0x100 field public static final int FLAG_LAYOUT_NO_LIMITS = 512; // 0x200 field public static final int FLAG_LOCAL_FOCUS_MODE = 268435456; // 0x10000000 @@ -53362,8 +55771,8 @@ package android.view { field @Deprecated public static final int FLAG_SHOW_WHEN_LOCKED = 524288; // 0x80000 field public static final int FLAG_SPLIT_TOUCH = 8388608; // 0x800000 field @Deprecated public static final int FLAG_TOUCHABLE_WHEN_WAKING = 64; // 0x40 - field public static final int FLAG_TRANSLUCENT_NAVIGATION = 134217728; // 0x8000000 - field public static final int FLAG_TRANSLUCENT_STATUS = 67108864; // 0x4000000 + field @Deprecated public static final int FLAG_TRANSLUCENT_NAVIGATION = 134217728; // 0x8000000 + field @Deprecated public static final int FLAG_TRANSLUCENT_STATUS = 67108864; // 0x4000000 field @Deprecated public static final int FLAG_TURN_SCREEN_ON = 2097152; // 0x200000 field public static final int FLAG_WATCH_OUTSIDE_TOUCH = 262144; // 0x40000 field public static final int FORMAT_CHANGED = 8; // 0x8 @@ -53371,6 +55780,7 @@ package android.view { field public static final int LAST_SUB_WINDOW = 1999; // 0x7cf field public static final int LAST_SYSTEM_WINDOW = 2999; // 0xbb7 field public static final int LAYOUT_CHANGED = 1; // 0x1 + field public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS = 3; // 0x3 field public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT = 0; // 0x0 field public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER = 2; // 0x2 field public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES = 1; // 0x1 @@ -53388,7 +55798,7 @@ package android.view { field public static final int SCREEN_ORIENTATION_CHANGED = 1024; // 0x400 field public static final int SOFT_INPUT_ADJUST_NOTHING = 48; // 0x30 field public static final int SOFT_INPUT_ADJUST_PAN = 32; // 0x20 - field public static final int SOFT_INPUT_ADJUST_RESIZE = 16; // 0x10 + field @Deprecated public static final int SOFT_INPUT_ADJUST_RESIZE = 16; // 0x10 field public static final int SOFT_INPUT_ADJUST_UNSPECIFIED = 0; // 0x0 field public static final int SOFT_INPUT_IS_FORWARD_NAVIGATION = 256; // 0x100 field public static final int SOFT_INPUT_MASK_ADJUST = 240; // 0xf0 @@ -53420,7 +55830,7 @@ package android.view { field public static final int TYPE_PRIVATE_PRESENTATION = 2030; // 0x7ee field public static final int TYPE_SEARCH_BAR = 2001; // 0x7d1 field public static final int TYPE_STATUS_BAR = 2000; // 0x7d0 - field public static final int TYPE_STATUS_BAR_PANEL = 2014; // 0x7de + field @Deprecated public static final int TYPE_STATUS_BAR_PANEL = 2014; // 0x7de field @Deprecated public static final int TYPE_SYSTEM_ALERT = 2003; // 0x7d3 field public static final int TYPE_SYSTEM_DIALOG = 2008; // 0x7d8 field @Deprecated public static final int TYPE_SYSTEM_ERROR = 2010; // 0x7da @@ -53438,13 +55848,14 @@ package android.view { field public int layoutInDisplayCutoutMode; field @Deprecated public int memoryType; field public String packageName; + field public boolean preferMinimalPostProcessing; field public int preferredDisplayModeId; field @Deprecated public float preferredRefreshRate; field public int rotationAnimation; field public float screenBrightness; field public int screenOrientation; field public int softInputMode; - field public int systemUiVisibility; + field @Deprecated public int systemUiVisibility; field public android.os.IBinder token; field public int type; field public float verticalMargin; @@ -53454,11 +55865,20 @@ package android.view { field public int y; } + public final class WindowMetrics { + ctor public WindowMetrics(@NonNull android.graphics.Rect, @NonNull android.view.WindowInsets); + method @NonNull public android.graphics.Rect getBounds(); + method @NonNull public android.view.WindowInsets getWindowInsets(); + } + } package android.view.accessibility { public final class AccessibilityEvent extends android.view.accessibility.AccessibilityRecord implements android.os.Parcelable { + ctor public AccessibilityEvent(); + ctor public AccessibilityEvent(int); + ctor public AccessibilityEvent(@NonNull android.view.accessibility.AccessibilityEvent); method public void appendRecord(android.view.accessibility.AccessibilityRecord); method public int describeContents(); method public static String eventTypeToString(int); @@ -53486,6 +55906,7 @@ package android.view.accessibility { field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10 field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20 field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8 + field public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 64; // 0x40 field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1 field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2 field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0 @@ -53568,6 +55989,10 @@ package android.view.accessibility { } public class AccessibilityNodeInfo implements android.os.Parcelable { + ctor public AccessibilityNodeInfo(); + ctor public AccessibilityNodeInfo(@NonNull android.view.View); + ctor public AccessibilityNodeInfo(@NonNull android.view.View, int); + ctor public AccessibilityNodeInfo(@NonNull android.view.accessibility.AccessibilityNodeInfo); method public void addAction(android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction); method @Deprecated public void addAction(int); method public void addChild(android.view.View); @@ -53591,6 +56016,7 @@ package android.view.accessibility { method public CharSequence getContentDescription(); method public int getDrawingOrder(); method public CharSequence getError(); + method @Nullable public android.view.accessibility.AccessibilityNodeInfo.ExtraRenderingInfo getExtraRenderingInfo(); method public android.os.Bundle getExtras(); method public CharSequence getHintText(); method public int getInputType(); @@ -53603,6 +56029,7 @@ package android.view.accessibility { method @Nullable public CharSequence getPaneTitle(); method public android.view.accessibility.AccessibilityNodeInfo getParent(); method public android.view.accessibility.AccessibilityNodeInfo.RangeInfo getRangeInfo(); + method @Nullable public CharSequence getStateDescription(); method public CharSequence getText(); method public int getTextSelectionEnd(); method public int getTextSelectionStart(); @@ -53694,6 +56121,7 @@ package android.view.accessibility { method public void setShowingHintText(boolean); method public void setSource(android.view.View); method public void setSource(android.view.View, int); + method public void setStateDescription(@Nullable CharSequence); method public void setText(CharSequence); method public void setTextEntryKey(boolean); method public void setTextSelection(int, int); @@ -53713,6 +56141,7 @@ package android.view.accessibility { field public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT"; field public static final String ACTION_ARGUMENT_MOVE_WINDOW_X = "ACTION_ARGUMENT_MOVE_WINDOW_X"; field public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y = "ACTION_ARGUMENT_MOVE_WINDOW_Y"; + field public static final String ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT = "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT"; field public static final String ACTION_ARGUMENT_PROGRESS_VALUE = "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE"; field public static final String ACTION_ARGUMENT_ROW_INT = "android.view.accessibility.action.ARGUMENT_ROW_INT"; field public static final String ACTION_ARGUMENT_SELECTION_END_INT = "ACTION_ARGUMENT_SELECTION_END_INT"; @@ -53740,6 +56169,7 @@ package android.view.accessibility { field public static final int ACTION_SET_SELECTION = 131072; // 0x20000 field public static final int ACTION_SET_TEXT = 2097152; // 0x200000 field @NonNull public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityNodeInfo> CREATOR; + field public static final String EXTRA_DATA_RENDERING_INFO_KEY = "android.view.accessibility.extra.DATA_RENDERING_INFO_KEY"; field public static final String EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH = "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH"; field public static final String EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX = "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX"; field public static final String EXTRA_DATA_TEXT_CHARACTER_LOCATION_KEY = "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_KEY"; @@ -53752,10 +56182,12 @@ package android.view.accessibility { field public static final int MOVEMENT_GRANULARITY_WORD = 2; // 0x2 } - public static final class AccessibilityNodeInfo.AccessibilityAction { + public static final class AccessibilityNodeInfo.AccessibilityAction implements android.os.Parcelable { ctor public AccessibilityNodeInfo.AccessibilityAction(int, @Nullable CharSequence); + method public int describeContents(); method public int getId(); method public CharSequence getLabel(); + method public void writeToParcel(@NonNull android.os.Parcel, int); field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_ACCESSIBILITY_FOCUS; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_CLEAR_ACCESSIBILITY_FOCUS; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_CLEAR_FOCUS; @@ -53769,6 +56201,7 @@ package android.view.accessibility { field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_EXPAND; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_FOCUS; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_HIDE_TOOLTIP; + field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_IME_ENTER; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_LONG_CLICK; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_MOVE_WINDOW; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_NEXT_AT_MOVEMENT_GRANULARITY; @@ -53778,6 +56211,7 @@ package android.view.accessibility { field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PAGE_RIGHT; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PAGE_UP; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PASTE; + field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PRESS_AND_HOLD; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PREVIOUS_HTML_ELEMENT; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SCROLL_BACKWARD; @@ -53793,9 +56227,12 @@ package android.view.accessibility { field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SET_TEXT; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SHOW_ON_SCREEN; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SHOW_TOOLTIP; + field @NonNull public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction> CREATOR; } public static final class AccessibilityNodeInfo.CollectionInfo { + ctor public AccessibilityNodeInfo.CollectionInfo(int, int, boolean); + ctor public AccessibilityNodeInfo.CollectionInfo(int, int, boolean, int); method public int getColumnCount(); method public int getRowCount(); method public int getSelectionMode(); @@ -53808,6 +56245,8 @@ package android.view.accessibility { } public static final class AccessibilityNodeInfo.CollectionItemInfo { + ctor public AccessibilityNodeInfo.CollectionItemInfo(int, int, int, int, boolean); + ctor public AccessibilityNodeInfo.CollectionItemInfo(int, int, int, int, boolean, boolean); method public int getColumnIndex(); method public int getColumnSpan(); method public int getRowIndex(); @@ -53818,7 +56257,14 @@ package android.view.accessibility { method public static android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo obtain(int, int, int, int, boolean, boolean); } + public static final class AccessibilityNodeInfo.ExtraRenderingInfo { + method @Nullable public android.util.Size getLayoutSize(); + method public float getTextSizeInPx(); + method public int getTextSizeUnit(); + } + public static final class AccessibilityNodeInfo.RangeInfo { + ctor public AccessibilityNodeInfo.RangeInfo(int, float, float, float); method public float getCurrent(); method public float getMax(); method public float getMin(); @@ -53850,6 +56296,8 @@ package android.view.accessibility { } public class AccessibilityRecord { + ctor public AccessibilityRecord(); + ctor public AccessibilityRecord(@NonNull android.view.accessibility.AccessibilityRecord); method public int getAddedCount(); method public CharSequence getBeforeText(); method public CharSequence getClassName(); @@ -53910,14 +56358,18 @@ package android.view.accessibility { } public final class AccessibilityWindowInfo implements android.os.Parcelable { + ctor public AccessibilityWindowInfo(); + ctor public AccessibilityWindowInfo(@NonNull android.view.accessibility.AccessibilityWindowInfo); method public int describeContents(); method public android.view.accessibility.AccessibilityNodeInfo getAnchor(); method public void getBoundsInScreen(android.graphics.Rect); method public android.view.accessibility.AccessibilityWindowInfo getChild(int); method public int getChildCount(); + method public int getDisplayId(); method public int getId(); method public int getLayer(); method public android.view.accessibility.AccessibilityWindowInfo getParent(); + method public void getRegionInScreen(@NonNull android.graphics.Region); method public android.view.accessibility.AccessibilityNodeInfo getRoot(); method @Nullable public CharSequence getTitle(); method public int getType(); @@ -54004,7 +56456,7 @@ package android.view.animation { method protected android.view.animation.Animation clone() throws java.lang.CloneNotSupportedException; method public long computeDurationHint(); method protected void ensureInterpolator(); - method @ColorInt public int getBackgroundColor(); + method @Deprecated @ColorInt public int getBackgroundColor(); method @Deprecated public boolean getDetachWallpaper(); method public long getDuration(); method public boolean getFillAfter(); @@ -54028,7 +56480,7 @@ package android.view.animation { method public void restrictDuration(long); method public void scaleCurrentDuration(float); method public void setAnimationListener(android.view.animation.Animation.AnimationListener); - method public void setBackgroundColor(@ColorInt int); + method @Deprecated public void setBackgroundColor(@ColorInt int); method @Deprecated public void setDetachWallpaper(boolean); method public void setDuration(long); method public void setFillAfter(boolean); @@ -54361,6 +56813,10 @@ package android.view.contentcapture { method public boolean isContentCaptureEnabled(); method public void removeData(@NonNull android.view.contentcapture.DataRemovalRequest); method public void setContentCaptureEnabled(boolean); + method public void shareData(@NonNull android.view.contentcapture.DataShareRequest, @NonNull java.util.concurrent.Executor, @NonNull android.view.contentcapture.DataShareWriteAdapter); + field public static final int DATA_SHARE_ERROR_CONCURRENT_REQUEST = 2; // 0x2 + field public static final int DATA_SHARE_ERROR_TIMEOUT_INTERRUPTED = 3; // 0x3 + field public static final int DATA_SHARE_ERROR_UNKNOWN = 1; // 0x1 } public abstract class ContentCaptureSession implements java.lang.AutoCloseable { @@ -54372,8 +56828,11 @@ package android.view.contentcapture { method @NonNull public android.view.autofill.AutofillId newAutofillId(@NonNull android.view.autofill.AutofillId, long); method @NonNull public final android.view.ViewStructure newViewStructure(@NonNull android.view.View); method @NonNull public final android.view.ViewStructure newVirtualViewStructure(@NonNull android.view.autofill.AutofillId, long); + method public final void notifySessionPaused(); + method public final void notifySessionResumed(); method public final void notifyViewAppeared(@NonNull android.view.ViewStructure); method public final void notifyViewDisappeared(@NonNull android.view.autofill.AutofillId); + method public final void notifyViewInsetsChanged(@NonNull android.graphics.Insets); method public final void notifyViewTextChanged(@NonNull android.view.autofill.AutofillId, @Nullable CharSequence); method public final void notifyViewsDisappeared(@NonNull android.view.autofill.AutofillId, @NonNull long[]); method public final void setContentCaptureContext(@Nullable android.view.contentcapture.ContentCaptureContext); @@ -54407,6 +56866,22 @@ package android.view.contentcapture { method @NonNull public android.content.LocusId getLocusId(); } + public final class DataShareRequest implements android.os.Parcelable { + ctor public DataShareRequest(@Nullable android.content.LocusId, @NonNull String); + method public int describeContents(); + method @Nullable public android.content.LocusId getLocusId(); + method @NonNull public String getMimeType(); + method @NonNull public String getPackageName(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.DataShareRequest> CREATOR; + } + + public interface DataShareWriteAdapter { + method public default void onError(int); + method public void onRejected(); + method public void onWrite(@NonNull android.os.ParcelFileDescriptor); + } + } package android.view.inputmethod { @@ -54505,7 +56980,12 @@ package android.view.inputmethod { ctor public EditorInfo(); method public int describeContents(); method public void dump(android.util.Printer, String); + method @Nullable public CharSequence getInitialSelectedText(int); + method @Nullable public CharSequence getInitialTextAfterCursor(int, int); + method @Nullable public CharSequence getInitialTextBeforeCursor(int, int); method public final void makeCompatible(int); + method public void setInitialSurroundingSubText(@NonNull CharSequence, int); + method public void setInitialSurroundingText(@NonNull CharSequence); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.EditorInfo> CREATOR; field public static final int IME_ACTION_DONE = 6; // 0x6 @@ -54572,6 +57052,58 @@ package android.view.inputmethod { field public int token; } + public final class InlineSuggestion implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public android.view.inputmethod.InlineSuggestionInfo getInfo(); + method public void inflate(@NonNull android.content.Context, @NonNull android.util.Size, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.widget.inline.InlineContentView>); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InlineSuggestion> CREATOR; + } + + public final class InlineSuggestionInfo implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public String[] getAutofillHints(); + method @NonNull public android.widget.inline.InlinePresentationSpec getInlinePresentationSpec(); + method @NonNull public String getSource(); + method @NonNull public String getType(); + method public boolean isPinned(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InlineSuggestionInfo> CREATOR; + field public static final String SOURCE_AUTOFILL = "android:autofill"; + field public static final String SOURCE_PLATFORM = "android:platform"; + field public static final String TYPE_ACTION = "android:autofill:action"; + field public static final String TYPE_SUGGESTION = "android:autofill:suggestion"; + } + + public final class InlineSuggestionsRequest implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public android.os.Bundle getExtras(); + method @NonNull public String getHostPackageName(); + method @NonNull public java.util.List<android.widget.inline.InlinePresentationSpec> getInlinePresentationSpecs(); + method public int getMaxSuggestionCount(); + method @NonNull public android.os.LocaleList getSupportedLocales(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InlineSuggestionsRequest> CREATOR; + field public static final int SUGGESTION_COUNT_UNLIMITED = 2147483647; // 0x7fffffff + } + + public static final class InlineSuggestionsRequest.Builder { + ctor public InlineSuggestionsRequest.Builder(@NonNull java.util.List<android.widget.inline.InlinePresentationSpec>); + method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder addInlinePresentationSpecs(@NonNull android.widget.inline.InlinePresentationSpec); + method @NonNull public android.view.inputmethod.InlineSuggestionsRequest build(); + method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setExtras(@NonNull android.os.Bundle); + method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setInlinePresentationSpecs(@NonNull java.util.List<android.widget.inline.InlinePresentationSpec>); + method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setMaxSuggestionCount(int); + method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setSupportedLocales(@NonNull android.os.LocaleList); + } + + public final class InlineSuggestionsResponse implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<android.view.inputmethod.InlineSuggestion> getInlineSuggestions(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InlineSuggestionsResponse> CREATOR; + } + public final class InputBinding implements android.os.Parcelable { ctor public InputBinding(android.view.inputmethod.InputConnection, android.os.IBinder, int, int); ctor public InputBinding(android.view.inputmethod.InputConnection, android.view.inputmethod.InputBinding); @@ -55099,6 +57631,7 @@ package android.view.textclassifier { public final class TextClassificationSessionId implements android.os.Parcelable { method public int describeContents(); + method @NonNull public String getValue(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassificationSessionId> CREATOR; } @@ -55186,6 +57719,7 @@ package android.view.textclassifier { field public static final int TYPE_AUTO_SELECTION = 5; // 0x5 field public static final int TYPE_COPY_ACTION = 9; // 0x9 field public static final int TYPE_CUT_ACTION = 11; // 0xb + field public static final int TYPE_LINKS_GENERATED = 21; // 0x15 field public static final int TYPE_LINK_CLICKED = 7; // 0x7 field public static final int TYPE_MANUAL_REPLY = 19; // 0x13 field public static final int TYPE_OTHER_ACTION = 16; // 0x10 @@ -55298,6 +57832,7 @@ package android.view.textclassifier { method public int describeContents(); method @NonNull public android.os.Bundle getExtras(); method @NonNull public java.util.Collection<android.view.textclassifier.TextLinks.TextLink> getLinks(); + method @NonNull public CharSequence getText(); method public void writeToParcel(android.os.Parcel, int); field public static final int APPLY_STRATEGY_IGNORE = 0; // 0x0 field public static final int APPLY_STRATEGY_REPLACE = 1; // 0x1 @@ -55324,6 +57859,7 @@ package android.view.textclassifier { method @Nullable public android.os.LocaleList getDefaultLocales(); method @Nullable public android.view.textclassifier.TextClassifier.EntityConfig getEntityConfig(); method @NonNull public android.os.Bundle getExtras(); + method @Nullable public java.time.ZonedDateTime getReferenceTime(); method @NonNull public CharSequence getText(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLinks.Request> CREATOR; @@ -55335,6 +57871,7 @@ package android.view.textclassifier { method @NonNull public android.view.textclassifier.TextLinks.Request.Builder setDefaultLocales(@Nullable android.os.LocaleList); method @NonNull public android.view.textclassifier.TextLinks.Request.Builder setEntityConfig(@Nullable android.view.textclassifier.TextClassifier.EntityConfig); method public android.view.textclassifier.TextLinks.Request.Builder setExtras(@Nullable android.os.Bundle); + method @NonNull public android.view.textclassifier.TextLinks.Request.Builder setReferenceTime(@Nullable java.time.ZonedDateTime); } public static final class TextLinks.TextLink implements android.os.Parcelable { @@ -55538,7 +58075,7 @@ package android.webkit { method @Deprecated public abstract void removeSessionCookie(); method public abstract void removeSessionCookies(@Nullable android.webkit.ValueCallback<java.lang.Boolean>); method public abstract void setAcceptCookie(boolean); - method public static void setAcceptFileSchemeCookies(boolean); + method @Deprecated public static void setAcceptFileSchemeCookies(boolean); method public abstract void setAcceptThirdPartyCookies(android.webkit.WebView, boolean); method public abstract void setCookie(String, String); method public abstract void setCookie(String, String, @Nullable android.webkit.ValueCallback<java.lang.Boolean>); @@ -55903,11 +58440,11 @@ package android.webkit { method public abstract String getUserAgentString(); method public abstract void setAllowContentAccess(boolean); method public abstract void setAllowFileAccess(boolean); - method public abstract void setAllowFileAccessFromFileURLs(boolean); - method public abstract void setAllowUniversalAccessFromFileURLs(boolean); - method public abstract void setAppCacheEnabled(boolean); + method @Deprecated public abstract void setAllowFileAccessFromFileURLs(boolean); + method @Deprecated public abstract void setAllowUniversalAccessFromFileURLs(boolean); + method @Deprecated public abstract void setAppCacheEnabled(boolean); method @Deprecated public abstract void setAppCacheMaxSize(long); - method public abstract void setAppCachePath(String); + method @Deprecated public abstract void setAppCachePath(String); method public abstract void setBlockNetworkImage(boolean); method public abstract void setBlockNetworkLoads(boolean); method public abstract void setBuiltInZoomControls(boolean); @@ -56027,12 +58564,12 @@ package android.webkit { } public class WebView extends android.widget.AbsoluteLayout implements android.view.ViewGroup.OnHierarchyChangeListener android.view.ViewTreeObserver.OnGlobalFocusChangeListener { - ctor public WebView(android.content.Context); - ctor public WebView(android.content.Context, android.util.AttributeSet); - ctor public WebView(android.content.Context, android.util.AttributeSet, int); - ctor public WebView(android.content.Context, android.util.AttributeSet, int, int); - ctor @Deprecated public WebView(android.content.Context, android.util.AttributeSet, int, boolean); - method public void addJavascriptInterface(Object, String); + ctor public WebView(@NonNull android.content.Context); + ctor public WebView(@NonNull android.content.Context, @Nullable android.util.AttributeSet); + ctor public WebView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int); + ctor public WebView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int, int); + ctor @Deprecated public WebView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int, boolean); + method public void addJavascriptInterface(@NonNull Object, @NonNull String); method public boolean canGoBack(); method public boolean canGoBackOrForward(int); method public boolean canGoForward(); @@ -56046,40 +58583,40 @@ package android.webkit { method public void clearMatches(); method public void clearSslPreferences(); method @Deprecated public void clearView(); - method public android.webkit.WebBackForwardList copyBackForwardList(); + method @NonNull public android.webkit.WebBackForwardList copyBackForwardList(); method @Deprecated public android.print.PrintDocumentAdapter createPrintDocumentAdapter(); - method public android.print.PrintDocumentAdapter createPrintDocumentAdapter(String); - method public android.webkit.WebMessagePort[] createWebMessageChannel(); + method @NonNull public android.print.PrintDocumentAdapter createPrintDocumentAdapter(@NonNull String); + method @NonNull public android.webkit.WebMessagePort[] createWebMessageChannel(); method public void destroy(); method public static void disableWebView(); - method public void documentHasImages(android.os.Message); + method public void documentHasImages(@NonNull android.os.Message); method public static void enableSlowWholeDocumentDraw(); - method public void evaluateJavascript(String, @Nullable android.webkit.ValueCallback<java.lang.String>); + method public void evaluateJavascript(@NonNull String, @Nullable android.webkit.ValueCallback<java.lang.String>); method @Deprecated @Nullable public static String findAddress(String); method @Deprecated public int findAll(String); - method public void findAllAsync(String); + method public void findAllAsync(@NonNull String); method public void findNext(boolean); method public void flingScroll(int, int); method @Deprecated public void freeMemory(); method @Nullable public android.net.http.SslCertificate getCertificate(); method public int getContentHeight(); method @Nullable public static android.content.pm.PackageInfo getCurrentWebViewPackage(); - method public android.graphics.Bitmap getFavicon(); - method public android.webkit.WebView.HitTestResult getHitTestResult(); + method @Nullable public android.graphics.Bitmap getFavicon(); + method @NonNull public android.webkit.WebView.HitTestResult getHitTestResult(); method @Deprecated @Nullable public String[] getHttpAuthUsernamePassword(String, String); - method public String getOriginalUrl(); + method @Nullable public String getOriginalUrl(); method public int getProgress(); method public boolean getRendererPriorityWaivedWhenNotVisible(); method public int getRendererRequestedPriority(); method @NonNull public static android.net.Uri getSafeBrowsingPrivacyPolicyUrl(); method @Deprecated public float getScale(); - method public android.webkit.WebSettings getSettings(); + method @NonNull public android.webkit.WebSettings getSettings(); method @NonNull public android.view.textclassifier.TextClassifier getTextClassifier(); - method public String getTitle(); - method public String getUrl(); + method @Nullable public String getTitle(); + method @Nullable public String getUrl(); method @Nullable public android.webkit.WebChromeClient getWebChromeClient(); method @NonNull public static ClassLoader getWebViewClassLoader(); - method public android.webkit.WebViewClient getWebViewClient(); + method @NonNull public android.webkit.WebViewClient getWebViewClient(); method @NonNull public android.os.Looper getWebViewLooper(); method @Nullable public android.webkit.WebViewRenderProcess getWebViewRenderProcess(); method @Nullable public android.webkit.WebViewRenderProcessClient getWebViewRenderProcessClient(); @@ -56088,10 +58625,10 @@ package android.webkit { method public void goForward(); method public void invokeZoomPicker(); method public boolean isPrivateBrowsingEnabled(); - method public void loadData(String, @Nullable String, @Nullable String); - method public void loadDataWithBaseURL(@Nullable String, String, @Nullable String, @Nullable String, @Nullable String); - method public void loadUrl(String, java.util.Map<java.lang.String,java.lang.String>); - method public void loadUrl(String); + method public void loadData(@NonNull String, @Nullable String, @Nullable String); + method public void loadDataWithBaseURL(@Nullable String, @NonNull String, @Nullable String, @Nullable String, @Nullable String); + method public void loadUrl(@NonNull String, @NonNull java.util.Map<java.lang.String,java.lang.String>); + method public void loadUrl(@NonNull String); method @Deprecated public void onChildViewAdded(android.view.View, android.view.View); method @Deprecated public void onChildViewRemoved(android.view.View, android.view.View); method @Deprecated public void onGlobalFocusChanged(android.view.View, android.view.View); @@ -56102,23 +58639,23 @@ package android.webkit { method public boolean pageDown(boolean); method public boolean pageUp(boolean); method public void pauseTimers(); - method public void postUrl(String, byte[]); - method public void postVisualStateCallback(long, android.webkit.WebView.VisualStateCallback); - method public void postWebMessage(android.webkit.WebMessage, android.net.Uri); + method public void postUrl(@NonNull String, @NonNull byte[]); + method public void postVisualStateCallback(long, @NonNull android.webkit.WebView.VisualStateCallback); + method public void postWebMessage(@NonNull android.webkit.WebMessage, @NonNull android.net.Uri); method public void reload(); method public void removeJavascriptInterface(@NonNull String); method public void requestFocusNodeHref(@Nullable android.os.Message); - method public void requestImageRef(android.os.Message); - method @Nullable public android.webkit.WebBackForwardList restoreState(android.os.Bundle); + method public void requestImageRef(@NonNull android.os.Message); + method @Nullable public android.webkit.WebBackForwardList restoreState(@NonNull android.os.Bundle); method public void resumeTimers(); method @Deprecated public void savePassword(String, String, String); - method @Nullable public android.webkit.WebBackForwardList saveState(android.os.Bundle); - method public void saveWebArchive(String); - method public void saveWebArchive(String, boolean, @Nullable android.webkit.ValueCallback<java.lang.String>); + method @Nullable public android.webkit.WebBackForwardList saveState(@NonNull android.os.Bundle); + method public void saveWebArchive(@NonNull String); + method public void saveWebArchive(@NonNull String, boolean, @Nullable android.webkit.ValueCallback<java.lang.String>); method @Deprecated public void setCertificate(android.net.http.SslCertificate); - method public static void setDataDirectorySuffix(String); - method public void setDownloadListener(android.webkit.DownloadListener); - method public void setFindListener(android.webkit.WebView.FindListener); + method public static void setDataDirectorySuffix(@NonNull String); + method public void setDownloadListener(@Nullable android.webkit.DownloadListener); + method public void setFindListener(@Nullable android.webkit.WebView.FindListener); method @Deprecated public void setHorizontalScrollbarOverlay(boolean); method @Deprecated public void setHttpAuthUsernamePassword(String, String, String, String); method public void setInitialScale(int); @@ -56129,9 +58666,9 @@ package android.webkit { method public static void setSafeBrowsingWhitelist(@NonNull java.util.List<java.lang.String>, @Nullable android.webkit.ValueCallback<java.lang.Boolean>); method public void setTextClassifier(@Nullable android.view.textclassifier.TextClassifier); method @Deprecated public void setVerticalScrollbarOverlay(boolean); - method public void setWebChromeClient(android.webkit.WebChromeClient); + method public void setWebChromeClient(@Nullable android.webkit.WebChromeClient); method public static void setWebContentsDebuggingEnabled(boolean); - method public void setWebViewClient(android.webkit.WebViewClient); + method public void setWebViewClient(@NonNull android.webkit.WebViewClient); method public void setWebViewRenderProcessClient(@NonNull java.util.concurrent.Executor, @NonNull android.webkit.WebViewRenderProcessClient); method public void setWebViewRenderProcessClient(@Nullable android.webkit.WebViewRenderProcessClient); method @Deprecated public boolean shouldDelayChildPressedState(); @@ -56179,8 +58716,8 @@ package android.webkit { public class WebView.WebViewTransport { ctor public WebView.WebViewTransport(); - method public android.webkit.WebView getWebView(); - method public void setWebView(android.webkit.WebView); + method @Nullable public android.webkit.WebView getWebView(); + method public void setWebView(@Nullable android.webkit.WebView); } public class WebViewClient { @@ -58011,7 +60548,7 @@ package android.widget { method public int describeContents(); method public int getLayoutId(); method public String getPackage(); - method public boolean onLoadClass(Class); + method @Deprecated public boolean onLoadClass(Class); method public void reapply(android.content.Context, android.view.View); method public void removeAllViews(int); method public void setAccessibilityTraversalAfter(int, int); @@ -58453,66 +60990,66 @@ package android.widget { method public void setTrackTintMode(@Nullable android.graphics.PorterDuff.Mode); } - public class TabHost extends android.widget.FrameLayout implements android.view.ViewTreeObserver.OnTouchModeChangeListener { - ctor public TabHost(android.content.Context); - ctor public TabHost(android.content.Context, android.util.AttributeSet); - ctor public TabHost(android.content.Context, android.util.AttributeSet, int); - ctor public TabHost(android.content.Context, android.util.AttributeSet, int, int); - method public void addTab(android.widget.TabHost.TabSpec); - method public void clearAllTabs(); - method @Nullable public int getCurrentTab(); - method @Nullable public String getCurrentTabTag(); - method @Nullable public android.view.View getCurrentTabView(); - method public android.view.View getCurrentView(); - method public android.widget.FrameLayout getTabContentView(); - method public android.widget.TabWidget getTabWidget(); - method @NonNull public android.widget.TabHost.TabSpec newTabSpec(@NonNull String); - method public void onTouchModeChanged(boolean); - method public void setCurrentTab(int); - method public void setCurrentTabByTag(String); - method public void setOnTabChangedListener(android.widget.TabHost.OnTabChangeListener); - method public void setup(); - method public void setup(android.app.LocalActivityManager); - } - - public static interface TabHost.OnTabChangeListener { - method public void onTabChanged(String); - } - - public static interface TabHost.TabContentFactory { - method public android.view.View createTabContent(String); - } - - public class TabHost.TabSpec { - method @NonNull public String getTag(); - method public android.widget.TabHost.TabSpec setContent(int); - method public android.widget.TabHost.TabSpec setContent(android.widget.TabHost.TabContentFactory); - method public android.widget.TabHost.TabSpec setContent(android.content.Intent); - method public android.widget.TabHost.TabSpec setIndicator(CharSequence); - method public android.widget.TabHost.TabSpec setIndicator(CharSequence, android.graphics.drawable.Drawable); - method public android.widget.TabHost.TabSpec setIndicator(android.view.View); - } - - public class TabWidget extends android.widget.LinearLayout implements android.view.View.OnFocusChangeListener { - ctor public TabWidget(android.content.Context); - ctor public TabWidget(android.content.Context, android.util.AttributeSet); - ctor public TabWidget(android.content.Context, android.util.AttributeSet, int); - ctor public TabWidget(android.content.Context, android.util.AttributeSet, int, int); - method public void dispatchDraw(android.graphics.Canvas); - method public void focusCurrentTab(int); - method public android.view.View getChildTabViewAt(int); - method @Nullable public android.graphics.drawable.Drawable getLeftStripDrawable(); - method @Nullable public android.graphics.drawable.Drawable getRightStripDrawable(); - method public int getTabCount(); - method public boolean isStripEnabled(); - method public void onFocusChange(android.view.View, boolean); - method public void setCurrentTab(int); - method public void setDividerDrawable(@DrawableRes int); - method public void setLeftStripDrawable(@Nullable android.graphics.drawable.Drawable); - method public void setLeftStripDrawable(@DrawableRes int); - method public void setRightStripDrawable(@Nullable android.graphics.drawable.Drawable); - method public void setRightStripDrawable(@DrawableRes int); - method public void setStripEnabled(boolean); + @Deprecated public class TabHost extends android.widget.FrameLayout implements android.view.ViewTreeObserver.OnTouchModeChangeListener { + ctor @Deprecated public TabHost(android.content.Context); + ctor @Deprecated public TabHost(android.content.Context, android.util.AttributeSet); + ctor @Deprecated public TabHost(android.content.Context, android.util.AttributeSet, int); + ctor @Deprecated public TabHost(android.content.Context, android.util.AttributeSet, int, int); + method @Deprecated public void addTab(android.widget.TabHost.TabSpec); + method @Deprecated public void clearAllTabs(); + method @Deprecated @Nullable public int getCurrentTab(); + method @Deprecated @Nullable public String getCurrentTabTag(); + method @Deprecated @Nullable public android.view.View getCurrentTabView(); + method @Deprecated public android.view.View getCurrentView(); + method @Deprecated public android.widget.FrameLayout getTabContentView(); + method @Deprecated public android.widget.TabWidget getTabWidget(); + method @Deprecated @NonNull public android.widget.TabHost.TabSpec newTabSpec(@NonNull String); + method @Deprecated public void onTouchModeChanged(boolean); + method @Deprecated public void setCurrentTab(int); + method @Deprecated public void setCurrentTabByTag(String); + method @Deprecated public void setOnTabChangedListener(android.widget.TabHost.OnTabChangeListener); + method @Deprecated public void setup(); + method @Deprecated public void setup(android.app.LocalActivityManager); + } + + @Deprecated public static interface TabHost.OnTabChangeListener { + method @Deprecated public void onTabChanged(String); + } + + @Deprecated public static interface TabHost.TabContentFactory { + method @Deprecated public android.view.View createTabContent(String); + } + + @Deprecated public class TabHost.TabSpec { + method @Deprecated @NonNull public String getTag(); + method @Deprecated public android.widget.TabHost.TabSpec setContent(int); + method @Deprecated public android.widget.TabHost.TabSpec setContent(android.widget.TabHost.TabContentFactory); + method @Deprecated public android.widget.TabHost.TabSpec setContent(android.content.Intent); + method @Deprecated public android.widget.TabHost.TabSpec setIndicator(CharSequence); + method @Deprecated public android.widget.TabHost.TabSpec setIndicator(CharSequence, android.graphics.drawable.Drawable); + method @Deprecated public android.widget.TabHost.TabSpec setIndicator(android.view.View); + } + + @Deprecated public class TabWidget extends android.widget.LinearLayout implements android.view.View.OnFocusChangeListener { + ctor @Deprecated public TabWidget(android.content.Context); + ctor @Deprecated public TabWidget(android.content.Context, android.util.AttributeSet); + ctor @Deprecated public TabWidget(android.content.Context, android.util.AttributeSet, int); + ctor @Deprecated public TabWidget(android.content.Context, android.util.AttributeSet, int, int); + method @Deprecated public void dispatchDraw(android.graphics.Canvas); + method @Deprecated public void focusCurrentTab(int); + method @Deprecated public android.view.View getChildTabViewAt(int); + method @Deprecated @Nullable public android.graphics.drawable.Drawable getLeftStripDrawable(); + method @Deprecated @Nullable public android.graphics.drawable.Drawable getRightStripDrawable(); + method @Deprecated public int getTabCount(); + method @Deprecated public boolean isStripEnabled(); + method @Deprecated public void onFocusChange(android.view.View, boolean); + method @Deprecated public void setCurrentTab(int); + method @Deprecated public void setDividerDrawable(@DrawableRes int); + method @Deprecated public void setLeftStripDrawable(@Nullable android.graphics.drawable.Drawable); + method @Deprecated public void setLeftStripDrawable(@DrawableRes int); + method @Deprecated public void setRightStripDrawable(@Nullable android.graphics.drawable.Drawable); + method @Deprecated public void setRightStripDrawable(@DrawableRes int); + method @Deprecated public void setStripEnabled(boolean); } public class TableLayout extends android.widget.LinearLayout { @@ -58569,6 +61106,7 @@ package android.widget { method public CharSequence getFormat24Hour(); method public String getTimeZone(); method public boolean is24HourModeEnabled(); + method public void refreshTime(); method public void setFormat12Hour(CharSequence); method public void setFormat24Hour(CharSequence); method public void setTimeZone(String); @@ -58691,6 +61229,7 @@ package android.widget { method @Nullable public android.graphics.drawable.Drawable getTextSelectHandleLeft(); method @Nullable public android.graphics.drawable.Drawable getTextSelectHandleRight(); method public float getTextSize(); + method public int getTextSizeUnit(); method public int getTotalPaddingBottom(); method public int getTotalPaddingEnd(); method public int getTotalPaddingLeft(); @@ -58721,7 +61260,7 @@ package android.widget { method public boolean onPrivateIMECommand(String, android.os.Bundle); method public void onRestoreInstanceState(android.os.Parcelable); method public android.os.Parcelable onSaveInstanceState(); - method protected void onSelectionChanged(int, int); + method @CallSuper protected void onSelectionChanged(int, int); method protected void onTextChanged(CharSequence, int, int, int); method public boolean onTextContextMenuItem(int); method public void removeTextChangedListener(android.text.TextWatcher); @@ -58883,27 +61422,35 @@ package android.widget { public class Toast { ctor public Toast(android.content.Context); + method public void addCallback(@NonNull android.widget.Toast.Callback); method public void cancel(); method public int getDuration(); method public int getGravity(); method public float getHorizontalMargin(); method public float getVerticalMargin(); - method public android.view.View getView(); + method @Deprecated @Nullable public android.view.View getView(); method public int getXOffset(); method public int getYOffset(); method public static android.widget.Toast makeText(android.content.Context, CharSequence, int); method public static android.widget.Toast makeText(android.content.Context, @StringRes int, int) throws android.content.res.Resources.NotFoundException; + method public void removeCallback(@NonNull android.widget.Toast.Callback); method public void setDuration(int); method public void setGravity(int, int, int); method public void setMargin(float, float); method public void setText(@StringRes int); method public void setText(CharSequence); - method public void setView(android.view.View); + method @Deprecated public void setView(android.view.View); method public void show(); field public static final int LENGTH_LONG = 1; // 0x1 field public static final int LENGTH_SHORT = 0; // 0x0 } + public abstract static class Toast.Callback { + ctor public Toast.Callback(); + method public void onToastHidden(); + method public void onToastShown(); + } + public class ToggleButton extends android.widget.CompoundButton { ctor public ToggleButton(android.content.Context, android.util.AttributeSet, int, int); ctor public ToggleButton(android.content.Context, android.util.AttributeSet, int); @@ -59139,6 +61686,38 @@ package android.widget { } +package android.widget.inline { + + public class InlineContentView extends android.view.ViewGroup { + method @Nullable public android.view.SurfaceControl getSurfaceControl(); + method public boolean isZOrderedOnTop(); + method public void onLayout(boolean, int, int, int, int); + method public void setSurfaceControlCallback(@Nullable android.widget.inline.InlineContentView.SurfaceControlCallback); + method public boolean setZOrderedOnTop(boolean); + } + + public static interface InlineContentView.SurfaceControlCallback { + method public void onCreated(@NonNull android.view.SurfaceControl); + method public void onDestroyed(@NonNull android.view.SurfaceControl); + } + + public final class InlinePresentationSpec implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public android.util.Size getMaxSize(); + method @NonNull public android.util.Size getMinSize(); + method @NonNull public android.os.Bundle getStyle(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.widget.inline.InlinePresentationSpec> CREATOR; + } + + public static final class InlinePresentationSpec.Builder { + ctor public InlinePresentationSpec.Builder(@NonNull android.util.Size, @NonNull android.util.Size); + method @NonNull public android.widget.inline.InlinePresentationSpec build(); + method @NonNull public android.widget.inline.InlinePresentationSpec.Builder setStyle(@NonNull android.os.Bundle); + } + +} + package dalvik.annotation { @Deprecated @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.ANNOTATION_TYPE}) public @interface TestTarget { diff --git a/api/lint-baseline.txt b/api/lint-baseline.txt index b14a12f62e34..83c78fe9578b 100644 --- a/api/lint-baseline.txt +++ b/api/lint-baseline.txt @@ -3,6 +3,30 @@ AcronymName: android.system.ErrnoException#rethrowAsIOException(): +ActionValue: android.provider.Settings#ACTION_CONDITION_PROVIDER_SETTINGS: + + + +AllUpper: android.media.MediaCodecInfo.CodecCapabilities#FEATURE_LowLatency: + + + +ArrayReturn: android.app.Notification.MessagingStyle.Message#getMessagesFromBundleArray(android.os.Parcelable[]) parameter #0: + +ArrayReturn: android.content.ContentProviderOperation#resolveExtrasBackReferences(android.content.ContentProviderResult[], int) parameter #0: + +ArrayReturn: android.location.GnssAntennaInfo.SphericalCorrections#SphericalCorrections(double[][], double[][]) parameter #0: + Method parameter should be Collection<> (or subclass) instead of raw array; was `double[][]` +ArrayReturn: android.location.GnssAntennaInfo.SphericalCorrections#SphericalCorrections(double[][], double[][]) parameter #1: + Method parameter should be Collection<> (or subclass) instead of raw array; was `double[][]` +ArrayReturn: android.location.GnssAntennaInfo.SphericalCorrections#getCorrectionUncertaintiesArray(): + Method should return Collection<> (or subclass) instead of raw array; was `double[][]` +ArrayReturn: android.location.GnssAntennaInfo.SphericalCorrections#getCorrectionsArray(): + Method should return Collection<> (or subclass) instead of raw array; was `double[][]` +ArrayReturn: android.service.autofill.FillResponse.Builder#setAuthentication(android.view.autofill.AutofillId[], android.content.IntentSender, android.widget.RemoteViews, android.service.autofill.InlinePresentation) parameter #0: + Method parameter should be Collection<AutofillId> (or subclass) instead of raw array; was `android.view.autofill.AutofillId[]` + + BroadcastBehavior: android.app.AlarmManager#ACTION_NEXT_ALARM_CLOCK_CHANGED: BroadcastBehavior: android.app.admin.DevicePolicyManager#ACTION_APPLICATION_DELEGATION_SCOPES_CHANGED: @@ -383,8 +407,6 @@ DeprecationMismatch: android.graphics.PixelFormat#RGBA_5551: DeprecationMismatch: android.graphics.PixelFormat#RGB_332: -DeprecationMismatch: android.location.LocationManager#getGpsStatus(android.location.GpsStatus): - DeprecationMismatch: android.net.wifi.WifiManager#EXTRA_BSSID: DeprecationMismatch: android.net.wifi.WifiManager#EXTRA_WIFI_INFO: @@ -431,8 +453,6 @@ DeprecationMismatch: android.view.accessibility.AccessibilityEvent#MAX_TEXT_LENG DeprecationMismatch: android.webkit.WebSettings#getSaveFormData(): -DeprecationMismatch: android.webkit.WebSettings#setSaveFormData(boolean): - DeprecationMismatch: android.webkit.WebView#shouldDelayChildPressedState(): DeprecationMismatch: android.webkit.WebViewDatabase#clearFormData(): @@ -443,6 +463,14 @@ DeprecationMismatch: javax.microedition.khronos.egl.EGL10#eglCreatePixmapSurface +ExecutorRegistration: android.media.MediaRouter2#setOnGetControllerHintsListener(android.media.MediaRouter2.OnGetControllerHintsListener): + Registration methods should have overload that accepts delivery Executor: `setOnGetControllerHintsListener` + + +GenericException: android.content.res.loader.ResourcesProvider#finalize(): + + + HiddenSuperclass: android.content.res.ColorStateList: HiddenSuperclass: android.graphics.Canvas: @@ -485,12 +513,42 @@ HiddenSuperclass: android.util.StatsLog: +IntentBuilderName: android.net.VpnManager#provisionVpnProfile(android.net.PlatformVpnProfile): + Methods creating an Intent should be named `create<Foo>Intent()`, was `provisionVpnProfile` + + +KotlinOperator: android.media.AudioMetadata.Map#set(android.media.AudioMetadata.Key<T>, T): + Method can be invoked with an indexing operator from Kotlin: `set` (this is usually desirable; just make sure it makes sense for this type of object) +KotlinOperator: android.media.AudioMetadata.ReadMap#get(android.media.AudioMetadata.Key<T>): + Method can be invoked with an indexing operator from Kotlin: `get` (this is usually desirable; just make sure it makes sense for this type of object) + + +MethodNameUnits: android.media.MediaParser.SeekMap#getDurationMicros(): + Returned time values are strongly encouraged to be in milliseconds unless you need the extra precision, was `getDurationMicros` + + +MinMaxConstant: android.telephony.DataFailCause#MAX_ACCESS_PROBE: + If min/max could change in future, make them dynamic methods: android.telephony.DataFailCause#MAX_ACCESS_PROBE +MinMaxConstant: android.telephony.DataFailCause#MAX_IPV4_CONNECTIONS: + If min/max could change in future, make them dynamic methods: android.telephony.DataFailCause#MAX_IPV4_CONNECTIONS +MinMaxConstant: android.telephony.DataFailCause#MAX_IPV6_CONNECTIONS: + If min/max could change in future, make them dynamic methods: android.telephony.DataFailCause#MAX_IPV6_CONNECTIONS +MinMaxConstant: android.telephony.DataFailCause#MAX_PPP_INACTIVITY_TIMER_EXPIRED: + If min/max could change in future, make them dynamic methods: android.telephony.DataFailCause#MAX_PPP_INACTIVITY_TIMER_EXPIRED + + +MissingNullability: android.app.AsyncNotedAppOp#equals(Object) parameter #0: + +MissingNullability: android.app.AsyncNotedAppOp#writeToParcel(android.os.Parcel, int) parameter #0: + +MissingNullability: android.app.SyncNotedAppOp#equals(Object) parameter #0: + MissingNullability: android.icu.lang.UCharacter.UnicodeBlock#CHORASMIAN: - Missing nullability on field `CHORASMIAN` in class `class android.icu.lang.UCharacter.UnicodeBlock` + MissingNullability: android.icu.lang.UCharacter.UnicodeBlock#CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G: - Missing nullability on field `CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G` in class `class android.icu.lang.UCharacter.UnicodeBlock` + MissingNullability: android.icu.lang.UCharacter.UnicodeBlock#DIVES_AKURU: - Missing nullability on field `DIVES_AKURU` in class `class android.icu.lang.UCharacter.UnicodeBlock` + MissingNullability: android.icu.lang.UCharacter.UnicodeBlock#EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS: MissingNullability: android.icu.lang.UCharacter.UnicodeBlock#ELYMAIC: @@ -536,10 +594,39 @@ MissingNullability: android.icu.util.VersionInfo#UNICODE_12_0: MissingNullability: android.icu.util.VersionInfo#UNICODE_12_1: MissingNullability: android.icu.util.VersionInfo#UNICODE_13_0: - Missing nullability on field `UNICODE_13_0` in class `class android.icu.util.VersionInfo` + +MissingNullability: android.media.MediaMetadataRetriever#getFrameAtTime(long, int, android.media.MediaMetadataRetriever.BitmapParams): + +MissingNullability: android.media.MediaMetadataRetriever#getScaledFrameAtTime(long, int, int, int, android.media.MediaMetadataRetriever.BitmapParams): MissingNullability: java.time.chrono.JapaneseEra#REIWA: - Missing nullability on field `REIWA` in class `class java.time.chrono.JapaneseEra` + + + +NotCloseable: android.media.MediaCodec.GraphicBlock: + Classes that release resources (finalize()) should implement AutoClosable and CloseGuard: class android.media.MediaCodec.GraphicBlock +NotCloseable: android.media.MediaCodec.LinearBlock: + Classes that release resources (finalize()) should implement AutoClosable and CloseGuard: class android.media.MediaCodec.LinearBlock +NotCloseable: android.media.MediaParser: + Classes that release resources (release()) should implement AutoClosable and CloseGuard: class android.media.MediaParser +NotCloseable: android.media.MediaRouter2.RoutingController: + Classes that release resources (release()) should implement AutoClosable and CloseGuard: class android.media.MediaRouter2.RoutingController +NotCloseable: android.util.CloseGuard: + Classes that release resources (close()) should implement AutoClosable and CloseGuard: class android.util.CloseGuard +NotCloseable: android.view.SurfaceControlViewHost: + Classes that release resources (release()) should implement AutoClosable and CloseGuard: class android.view.SurfaceControlViewHost + + +OnNameExpected: android.app.admin.DevicePolicyKeyguardService#dismiss(): + If implemented by developer, should follow the on<Something> style; otherwise consider marking final +OnNameExpected: android.service.controls.ControlsProviderService#createPublisherFor(java.util.List<java.lang.String>): + Methods implemented by developers should follow the on<Something> style, was `createPublisherFor` +OnNameExpected: android.service.controls.ControlsProviderService#createPublisherForAllAvailable(): + Methods implemented by developers should follow the on<Something> style, was `createPublisherForAllAvailable` +OnNameExpected: android.service.controls.ControlsProviderService#createPublisherForSuggested(): + If implemented by developer, should follow the on<Something> style; otherwise consider marking final +OnNameExpected: android.service.controls.ControlsProviderService#performControlAction(String, android.service.controls.actions.ControlAction, java.util.function.Consumer<java.lang.Integer>): + Methods implemented by developers should follow the on<Something> style, was `performControlAction` RequiresPermission: android.accounts.AccountManager#getAccountsByTypeAndFeatures(String, String[], android.accounts.AccountManagerCallback<android.accounts.Account[]>, android.os.Handler): @@ -548,6 +635,10 @@ RequiresPermission: android.accounts.AccountManager#hasFeatures(android.accounts RequiresPermission: android.app.AlarmManager#setTime(long): +RequiresPermission: android.app.AppOpsManager#isOpActive(String, int, String): + +RequiresPermission: android.app.AppOpsManager#startWatchingActive(String[], java.util.concurrent.Executor, android.app.AppOpsManager.OnOpActiveChangedListener): + RequiresPermission: android.app.DownloadManager.Request#setDestinationInExternalPublicDir(String, String): RequiresPermission: android.app.DownloadManager.Request#setDestinationUri(android.net.Uri): @@ -776,12 +867,16 @@ RequiresPermission: android.location.LocationManager#addNmeaListener(android.loc RequiresPermission: android.location.LocationManager#addNmeaListener(android.location.OnNmeaMessageListener, android.os.Handler): +RequiresPermission: android.location.LocationManager#addNmeaListener(java.util.concurrent.Executor, android.location.OnNmeaMessageListener): + RequiresPermission: android.location.LocationManager#addProximityAlert(double, double, float, long, android.app.PendingIntent): RequiresPermission: android.location.LocationManager#registerGnssStatusCallback(android.location.GnssStatus.Callback): RequiresPermission: android.location.LocationManager#registerGnssStatusCallback(android.location.GnssStatus.Callback, android.os.Handler): +RequiresPermission: android.location.LocationManager#registerGnssStatusCallback(java.util.concurrent.Executor, android.location.GnssStatus.Callback): + RequiresPermission: android.media.AudioManager#startBluetoothSco(): RequiresPermission: android.media.AudioManager#stopBluetoothSco(): @@ -812,6 +907,12 @@ RequiresPermission: android.net.ConnectivityManager#requestNetwork(android.net.N RequiresPermission: android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest, android.net.ConnectivityManager.NetworkCallback): +RequiresPermission: android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest, android.net.ConnectivityManager.NetworkCallback, android.os.Handler): + +RequiresPermission: android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest, android.net.ConnectivityManager.NetworkCallback, android.os.Handler, int): + +RequiresPermission: android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest, android.net.ConnectivityManager.NetworkCallback, int): + RequiresPermission: android.net.sip.SipAudioCall#setSpeakerMode(boolean): RequiresPermission: android.net.sip.SipAudioCall#startAudio(): @@ -1142,6 +1243,24 @@ RequiresPermission: android.webkit.WebSettings#setGeolocationEnabled(boolean): +SamShouldBeLast: android.location.LocationManager#registerGnssMeasurementsCallback(java.util.concurrent.Executor, android.location.GnssMeasurementsEvent.Callback): + +SamShouldBeLast: android.location.LocationManager#registerGnssNavigationMessageCallback(java.util.concurrent.Executor, android.location.GnssNavigationMessage.Callback): + +SamShouldBeLast: android.location.LocationManager#registerGnssStatusCallback(java.util.concurrent.Executor, android.location.GnssStatus.Callback): + +SamShouldBeLast: android.location.LocationManager#requestLocationUpdates(String, long, float, java.util.concurrent.Executor, android.location.LocationListener): + +SamShouldBeLast: android.location.LocationManager#requestLocationUpdates(long, float, android.location.Criteria, java.util.concurrent.Executor, android.location.LocationListener): + + + +StreamFiles: android.content.res.loader.DirectoryAssetsProvider#DirectoryAssetsProvider(java.io.File): + Methods accepting `File` should also accept `FileDescriptor` or streams: constructor android.content.res.loader.DirectoryAssetsProvider(java.io.File) +StreamFiles: android.content.res.loader.DirectoryResourceLoader#DirectoryResourceLoader(java.io.File): + + + Todo: android.hardware.camera2.params.StreamConfigurationMap: Todo: android.hardware.camera2.params.StreamConfigurationMap#getOutputMinFrameDuration(Class<T>, android.util.Size): diff --git a/api/module-lib-current.txt b/api/module-lib-current.txt index 5bc10ece4db5..f07f2f34425b 100644 --- a/api/module-lib-current.txt +++ b/api/module-lib-current.txt @@ -1,14 +1,4 @@ // Signature format: 2.0 -package android.annotation { - - @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.FIELD}) public @interface NonNull { - } - - @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.FIELD}) public @interface Nullable { - } - -} - package android.net { public final class TetheringConstants { @@ -61,5 +51,33 @@ package android.os { field public static final int PARCELABLE_STABILITY_VINTF = 1; // 0x1 } + public class StatsFrameworkInitializer { + method public static void registerServiceWrappers(); + method public static void setStatsServiceManager(@NonNull android.os.StatsServiceManager); + } + + public class StatsServiceManager { + method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsCompanionServiceRegisterer(); + method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsManagerServiceRegisterer(); + method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsdServiceRegisterer(); + } + + public static class StatsServiceManager.ServiceNotFoundException extends java.lang.Exception { + ctor public StatsServiceManager.ServiceNotFoundException(@NonNull String); + } + + public static final class StatsServiceManager.ServiceRegisterer { + method @Nullable public android.os.IBinder get(); + method @Nullable public android.os.IBinder getOrThrow() throws android.os.StatsServiceManager.ServiceNotFoundException; + } + +} + +package android.util { + + public final class Log { + method public static int logToRadioBuffer(int, @Nullable String, @Nullable String); + } + } diff --git a/api/removed.txt b/api/removed.txt index a4ccfb6db128..e7e96776ac0d 100644 --- a/api/removed.txt +++ b/api/removed.txt @@ -1,19 +1,10 @@ // Signature format: 2.0 package android.app { - 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 { - method @Deprecated public boolean enterPictureInPictureMode(@NonNull android.app.PictureInPictureArgs); - method @Deprecated public void setPictureInPictureArgs(@NonNull android.app.PictureInPictureArgs); - } - public class ActivityManager { method @Deprecated public static int getMaxNumPictureInPictureActions(); } - public class KeyguardManager { - method @Deprecated public void dismissKeyguard(@NonNull android.app.Activity, @Nullable android.app.KeyguardManager.KeyguardDismissCallback, @Nullable android.os.Handler); - } - public class Notification implements android.os.Parcelable { method @Deprecated public String getChannel(); method public static Class<? extends android.app.Notification.Style> getNotificationStyleClass(String); @@ -21,54 +12,19 @@ package android.app { method @Deprecated public void setLatestEventInfo(android.content.Context, CharSequence, CharSequence, android.app.PendingIntent); } - public static class Notification.Builder { - method @Deprecated public android.app.Notification.Builder setChannel(String); - method @Deprecated public android.app.Notification.Builder setTimeout(long); - } - - @Deprecated public final class PictureInPictureArgs implements android.os.Parcelable { - method public static android.app.PictureInPictureArgs convert(android.app.PictureInPictureParams); - method public static android.app.PictureInPictureParams convert(android.app.PictureInPictureArgs); - method public int describeContents(); - method public void writeToParcel(android.os.Parcel, int); - field public static final int CONTENTS_FILE_DESCRIPTOR = 1; // 0x1 - field @NonNull public static final android.os.Parcelable.Creator<android.app.PictureInPictureArgs> CREATOR; - field public static final int PARCELABLE_WRITE_RETURN_VALUE = 1; // 0x1 - } - - public static class PictureInPictureArgs.Builder { - ctor public PictureInPictureArgs.Builder(); - method public android.app.PictureInPictureArgs build(); - method public android.app.PictureInPictureArgs.Builder setActions(java.util.List<android.app.RemoteAction>); - method public android.app.PictureInPictureArgs.Builder setAspectRatio(android.util.Rational); - method public android.app.PictureInPictureArgs.Builder setSourceRectHint(android.graphics.Rect); - } - -} - -package android.app.admin { - - public class DevicePolicyManager { - method @Deprecated @Nullable public android.os.UserHandle createAndInitializeUser(@NonNull android.content.ComponentName, String, String, @NonNull android.content.ComponentName, android.os.Bundle); - method @Deprecated @Nullable public android.os.UserHandle createUser(@NonNull android.content.ComponentName, String); - } - -} - -package android.app.job { - - public class JobInfo implements android.os.Parcelable { - method @Deprecated public long getEstimatedNetworkBytes(); + public static final class Notification.BubbleMetadata implements android.os.Parcelable { + method @Deprecated @Nullable public android.graphics.drawable.Icon getBubbleIcon(); + method @Deprecated @Nullable public android.app.PendingIntent getBubbleIntent(); } - public static final class JobInfo.Builder { - method @Deprecated public android.app.job.JobInfo.Builder setEstimatedNetworkBytes(long); - method @Deprecated public android.app.job.JobInfo.Builder setIsPrefetch(boolean); + public static final class Notification.BubbleMetadata.Builder { + method @Deprecated @NonNull public android.app.Notification.BubbleMetadata.Builder createIntentBubble(@NonNull android.app.PendingIntent, @NonNull android.graphics.drawable.Icon); + method @Deprecated @NonNull public android.app.Notification.BubbleMetadata.Builder createShortcutBubble(@NonNull String); } - public final class JobWorkItem implements android.os.Parcelable { - ctor @Deprecated public JobWorkItem(android.content.Intent, long); - method @Deprecated public long getEstimatedNetworkBytes(); + public static class Notification.Builder { + method @Deprecated public android.app.Notification.Builder setChannel(String); + method @Deprecated public android.app.Notification.Builder setTimeout(long); } } @@ -123,11 +79,17 @@ package android.app.usage { package android.content { - public class ClipData implements android.os.Parcelable { - method @Deprecated public void addItem(android.content.ClipData.Item, android.content.ContentResolver); + public abstract class ContentProvider implements android.content.ComponentCallbacks2 { + method @Deprecated @Nullable public final String getCallingFeatureId(); + } + + public abstract class ContentResolver { + method @Deprecated public void notifyChange(@NonNull Iterable<android.net.Uri>, @Nullable android.database.ContentObserver, int); } public abstract class Context { + method @Deprecated @NonNull public android.content.Context createFeatureContext(@Nullable String); + method @Deprecated @Nullable public String getFeatureId(); method public abstract android.content.SharedPreferences getSharedPreferences(java.io.File, int); method public abstract java.io.File getSharedPreferencesPath(String); } @@ -145,14 +107,6 @@ package android.content { package android.content.pm { - public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable { - field @Deprecated public String volumeUuid; - } - - public class ComponentInfo extends android.content.pm.PackageItemInfo { - field @Deprecated public boolean encryptionAware; - } - public class PackageInfo implements android.os.Parcelable { field public static final int REQUESTED_PERMISSION_REQUIRED = 1; // 0x1 } @@ -161,10 +115,6 @@ package android.content.pm { method public abstract boolean setInstantAppCookie(@Nullable byte[]); } - public class ResolveInfo implements android.os.Parcelable { - field @Deprecated public boolean instantAppAvailable; - } - public final class SharedLibraryInfo implements android.os.Parcelable { method public boolean isBuiltin(); method public boolean isDynamic(); @@ -265,19 +215,10 @@ package android.graphics.drawable { package android.hardware { - public final class HardwareBuffer implements java.lang.AutoCloseable android.os.Parcelable { - method @Deprecated public void destroy(); - method @Deprecated public boolean isDestroyed(); - } - public final class SensorDirectChannel implements java.nio.channels.Channel { method @Deprecated public boolean isValid(); } - public abstract class SensorManager { - method @Deprecated public int configureDirectChannel(android.hardware.SensorDirectChannel, android.hardware.Sensor, int); - } - } package android.icu.util { @@ -296,11 +237,6 @@ package android.location { method @Deprecated public void removeVerticalAccuracy(); } - public class LocationManager { - method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(android.location.GpsStatus.NmeaListener); - method @Deprecated public void removeNmeaListener(android.location.GpsStatus.NmeaListener); - } - } package android.media { @@ -375,7 +311,6 @@ package android.os { public final class SystemClock { method @NonNull public static java.time.Clock elapsedRealtimeClock(); method @NonNull public static java.time.Clock uptimeClock(); - method @Deprecated @NonNull public static java.time.Clock uptimeMillisClock(); } public class TestLooperManager { @@ -520,17 +455,10 @@ package android.provider { field @Deprecated public static final String TIMESTAMP = "timestamp"; } - public final class MediaStore { - method @Deprecated @NonNull public static android.net.Uri createPending(@NonNull android.content.Context, @NonNull android.provider.MediaStore.PendingParams); - method @Deprecated @NonNull public static java.util.Set<java.lang.String> getAllVolumeNames(@NonNull android.content.Context); - method @Deprecated @NonNull public static android.provider.MediaStore.PendingSession openPending(@NonNull android.content.Context, @NonNull android.net.Uri); - method @Deprecated @NonNull public static android.net.Uri setIncludeTrashed(@NonNull android.net.Uri); - method @Deprecated public static void trash(@NonNull android.content.Context, @NonNull android.net.Uri); - method @Deprecated public static void trash(@NonNull android.content.Context, @NonNull android.net.Uri, long); - method @Deprecated public static void untrash(@NonNull android.content.Context, @NonNull android.net.Uri); - } - public static interface MediaStore.Audio.AudioColumns extends android.provider.MediaStore.MediaColumns { + field public static final String ALBUM = "album"; + field public static final String ARTIST = "artist"; + field public static final String COMPOSER = "composer"; field public static final String DURATION = "duration"; } @@ -538,6 +466,10 @@ package android.provider { field @Deprecated public static final String DESCRIPTION = "description"; } + public static interface MediaStore.Files.FileColumns extends android.provider.MediaStore.MediaColumns { + field public static final String TITLE = "title"; + } + public static interface MediaStore.Images.ImageColumns extends android.provider.MediaStore.MediaColumns { field public static final String BUCKET_DISPLAY_NAME = "bucket_display_name"; field public static final String BUCKET_ID = "bucket_id"; @@ -548,35 +480,17 @@ package android.provider { public static interface MediaStore.MediaColumns extends android.provider.BaseColumns { field @Deprecated public static final String GROUP_ID = "group_id"; - field @Deprecated public static final String HASH = "_hash"; - field @Deprecated public static final String IS_TRASHED = "is_trashed"; - field @Deprecated public static final String PRIMARY_DIRECTORY = "primary_directory"; - field @Deprecated public static final String SECONDARY_DIRECTORY = "secondary_directory"; - } - - @Deprecated public static class MediaStore.PendingParams { - ctor public MediaStore.PendingParams(@NonNull android.net.Uri, @NonNull String, @NonNull String); - method public void setDownloadUri(@Nullable android.net.Uri); - method public void setPrimaryDirectory(@Nullable String); - method public void setRefererUri(@Nullable android.net.Uri); - method public void setSecondaryDirectory(@Nullable String); - } - - @Deprecated public static class MediaStore.PendingSession implements java.lang.AutoCloseable { - method public void abandon(); - method public void close(); - method public void notifyProgress(@IntRange(from=0, to=100) int); - method @NonNull public android.os.ParcelFileDescriptor open() throws java.io.FileNotFoundException; - method @NonNull public java.io.OutputStream openOutputStream() throws java.io.FileNotFoundException; - method @NonNull public android.net.Uri publish(); } public static interface MediaStore.Video.VideoColumns extends android.provider.MediaStore.MediaColumns { + field public static final String ALBUM = "album"; + field public static final String ARTIST = "artist"; field public static final String BUCKET_DISPLAY_NAME = "bucket_display_name"; field public static final String BUCKET_ID = "bucket_id"; field public static final String DATE_TAKEN = "datetaken"; field public static final String DURATION = "duration"; field public static final String GROUP_ID = "group_id"; + field public static final String RESOLUTION = "resolution"; } public static final class Settings.Global extends android.provider.Settings.NameValueTable { diff --git a/api/system-current.txt b/api/system-current.txt index 05d87c219738..c0364a3de18f 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -5,10 +5,11 @@ package android { field public static final String ACCESS_AMBIENT_LIGHT_STATS = "android.permission.ACCESS_AMBIENT_LIGHT_STATS"; field public static final String ACCESS_BROADCAST_RADIO = "android.permission.ACCESS_BROADCAST_RADIO"; field public static final String ACCESS_CACHE_FILESYSTEM = "android.permission.ACCESS_CACHE_FILESYSTEM"; + field public static final String ACCESS_CONTEXT_HUB = "android.permission.ACCESS_CONTEXT_HUB"; field public static final String ACCESS_DRM_CERTIFICATES = "android.permission.ACCESS_DRM_CERTIFICATES"; field @Deprecated public static final String ACCESS_FM_RADIO = "android.permission.ACCESS_FM_RADIO"; field public static final String ACCESS_INSTANT_APPS = "android.permission.ACCESS_INSTANT_APPS"; - field public static final String ACCESS_MESSAGES_ON_ICC = "android.permission.ACCESS_MESSAGES_ON_ICC"; + field public static final String ACCESS_LOCUS_ID_USAGE_STATS = "android.permission.ACCESS_LOCUS_ID_USAGE_STATS"; field public static final String ACCESS_MOCK_LOCATION = "android.permission.ACCESS_MOCK_LOCATION"; field public static final String ACCESS_MTP = "android.permission.ACCESS_MTP"; field public static final String ACCESS_NETWORK_CONDITIONS = "android.permission.ACCESS_NETWORK_CONDITIONS"; @@ -16,6 +17,9 @@ package android { field public static final String ACCESS_SHARED_LIBRARIES = "android.permission.ACCESS_SHARED_LIBRARIES"; field public static final String ACCESS_SHORTCUTS = "android.permission.ACCESS_SHORTCUTS"; field public static final String ACCESS_SURFACE_FLINGER = "android.permission.ACCESS_SURFACE_FLINGER"; + field public static final String ACCESS_TV_DESCRAMBLER = "android.permission.ACCESS_TV_DESCRAMBLER"; + field public static final String ACCESS_TV_TUNER = "android.permission.ACCESS_TV_TUNER"; + field public static final String ACCESS_VIBRATOR_STATE = "android.permission.ACCESS_VIBRATOR_STATE"; field public static final String ACTIVITY_EMBEDDING = "android.permission.ACTIVITY_EMBEDDING"; field public static final String ADJUST_RUNTIME_PERMISSIONS_POLICY = "android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY"; field public static final String ALLOCATE_AGGRESSIVE = "android.permission.ALLOCATE_AGGRESSIVE"; @@ -31,6 +35,7 @@ package android { field public static final String BIND_CONTENT_SUGGESTIONS_SERVICE = "android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE"; field public static final String BIND_DIRECTORY_SEARCH = "android.permission.BIND_DIRECTORY_SEARCH"; field public static final String BIND_EUICC_SERVICE = "android.permission.BIND_EUICC_SERVICE"; + field public static final String BIND_EXTERNAL_STORAGE_SERVICE = "android.permission.BIND_EXTERNAL_STORAGE_SERVICE"; field public static final String BIND_IMS_SERVICE = "android.permission.BIND_IMS_SERVICE"; field public static final String BIND_KEYGUARD_APPWIDGET = "android.permission.BIND_KEYGUARD_APPWIDGET"; field public static final String BIND_NETWORK_RECOMMENDATION_SERVICE = "android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"; @@ -53,10 +58,13 @@ package android { field public static final String CAPTURE_AUDIO_HOTWORD = "android.permission.CAPTURE_AUDIO_HOTWORD"; field public static final String CAPTURE_MEDIA_OUTPUT = "android.permission.CAPTURE_MEDIA_OUTPUT"; field public static final String CAPTURE_TV_INPUT = "android.permission.CAPTURE_TV_INPUT"; + field public static final String CAPTURE_VOICE_COMMUNICATION_OUTPUT = "android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT"; field public static final String CHANGE_APP_IDLE_STATE = "android.permission.CHANGE_APP_IDLE_STATE"; field public static final String CHANGE_DEVICE_IDLE_TEMP_WHITELIST = "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST"; field public static final String CLEAR_APP_USER_DATA = "android.permission.CLEAR_APP_USER_DATA"; + field public static final String COMPANION_APPROVE_WIFI_CONNECTIONS = "android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS"; field public static final String CONFIGURE_DISPLAY_BRIGHTNESS = "android.permission.CONFIGURE_DISPLAY_BRIGHTNESS"; + field public static final String CONFIGURE_WIFI_DISPLAY = "android.permission.CONFIGURE_WIFI_DISPLAY"; field @Deprecated public static final String CONNECTIVITY_INTERNAL = "android.permission.CONNECTIVITY_INTERNAL"; field public static final String CONNECTIVITY_USE_RESTRICTED_NETWORKS = "android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"; field public static final String CONTROL_DEVICE_LIGHTS = "android.permission.CONTROL_DEVICE_LIGHTS"; @@ -65,17 +73,19 @@ package android { field public static final String CONTROL_INCALL_EXPERIENCE = "android.permission.CONTROL_INCALL_EXPERIENCE"; field public static final String CONTROL_KEYGUARD_SECURE_NOTIFICATIONS = "android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS"; field public static final String CONTROL_VPN = "android.permission.CONTROL_VPN"; + field public static final String CREATE_USERS = "android.permission.CREATE_USERS"; field public static final String CRYPT_KEEPER = "android.permission.CRYPT_KEEPER"; field public static final String DEVICE_POWER = "android.permission.DEVICE_POWER"; field public static final String DISPATCH_PROVISIONING_MESSAGE = "android.permission.DISPATCH_PROVISIONING_MESSAGE"; field public static final String ENTER_CAR_MODE_PRIORITIZED = "android.permission.ENTER_CAR_MODE_PRIORITIZED"; + field public static final String EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS = "android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS"; field public static final String FORCE_BACK = "android.permission.FORCE_BACK"; field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES"; field public static final String GET_APP_OPS_STATS = "android.permission.GET_APP_OPS_STATS"; field public static final String GET_PROCESS_STATE_AND_OOM_SCORE = "android.permission.GET_PROCESS_STATE_AND_OOM_SCORE"; field public static final String GET_RUNTIME_PERMISSIONS = "android.permission.GET_RUNTIME_PERMISSIONS"; field public static final String GET_TOP_ACTIVITY_INFO = "android.permission.GET_TOP_ACTIVITY_INFO"; - field public static final String GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS = "android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS"; + field @Deprecated public static final String GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS = "android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS"; field public static final String GRANT_RUNTIME_PERMISSIONS = "android.permission.GRANT_RUNTIME_PERMISSIONS"; field public static final String GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS = "android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS"; field public static final String HANDLE_CAR_MODE_CHANGES = "android.permission.HANDLE_CAR_MODE_CHANGES"; @@ -88,7 +98,6 @@ package android { field public static final String INSTALL_PACKAGE_UPDATES = "android.permission.INSTALL_PACKAGE_UPDATES"; field public static final String INSTALL_SELF_UPDATES = "android.permission.INSTALL_SELF_UPDATES"; field public static final String INTENT_FILTER_VERIFICATION_AGENT = "android.permission.INTENT_FILTER_VERIFICATION_AGENT"; - field public static final String INTERACT_ACROSS_PROFILES = "android.permission.INTERACT_ACROSS_PROFILES"; field public static final String INTERACT_ACROSS_USERS = "android.permission.INTERACT_ACROSS_USERS"; field public static final String INTERACT_ACROSS_USERS_FULL = "android.permission.INTERACT_ACROSS_USERS_FULL"; field public static final String INTERNAL_SYSTEM_WINDOW = "android.permission.INTERNAL_SYSTEM_WINDOW"; @@ -108,7 +117,9 @@ package android { field public static final String MANAGE_CONTENT_CAPTURE = "android.permission.MANAGE_CONTENT_CAPTURE"; field public static final String MANAGE_CONTENT_SUGGESTIONS = "android.permission.MANAGE_CONTENT_SUGGESTIONS"; field public static final String MANAGE_DEBUGGING = "android.permission.MANAGE_DEBUGGING"; + field public static final String MANAGE_FACTORY_RESET_PROTECTION = "android.permission.MANAGE_FACTORY_RESET_PROTECTION"; field public static final String MANAGE_IPSEC_TUNNELS = "android.permission.MANAGE_IPSEC_TUNNELS"; + field public static final String MANAGE_ONE_TIME_PERMISSION_SESSIONS = "android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS"; field public static final String MANAGE_ROLE_HOLDERS = "android.permission.MANAGE_ROLE_HOLDERS"; field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS"; field public static final String MANAGE_SENSOR_PRIVACY = "android.permission.MANAGE_SENSOR_PRIVACY"; @@ -124,7 +135,9 @@ package android { field @Deprecated public static final String MODIFY_NETWORK_ACCOUNTING = "android.permission.MODIFY_NETWORK_ACCOUNTING"; field public static final String MODIFY_PARENTAL_CONTROLS = "android.permission.MODIFY_PARENTAL_CONTROLS"; field public static final String MODIFY_QUIET_MODE = "android.permission.MODIFY_QUIET_MODE"; + field public static final String MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE = "android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE"; field public static final String MOVE_PACKAGE = "android.permission.MOVE_PACKAGE"; + field public static final String NETWORK_AIRPLANE_MODE = "android.permission.NETWORK_AIRPLANE_MODE"; field public static final String NETWORK_CARRIER_PROVISIONING = "android.permission.NETWORK_CARRIER_PROVISIONING"; field public static final String NETWORK_FACTORY = "android.permission.NETWORK_FACTORY"; field public static final String NETWORK_MANAGED_PROVISIONING = "android.permission.NETWORK_MANAGED_PROVISIONING"; @@ -150,7 +163,9 @@ package android { field public static final String PROVIDE_RESOLVER_RANKER_SERVICE = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE"; field public static final String PROVIDE_TRUST_AGENT = "android.permission.PROVIDE_TRUST_AGENT"; field public static final String QUERY_TIME_ZONE_RULES = "android.permission.QUERY_TIME_ZONE_RULES"; + field public static final String RADIO_SCAN_WITHOUT_LOCATION = "android.permission.RADIO_SCAN_WITHOUT_LOCATION"; field public static final String READ_ACTIVE_EMERGENCY_SESSION = "android.permission.READ_ACTIVE_EMERGENCY_SESSION"; + field public static final String READ_CARRIER_APP_INFO = "android.permission.READ_CARRIER_APP_INFO"; field public static final String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS"; field public static final String READ_CONTENT_RATING_SYSTEMS = "android.permission.READ_CONTENT_RATING_SYSTEMS"; field public static final String READ_DEVICE_CONFIG = "android.permission.READ_DEVICE_CONFIG"; @@ -176,11 +191,14 @@ package android { field public static final String REGISTER_CALL_PROVIDER = "android.permission.REGISTER_CALL_PROVIDER"; field public static final String REGISTER_CONNECTION_MANAGER = "android.permission.REGISTER_CONNECTION_MANAGER"; field public static final String REGISTER_SIM_SUBSCRIPTION = "android.permission.REGISTER_SIM_SUBSCRIPTION"; + field public static final String REGISTER_STATS_PULL_ATOM = "android.permission.REGISTER_STATS_PULL_ATOM"; field public static final String REMOTE_DISPLAY_PROVIDER = "android.permission.REMOTE_DISPLAY_PROVIDER"; field public static final String REMOVE_DRM_CERTIFICATES = "android.permission.REMOVE_DRM_CERTIFICATES"; field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS"; + field public static final String REQUEST_NETWORK_SCORES = "android.permission.REQUEST_NETWORK_SCORES"; field public static final String REQUEST_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE"; field public static final String RESET_PASSWORD = "android.permission.RESET_PASSWORD"; + field public static final String RESTORE_RUNTIME_PERMISSIONS = "android.permission.RESTORE_RUNTIME_PERMISSIONS"; field public static final String RESTRICTED_VR_ACCESS = "android.permission.RESTRICTED_VR_ACCESS"; field public static final String RETRIEVE_WINDOW_CONTENT = "android.permission.RETRIEVE_WINDOW_CONTENT"; field public static final String REVIEW_ACCESSIBILITY_SERVICES = "android.permission.REVIEW_ACCESSIBILITY_SERVICES"; @@ -205,6 +223,7 @@ package android { field public static final String SUBSTITUTE_NOTIFICATION_APP_NAME = "android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"; field public static final String SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON = "android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON"; field public static final String SUSPEND_APPS = "android.permission.SUSPEND_APPS"; + field public static final String SYSTEM_CAMERA = "android.permission.SYSTEM_CAMERA"; field public static final String TETHER_PRIVILEGED = "android.permission.TETHER_PRIVILEGED"; field public static final String TV_INPUT_HARDWARE = "android.permission.TV_INPUT_HARDWARE"; field public static final String TV_VIRTUAL_REMOTE_CONTROLLER = "android.permission.TV_VIRTUAL_REMOTE_CONTROLLER"; @@ -212,13 +231,17 @@ package android { field public static final String UPDATE_APP_OPS_STATS = "android.permission.UPDATE_APP_OPS_STATS"; field public static final String UPDATE_LOCK = "android.permission.UPDATE_LOCK"; field public static final String UPDATE_TIME_ZONE_RULES = "android.permission.UPDATE_TIME_ZONE_RULES"; + field public static final String UPGRADE_RUNTIME_PERMISSIONS = "android.permission.UPGRADE_RUNTIME_PERMISSIONS"; field public static final String USER_ACTIVITY = "android.permission.USER_ACTIVITY"; field public static final String USE_RESERVED_DISK = "android.permission.USE_RESERVED_DISK"; + field public static final String WHITELIST_AUTO_REVOKE_PERMISSIONS = "android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS"; field public static final String WHITELIST_RESTRICTED_PERMISSIONS = "android.permission.WHITELIST_RESTRICTED_PERMISSIONS"; + field public static final String WIFI_SET_DEVICE_MOBILITY_STATE = "android.permission.WIFI_SET_DEVICE_MOBILITY_STATE"; + field public static final String WIFI_UPDATE_USABILITY_STATS_SCORE = "android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE"; field public static final String WRITE_DEVICE_CONFIG = "android.permission.WRITE_DEVICE_CONFIG"; field public static final String WRITE_DREAM_STATE = "android.permission.WRITE_DREAM_STATE"; field public static final String WRITE_EMBEDDED_SUBSCRIPTIONS = "android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"; - field public static final String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE"; + field @Deprecated public static final String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE"; field public static final String WRITE_OBB = "android.permission.WRITE_OBB"; } @@ -233,8 +256,10 @@ package android { public static final class R.attr { field public static final int allowClearUserDataOnFailedRestore = 16844288; // 0x1010600 field public static final int isVrOnly = 16844152; // 0x1010578 + field public static final int minExtensionVersion = 16844305; // 0x1010611 field public static final int requiredSystemPropertyName = 16844133; // 0x1010565 field public static final int requiredSystemPropertyValue = 16844134; // 0x1010566 + field public static final int sdkVersion = 16844304; // 0x1010610 field public static final int supportsAmbientMode = 16844173; // 0x101058d field public static final int userRestriction = 16844164; // 0x1010584 } @@ -266,6 +291,8 @@ package android { public static final class R.string { field public static final int config_defaultAssistant = 17039393; // 0x1040021 field public static final int config_defaultBrowser = 17039394; // 0x1040022 + field public static final int config_defaultCallRedirection = 17039397; // 0x1040025 + field public static final int config_defaultCallScreening = 17039398; // 0x1040026 field public static final int config_defaultDialer = 17039395; // 0x1040023 field public static final int config_defaultSms = 17039396; // 0x1040024 field public static final int config_feedbackIntentExtraKey = 17039391; // 0x104001f @@ -274,6 +301,7 @@ package android { field public static final int config_helpIntentNameKey = 17039390; // 0x104001e field public static final int config_helpPackageNameKey = 17039387; // 0x104001b field public static final int config_helpPackageNameValue = 17039388; // 0x104001c + field public static final int config_systemGallery = 17039399; // 0x1040027 } public static final class R.style { @@ -311,6 +339,7 @@ package android.app { method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getPackageImportance(String); method @NonNull public java.util.Collection<java.util.Locale> getSupportedLocales(); method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getUidImportance(int); + method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void killProcessesWhenImperceptible(@NonNull int[], @NonNull String); method @RequiresPermission(android.Manifest.permission.KILL_UID) public void killUid(int, String); method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void removeOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener); method public void setDeviceLocales(@NonNull android.os.LocaleList); @@ -328,14 +357,15 @@ package android.app { } public class AppOpsManager { + method @Nullable @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public android.app.RuntimeAppOpAccessMessage collectRuntimeAppOpAccessMessage(); 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>); method public static String[] getOpStrs(); 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...); method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getPackagesForOps(@Nullable String[]); method public static int opToDefaultMode(@NonNull String); method @Nullable public static String opToPermission(@NonNull String); - method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setMode(String, int, String, int); - method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setUidMode(String, int, int); + method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setMode(@NonNull String, int, @Nullable String, int); + method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setUidMode(@NonNull String, int, int); field public static final String OPSTR_ACCEPT_HANDOVER = "android:accept_handover"; field public static final String OPSTR_ACCESS_ACCESSIBILITY = "android:access_accessibility"; field public static final String OPSTR_ACCESS_NOTIFICATIONS = "android:access_notifications"; @@ -350,12 +380,17 @@ package android.app { field public static final String OPSTR_AUDIO_NOTIFICATION_VOLUME = "android:audio_notification_volume"; field public static final String OPSTR_AUDIO_RING_VOLUME = "android:audio_ring_volume"; field public static final String OPSTR_AUDIO_VOICE_VOLUME = "android:audio_voice_volume"; + field public static final String OPSTR_AUTO_REVOKE_MANAGED_BY_INSTALLER = "android:auto_revoke_managed_by_installer"; + field public static final String OPSTR_AUTO_REVOKE_PERMISSIONS_IF_UNUSED = "android:auto_revoke_permissions_if_unused"; field public static final String OPSTR_BIND_ACCESSIBILITY_SERVICE = "android:bind_accessibility_service"; field public static final String OPSTR_CHANGE_WIFI_STATE = "android:change_wifi_state"; field public static final String OPSTR_GET_ACCOUNTS = "android:get_accounts"; field public static final String OPSTR_GPS = "android:gps"; field public static final String OPSTR_INSTANT_APP_START_FOREGROUND = "android:instant_app_start_foreground"; + field public static final String OPSTR_INTERACT_ACROSS_PROFILES = "android:interact_across_profiles"; field public static final String OPSTR_LEGACY_STORAGE = "android:legacy_storage"; + field public static final String OPSTR_LOADER_USAGE_STATS = "android:loader_usage_stats"; + field public static final String OPSTR_MANAGE_EXTERNAL_STORAGE = "android:manage_external_storage"; field public static final String OPSTR_MANAGE_IPSEC_TUNNELS = "android:manage_ipsec_tunnels"; field public static final String OPSTR_MUTE_MICROPHONE = "android:mute_microphone"; field public static final String OPSTR_NEIGHBORING_CELLS = "android:neighboring_cells"; @@ -364,6 +399,9 @@ package android.app { field public static final String OPSTR_PROJECT_MEDIA = "android:project_media"; field public static final String OPSTR_READ_CLIPBOARD = "android:read_clipboard"; field public static final String OPSTR_READ_ICC_SMS = "android:read_icc_sms"; + field public static final String OPSTR_READ_MEDIA_AUDIO = "android:read_media_audio"; + field public static final String OPSTR_READ_MEDIA_IMAGES = "android:read_media_images"; + field public static final String OPSTR_READ_MEDIA_VIDEO = "android:read_media_video"; field public static final String OPSTR_RECEIVE_EMERGENCY_BROADCAST = "android:receive_emergency_broadcast"; field public static final String OPSTR_REQUEST_DELETE_PACKAGES = "android:request_delete_packages"; field public static final String OPSTR_REQUEST_INSTALL_PACKAGES = "android:request_install_packages"; @@ -379,6 +417,9 @@ package android.app { field public static final String OPSTR_WIFI_SCAN = "android:wifi_scan"; field public static final String OPSTR_WRITE_CLIPBOARD = "android:write_clipboard"; field public static final String OPSTR_WRITE_ICC_SMS = "android:write_icc_sms"; + field public static final String OPSTR_WRITE_MEDIA_AUDIO = "android:write_media_audio"; + field public static final String OPSTR_WRITE_MEDIA_IMAGES = "android:write_media_images"; + field public static final String OPSTR_WRITE_MEDIA_VIDEO = "android:write_media_video"; field public static final String OPSTR_WRITE_SMS = "android:write_sms"; field public static final String OPSTR_WRITE_WALLPAPER = "android:write_wallpaper"; field public static final int OP_FLAGS_ALL = 31; // 0x1f @@ -392,11 +433,44 @@ package android.app { field public static final int UID_STATE_CACHED = 700; // 0x2bc field public static final int UID_STATE_FOREGROUND = 500; // 0x1f4 field public static final int UID_STATE_FOREGROUND_SERVICE = 400; // 0x190 - field public static final int UID_STATE_FOREGROUND_SERVICE_LOCATION = 300; // 0x12c + field @Deprecated public static final int UID_STATE_FOREGROUND_SERVICE_LOCATION = 300; // 0x12c field public static final int UID_STATE_PERSISTENT = 100; // 0x64 field public static final int UID_STATE_TOP = 200; // 0xc8 } + public static final class AppOpsManager.AttributedHistoricalOps implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String); + method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int); + method @IntRange(from=0) public int getOpCount(); + method @Nullable public String getTag(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedHistoricalOps> CREATOR; + } + + public static final class AppOpsManager.AttributedOpEntry implements android.os.Parcelable { + method public int describeContents(); + method public long getLastAccessBackgroundTime(int); + method public long getLastAccessForegroundTime(int); + method public long getLastAccessTime(int); + method public long getLastAccessTime(int, int, int); + method public long getLastBackgroundDuration(int); + method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int); + method public long getLastDuration(int); + method public long getLastDuration(int, int, int); + method public long getLastForegroundDuration(int); + method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int); + method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int); + method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int); + method public long getLastRejectBackgroundTime(int); + method public long getLastRejectForegroundTime(int); + method public long getLastRejectTime(int); + method public long getLastRejectTime(int, int, int); + method public boolean isRunning(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedOpEntry> CREATOR; + } + public static final class AppOpsManager.HistoricalOp implements android.os.Parcelable { method public int describeContents(); method public long getAccessCount(int, int, int); @@ -430,6 +504,7 @@ package android.app { public static final class AppOpsManager.HistoricalOpsRequest.Builder { ctor public AppOpsManager.HistoricalOpsRequest.Builder(long, long); method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest build(); + method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setAttributionTag(@Nullable String); method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setFlags(int); method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setOpNames(@Nullable java.util.List<java.lang.String>); method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setPackageName(@Nullable String); @@ -438,6 +513,9 @@ package android.app { public static final class AppOpsManager.HistoricalPackageOps implements android.os.Parcelable { method public int describeContents(); + method @Nullable public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOps(@NonNull String); + method @NonNull public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOpsAt(@IntRange(from=0) int); + method @IntRange(from=0) public int getAttributedOpsCount(); method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String); method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int); method @IntRange(from=0) public int getOpCount(); @@ -458,35 +536,50 @@ package android.app { public static final class AppOpsManager.OpEntry implements android.os.Parcelable { method public int describeContents(); - method public long getDuration(); + method @NonNull public java.util.Map<java.lang.String,android.app.AppOpsManager.AttributedOpEntry> getAttributedOpEntries(); + method @Deprecated public long getDuration(); method public long getLastAccessBackgroundTime(int); method public long getLastAccessForegroundTime(int); method public long getLastAccessTime(int); method public long getLastAccessTime(int, int, int); method public long getLastBackgroundDuration(int); + method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int); + method public long getLastDuration(int); method public long getLastDuration(int, int, int); method public long getLastForegroundDuration(int); + method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int); + method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int); + method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int); method public long getLastRejectBackgroundTime(int); method public long getLastRejectForegroundTime(int); method public long getLastRejectTime(int); method public long getLastRejectTime(int, int, int); method public int getMode(); method @NonNull public String getOpStr(); - method @Nullable public String getProxyPackageName(); - method @Nullable public String getProxyPackageName(int, int); - method public int getProxyUid(); - method public int getProxyUid(int, int); + method @Deprecated @Nullable public String getProxyPackageName(); + method @Deprecated @Nullable public String getProxyPackageName(int, int); + method @Deprecated public int getProxyUid(); + method @Deprecated public int getProxyUid(int, int); method public boolean isRunning(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEntry> CREATOR; } + public static final class AppOpsManager.OpEventProxyInfo implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public String getAttributionTag(); + method @Nullable public String getPackageName(); + method @IntRange(from=0) public int getUid(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEventProxyInfo> CREATOR; + } + public static final class AppOpsManager.PackageOps implements android.os.Parcelable { method public int describeContents(); method @NonNull public java.util.List<android.app.AppOpsManager.OpEntry> getOps(); method @NonNull public String getPackageName(); method public int getUid(); - method public void writeToParcel(android.os.Parcel, int); + method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.PackageOps> CREATOR; } @@ -499,6 +592,7 @@ package android.app { } public class DownloadManager { + method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public void onMediaStoreDownloadsDeleted(@NonNull android.util.LongSparseArray<java.lang.String>); field public static final String ACTION_DOWNLOAD_COMPLETED = "android.intent.action.DOWNLOAD_COMPLETED"; } @@ -508,10 +602,12 @@ package android.app { method public final android.os.IBinder onBind(android.content.Intent); method @Deprecated public void onGetInstantAppIntentFilter(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback); method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback); - method public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback); + method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback); + method @MainThread public void onGetInstantAppIntentFilter(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback); method @Deprecated public void onGetInstantAppResolveInfo(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback); method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback); - method public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback); + method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback); + method @MainThread public void onGetInstantAppResolveInfo(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback); } public static final class InstantAppResolverService.InstantAppResolutionCallback { @@ -520,8 +616,11 @@ package android.app { public class KeyguardManager { method public android.content.Intent createConfirmFactoryResetCredentialIntent(CharSequence, CharSequence, CharSequence); + method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public int getMinLockLength(boolean, int); method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public boolean getPrivateNotificationsAllowed(); + method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean isValidLockPasswordComplexity(int, @NonNull byte[], int); method @RequiresPermission(android.Manifest.permission.SHOW_KEYGUARD_MESSAGE) public void requestDismissKeyguard(@NonNull android.app.Activity, @Nullable CharSequence, @Nullable android.app.KeyguardManager.KeyguardDismissCallback); + method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean setLock(int, @NonNull byte[], int); method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public void setPrivateNotificationsAllowed(boolean); } @@ -554,9 +653,10 @@ package android.app { method public int getUserLockedFields(); method public boolean isDeleted(); method public void populateFromXml(org.xmlpull.v1.XmlPullParser); - method public void setBlockableSystem(boolean); + method public void setBlockable(boolean); method public org.json.JSONObject toJson() throws org.json.JSONException; method public void writeXml(org.xmlpull.v1.XmlSerializer) throws java.io.IOException; + field public static final int USER_LOCKED_SOUND = 32; // 0x20 } public final class NotificationChannelGroup implements android.os.Parcelable { @@ -570,9 +670,27 @@ package android.app { method public void setNotificationAssistantAccessGranted(@Nullable android.content.ComponentName, boolean); } + public final class RuntimeAppOpAccessMessage implements android.os.Parcelable { + ctor public RuntimeAppOpAccessMessage(@IntRange(from=0L) int, @IntRange(from=0L) int, @NonNull String, @Nullable String, @NonNull String, int); + method public int describeContents(); + method @Nullable public String getAttributionTag(); + method @NonNull public String getMessage(); + method @NonNull public String getOp(); + method @NonNull public String getPackageName(); + method public int getSamplingStrategy(); + method @IntRange(from=0L) public int getUid(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.app.RuntimeAppOpAccessMessage> CREATOR; + } + + public class SearchManager implements android.content.DialogInterface.OnCancelListener android.content.DialogInterface.OnDismissListener { + method public void launchAssist(@Nullable android.os.Bundle); + } + public final class StatsManager { method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void addConfig(long, byte[]) throws android.app.StatsManager.StatsUnavailableException; method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean addConfiguration(long, byte[]); + method @RequiresPermission(android.Manifest.permission.REGISTER_STATS_PULL_ATOM) public void clearPullAtomCallback(int); method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getData(long); method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getMetadata(); method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long[] getRegisteredExperimentIds() throws android.app.StatsManager.StatsUnavailableException; @@ -585,6 +703,7 @@ package android.app { method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setBroadcastSubscriber(long, long, android.app.PendingIntent); method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setDataFetchOperation(long, android.app.PendingIntent); 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; + 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); field public static final String ACTION_STATSD_STARTED = "android.app.action.STATSD_STARTED"; field public static final String EXTRA_STATS_ACTIVE_CONFIG_KEYS = "android.app.extra.STATS_ACTIVE_CONFIG_KEYS"; field public static final String EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES = "android.app.extra.STATS_BROADCAST_SUBSCRIBER_COOKIES"; @@ -593,6 +712,26 @@ package android.app { field public static final String EXTRA_STATS_DIMENSIONS_VALUE = "android.app.extra.STATS_DIMENSIONS_VALUE"; field public static final String EXTRA_STATS_SUBSCRIPTION_ID = "android.app.extra.STATS_SUBSCRIPTION_ID"; field public static final String EXTRA_STATS_SUBSCRIPTION_RULE_ID = "android.app.extra.STATS_SUBSCRIPTION_RULE_ID"; + field public static final int PULL_SKIP = 1; // 0x1 + field public static final int PULL_SUCCESS = 0; // 0x0 + } + + public static class StatsManager.PullAtomMetadata { + method @Nullable public int[] getAdditiveFields(); + method public long getCoolDownMillis(); + method public long getTimeoutMillis(); + } + + public static class StatsManager.PullAtomMetadata.Builder { + ctor public StatsManager.PullAtomMetadata.Builder(); + method @NonNull public android.app.StatsManager.PullAtomMetadata build(); + method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setAdditiveFields(@NonNull int[]); + method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setCoolDownMillis(long); + method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setTimeoutMillis(long); + } + + public static interface StatsManager.StatsPullAtomCallback { + method public int onPullAtom(int, @NonNull java.util.List<android.util.StatsEvent>); } public static class StatsManager.StatsUnavailableException extends android.util.AndroidException { @@ -603,7 +742,6 @@ package android.app { public class StatusBarManager { method @NonNull @RequiresPermission(android.Manifest.permission.STATUS_BAR) public android.app.StatusBarManager.DisableInfo getDisableInfo(); method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setDisabledForSetup(boolean); - method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setDisabledForSimNetworkLock(boolean); } public static final class StatusBarManager.DisableInfo { @@ -615,6 +753,29 @@ package android.app { method public boolean isStatusBarExpansionDisabled(); } + public final class SystemServiceRegistry { + method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass>); + method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass>); + method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass>); + method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass>); + } + + public static interface SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass> { + method @NonNull public TServiceClass createService(@NonNull android.content.Context, @NonNull android.os.IBinder); + } + + public static interface SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass> { + method @NonNull public TServiceClass createService(@NonNull android.content.Context); + } + + public static interface SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass> { + method @NonNull public TServiceClass createService(@NonNull android.os.IBinder); + } + + public static interface SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass> { + method @NonNull public TServiceClass createService(); + } + public class UiModeManager { method @RequiresPermission(android.Manifest.permission.ENTER_CAR_MODE_PRIORITIZED) public void enableCarMode(@IntRange(from=0) int, int); field public static final String ACTION_ENTER_CAR_MODE_PRIORITIZED = "android.app.action.ENTER_CAR_MODE_PRIORITIZED"; @@ -687,6 +848,13 @@ package android.app { package android.app.admin { + public class DevicePolicyKeyguardService extends android.app.Service { + ctor public DevicePolicyKeyguardService(); + method @Nullable public void dismiss(); + method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent); + method @Nullable public android.view.SurfaceControlViewHost.SurfacePackage onCreateKeyguardSurface(@NonNull android.os.IBinder); + } + public class DevicePolicyManager { method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public boolean getBluetoothContactSharingDisabled(@NonNull android.os.UserHandle); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getDeviceOwner(); @@ -703,17 +871,22 @@ package android.app.admin { method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioned(); method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioningConfigApplied(); method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isManagedKiosk(); + method public boolean isSecondaryLockscreenEnabled(@NonNull android.os.UserHandle); method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isUnattendedManagedKiosk(); method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long); method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long, boolean); method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public boolean packageHasActiveAdmins(String); method @Deprecated @RequiresPermission("android.permission.MANAGE_DEVICE_ADMINS") public boolean setActiveProfileOwner(@NonNull android.content.ComponentName, String) throws java.lang.IllegalArgumentException; method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setDeviceProvisioningConfigApplied(); - method @RequiresPermission(value=android.Manifest.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS, conditional=true) public void setProfileOwnerCanAccessDeviceIds(@NonNull android.content.ComponentName); + method @Deprecated @RequiresPermission(value=android.Manifest.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS, conditional=true) public void setProfileOwnerCanAccessDeviceIds(@NonNull android.content.ComponentName); + method public void setSecondaryLockscreenEnabled(@NonNull android.content.ComponentName, boolean); field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_ALLOWED"; field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_DISALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_DISALLOWED"; + field public static final String ACTION_BIND_SECONDARY_LOCKSCREEN_SERVICE = "android.app.action.BIND_SECONDARY_LOCKSCREEN_SERVICE"; field public static final String ACTION_PROVISION_FINALIZATION = "android.app.action.PROVISION_FINALIZATION"; + field public static final String ACTION_PROVISION_FINANCED_DEVICE = "android.app.action.PROVISION_FINANCED_DEVICE"; field public static final String ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE = "android.app.action.PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE"; + 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"; field public static final String ACTION_SET_PROFILE_OWNER = "android.app.action.SET_PROFILE_OWNER"; field public static final String ACTION_STATE_USER_SETUP_COMPLETE = "android.app.action.STATE_USER_SETUP_COMPLETE"; field public static final String EXTRA_PROFILE_OWNER_NAME = "android.app.extra.PROFILE_OWNER_NAME"; @@ -769,6 +942,7 @@ package android.app.backup { method @RequiresPermission(android.Manifest.permission.BACKUP) public void backupNow(); method @RequiresPermission(android.Manifest.permission.BACKUP) public android.app.backup.RestoreSession beginRestoreSession(); method @RequiresPermission(android.Manifest.permission.BACKUP) public void cancelBackups(); + method @RequiresPermission(android.Manifest.permission.BACKUP) public void excludeKeysFromRestore(@NonNull String, @NonNull java.util.List<java.lang.String>); method @RequiresPermission(android.Manifest.permission.BACKUP) public long getAvailableRestoreToken(String); method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getConfigurationIntent(String); method @RequiresPermission(android.Manifest.permission.BACKUP) public String getCurrentTransport(); @@ -922,6 +1096,7 @@ package android.app.backup { field public static final int AGENT_ERROR = -1003; // 0xfffffc15 field public static final int AGENT_UNKNOWN = -1004; // 0xfffffc14 field public static final String EXTRA_TRANSPORT_REGISTRATION = "android.app.backup.extra.TRANSPORT_REGISTRATION"; + field public static final int FLAG_DATA_NOT_CHANGED = 8; // 0x8 field public static final int FLAG_INCREMENTAL = 2; // 0x2 field public static final int FLAG_NON_INCREMENTAL = 4; // 0x4 field public static final int FLAG_USER_INITIATED = 1; // 0x1 @@ -1029,6 +1204,7 @@ package android.app.contentsuggestions { method public void classifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback); method public boolean isEnabled(); method public void notifyInteraction(@NonNull String, @NonNull android.os.Bundle); + method public void provideContextImage(@NonNull android.graphics.Bitmap, @NonNull android.os.Bundle); method public void provideContextImage(int, @NonNull android.os.Bundle); method public void suggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback); } @@ -1065,6 +1241,10 @@ package android.app.job { method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public abstract int scheduleAsPackage(@NonNull android.app.job.JobInfo, @NonNull String, int, String); } + public class JobSchedulerFrameworkInitializer { + method public static void registerServiceWrappers(); + } + } package android.app.prediction { @@ -1140,6 +1320,7 @@ package android.app.prediction { field public static final int ACTION_DISMISS = 2; // 0x2 field public static final int ACTION_LAUNCH = 1; // 0x1 field public static final int ACTION_PIN = 3; // 0x3 + field public static final int ACTION_UNPIN = 4; // 0x4 field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetEvent> CREATOR; } @@ -1170,7 +1351,8 @@ package android.app.role { method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent); method @WorkerThread public abstract boolean onClearRoleHolders(@NonNull String, int); method @WorkerThread public abstract boolean onGrantDefaultRoles(); - method public abstract boolean onIsApplicationQualifiedForRole(@NonNull String, @NonNull String); + method @Deprecated public abstract boolean onIsApplicationQualifiedForRole(@NonNull String, @NonNull String); + method public boolean onIsApplicationVisibleForRole(@NonNull String, @NonNull String); method public abstract boolean onIsRoleVisible(@NonNull String); method @WorkerThread public abstract boolean onRemoveRoleHolder(@NonNull String, @NonNull String, int); field public static final String SERVICE_INTERFACE = "android.app.role.RoleControllerService"; @@ -1181,7 +1363,6 @@ package android.app.role { 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>); method @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean addRoleHolderFromController(@NonNull String, @NonNull String); 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>); - method @Nullable public String getDefaultSmsPackage(int); method @NonNull @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public java.util.List<java.lang.String> getHeldRolesFromController(@NonNull String); method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHolders(@NonNull String); method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHoldersAsUser(@NonNull String, @NonNull android.os.UserHandle); @@ -1263,7 +1444,7 @@ package android.app.usage { method @RequiresPermission(allOf={android.Manifest.permission.SUSPEND_APPS, android.Manifest.permission.OBSERVE_APP_USAGE}) public void unregisterAppUsageLimitObserver(int); method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterAppUsageObserver(int); method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterUsageSessionObserver(int); - method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(String, long, android.os.UserHandle); + method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(String, long, android.os.UserHandle); field public static final String EXTRA_OBSERVER_ID = "android.app.usage.extra.OBSERVER_ID"; field public static final String EXTRA_TIME_LIMIT = "android.app.usage.extra.TIME_LIMIT"; field public static final String EXTRA_TIME_USED = "android.app.usage.extra.TIME_USED"; @@ -1492,23 +1673,44 @@ package android.bluetooth.le { } +package android.companion { + + public final class CompanionDeviceManager { + method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean isDeviceAssociatedForWifiConnection(@NonNull String, @NonNull android.net.MacAddress, @NonNull android.os.UserHandle); + } + +} + package android.content { + public class ApexEnvironment { + method @NonNull public static android.content.ApexEnvironment getApexEnvironment(@NonNull String); + method @NonNull public java.io.File getCredentialProtectedDataDirForUser(@NonNull android.os.UserHandle); + method @NonNull public java.io.File getDeviceProtectedDataDir(); + method @NonNull public java.io.File getDeviceProtectedDataDirForUser(@NonNull android.os.UserHandle); + } + public abstract class BroadcastReceiver { method @NonNull public final android.os.UserHandle getSendingUser(); } + public abstract class ContentProvider implements android.content.ComponentCallbacks2 { + method public int checkUriPermission(@NonNull android.net.Uri, int, int); + } + public class ContentProviderClient implements java.lang.AutoCloseable { method @RequiresPermission(android.Manifest.permission.REMOVE_TASKS) public void setDetectNotResponding(long); } public abstract class ContentResolver { + method public int checkUriPermission(@NonNull android.net.Uri, int, int); + method @NonNull public static android.net.Uri decodeFromFile(@NonNull java.io.File); + method @NonNull public static java.io.File encodeToFile(@NonNull android.net.Uri); method @Nullable @RequiresPermission("android.permission.CACHE_CONTENT") public android.os.Bundle getCache(@NonNull android.net.Uri); method @RequiresPermission("android.permission.CACHE_CONTENT") public void putCache(@NonNull android.net.Uri, @Nullable android.os.Bundle); } public abstract class Context { - method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public boolean bindServiceAsUser(@RequiresPermission android.content.Intent, android.content.ServiceConnection, int, android.os.UserHandle); method @NonNull public android.content.Context createContextAsUser(@NonNull android.os.UserHandle, int); method public abstract android.content.Context createCredentialProtectedStorageContext(); method @NonNull public android.content.Context createPackageContextAsUser(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException; @@ -1518,9 +1720,11 @@ package android.content { method public abstract void sendBroadcast(android.content.Intent, @Nullable String, @Nullable android.os.Bundle); 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); 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); - method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @NonNull android.os.UserHandle); + method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @NonNull android.os.UserHandle); + field public static final String APP_INTEGRITY_SERVICE = "app_integrity"; field public static final String APP_PREDICTION_SERVICE = "app_prediction"; field public static final String BACKUP_SERVICE = "backup"; + field public static final String BATTERY_STATS_SERVICE = "batterystats"; field public static final String BUGREPORT_SERVICE = "bugreport"; field public static final String CONTENT_SUGGESTIONS_SERVICE = "content_suggestions"; field public static final String CONTEXTHUB_SERVICE = "contexthub"; @@ -1536,10 +1740,11 @@ package android.content { field public static final String SECURE_ELEMENT_SERVICE = "secure_element"; field public static final String STATS_MANAGER = "stats"; field public static final String STATUS_BAR_SERVICE = "statusbar"; + field public static final String SYSTEM_CONFIG_SERVICE = "system_config"; field public static final String SYSTEM_UPDATE_SERVICE = "system_update"; - field public static final String TELEPHONY_REGISTRY_SERVICE = "telephony_registry"; field public static final String TETHERING_SERVICE = "tethering"; field public static final String VR_SERVICE = "vrmanager"; + field public static final String WIFI_NL80211_SERVICE = "wifinl80211"; field @Deprecated public static final String WIFI_RTT_SERVICE = "rttmanager"; field public static final String WIFI_SCANNING_SERVICE = "wifiscanner"; } @@ -1565,6 +1770,7 @@ package android.content { field public static final String ACTION_INSTALL_INSTANT_APP_PACKAGE = "android.intent.action.INSTALL_INSTANT_APP_PACKAGE"; field public static final String ACTION_INSTANT_APP_RESOLVER_SETTINGS = "android.intent.action.INSTANT_APP_RESOLVER_SETTINGS"; field public static final String ACTION_INTENT_FILTER_NEEDS_VERIFICATION = "android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION"; + field public static final String ACTION_LOAD_DATA = "android.intent.action.LOAD_DATA"; field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_MANAGE_APP_PERMISSION = "android.intent.action.MANAGE_APP_PERMISSION"; field public static final String ACTION_MANAGE_APP_PERMISSIONS = "android.intent.action.MANAGE_APP_PERMISSIONS"; field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_DEFAULT_APP = "android.intent.action.MANAGE_DEFAULT_APP"; @@ -1572,6 +1778,8 @@ package android.content { field public static final String ACTION_MANAGE_PERMISSION_APPS = "android.intent.action.MANAGE_PERMISSION_APPS"; field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_SPECIAL_APP_ACCESSES = "android.intent.action.MANAGE_SPECIAL_APP_ACCESSES"; field public static final String ACTION_MASTER_CLEAR_NOTIFICATION = "android.intent.action.MASTER_CLEAR_NOTIFICATION"; + field public static final String ACTION_PACKAGE_NEEDS_INTEGRITY_VERIFICATION = "android.intent.action.PACKAGE_NEEDS_INTEGRITY_VERIFICATION"; + field public static final String ACTION_PACKAGE_UNSUSPENDED_MANUALLY = "android.intent.action.PACKAGE_UNSUSPENDED_MANUALLY"; field public static final String ACTION_PENDING_INCIDENT_REPORTS_CHANGED = "android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED"; field public static final String ACTION_PRE_BOOT_COMPLETED = "android.intent.action.PRE_BOOT_COMPLETED"; field public static final String ACTION_QUERY_PACKAGE_RESTART = "android.intent.action.QUERY_PACKAGE_RESTART"; @@ -1604,29 +1812,13 @@ package android.content { field public static final String EXTRA_PERMISSION_GROUP_NAME = "android.intent.extra.PERMISSION_GROUP_NAME"; field public static final String EXTRA_PERMISSION_NAME = "android.intent.extra.PERMISSION_NAME"; field public static final String EXTRA_REASON = "android.intent.extra.REASON"; - field @Deprecated public static final String EXTRA_REBROADCAST_ON_UNLOCK = "rebroadcastOnUnlock"; field public static final String EXTRA_REMOTE_CALLBACK = "android.intent.extra.REMOTE_CALLBACK"; field public static final String EXTRA_RESULT_NEEDED = "android.intent.extra.RESULT_NEEDED"; field public static final String EXTRA_ROLE_NAME = "android.intent.extra.ROLE_NAME"; - field @Deprecated public static final String EXTRA_SIM_LOCKED_REASON = "reason"; - field @Deprecated public static final String EXTRA_SIM_STATE = "ss"; field public static final String EXTRA_UNKNOWN_INSTANT_APP = "android.intent.extra.UNKNOWN_INSTANT_APP"; field public static final String EXTRA_VERIFICATION_BUNDLE = "android.intent.extra.VERIFICATION_BUNDLE"; + field public static final int FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT = 67108864; // 0x4000000 field public static final String METADATA_SETUP_VERSION = "android.SETUP_VERSION"; - field @Deprecated public static final String SIM_ABSENT_ON_PERM_DISABLED = "PERM_DISABLED"; - field @Deprecated public static final String SIM_LOCKED_NETWORK = "NETWORK"; - field @Deprecated public static final String SIM_LOCKED_ON_PIN = "PIN"; - field @Deprecated public static final String SIM_LOCKED_ON_PUK = "PUK"; - field @Deprecated public static final String SIM_STATE_ABSENT = "ABSENT"; - field @Deprecated public static final String SIM_STATE_CARD_IO_ERROR = "CARD_IO_ERROR"; - field @Deprecated public static final String SIM_STATE_CARD_RESTRICTED = "CARD_RESTRICTED"; - field @Deprecated public static final String SIM_STATE_IMSI = "IMSI"; - field @Deprecated public static final String SIM_STATE_LOADED = "LOADED"; - field @Deprecated public static final String SIM_STATE_LOCKED = "LOCKED"; - field @Deprecated public static final String SIM_STATE_NOT_READY = "NOT_READY"; - field @Deprecated public static final String SIM_STATE_PRESENT = "PRESENT"; - field @Deprecated public static final String SIM_STATE_READY = "READY"; - field @Deprecated public static final String SIM_STATE_UNKNOWN = "UNKNOWN"; } public class IntentFilter implements android.os.Parcelable { @@ -1636,6 +1828,68 @@ package android.content { } +package android.content.integrity { + + public class AppIntegrityManager { + method @NonNull public String getCurrentRuleSetProvider(); + method @NonNull public String getCurrentRuleSetVersion(); + method public void updateRuleSet(@NonNull android.content.integrity.RuleSet, @NonNull android.content.IntentSender); + field public static final String EXTRA_STATUS = "android.content.integrity.extra.STATUS"; + field public static final int STATUS_FAILURE = 1; // 0x1 + field public static final int STATUS_SUCCESS = 0; // 0x0 + } + + public abstract class IntegrityFormula { + method @NonNull public static android.content.integrity.IntegrityFormula all(@NonNull android.content.integrity.IntegrityFormula...); + method @NonNull public static android.content.integrity.IntegrityFormula any(@NonNull android.content.integrity.IntegrityFormula...); + method @NonNull public static android.content.integrity.IntegrityFormula not(@NonNull android.content.integrity.IntegrityFormula); + } + + public static final class IntegrityFormula.Application { + method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String); + method @NonNull public static android.content.integrity.IntegrityFormula isPreInstalled(); + method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String); + method @NonNull public static android.content.integrity.IntegrityFormula versionCodeEquals(@NonNull long); + method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThan(@NonNull long); + method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThanOrEqualTo(@NonNull long); + } + + public static final class IntegrityFormula.Installer { + method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String); + method @NonNull public static android.content.integrity.IntegrityFormula notAllowedByManifest(); + method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String); + } + + public static final class IntegrityFormula.SourceStamp { + method @NonNull public static android.content.integrity.IntegrityFormula notTrusted(); + method @NonNull public static android.content.integrity.IntegrityFormula stampCertificateHashEquals(@NonNull String); + } + + public final class Rule implements android.os.Parcelable { + ctor public Rule(@NonNull android.content.integrity.IntegrityFormula, int); + method public int describeContents(); + method public int getEffect(); + method @NonNull public android.content.integrity.IntegrityFormula getFormula(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.content.integrity.Rule> CREATOR; + field public static final int DENY = 0; // 0x0 + field public static final int FORCE_ALLOW = 1; // 0x1 + } + + public class RuleSet { + method @NonNull public java.util.List<android.content.integrity.Rule> getRules(); + method @NonNull public String getVersion(); + } + + public static class RuleSet.Builder { + ctor public RuleSet.Builder(); + method @NonNull public android.content.integrity.RuleSet.Builder addRules(@NonNull java.util.List<android.content.integrity.Rule>); + method @NonNull public android.content.integrity.RuleSet build(); + method @NonNull public android.content.integrity.RuleSet.Builder setVersion(@NonNull String); + } + +} + package android.content.om { public final class OverlayInfo implements android.os.Parcelable { @@ -1653,8 +1907,8 @@ package android.content.om { public class OverlayManager { method @Nullable public android.content.om.OverlayInfo getOverlayInfo(@NonNull String, @NonNull android.os.UserHandle); 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); - method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public void setEnabled(@NonNull String, boolean, @NonNull android.os.UserHandle); - method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public void setEnabledExclusiveInCategory(@NonNull String, @NonNull android.os.UserHandle); + 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; + 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; } } @@ -1672,6 +1926,22 @@ package android.content.pm { method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_PROFILES) public void startActivity(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle); } + public class DataLoaderParams { + method @NonNull public static final android.content.pm.DataLoaderParams forIncremental(@NonNull android.content.ComponentName, @NonNull String); + method @NonNull public static final android.content.pm.DataLoaderParams forStreaming(@NonNull android.content.ComponentName, @NonNull String); + method @NonNull public final String getArguments(); + method @NonNull public final android.content.ComponentName getComponentName(); + method @NonNull public final int getType(); + } + + public final class InstallationFile { + method public long getLengthBytes(); + method public int getLocation(); + method @Nullable public byte[] getMetadata(); + method @NonNull public String getName(); + method @Nullable public byte[] getSignature(); + } + public final class InstantAppInfo implements android.os.Parcelable { ctor public InstantAppInfo(android.content.pm.ApplicationInfo, String[], String[]); ctor public InstantAppInfo(String, CharSequence, String[], String[]); @@ -1695,6 +1965,18 @@ package android.content.pm { field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppIntentFilter> CREATOR; } + public final class InstantAppRequestInfo implements android.os.Parcelable { + ctor public InstantAppRequestInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, boolean, @NonNull String); + method public int describeContents(); + method @Nullable public int[] getHostDigestPrefix(); + method @NonNull public android.content.Intent getIntent(); + method @NonNull public String getToken(); + method @NonNull public android.os.UserHandle getUserHandle(); + method public boolean isRequesterInstantApp(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppRequestInfo> CREATOR; + } + public final class InstantAppResolveInfo implements android.os.Parcelable { ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, int); ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, long, @Nullable android.os.Bundle); @@ -1746,15 +2028,26 @@ package android.content.pm { public class PackageInstaller { method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setPermissionsResult(int, boolean); + field public static final int DATA_LOADER_TYPE_INCREMENTAL = 2; // 0x2 + field public static final int DATA_LOADER_TYPE_NONE = 0; // 0x0 + field public static final int DATA_LOADER_TYPE_STREAMING = 1; // 0x1 + field public static final String EXTRA_DATA_LOADER_TYPE = "android.content.pm.extra.DATA_LOADER_TYPE"; + field public static final int LOCATION_DATA_APP = 0; // 0x0 + field public static final int LOCATION_MEDIA_DATA = 2; // 0x2 + field public static final int LOCATION_MEDIA_OBB = 1; // 0x1 } public static class PackageInstaller.Session implements java.io.Closeable { + method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void addFile(int, @NonNull String, long, @NonNull byte[], @Nullable byte[]); method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void commitTransferred(@NonNull android.content.IntentSender); + method @Nullable @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public android.content.pm.DataLoaderParams getDataLoaderParams(); + method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void removeFile(int, @NonNull String); } public static class PackageInstaller.SessionInfo implements android.os.Parcelable { method public boolean getAllocateAggressive(); method @Deprecated public boolean getAllowDowngrade(); + method public int getAutoRevokePermissionsMode(); method public boolean getDontKillApp(); method public boolean getEnableRollback(); method @Nullable public String[] getGrantedRuntimePermissions(); @@ -1762,14 +2055,17 @@ package android.content.pm { method public boolean getInstallAsInstantApp(boolean); method public boolean getInstallAsVirtualPreload(); method public boolean getRequestDowngrade(); + method public int getRollbackDataPolicy(); method @NonNull public java.util.Set<java.lang.String> getWhitelistedRestrictedPermissions(); } public static class PackageInstaller.SessionParams implements android.os.Parcelable { method @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public void setAllocateAggressive(boolean); method @Deprecated public void setAllowDowngrade(boolean); + method @RequiresPermission(allOf={android.Manifest.permission.INSTALL_PACKAGES, "com.android.permission.USE_INSTALLER_V2"}) public void setDataLoaderParams(@NonNull android.content.pm.DataLoaderParams); method public void setDontKillApp(boolean); method public void setEnableRollback(boolean); + method public void setEnableRollback(boolean, int); method @RequiresPermission(android.Manifest.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS) public void setGrantedRuntimePermissions(String[]); method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setInstallAsApex(); method public void setInstallAsInstantApp(boolean); @@ -1814,6 +2110,7 @@ package android.content.pm { method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void removeOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener); method public void replacePreferredActivity(@NonNull android.content.IntentFilter, int, @NonNull java.util.List<android.content.ComponentName>, @NonNull android.content.ComponentName); method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public abstract void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle); + method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle, @NonNull String); method public void sendDeviceCustomizationReadyBroadcast(); method @RequiresPermission(allOf={android.Manifest.permission.SET_PREFERRED_APPLICATIONS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public abstract boolean setDefaultBrowserPackageNameAsUser(@Nullable String, int); method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setDistractingPackageRestrictions(@NonNull String[], int); @@ -1829,16 +2126,23 @@ package android.content.pm { field public static final String EXTRA_REQUEST_PERMISSIONS_NAMES = "android.content.pm.extra.REQUEST_PERMISSIONS_NAMES"; field public static final String EXTRA_REQUEST_PERMISSIONS_RESULTS = "android.content.pm.extra.REQUEST_PERMISSIONS_RESULTS"; field public static final String FEATURE_BROADCAST_RADIO = "android.hardware.broadcastradio"; + field public static final String FEATURE_CONTEXT_HUB = "android.hardware.context_hub"; + field public static final String FEATURE_INCREMENTAL_DELIVERY = "android.software.incremental_delivery"; + field public static final String FEATURE_REBOOT_ESCROW = "android.hardware.reboot_escrow"; field public static final String FEATURE_TELEPHONY_CARRIERLOCK = "android.hardware.telephony.carrierlock"; + field public static final int FLAGS_PERMISSION_RESERVED_PERMISSION_CONTROLLER = -268435456; // 0xf0000000 field public static final int FLAG_PERMISSION_APPLY_RESTRICTION = 16384; // 0x4000 + field public static final int FLAG_PERMISSION_AUTO_REVOKED = 131072; // 0x20000 field public static final int FLAG_PERMISSION_GRANTED_BY_DEFAULT = 32; // 0x20 field public static final int FLAG_PERMISSION_GRANTED_BY_ROLE = 32768; // 0x8000 + field public static final int FLAG_PERMISSION_ONE_TIME = 65536; // 0x10000 field public static final int FLAG_PERMISSION_POLICY_FIXED = 4; // 0x4 field public static final int FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT = 2048; // 0x800 field public static final int FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT = 4096; // 0x1000 field public static final int FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT = 8192; // 0x2000 field public static final int FLAG_PERMISSION_REVIEW_REQUIRED = 64; // 0x40 - field public static final int FLAG_PERMISSION_REVOKE_ON_UPGRADE = 8; // 0x8 + field public static final int FLAG_PERMISSION_REVOKED_COMPAT = 8; // 0x8 + field @Deprecated public static final int FLAG_PERMISSION_REVOKE_ON_UPGRADE = 8; // 0x8 field public static final int FLAG_PERMISSION_SYSTEM_FIXED = 16; // 0x10 field public static final int FLAG_PERMISSION_USER_FIXED = 2; // 0x2 field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED = 512; // 0x200 @@ -1892,6 +2196,7 @@ package android.content.pm { field public static final int MATCH_ANY_USER = 4194304; // 0x400000 field public static final int MATCH_FACTORY_ONLY = 2097152; // 0x200000 field public static final int MATCH_INSTANT = 8388608; // 0x800000 + field public static final int MODULE_APEX_NAME = 1; // 0x1 field public static final int RESTRICTION_HIDE_FROM_SUGGESTIONS = 1; // 0x1 field public static final int RESTRICTION_HIDE_NOTIFICATIONS = 2; // 0x2 field public static final int RESTRICTION_NONE = 0; // 0x0 @@ -1906,7 +2211,7 @@ package android.content.pm { method public void onPermissionsChanged(int); } - @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}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface PackageManager.PermissionFlags { + @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 { } public class PermissionGroupInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable { @@ -1919,12 +2224,13 @@ package android.content.pm { public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable { field public static final int FLAG_REMOVED = 2; // 0x2 field public static final int PROTECTION_FLAG_APP_PREDICTOR = 2097152; // 0x200000 + field public static final int PROTECTION_FLAG_COMPANION = 8388608; // 0x800000 field public static final int PROTECTION_FLAG_CONFIGURATOR = 524288; // 0x80000 field public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000 field public static final int PROTECTION_FLAG_INCIDENT_REPORT_APPROVER = 1048576; // 0x100000 field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000 + field public static final int PROTECTION_FLAG_RETAIL_DEMO = 16777216; // 0x1000000 field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000 - field public static final int PROTECTION_FLAG_TELEPHONY = 4194304; // 0x400000 field public static final int PROTECTION_FLAG_WELLBEING = 131072; // 0x20000 field @Nullable public final String backgroundPermission; field @StringRes public int requestRes; @@ -1954,6 +2260,8 @@ package android.content.pm { public final class SuspendDialogInfo implements android.os.Parcelable { method public int describeContents(); method public void writeToParcel(android.os.Parcel, int); + field public static final int BUTTON_ACTION_MORE_DETAILS = 0; // 0x0 + field public static final int BUTTON_ACTION_UNSUSPEND = 1; // 0x1 field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.SuspendDialogInfo> CREATOR; } @@ -1963,6 +2271,7 @@ package android.content.pm { method @NonNull public android.content.pm.SuspendDialogInfo.Builder setIcon(@DrawableRes int); method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@NonNull String); method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@StringRes int); + method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonAction(int); method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@StringRes int); method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@StringRes int); } @@ -2066,10 +2375,19 @@ package android.hardware { } +package android.hardware.biometrics { + + public static interface BiometricManager.Authenticators { + field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int BIOMETRIC_CONVENIENCE = 4095; // 0xfff + field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int EMPTY_SET = 0; // 0x0 + } + +} + package android.hardware.camera2 { public abstract class CameraDevice implements java.lang.AutoCloseable { - method 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; + 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; field public static final int SESSION_OPERATION_MODE_CONSTRAINED_HIGH_SPEED = 1; // 0x1 field public static final int SESSION_OPERATION_MODE_NORMAL = 0; // 0x0 field public static final int SESSION_OPERATION_MODE_VENDOR_START = 32768; // 0x8000 @@ -2127,8 +2445,13 @@ package android.hardware.display { method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByCategory(int); method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByPackageName(@NonNull String); method public android.util.Pair<float[],float[]> getCurve(); + method public float getShortTermModelLowerLuxMultiplier(); + method public long getShortTermModelTimeoutMillis(); + method public float getShortTermModelUpperLuxMultiplier(); + method public boolean shouldCollectColorSamples(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessConfiguration> CREATOR; + field public static final long SHORT_TERM_TIMEOUT_UNSET = -1L; // 0xffffffffffffffffL } public static class BrightnessConfiguration.Builder { @@ -2139,6 +2462,10 @@ package android.hardware.display { method public int getMaxCorrectionsByCategory(); method public int getMaxCorrectionsByPackageName(); method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setDescription(@Nullable String); + method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelLowerLuxMultiplier(@FloatRange(from=0.0f) float); + method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelTimeoutMillis(long); + method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelUpperLuxMultiplier(@FloatRange(from=0.0f) float); + method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShouldCollectColorSamples(boolean); } public final class BrightnessCorrection implements android.os.Parcelable { @@ -2420,6 +2747,7 @@ package android.hardware.hdmi { public class HdmiSwitchClient extends android.hardware.hdmi.HdmiClient { method public int getDeviceType(); + method @NonNull public java.util.List<android.hardware.hdmi.HdmiPortInfo> getPortInfo(); method public void selectPort(int, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener); method public void selectPort(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener); } @@ -2520,7 +2848,7 @@ package android.hardware.lights { public final class LightsManager.LightsSession implements java.lang.AutoCloseable { method @RequiresPermission(android.Manifest.permission.CONTROL_DEVICE_LIGHTS) public void close(); - method @RequiresPermission(android.Manifest.permission.CONTROL_DEVICE_LIGHTS) public void setLights(@NonNull android.hardware.lights.LightsRequest); + method @RequiresPermission(android.Manifest.permission.CONTROL_DEVICE_LIGHTS) public void requestLights(@NonNull android.hardware.lights.LightsRequest); } public final class LightsRequest { @@ -2540,7 +2868,7 @@ package android.hardware.location { public class ContextHubClient implements java.io.Closeable { method public void close(); method @NonNull public android.hardware.location.ContextHubInfo getAttachedHub(); - method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public int sendMessageToNanoApp(@NonNull android.hardware.location.NanoAppMessage); + method @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int sendMessageToNanoApp(@NonNull android.hardware.location.NanoAppMessage); } public class ContextHubClientCallback { @@ -2589,24 +2917,24 @@ package android.hardware.location { } public final class ContextHubManager { - method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.hardware.location.ContextHubClient createClient(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.hardware.location.ContextHubClientCallback, @NonNull java.util.concurrent.Executor); - method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.hardware.location.ContextHubClient createClient(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.hardware.location.ContextHubClientCallback); - method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.hardware.location.ContextHubClient createClient(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.app.PendingIntent, long); - method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.hardware.location.ContextHubTransaction<java.lang.Void> disableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long); - method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.hardware.location.ContextHubTransaction<java.lang.Void> enableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long); - method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public int[] findNanoAppOnHub(int, @NonNull android.hardware.location.NanoAppFilter); - method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public int[] getContextHubHandles(); - method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.hardware.location.ContextHubInfo getContextHubInfo(int); - method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.hardware.location.ContextHubInfo> getContextHubs(); - method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.hardware.location.NanoAppInstanceInfo getNanoAppInstanceInfo(int); - method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public int loadNanoApp(int, @NonNull android.hardware.location.NanoApp); - method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.hardware.location.ContextHubTransaction<java.lang.Void> loadNanoApp(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.hardware.location.NanoAppBinary); - method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.hardware.location.ContextHubTransaction<java.util.List<android.hardware.location.NanoAppState>> queryNanoApps(@NonNull android.hardware.location.ContextHubInfo); + 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); + 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); + 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); + 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); + 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); + 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); + method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int[] getContextHubHandles(); + method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubInfo getContextHubInfo(int); + method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public java.util.List<android.hardware.location.ContextHubInfo> getContextHubs(); + method @Deprecated @Nullable @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.NanoAppInstanceInfo getNanoAppInstanceInfo(int); + method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int loadNanoApp(int, @NonNull android.hardware.location.NanoApp); + 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); + 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); method @Deprecated public int registerCallback(@NonNull android.hardware.location.ContextHubManager.Callback); method @Deprecated public int registerCallback(android.hardware.location.ContextHubManager.Callback, android.os.Handler); - method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public int sendMessage(int, int, @NonNull android.hardware.location.ContextHubMessage); - method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public int unloadNanoApp(int); - method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.hardware.location.ContextHubTransaction<java.lang.Void> unloadNanoApp(@NonNull android.hardware.location.ContextHubInfo, long); + 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); + method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int unloadNanoApp(int); + 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); method @Deprecated public int unregisterCallback(@NonNull android.hardware.location.ContextHubManager.Callback); field public static final int EVENT_HUB_RESET = 6; // 0x6 field public static final int EVENT_NANOAPP_ABORTED = 4; // 0x4 @@ -2970,6 +3298,7 @@ package android.hardware.radio { method public int describeContents(); method @android.hardware.radio.ProgramSelector.IdentifierType public int getType(); method public long getValue(); + method public boolean isCategoryType(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector.Identifier> CREATOR; } @@ -3246,9 +3575,65 @@ package android.hardware.radio { package android.hardware.soundtrigger { public class SoundTrigger { + field public static final int RECOGNITION_MODE_GENERIC = 8; // 0x8 + field public static final int RECOGNITION_MODE_USER_AUTHENTICATION = 4; // 0x4 + field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2 + field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1 field public static final int STATUS_OK = 0; // 0x0 } + public static final class SoundTrigger.Keyphrase implements android.os.Parcelable { + ctor public SoundTrigger.Keyphrase(int, int, @NonNull java.util.Locale, @NonNull String, @Nullable int[]); + method public int getId(); + method @NonNull public java.util.Locale getLocale(); + method public int getRecognitionModes(); + method @NonNull public String getText(); + method @NonNull public int[] getUsers(); + method @NonNull public static android.hardware.soundtrigger.SoundTrigger.Keyphrase readFromParcel(@NonNull android.os.Parcel); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.Keyphrase> CREATOR; + } + + public static final class SoundTrigger.KeyphraseSoundModel extends android.hardware.soundtrigger.SoundTrigger.SoundModel implements android.os.Parcelable { + ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[], int); + ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[]); + method @NonNull public android.hardware.soundtrigger.SoundTrigger.Keyphrase[] getKeyphrases(); + method @NonNull public static android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel readFromParcel(@NonNull android.os.Parcel); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel> CREATOR; + } + + public static final class SoundTrigger.ModelParamRange implements android.os.Parcelable { + method public int getEnd(); + method public int getStart(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModelParamRange> CREATOR; + } + + public static final class SoundTrigger.ModuleProperties implements android.os.Parcelable { + method public int describeContents(); + method public int getAudioCapabilities(); + method @NonNull public String getDescription(); + method public int getId(); + method @NonNull public String getImplementor(); + method public int getMaxBufferMillis(); + method public int getMaxKeyphrases(); + method public int getMaxSoundModels(); + method public int getMaxUsers(); + method public int getPowerConsumptionMw(); + method public int getRecognitionModes(); + method @NonNull public String getSupportedModelArch(); + method @NonNull public java.util.UUID getUuid(); + method public int getVersion(); + method public boolean isCaptureTransitionSupported(); + method public boolean isConcurrentCaptureSupported(); + method public boolean isTriggerReturnedInEvent(); + method public void writeToParcel(android.os.Parcel, int); + field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1 + field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2 + field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModuleProperties> CREATOR; + } + public static class SoundTrigger.RecognitionEvent { method @Nullable public android.media.AudioFormat getCaptureFormat(); method public int getCaptureSession(); @@ -3256,6 +3641,16 @@ package android.hardware.soundtrigger { method public boolean isCaptureAvailable(); } + public static class SoundTrigger.SoundModel { + method @NonNull public byte[] getData(); + method public int getType(); + method @NonNull public java.util.UUID getUuid(); + method @NonNull public java.util.UUID getVendorUuid(); + method public int getVersion(); + field public static final int TYPE_GENERIC_SOUND = 1; // 0x1 + field public static final int TYPE_KEYPHRASE = 0; // 0x0 + } + } package android.hardware.usb { @@ -3268,6 +3663,7 @@ package android.hardware.usb { method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public long getCurrentFunctions(); method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_USB) public java.util.List<android.hardware.usb.UsbPort> getPorts(); method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void grantPermission(android.hardware.usb.UsbDevice, String); + method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void resetUsbGadget(); method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setCurrentFunctions(long); field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_PORT_CHANGED = "android.hardware.usb.action.USB_PORT_CHANGED"; field public static final String ACTION_USB_STATE = "android.hardware.usb.action.USB_STATE"; @@ -3338,12 +3734,15 @@ package android.location { public final class GnssMeasurementCorrections implements android.os.Parcelable { method public int describeContents(); method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters(); + method @FloatRange(from=0.0f, to=360.0f) public float getEnvironmentBearingDegrees(); + method @FloatRange(from=0.0f, to=180.0f) public float getEnvironmentBearingUncertaintyDegrees(); method @FloatRange(from=0.0f) public double getHorizontalPositionUncertaintyMeters(); method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees(); method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees(); method @NonNull public java.util.List<android.location.GnssSingleSatCorrection> getSingleSatelliteCorrectionList(); method @IntRange(from=0) public long getToaGpsNanosecondsOfWeek(); method @FloatRange(from=0.0f) public double getVerticalPositionUncertaintyMeters(); + method public boolean hasEnvironmentBearing(); method public void writeToParcel(@NonNull android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.location.GnssMeasurementCorrections> CREATOR; } @@ -3352,6 +3751,8 @@ package android.location { ctor public GnssMeasurementCorrections.Builder(); method @NonNull public android.location.GnssMeasurementCorrections build(); method @NonNull public android.location.GnssMeasurementCorrections.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double); + method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingDegrees(@FloatRange(from=0.0f, to=360.0f) float); + method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingUncertaintyDegrees(@FloatRange(from=0.0f, to=180.0f) float); method @NonNull public android.location.GnssMeasurementCorrections.Builder setHorizontalPositionUncertaintyMeters(@FloatRange(from=0.0f) double); method @NonNull public android.location.GnssMeasurementCorrections.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double); method @NonNull public android.location.GnssMeasurementCorrections.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double); @@ -3379,6 +3780,20 @@ package android.location { method @NonNull public android.location.GnssReflectingPlane.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double); } + public final class GnssRequest implements android.os.Parcelable { + method public int describeContents(); + method public boolean isFullTracking(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssRequest> CREATOR; + } + + public static final class GnssRequest.Builder { + ctor public GnssRequest.Builder(); + ctor public GnssRequest.Builder(@NonNull android.location.GnssRequest); + method @NonNull public android.location.GnssRequest build(); + method @NonNull public android.location.GnssRequest.Builder setFullTracking(boolean); + } + public final class GnssSingleSatCorrection implements android.os.Parcelable { method public int describeContents(); method @FloatRange(from=0.0f, fromInclusive=false) public float getCarrierFrequencyHz(); @@ -3408,250 +3823,253 @@ package android.location { method @NonNull public android.location.GnssSingleSatCorrection.Builder setSatelliteId(@IntRange(from=0) int); } - public class GpsClock implements android.os.Parcelable { - method public int describeContents(); - method public double getBiasInNs(); - method public double getBiasUncertaintyInNs(); - method public double getDriftInNsPerSec(); - method public double getDriftUncertaintyInNsPerSec(); - method public long getFullBiasInNs(); - method public short getLeapSecond(); - method public long getTimeInNs(); - method public double getTimeUncertaintyInNs(); - method public byte getType(); - method public boolean hasBiasInNs(); - method public boolean hasBiasUncertaintyInNs(); - method public boolean hasDriftInNsPerSec(); - method public boolean hasDriftUncertaintyInNsPerSec(); - method public boolean hasFullBiasInNs(); - method public boolean hasLeapSecond(); - method public boolean hasTimeUncertaintyInNs(); - method public void reset(); - method public void resetBiasInNs(); - method public void resetBiasUncertaintyInNs(); - method public void resetDriftInNsPerSec(); - method public void resetDriftUncertaintyInNsPerSec(); - method public void resetFullBiasInNs(); - method public void resetLeapSecond(); - method public void resetTimeUncertaintyInNs(); - method public void set(android.location.GpsClock); - method public void setBiasInNs(double); - method public void setBiasUncertaintyInNs(double); - method public void setDriftInNsPerSec(double); - method public void setDriftUncertaintyInNsPerSec(double); - method public void setFullBiasInNs(long); - method public void setLeapSecond(short); - method public void setTimeInNs(long); - method public void setTimeUncertaintyInNs(double); - method public void setType(byte); - method public void writeToParcel(android.os.Parcel, int); - field @NonNull public static final android.os.Parcelable.Creator<android.location.GpsClock> CREATOR; - field public static final byte TYPE_GPS_TIME = 2; // 0x2 - field public static final byte TYPE_LOCAL_HW_TIME = 1; // 0x1 - field public static final byte TYPE_UNKNOWN = 0; // 0x0 - } - - public class GpsMeasurement implements android.os.Parcelable { - method public int describeContents(); - method public double getAccumulatedDeltaRangeInMeters(); - method public short getAccumulatedDeltaRangeState(); - method public double getAccumulatedDeltaRangeUncertaintyInMeters(); - method public double getAzimuthInDeg(); - method public double getAzimuthUncertaintyInDeg(); - method public int getBitNumber(); - method public long getCarrierCycles(); - method public float getCarrierFrequencyInHz(); - method public double getCarrierPhase(); - method public double getCarrierPhaseUncertainty(); - method public double getCn0InDbHz(); - method public double getCodePhaseInChips(); - method public double getCodePhaseUncertaintyInChips(); - method public double getDopplerShiftInHz(); - method public double getDopplerShiftUncertaintyInHz(); - method public double getElevationInDeg(); - method public double getElevationUncertaintyInDeg(); - method public byte getLossOfLock(); - method public byte getMultipathIndicator(); - method public byte getPrn(); - method public double getPseudorangeInMeters(); - method public double getPseudorangeRateInMetersPerSec(); - method public double getPseudorangeRateUncertaintyInMetersPerSec(); - method public double getPseudorangeUncertaintyInMeters(); - method public long getReceivedGpsTowInNs(); - method public long getReceivedGpsTowUncertaintyInNs(); - method public double getSnrInDb(); - method public short getState(); - method public short getTimeFromLastBitInMs(); - method public double getTimeOffsetInNs(); - method public boolean hasAzimuthInDeg(); - method public boolean hasAzimuthUncertaintyInDeg(); - method public boolean hasBitNumber(); - method public boolean hasCarrierCycles(); - method public boolean hasCarrierFrequencyInHz(); - method public boolean hasCarrierPhase(); - method public boolean hasCarrierPhaseUncertainty(); - method public boolean hasCodePhaseInChips(); - method public boolean hasCodePhaseUncertaintyInChips(); - method public boolean hasDopplerShiftInHz(); - method public boolean hasDopplerShiftUncertaintyInHz(); - method public boolean hasElevationInDeg(); - method public boolean hasElevationUncertaintyInDeg(); - method public boolean hasPseudorangeInMeters(); - method public boolean hasPseudorangeUncertaintyInMeters(); - method public boolean hasSnrInDb(); - method public boolean hasTimeFromLastBitInMs(); - method public boolean isPseudorangeRateCorrected(); - method public boolean isUsedInFix(); - method public void reset(); - method public void resetAzimuthInDeg(); - method public void resetAzimuthUncertaintyInDeg(); - method public void resetBitNumber(); - method public void resetCarrierCycles(); - method public void resetCarrierFrequencyInHz(); - method public void resetCarrierPhase(); - method public void resetCarrierPhaseUncertainty(); - method public void resetCodePhaseInChips(); - method public void resetCodePhaseUncertaintyInChips(); - method public void resetDopplerShiftInHz(); - method public void resetDopplerShiftUncertaintyInHz(); - method public void resetElevationInDeg(); - method public void resetElevationUncertaintyInDeg(); - method public void resetPseudorangeInMeters(); - method public void resetPseudorangeUncertaintyInMeters(); - method public void resetSnrInDb(); - method public void resetTimeFromLastBitInMs(); - method public void set(android.location.GpsMeasurement); - method public void setAccumulatedDeltaRangeInMeters(double); - method public void setAccumulatedDeltaRangeState(short); - method public void setAccumulatedDeltaRangeUncertaintyInMeters(double); - method public void setAzimuthInDeg(double); - method public void setAzimuthUncertaintyInDeg(double); - method public void setBitNumber(int); - method public void setCarrierCycles(long); - method public void setCarrierFrequencyInHz(float); - method public void setCarrierPhase(double); - method public void setCarrierPhaseUncertainty(double); - method public void setCn0InDbHz(double); - method public void setCodePhaseInChips(double); - method public void setCodePhaseUncertaintyInChips(double); - method public void setDopplerShiftInHz(double); - method public void setDopplerShiftUncertaintyInHz(double); - method public void setElevationInDeg(double); - method public void setElevationUncertaintyInDeg(double); - method public void setLossOfLock(byte); - method public void setMultipathIndicator(byte); - method public void setPrn(byte); - method public void setPseudorangeInMeters(double); - method public void setPseudorangeRateInMetersPerSec(double); - method public void setPseudorangeRateUncertaintyInMetersPerSec(double); - method public void setPseudorangeUncertaintyInMeters(double); - method public void setReceivedGpsTowInNs(long); - method public void setReceivedGpsTowUncertaintyInNs(long); - method public void setSnrInDb(double); - method public void setState(short); - method public void setTimeFromLastBitInMs(short); - method public void setTimeOffsetInNs(double); - method public void setUsedInFix(boolean); - method public void writeToParcel(android.os.Parcel, int); - field public static final short ADR_STATE_CYCLE_SLIP = 4; // 0x4 - field public static final short ADR_STATE_RESET = 2; // 0x2 - field public static final short ADR_STATE_UNKNOWN = 0; // 0x0 - field public static final short ADR_STATE_VALID = 1; // 0x1 - field @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurement> CREATOR; - field public static final byte LOSS_OF_LOCK_CYCLE_SLIP = 2; // 0x2 - field public static final byte LOSS_OF_LOCK_OK = 1; // 0x1 - field public static final byte LOSS_OF_LOCK_UNKNOWN = 0; // 0x0 - field public static final byte MULTIPATH_INDICATOR_DETECTED = 1; // 0x1 - field public static final byte MULTIPATH_INDICATOR_NOT_USED = 2; // 0x2 - field public static final byte MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0 - field public static final short STATE_BIT_SYNC = 2; // 0x2 - field public static final short STATE_CODE_LOCK = 1; // 0x1 - field public static final short STATE_MSEC_AMBIGUOUS = 16; // 0x10 - field public static final short STATE_SUBFRAME_SYNC = 4; // 0x4 - field public static final short STATE_TOW_DECODED = 8; // 0x8 - field public static final short STATE_UNKNOWN = 0; // 0x0 - } - - public class GpsMeasurementsEvent implements android.os.Parcelable { - ctor public GpsMeasurementsEvent(android.location.GpsClock, android.location.GpsMeasurement[]); - method public int describeContents(); - method @NonNull public android.location.GpsClock getClock(); - method @NonNull public java.util.Collection<android.location.GpsMeasurement> getMeasurements(); - method public void writeToParcel(android.os.Parcel, int); - field @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurementsEvent> CREATOR; - field public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2 - field public static final int STATUS_NOT_SUPPORTED = 0; // 0x0 - field public static final int STATUS_READY = 1; // 0x1 - } - - public static interface GpsMeasurementsEvent.Listener { - method public void onGpsMeasurementsReceived(android.location.GpsMeasurementsEvent); - method public void onStatusChanged(int); - } - - public class GpsNavigationMessage implements android.os.Parcelable { - method public int describeContents(); - method @NonNull public byte[] getData(); - method public short getMessageId(); - method public byte getPrn(); - method public short getStatus(); - method public short getSubmessageId(); - method public byte getType(); - method public void reset(); - method public void set(android.location.GpsNavigationMessage); - method public void setData(byte[]); - method public void setMessageId(short); - method public void setPrn(byte); - method public void setStatus(short); - method public void setSubmessageId(short); - method public void setType(byte); - method public void writeToParcel(android.os.Parcel, int); - field @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessage> CREATOR; - field public static final short STATUS_PARITY_PASSED = 1; // 0x1 - field public static final short STATUS_PARITY_REBUILT = 2; // 0x2 - field public static final short STATUS_UNKNOWN = 0; // 0x0 - field public static final byte TYPE_CNAV2 = 4; // 0x4 - field public static final byte TYPE_L1CA = 1; // 0x1 - field public static final byte TYPE_L2CNAV = 2; // 0x2 - field public static final byte TYPE_L5CNAV = 3; // 0x3 - field public static final byte TYPE_UNKNOWN = 0; // 0x0 + @Deprecated public class GpsClock implements android.os.Parcelable { + method @Deprecated public int describeContents(); + method @Deprecated public double getBiasInNs(); + method @Deprecated public double getBiasUncertaintyInNs(); + method @Deprecated public double getDriftInNsPerSec(); + method @Deprecated public double getDriftUncertaintyInNsPerSec(); + method @Deprecated public long getFullBiasInNs(); + method @Deprecated public short getLeapSecond(); + method @Deprecated public long getTimeInNs(); + method @Deprecated public double getTimeUncertaintyInNs(); + method @Deprecated public byte getType(); + method @Deprecated public boolean hasBiasInNs(); + method @Deprecated public boolean hasBiasUncertaintyInNs(); + method @Deprecated public boolean hasDriftInNsPerSec(); + method @Deprecated public boolean hasDriftUncertaintyInNsPerSec(); + method @Deprecated public boolean hasFullBiasInNs(); + method @Deprecated public boolean hasLeapSecond(); + method @Deprecated public boolean hasTimeUncertaintyInNs(); + method @Deprecated public void reset(); + method @Deprecated public void resetBiasInNs(); + method @Deprecated public void resetBiasUncertaintyInNs(); + method @Deprecated public void resetDriftInNsPerSec(); + method @Deprecated public void resetDriftUncertaintyInNsPerSec(); + method @Deprecated public void resetFullBiasInNs(); + method @Deprecated public void resetLeapSecond(); + method @Deprecated public void resetTimeUncertaintyInNs(); + method @Deprecated public void set(android.location.GpsClock); + method @Deprecated public void setBiasInNs(double); + method @Deprecated public void setBiasUncertaintyInNs(double); + method @Deprecated public void setDriftInNsPerSec(double); + method @Deprecated public void setDriftUncertaintyInNsPerSec(double); + method @Deprecated public void setFullBiasInNs(long); + method @Deprecated public void setLeapSecond(short); + method @Deprecated public void setTimeInNs(long); + method @Deprecated public void setTimeUncertaintyInNs(double); + method @Deprecated public void setType(byte); + method @Deprecated public void writeToParcel(android.os.Parcel, int); + field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsClock> CREATOR; + field @Deprecated public static final byte TYPE_GPS_TIME = 2; // 0x2 + field @Deprecated public static final byte TYPE_LOCAL_HW_TIME = 1; // 0x1 + field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0 } - public class GpsNavigationMessageEvent implements android.os.Parcelable { - ctor public GpsNavigationMessageEvent(android.location.GpsNavigationMessage); - method public int describeContents(); - method @NonNull public android.location.GpsNavigationMessage getNavigationMessage(); - method public void writeToParcel(android.os.Parcel, int); - field @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessageEvent> CREATOR; - field public static int STATUS_GPS_LOCATION_DISABLED; - field public static int STATUS_NOT_SUPPORTED; - field public static int STATUS_READY; + @Deprecated public class GpsMeasurement implements android.os.Parcelable { + method @Deprecated public int describeContents(); + method @Deprecated public double getAccumulatedDeltaRangeInMeters(); + method @Deprecated public short getAccumulatedDeltaRangeState(); + method @Deprecated public double getAccumulatedDeltaRangeUncertaintyInMeters(); + method @Deprecated public double getAzimuthInDeg(); + method @Deprecated public double getAzimuthUncertaintyInDeg(); + method @Deprecated public int getBitNumber(); + method @Deprecated public long getCarrierCycles(); + method @Deprecated public float getCarrierFrequencyInHz(); + method @Deprecated public double getCarrierPhase(); + method @Deprecated public double getCarrierPhaseUncertainty(); + method @Deprecated public double getCn0InDbHz(); + method @Deprecated public double getCodePhaseInChips(); + method @Deprecated public double getCodePhaseUncertaintyInChips(); + method @Deprecated public double getDopplerShiftInHz(); + method @Deprecated public double getDopplerShiftUncertaintyInHz(); + method @Deprecated public double getElevationInDeg(); + method @Deprecated public double getElevationUncertaintyInDeg(); + method @Deprecated public byte getLossOfLock(); + method @Deprecated public byte getMultipathIndicator(); + method @Deprecated public byte getPrn(); + method @Deprecated public double getPseudorangeInMeters(); + method @Deprecated public double getPseudorangeRateInMetersPerSec(); + method @Deprecated public double getPseudorangeRateUncertaintyInMetersPerSec(); + method @Deprecated public double getPseudorangeUncertaintyInMeters(); + method @Deprecated public long getReceivedGpsTowInNs(); + method @Deprecated public long getReceivedGpsTowUncertaintyInNs(); + method @Deprecated public double getSnrInDb(); + method @Deprecated public short getState(); + method @Deprecated public short getTimeFromLastBitInMs(); + method @Deprecated public double getTimeOffsetInNs(); + method @Deprecated public boolean hasAzimuthInDeg(); + method @Deprecated public boolean hasAzimuthUncertaintyInDeg(); + method @Deprecated public boolean hasBitNumber(); + method @Deprecated public boolean hasCarrierCycles(); + method @Deprecated public boolean hasCarrierFrequencyInHz(); + method @Deprecated public boolean hasCarrierPhase(); + method @Deprecated public boolean hasCarrierPhaseUncertainty(); + method @Deprecated public boolean hasCodePhaseInChips(); + method @Deprecated public boolean hasCodePhaseUncertaintyInChips(); + method @Deprecated public boolean hasDopplerShiftInHz(); + method @Deprecated public boolean hasDopplerShiftUncertaintyInHz(); + method @Deprecated public boolean hasElevationInDeg(); + method @Deprecated public boolean hasElevationUncertaintyInDeg(); + method @Deprecated public boolean hasPseudorangeInMeters(); + method @Deprecated public boolean hasPseudorangeUncertaintyInMeters(); + method @Deprecated public boolean hasSnrInDb(); + method @Deprecated public boolean hasTimeFromLastBitInMs(); + method @Deprecated public boolean isPseudorangeRateCorrected(); + method @Deprecated public boolean isUsedInFix(); + method @Deprecated public void reset(); + method @Deprecated public void resetAzimuthInDeg(); + method @Deprecated public void resetAzimuthUncertaintyInDeg(); + method @Deprecated public void resetBitNumber(); + method @Deprecated public void resetCarrierCycles(); + method @Deprecated public void resetCarrierFrequencyInHz(); + method @Deprecated public void resetCarrierPhase(); + method @Deprecated public void resetCarrierPhaseUncertainty(); + method @Deprecated public void resetCodePhaseInChips(); + method @Deprecated public void resetCodePhaseUncertaintyInChips(); + method @Deprecated public void resetDopplerShiftInHz(); + method @Deprecated public void resetDopplerShiftUncertaintyInHz(); + method @Deprecated public void resetElevationInDeg(); + method @Deprecated public void resetElevationUncertaintyInDeg(); + method @Deprecated public void resetPseudorangeInMeters(); + method @Deprecated public void resetPseudorangeUncertaintyInMeters(); + method @Deprecated public void resetSnrInDb(); + method @Deprecated public void resetTimeFromLastBitInMs(); + method @Deprecated public void set(android.location.GpsMeasurement); + method @Deprecated public void setAccumulatedDeltaRangeInMeters(double); + method @Deprecated public void setAccumulatedDeltaRangeState(short); + method @Deprecated public void setAccumulatedDeltaRangeUncertaintyInMeters(double); + method @Deprecated public void setAzimuthInDeg(double); + method @Deprecated public void setAzimuthUncertaintyInDeg(double); + method @Deprecated public void setBitNumber(int); + method @Deprecated public void setCarrierCycles(long); + method @Deprecated public void setCarrierFrequencyInHz(float); + method @Deprecated public void setCarrierPhase(double); + method @Deprecated public void setCarrierPhaseUncertainty(double); + method @Deprecated public void setCn0InDbHz(double); + method @Deprecated public void setCodePhaseInChips(double); + method @Deprecated public void setCodePhaseUncertaintyInChips(double); + method @Deprecated public void setDopplerShiftInHz(double); + method @Deprecated public void setDopplerShiftUncertaintyInHz(double); + method @Deprecated public void setElevationInDeg(double); + method @Deprecated public void setElevationUncertaintyInDeg(double); + method @Deprecated public void setLossOfLock(byte); + method @Deprecated public void setMultipathIndicator(byte); + method @Deprecated public void setPrn(byte); + method @Deprecated public void setPseudorangeInMeters(double); + method @Deprecated public void setPseudorangeRateInMetersPerSec(double); + method @Deprecated public void setPseudorangeRateUncertaintyInMetersPerSec(double); + method @Deprecated public void setPseudorangeUncertaintyInMeters(double); + method @Deprecated public void setReceivedGpsTowInNs(long); + method @Deprecated public void setReceivedGpsTowUncertaintyInNs(long); + method @Deprecated public void setSnrInDb(double); + method @Deprecated public void setState(short); + method @Deprecated public void setTimeFromLastBitInMs(short); + method @Deprecated public void setTimeOffsetInNs(double); + method @Deprecated public void setUsedInFix(boolean); + method @Deprecated public void writeToParcel(android.os.Parcel, int); + field @Deprecated public static final short ADR_STATE_CYCLE_SLIP = 4; // 0x4 + field @Deprecated public static final short ADR_STATE_RESET = 2; // 0x2 + field @Deprecated public static final short ADR_STATE_UNKNOWN = 0; // 0x0 + field @Deprecated public static final short ADR_STATE_VALID = 1; // 0x1 + field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurement> CREATOR; + field @Deprecated public static final byte LOSS_OF_LOCK_CYCLE_SLIP = 2; // 0x2 + field @Deprecated public static final byte LOSS_OF_LOCK_OK = 1; // 0x1 + field @Deprecated public static final byte LOSS_OF_LOCK_UNKNOWN = 0; // 0x0 + field @Deprecated public static final byte MULTIPATH_INDICATOR_DETECTED = 1; // 0x1 + field @Deprecated public static final byte MULTIPATH_INDICATOR_NOT_USED = 2; // 0x2 + field @Deprecated public static final byte MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0 + field @Deprecated public static final short STATE_BIT_SYNC = 2; // 0x2 + field @Deprecated public static final short STATE_CODE_LOCK = 1; // 0x1 + field @Deprecated public static final short STATE_MSEC_AMBIGUOUS = 16; // 0x10 + field @Deprecated public static final short STATE_SUBFRAME_SYNC = 4; // 0x4 + field @Deprecated public static final short STATE_TOW_DECODED = 8; // 0x8 + field @Deprecated public static final short STATE_UNKNOWN = 0; // 0x0 + } + + @Deprecated public class GpsMeasurementsEvent implements android.os.Parcelable { + ctor @Deprecated public GpsMeasurementsEvent(android.location.GpsClock, android.location.GpsMeasurement[]); + method @Deprecated public int describeContents(); + method @Deprecated @NonNull public android.location.GpsClock getClock(); + method @Deprecated @NonNull public java.util.Collection<android.location.GpsMeasurement> getMeasurements(); + method @Deprecated public void writeToParcel(android.os.Parcel, int); + field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurementsEvent> CREATOR; + field @Deprecated public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2 + field @Deprecated public static final int STATUS_NOT_SUPPORTED = 0; // 0x0 + field @Deprecated public static final int STATUS_READY = 1; // 0x1 + } + + @Deprecated public static interface GpsMeasurementsEvent.Listener { + method @Deprecated public void onGpsMeasurementsReceived(android.location.GpsMeasurementsEvent); + method @Deprecated public void onStatusChanged(int); + } + + @Deprecated public class GpsNavigationMessage implements android.os.Parcelable { + method @Deprecated public int describeContents(); + method @Deprecated @NonNull public byte[] getData(); + method @Deprecated public short getMessageId(); + method @Deprecated public byte getPrn(); + method @Deprecated public short getStatus(); + method @Deprecated public short getSubmessageId(); + method @Deprecated public byte getType(); + method @Deprecated public void reset(); + method @Deprecated public void set(android.location.GpsNavigationMessage); + method @Deprecated public void setData(byte[]); + method @Deprecated public void setMessageId(short); + method @Deprecated public void setPrn(byte); + method @Deprecated public void setStatus(short); + method @Deprecated public void setSubmessageId(short); + method @Deprecated public void setType(byte); + method @Deprecated public void writeToParcel(android.os.Parcel, int); + field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessage> CREATOR; + field @Deprecated public static final short STATUS_PARITY_PASSED = 1; // 0x1 + field @Deprecated public static final short STATUS_PARITY_REBUILT = 2; // 0x2 + field @Deprecated public static final short STATUS_UNKNOWN = 0; // 0x0 + field @Deprecated public static final byte TYPE_CNAV2 = 4; // 0x4 + field @Deprecated public static final byte TYPE_L1CA = 1; // 0x1 + field @Deprecated public static final byte TYPE_L2CNAV = 2; // 0x2 + field @Deprecated public static final byte TYPE_L5CNAV = 3; // 0x3 + field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0 + } + + @Deprecated public class GpsNavigationMessageEvent implements android.os.Parcelable { + ctor @Deprecated public GpsNavigationMessageEvent(android.location.GpsNavigationMessage); + method @Deprecated public int describeContents(); + method @Deprecated @NonNull public android.location.GpsNavigationMessage getNavigationMessage(); + method @Deprecated public void writeToParcel(android.os.Parcel, int); + field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessageEvent> CREATOR; + field @Deprecated public static int STATUS_GPS_LOCATION_DISABLED; + field @Deprecated public static int STATUS_NOT_SUPPORTED; + field @Deprecated public static int STATUS_READY; } - public static interface GpsNavigationMessageEvent.Listener { - method public void onGpsNavigationMessageReceived(android.location.GpsNavigationMessageEvent); - method public void onStatusChanged(int); + @Deprecated public static interface GpsNavigationMessageEvent.Listener { + method @Deprecated public void onGpsNavigationMessageReceived(android.location.GpsNavigationMessageEvent); + method @Deprecated public void onStatusChanged(int); } public class Location implements android.os.Parcelable { method public boolean isComplete(); method public void makeComplete(); method public void setIsFromMockProvider(boolean); + field @Deprecated public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation"; } public class LocationManager { method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void flushGnssBatch(); + 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>); method @Nullable public String getExtraLocationControllerPackage(); method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public int getGnssBatchSize(); - method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public android.location.GnssCapabilities getGnssCapabilities(); method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections); method public boolean isExtraLocationControllerPackageEnabled(); method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle); method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle); - method public boolean isProviderPackage(@NonNull String); + method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@NonNull String); method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean registerGnssBatchedLocationCallback(long, boolean, @NonNull android.location.BatchedLocationCallback, @Nullable android.os.Handler); - method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull android.location.LocationRequest, @NonNull android.location.LocationListener, @Nullable android.os.Looper); - method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull android.location.LocationRequest, @NonNull android.app.PendingIntent); + 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); + 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); + 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); + 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); method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackage(@Nullable String); method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackageEnabled(boolean); method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle); @@ -3664,7 +4082,8 @@ package android.location { method @NonNull public static android.location.LocationRequest createFromDeprecatedCriteria(@NonNull android.location.Criteria, long, float, boolean); method @NonNull public static android.location.LocationRequest createFromDeprecatedProvider(@NonNull String, long, float, boolean); method public int describeContents(); - method public long getExpireAt(); + method @Deprecated public long getExpireAt(); + method public long getExpireIn(); method public long getFastestInterval(); method public boolean getHideFromAppOps(); method public long getInterval(); @@ -3675,7 +4094,7 @@ package android.location { method @Nullable public android.os.WorkSource getWorkSource(); method public boolean isLocationSettingsIgnored(); method public boolean isLowPowerMode(); - method @NonNull public android.location.LocationRequest setExpireAt(long); + method @Deprecated @NonNull public android.location.LocationRequest setExpireAt(long); method @NonNull public android.location.LocationRequest setExpireIn(long); method @NonNull public android.location.LocationRequest setFastestInterval(long); method public void setHideFromAppOps(boolean); @@ -3705,31 +4124,43 @@ package android.media { method public int getAllFlags(); method public android.os.Bundle getBundle(); method public int getCapturePreset(); + method public int getSystemUsage(); + method public static boolean isSystemUsage(int); field public static final int FLAG_BEACON = 8; // 0x8 field public static final int FLAG_BYPASS_INTERRUPTION_POLICY = 64; // 0x40 field public static final int FLAG_BYPASS_MUTE = 128; // 0x80 field public static final int FLAG_HW_HOTWORD = 32; // 0x20 + field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_ANNOUNCEMENT = 1003; // 0x3eb + field @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public static final int USAGE_CALL_ASSISTANT = 17; // 0x11 + field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_EMERGENCY = 1000; // 0x3e8 + field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_SAFETY = 1001; // 0x3e9 + field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_VEHICLE_STATUS = 1002; // 0x3ea } public static class AudioAttributes.Builder { method public android.media.AudioAttributes.Builder addBundle(@NonNull android.os.Bundle); method public android.media.AudioAttributes.Builder setCapturePreset(int); method public android.media.AudioAttributes.Builder setInternalCapturePreset(int); + method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioAttributes.Builder setSystemUsage(int); } - public final class AudioDeviceAddress implements android.os.Parcelable { - ctor public AudioDeviceAddress(@NonNull android.media.AudioDeviceInfo); - ctor public AudioDeviceAddress(int, int, @NonNull String); + public final class AudioDeviceAttributes implements android.os.Parcelable { + ctor public AudioDeviceAttributes(@NonNull android.media.AudioDeviceInfo); + ctor public AudioDeviceAttributes(int, int, @NonNull String); method public int describeContents(); method @NonNull public String getAddress(); method public int getRole(); method public int getType(); method public void writeToParcel(@NonNull android.os.Parcel, int); - field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioDeviceAddress> CREATOR; + field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioDeviceAttributes> CREATOR; field public static final int ROLE_INPUT = 1; // 0x1 field public static final int ROLE_OUTPUT = 2; // 0x2 } + public final class AudioDeviceInfo { + field public static final int TYPE_REMOTE_SUBMIX = 25; // 0x19 + } + public final class AudioFocusInfo implements android.os.Parcelable { method public int describeContents(); method @NonNull public android.media.AudioAttributes getAttributes(); @@ -3753,22 +4184,33 @@ package android.media { public class AudioManager { method @Deprecated public int abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes); + 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; method public void clearAudioServerStateCallback(); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int dispatchAudioFocusChange(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy); + method @IntRange(from=0) public long getAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo); method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioProductStrategy> getAudioProductStrategies(); method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioVolumeGroup> getAudioVolumeGroups(); + method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getDevicesForAttributes(@NonNull android.media.AudioAttributes); + method @IntRange(from=0) public long getMaxAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo); method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMaxVolumeIndexForAttributes(@NonNull android.media.AudioAttributes); method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMinVolumeIndexForAttributes(@NonNull android.media.AudioAttributes); + method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioDeviceAttributes getPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy); + method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getSupportedSystemUsages(); method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getVolumeIndexForAttributes(@NonNull android.media.AudioAttributes); method public boolean isAudioServerRunning(); method public boolean isHdmiSystemAudioSupported(); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int registerAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy); method public void registerVolumeGroupCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.VolumeGroupCallback); + method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDeviceForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener); + method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean removePreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy); 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; 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; method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int requestAudioFocus(@NonNull android.media.AudioFocusRequest, @Nullable android.media.audiopolicy.AudioPolicy); + method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo, @IntRange(from=0) long); method public void setAudioServerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioServerStateCallback); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setFocusRequestResult(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy); + method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes); + method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setSupportedSystemUsages(@NonNull int[]); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setVolumeIndexForAttributes(@NonNull android.media.AudioAttributes, int, int); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicyAsync(@NonNull android.media.audiopolicy.AudioPolicy); @@ -3776,6 +4218,7 @@ package android.media { field public static final int AUDIOFOCUS_FLAG_DELAY_OK = 1; // 0x1 field public static final int AUDIOFOCUS_FLAG_LOCK = 4; // 0x4 field public static final int AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS = 2; // 0x2 + field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int STREAM_ASSISTANT = 11; // 0xb field public static final int SUCCESS = 0; // 0x0 } @@ -3785,6 +4228,10 @@ package android.media { method public void onAudioServerUp(); } + public static interface AudioManager.OnPreferredDeviceForStrategyChangedListener { + method public void onPreferredDeviceForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @Nullable android.media.AudioDeviceAttributes); + } + public abstract static class AudioManager.VolumeGroupCallback { ctor public AudioManager.VolumeGroupCallback(); method public void onAudioVolumeGroupChanged(int, int); @@ -3821,6 +4268,24 @@ package android.media { method public android.media.AudioRecord.Builder setSessionId(int) throws java.lang.IllegalArgumentException; } + public final class AudioRecordingConfiguration implements android.os.Parcelable { + method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getClientUid(); + } + + public class AudioTrack implements android.media.AudioRouting android.media.VolumeAutomation { + field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int ENCAPSULATION_MODE_HANDLE = 2; // 0x2 + } + + public static class AudioTrack.Builder { + method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioTrack.Builder setTunerConfiguration(@NonNull android.media.AudioTrack.TunerConfiguration); + } + + public static class AudioTrack.TunerConfiguration { + ctor @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public AudioTrack.TunerConfiguration(@IntRange(from=1) int, @IntRange(from=1) int); + method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getContentId(); + method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getSyncId(); + } + public class HwAudioSource { method public boolean isPlaying(); method public void start(); @@ -3837,7 +4302,7 @@ package android.media { public final class MediaRecorder.AudioSource { field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int ECHO_REFERENCE = 1997; // 0x7cd field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public static final int HOTWORD = 1999; // 0x7cf - field public static final int RADIO_TUNER = 1998; // 0x7ce + field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int RADIO_TUNER = 1998; // 0x7ce } public class PlayerProxy { @@ -3849,12 +4314,17 @@ package android.media { method public void stop(); } + public class RingtoneManager { + method @RequiresPermission(android.Manifest.permission.WRITE_SETTINGS) public static void ensureDefaultRingtones(@NonNull android.content.Context); + } + } package android.media.audiofx { public class AudioEffect { - ctor @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public AudioEffect(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAddress); + ctor @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public AudioEffect(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes); + method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static boolean isEffectSupportedForDevice(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes); } } @@ -3882,6 +4352,7 @@ package android.media.audiopolicy { field public static final int RULE_MATCH_ATTRIBUTE_CAPTURE_PRESET = 2; // 0x2 field public static final int RULE_MATCH_ATTRIBUTE_USAGE = 1; // 0x1 field public static final int RULE_MATCH_UID = 4; // 0x4 + field public static final int RULE_MATCH_USERID = 8; // 0x8 } public static class AudioMixingRule.Builder { @@ -3902,9 +4373,11 @@ package android.media.audiopolicy { method public int getFocusDuckingBehavior(); method public int getStatus(); method public boolean removeUidDeviceAffinity(int); + method public boolean removeUserIdDeviceAffinity(int); method public int setFocusDuckingBehavior(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException; method public void setRegistration(String); method public boolean setUidDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>); + method public boolean setUserIdDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>); method public String toLogFriendlyString(); field public static final int FOCUS_POLICY_DUCKING_DEFAULT = 0; // 0x0 field public static final int FOCUS_POLICY_DUCKING_IN_APP = 0; // 0x0 @@ -3944,9 +4417,11 @@ package android.media.audiopolicy { } public final class AudioProductStrategy implements android.os.Parcelable { + method @NonNull public static android.media.audiopolicy.AudioProductStrategy createInvalidAudioProductStrategy(int); method public int describeContents(); method @NonNull public android.media.AudioAttributes getAudioAttributes(); method public int getId(); + method public boolean supportsAudioAttributes(@NonNull android.media.AudioAttributes); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioProductStrategy> CREATOR; } @@ -3976,11 +4451,11 @@ package android.media.session { } public static interface MediaSessionManager.OnMediaKeyEventDispatchedListener { - method public default void onMediaKeyEventDispatched(@NonNull android.view.KeyEvent, @NonNull String, @NonNull android.media.session.MediaSession.Token); + method public void onMediaKeyEventDispatched(@NonNull android.view.KeyEvent, @NonNull String, @Nullable android.media.session.MediaSession.Token); } public static interface MediaSessionManager.OnMediaKeyEventSessionChangedListener { - method public default void onMediaKeyEventSessionChanged(@NonNull String, @Nullable android.media.session.MediaSession.Token); + method public void onMediaKeyEventSessionChanged(@NonNull String, @Nullable android.media.session.MediaSession.Token); } public static interface MediaSessionManager.OnMediaKeyListener { @@ -4010,6 +4485,8 @@ package android.media.soundtrigger { method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean stopRecognition(); field public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2 field public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1 + field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4 + field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8 } public abstract static class SoundTriggerDetector.Callback { @@ -4030,15 +4507,21 @@ package android.media.soundtrigger { 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); method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void deleteModel(java.util.UUID); method public int getDetectionServiceOperationsTimeout(); - method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.media.soundtrigger.SoundTriggerManager.Model getModel(java.util.UUID); + method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.media.soundtrigger.SoundTriggerManager.Model getModel(java.util.UUID); + method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModuleProperties getModuleProperties(); + method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int getParameter(@NonNull java.util.UUID, int); + method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModelParamRange queryParameter(@Nullable java.util.UUID, int); + method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int setParameter(@Nullable java.util.UUID, int, int); method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void updateModel(android.media.soundtrigger.SoundTriggerManager.Model); } public static class SoundTriggerManager.Model { - method public static android.media.soundtrigger.SoundTriggerManager.Model create(java.util.UUID, java.util.UUID, byte[]); - method public byte[] getModelData(); - method public java.util.UUID getModelUuid(); - method public java.util.UUID getVendorUuid(); + method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], int); + method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[]); + method @Nullable public byte[] getModelData(); + method @NonNull public java.util.UUID getModelUuid(); + method @NonNull public java.util.UUID getVendorUuid(); + method public int getVersion(); } } @@ -4164,7 +4647,8 @@ package android.media.tv { } public final class TvInputManager { - method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public android.media.tv.TvInputManager.Hardware acquireTvInputHardware(int, android.media.tv.TvInputInfo, android.media.tv.TvInputManager.HardwareCallback); + 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); + 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); method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void addBlockedRating(@NonNull android.media.tv.TvContentRating); method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean captureFrame(String, android.view.Surface, android.media.tv.TvStreamConfig); method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public java.util.List<android.media.tv.TvStreamConfig> getAvailableTvStreamConfigList(String); @@ -4248,6 +4732,1198 @@ package android.media.tv { } +package android.media.tv.tuner { + + public class DemuxCapabilities { + method public int getAudioFilterCount(); + method public int getDemuxCount(); + method public int getFilterCapabilities(); + method @NonNull @Size(5) public int[] getLinkCapabilities(); + method public int getPcrFilterCount(); + method public int getPesFilterCount(); + method public int getPlaybackCount(); + method public int getRecordCount(); + method public int getSectionFilterCount(); + method public long getSectionFilterLength(); + method public int getTsFilterCount(); + method public int getVideoFilterCount(); + method public boolean isTimeFilterSupported(); + } + + public class Descrambler implements java.lang.AutoCloseable { + method public int addPid(int, int, @Nullable android.media.tv.tuner.filter.Filter); + method public void close(); + method public int removePid(int, int, @Nullable android.media.tv.tuner.filter.Filter); + method public int setKeyToken(@NonNull byte[]); + field public static final int PID_TYPE_MMTP = 2; // 0x2 + field public static final int PID_TYPE_T = 1; // 0x1 + } + + public class Lnb implements java.lang.AutoCloseable { + method public void close(); + method public int sendDiseqcMessage(@NonNull byte[]); + method public int setSatellitePosition(int); + method public int setTone(int); + method public int setVoltage(int); + field public static final int EVENT_TYPE_DISEQC_RX_OVERFLOW = 0; // 0x0 + field public static final int EVENT_TYPE_DISEQC_RX_PARITY_ERROR = 2; // 0x2 + field public static final int EVENT_TYPE_DISEQC_RX_TIMEOUT = 1; // 0x1 + field public static final int EVENT_TYPE_LNB_OVERLOAD = 3; // 0x3 + field public static final int POSITION_A = 1; // 0x1 + field public static final int POSITION_B = 2; // 0x2 + field public static final int POSITION_UNDEFINED = 0; // 0x0 + field public static final int TONE_CONTINUOUS = 1; // 0x1 + field public static final int TONE_NONE = 0; // 0x0 + field public static final int VOLTAGE_11V = 2; // 0x2 + field public static final int VOLTAGE_12V = 3; // 0x3 + field public static final int VOLTAGE_13V = 4; // 0x4 + field public static final int VOLTAGE_14V = 5; // 0x5 + field public static final int VOLTAGE_15V = 6; // 0x6 + field public static final int VOLTAGE_18V = 7; // 0x7 + field public static final int VOLTAGE_19V = 8; // 0x8 + field public static final int VOLTAGE_5V = 1; // 0x1 + field public static final int VOLTAGE_NONE = 0; // 0x0 + } + + public interface LnbCallback { + method public void onDiseqcMessage(@NonNull byte[]); + method public void onEvent(int); + } + + public class Tuner implements java.lang.AutoCloseable { + ctor @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public Tuner(@NonNull android.content.Context, @Nullable String, int); + method public int cancelScanning(); + method public int cancelTuning(); + method public void clearOnTuneEventListener(); + method public void clearResourceLostListener(); + method public void close(); + method public int connectCiCam(int); + method public int disconnectCiCam(); + method public int getAvSyncHwId(@NonNull android.media.tv.tuner.filter.Filter); + method public long getAvSyncTime(int); + method @Nullable public android.media.tv.tuner.DemuxCapabilities getDemuxCapabilities(); + method @Nullable public android.media.tv.tuner.frontend.FrontendInfo getFrontendInfo(); + method @Nullable public android.media.tv.tuner.frontend.FrontendStatus getFrontendStatus(@NonNull int[]); + method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_DESCRAMBLER) public android.media.tv.tuner.Descrambler openDescrambler(); + method @Nullable public android.media.tv.tuner.dvr.DvrPlayback openDvrPlayback(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnPlaybackStatusChangedListener); + method @Nullable public android.media.tv.tuner.dvr.DvrRecorder openDvrRecorder(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnRecordStatusChangedListener); + 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); + method @Nullable public android.media.tv.tuner.Lnb openLnb(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback); + method @Nullable public android.media.tv.tuner.Lnb openLnbByName(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback); + method @Nullable public android.media.tv.tuner.filter.TimeFilter openTimeFilter(); + method public int scan(@NonNull android.media.tv.tuner.frontend.FrontendSettings, int, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.ScanCallback); + method public int setLnaEnabled(boolean); + method public void setOnTuneEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.OnTuneEventListener); + method public void setResourceLostListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.Tuner.OnResourceLostListener); + method public void shareFrontendFromTuner(@NonNull android.media.tv.tuner.Tuner); + method public int tune(@NonNull android.media.tv.tuner.frontend.FrontendSettings); + method public void updateResourcePriority(int, int); + field public static final int INVALID_AV_SYNC_ID = -1; // 0xffffffff + field public static final int INVALID_FILTER_ID = -1; // 0xffffffff + field public static final int INVALID_STREAM_ID = 65535; // 0xffff + field public static final long INVALID_TIMESTAMP = -1L; // 0xffffffffffffffffL + field public static final int INVALID_TS_PID = 65535; // 0xffff + field public static final int RESULT_INVALID_ARGUMENT = 4; // 0x4 + field public static final int RESULT_INVALID_STATE = 3; // 0x3 + field public static final int RESULT_NOT_INITIALIZED = 2; // 0x2 + field public static final int RESULT_OUT_OF_MEMORY = 5; // 0x5 + field public static final int RESULT_SUCCESS = 0; // 0x0 + field public static final int RESULT_UNAVAILABLE = 1; // 0x1 + field public static final int RESULT_UNKNOWN_ERROR = 6; // 0x6 + field public static final int SCAN_TYPE_AUTO = 1; // 0x1 + field public static final int SCAN_TYPE_BLIND = 2; // 0x2 + field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0 + } + + public static interface Tuner.OnResourceLostListener { + method public void onResourceLost(@NonNull android.media.tv.tuner.Tuner); + } + +} + +package android.media.tv.tuner.dvr { + + public class DvrPlayback implements java.lang.AutoCloseable { + method public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter); + method public void close(); + method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings); + method public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter); + method public int flush(); + method public long read(long); + method public long read(@NonNull byte[], long, long); + method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor); + method public int start(); + method public int stop(); + field public static final int PLAYBACK_STATUS_ALMOST_EMPTY = 2; // 0x2 + field public static final int PLAYBACK_STATUS_ALMOST_FULL = 4; // 0x4 + field public static final int PLAYBACK_STATUS_EMPTY = 1; // 0x1 + field public static final int PLAYBACK_STATUS_FULL = 8; // 0x8 + } + + public class DvrRecorder implements java.lang.AutoCloseable { + method public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter); + method public void close(); + method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings); + method public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter); + method public int flush(); + method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor); + method public int start(); + method public int stop(); + method public long write(long); + method public long write(@NonNull byte[], long, long); + } + + public class DvrSettings { + method @NonNull public static android.media.tv.tuner.dvr.DvrSettings.Builder builder(); + method public int getDataFormat(); + method public long getHighThreshold(); + method public long getLowThreshold(); + method public long getPacketSize(); + method public int getStatusMask(); + field public static final int DATA_FORMAT_ES = 2; // 0x2 + field public static final int DATA_FORMAT_PES = 1; // 0x1 + field public static final int DATA_FORMAT_SHV_TLV = 3; // 0x3 + field public static final int DATA_FORMAT_TS = 0; // 0x0 + } + + public static final class DvrSettings.Builder { + ctor public DvrSettings.Builder(); + method @NonNull public android.media.tv.tuner.dvr.DvrSettings build(); + method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setDataFormat(int); + method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setHighThreshold(long); + method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setLowThreshold(long); + method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setPacketSize(long); + method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setStatusMask(int); + } + + public interface OnPlaybackStatusChangedListener { + method public void onPlaybackStatusChanged(int); + } + + public interface OnRecordStatusChangedListener { + method public void onRecordStatusChanged(int); + } + +} + +package android.media.tv.tuner.filter { + + public final class AlpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration { + method @NonNull public static android.media.tv.tuner.filter.AlpFilterConfiguration.Builder builder(); + method public int getLengthType(); + method public int getPacketType(); + method public int getType(); + field public static final int LENGTH_TYPE_UNDEFINED = 0; // 0x0 + field public static final int LENGTH_TYPE_WITHOUT_ADDITIONAL_HEADER = 1; // 0x1 + field public static final int LENGTH_TYPE_WITH_ADDITIONAL_HEADER = 2; // 0x2 + field public static final int PACKET_TYPE_COMPRESSED = 2; // 0x2 + field public static final int PACKET_TYPE_EXTENSION = 6; // 0x6 + field public static final int PACKET_TYPE_IPV4 = 0; // 0x0 + field public static final int PACKET_TYPE_MPEG2_TS = 7; // 0x7 + field public static final int PACKET_TYPE_SIGNALING = 4; // 0x4 + } + + public static final class AlpFilterConfiguration.Builder { + method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration build(); + method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setLengthType(int); + method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setPacketType(int); + method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings); + } + + public class AudioDescriptor { + method public byte getAdFade(); + method public byte getAdGainCenter(); + method public byte getAdGainFront(); + method public byte getAdGainSurround(); + method public byte getAdPan(); + method public char getAdVersionTextTag(); + } + + public class AvSettings extends android.media.tv.tuner.filter.Settings { + method @NonNull public static android.media.tv.tuner.filter.AvSettings.Builder builder(int, boolean); + method public boolean isPassthrough(); + } + + public static class AvSettings.Builder { + method @NonNull public android.media.tv.tuner.filter.AvSettings build(); + method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setPassthrough(boolean); + } + + public class DownloadEvent extends android.media.tv.tuner.filter.FilterEvent { + method public int getDataLength(); + method public int getItemFragmentIndex(); + method public int getItemId(); + method public int getLastItemFragmentIndex(); + method public int getMpuSequenceNumber(); + } + + public class DownloadSettings extends android.media.tv.tuner.filter.Settings { + method @NonNull public static android.media.tv.tuner.filter.DownloadSettings.Builder builder(int); + method public int getDownloadId(); + } + + public static class DownloadSettings.Builder { + method @NonNull public android.media.tv.tuner.filter.DownloadSettings build(); + method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setDownloadId(int); + } + + public class Filter implements java.lang.AutoCloseable { + method public void close(); + method public int configure(@NonNull android.media.tv.tuner.filter.FilterConfiguration); + method public int flush(); + method public int getId(); + method public int read(@NonNull byte[], long, long); + method public int setDataSource(@Nullable android.media.tv.tuner.filter.Filter); + method public int start(); + method public int stop(); + field public static final int STATUS_DATA_READY = 1; // 0x1 + field public static final int STATUS_HIGH_WATER = 4; // 0x4 + field public static final int STATUS_LOW_WATER = 2; // 0x2 + field public static final int STATUS_OVERFLOW = 8; // 0x8 + field public static final int SUBTYPE_AUDIO = 3; // 0x3 + field public static final int SUBTYPE_DOWNLOAD = 5; // 0x5 + field public static final int SUBTYPE_IP = 13; // 0xd + field public static final int SUBTYPE_IP_PAYLOAD = 12; // 0xc + field public static final int SUBTYPE_MMTP = 10; // 0xa + field public static final int SUBTYPE_NTP = 11; // 0xb + field public static final int SUBTYPE_PAYLOAD_THROUGH = 14; // 0xe + field public static final int SUBTYPE_PCR = 8; // 0x8 + field public static final int SUBTYPE_PES = 2; // 0x2 + field public static final int SUBTYPE_PTP = 16; // 0x10 + field public static final int SUBTYPE_RECORD = 6; // 0x6 + field public static final int SUBTYPE_SECTION = 1; // 0x1 + field public static final int SUBTYPE_TEMI = 9; // 0x9 + field public static final int SUBTYPE_TLV = 15; // 0xf + field public static final int SUBTYPE_TS = 7; // 0x7 + field public static final int SUBTYPE_UNDEFINED = 0; // 0x0 + field public static final int SUBTYPE_VIDEO = 4; // 0x4 + field public static final int TYPE_ALP = 16; // 0x10 + field public static final int TYPE_IP = 4; // 0x4 + field public static final int TYPE_MMTP = 2; // 0x2 + field public static final int TYPE_TLV = 8; // 0x8 + field public static final int TYPE_TS = 1; // 0x1 + field public static final int TYPE_UNDEFINED = 0; // 0x0 + } + + public interface FilterCallback { + method public void onFilterEvent(@NonNull android.media.tv.tuner.filter.Filter, @NonNull android.media.tv.tuner.filter.FilterEvent[]); + method public void onFilterStatusChanged(@NonNull android.media.tv.tuner.filter.Filter, int); + } + + public abstract class FilterConfiguration { + method @Nullable public android.media.tv.tuner.filter.Settings getSettings(); + method public abstract int getType(); + } + + public abstract class FilterEvent { + ctor public FilterEvent(); + } + + public final class IpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration { + method @NonNull public static android.media.tv.tuner.filter.IpFilterConfiguration.Builder builder(); + method @NonNull @Size(min=4, max=16) public byte[] getDstIpAddress(); + method public int getDstPort(); + method @NonNull @Size(min=4, max=16) public byte[] getSrcIpAddress(); + method public int getSrcPort(); + method public int getType(); + method public boolean isPassthrough(); + } + + public static final class IpFilterConfiguration.Builder { + method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration build(); + method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstIpAddress(@NonNull byte[]); + method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstPort(int); + method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setPassthrough(boolean); + method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings); + method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcIpAddress(@NonNull byte[]); + method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcPort(int); + } + + public class IpPayloadEvent extends android.media.tv.tuner.filter.FilterEvent { + method public int getDataLength(); + } + + public class MediaEvent extends android.media.tv.tuner.filter.FilterEvent { + method public long getAudioHandle(); + method public long getAvDataId(); + method public long getDataLength(); + method @Nullable public android.media.tv.tuner.filter.AudioDescriptor getExtraMetaData(); + method @Nullable public android.media.MediaCodec.LinearBlock getLinearBlock(); + method public int getMpuSequenceNumber(); + method public long getOffset(); + method public long getPts(); + method public int getStreamId(); + method public boolean isPrivateData(); + method public boolean isPtsPresent(); + method public boolean isSecureMemory(); + } + + public final class MmtpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration { + method @NonNull public static android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder builder(); + method public int getMmtpPacketId(); + method public int getType(); + } + + public static final class MmtpFilterConfiguration.Builder { + method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration build(); + method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setMmtpPacketId(int); + method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings); + } + + public class MmtpRecordEvent extends android.media.tv.tuner.filter.FilterEvent { + method public long getDataLength(); + method public int getScHevcIndexMask(); + } + + public class PesEvent extends android.media.tv.tuner.filter.FilterEvent { + method public int getDataLength(); + method public int getMpuSequenceNumber(); + method public int getStreamId(); + } + + public class PesSettings extends android.media.tv.tuner.filter.Settings { + method @NonNull public static android.media.tv.tuner.filter.PesSettings.Builder builder(int); + method public int getStreamId(); + method public boolean isRaw(); + } + + public static class PesSettings.Builder { + method @NonNull public android.media.tv.tuner.filter.PesSettings build(); + method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setRaw(boolean); + method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setStreamId(int); + } + + public class RecordSettings extends android.media.tv.tuner.filter.Settings { + method @NonNull public static android.media.tv.tuner.filter.RecordSettings.Builder builder(int); + method public int getScIndexMask(); + method public int getScIndexType(); + method public int getTsIndexMask(); + field public static final int INDEX_TYPE_NONE = 0; // 0x0 + field public static final int INDEX_TYPE_SC = 1; // 0x1 + field public static final int INDEX_TYPE_SC_HEVC = 2; // 0x2 + field public static final int SC_HEVC_INDEX_AUD = 2; // 0x2 + field public static final int SC_HEVC_INDEX_SLICE_BLA_N_LP = 16; // 0x10 + field public static final int SC_HEVC_INDEX_SLICE_BLA_W_RADL = 8; // 0x8 + field public static final int SC_HEVC_INDEX_SLICE_CE_BLA_W_LP = 4; // 0x4 + field public static final int SC_HEVC_INDEX_SLICE_IDR_N_LP = 64; // 0x40 + field public static final int SC_HEVC_INDEX_SLICE_IDR_W_RADL = 32; // 0x20 + field public static final int SC_HEVC_INDEX_SLICE_TRAIL_CRA = 128; // 0x80 + field public static final int SC_HEVC_INDEX_SPS = 1; // 0x1 + field public static final int SC_INDEX_B_FRAME = 4; // 0x4 + field public static final int SC_INDEX_I_FRAME = 1; // 0x1 + field public static final int SC_INDEX_P_FRAME = 2; // 0x2 + field public static final int SC_INDEX_SEQUENCE = 8; // 0x8 + field public static final int TS_INDEX_ADAPTATION_EXTENSION_FLAG = 4096; // 0x1000 + field public static final int TS_INDEX_CHANGE_TO_EVEN_SCRAMBLED = 8; // 0x8 + field public static final int TS_INDEX_CHANGE_TO_NOT_SCRAMBLED = 4; // 0x4 + field public static final int TS_INDEX_CHANGE_TO_ODD_SCRAMBLED = 16; // 0x10 + field public static final int TS_INDEX_DISCONTINUITY_INDICATOR = 32; // 0x20 + field public static final int TS_INDEX_FIRST_PACKET = 1; // 0x1 + field public static final int TS_INDEX_OPCR_FLAG = 512; // 0x200 + field public static final int TS_INDEX_PAYLOAD_UNIT_START_INDICATOR = 2; // 0x2 + field public static final int TS_INDEX_PCR_FLAG = 256; // 0x100 + field public static final int TS_INDEX_PRIORITY_INDICATOR = 128; // 0x80 + field public static final int TS_INDEX_PRIVATE_DATA = 2048; // 0x800 + field public static final int TS_INDEX_RANDOM_ACCESS_INDICATOR = 64; // 0x40 + field public static final int TS_INDEX_SPLICING_POINT_FLAG = 1024; // 0x400 + } + + public static class RecordSettings.Builder { + method @NonNull public android.media.tv.tuner.filter.RecordSettings build(); + method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexMask(int); + method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexType(int); + method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setTsIndexMask(int); + } + + public class SectionEvent extends android.media.tv.tuner.filter.FilterEvent { + method public int getDataLength(); + method public int getSectionNumber(); + method public int getTableId(); + method public int getVersion(); + } + + public abstract class SectionSettings extends android.media.tv.tuner.filter.Settings { + method public boolean isCrcEnabled(); + method public boolean isRaw(); + method public boolean isRepeat(); + } + + public abstract static class SectionSettings.Builder<T extends android.media.tv.tuner.filter.SectionSettings.Builder<T>> { + method @NonNull public T setCrcEnabled(boolean); + method @NonNull public T setRaw(boolean); + method @NonNull public T setRepeat(boolean); + } + + public class SectionSettingsWithSectionBits extends android.media.tv.tuner.filter.SectionSettings { + method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder builder(int); + method @NonNull public byte[] getFilterBytes(); + method @NonNull public byte[] getMask(); + method @NonNull public byte[] getMode(); + } + + public static class SectionSettingsWithSectionBits.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder> { + method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits build(); + method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setFilter(@NonNull byte[]); + method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMask(@NonNull byte[]); + method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMode(@NonNull byte[]); + } + + public class SectionSettingsWithTableInfo extends android.media.tv.tuner.filter.SectionSettings { + method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder builder(int); + method public int getTableId(); + method public int getVersion(); + } + + public static class SectionSettingsWithTableInfo.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder> { + method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo build(); + method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setTableId(int); + method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setVersion(int); + } + + public abstract class Settings { + method public int getType(); + } + + public class TemiEvent extends android.media.tv.tuner.filter.FilterEvent { + method @NonNull public byte[] getDescriptorData(); + method public byte getDescriptorTag(); + method public long getPts(); + } + + public class TimeFilter implements java.lang.AutoCloseable { + method public int clearTimestamp(); + method public void close(); + method public long getSourceTime(); + method public long getTimeStamp(); + method public int setCurrentTimestamp(long); + } + + public final class TlvFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration { + method @NonNull public static android.media.tv.tuner.filter.TlvFilterConfiguration.Builder builder(); + method public int getPacketType(); + method public int getType(); + method public boolean isCompressedIpPacket(); + method public boolean isPassthrough(); + field public static final int PACKET_TYPE_COMPRESSED = 3; // 0x3 + field public static final int PACKET_TYPE_IPV4 = 1; // 0x1 + field public static final int PACKET_TYPE_IPV6 = 2; // 0x2 + field public static final int PACKET_TYPE_NULL = 255; // 0xff + field public static final int PACKET_TYPE_SIGNALING = 254; // 0xfe + } + + public static final class TlvFilterConfiguration.Builder { + method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration build(); + method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setCompressedIpPacket(boolean); + method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPacketType(int); + method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPassthrough(boolean); + method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings); + } + + public final class TsFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration { + method @NonNull public static android.media.tv.tuner.filter.TsFilterConfiguration.Builder builder(); + method public int getTpid(); + method public int getType(); + } + + public static final class TsFilterConfiguration.Builder { + method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration build(); + method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings); + method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setTpid(int); + } + + public class TsRecordEvent extends android.media.tv.tuner.filter.FilterEvent { + method public long getDataLength(); + method public int getPacketId(); + method public int getScIndexMask(); + method public int getTsIndexMask(); + } + +} + +package android.media.tv.tuner.frontend { + + public class AnalogFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities { + method public int getSifStandardCapability(); + method public int getSignalTypeCapability(); + } + + public class AnalogFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings { + method @NonNull public static android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder builder(); + method public int getSifStandard(); + method public int getSignalType(); + method public int getType(); + field public static final int SIF_AUTO = 1; // 0x1 + field public static final int SIF_BG = 2; // 0x2 + field public static final int SIF_BG_A2 = 4; // 0x4 + field public static final int SIF_BG_NICAM = 8; // 0x8 + field public static final int SIF_DK = 32; // 0x20 + field public static final int SIF_DK1_A2 = 64; // 0x40 + field public static final int SIF_DK2_A2 = 128; // 0x80 + field public static final int SIF_DK3_A2 = 256; // 0x100 + field public static final int SIF_DK_NICAM = 512; // 0x200 + field public static final int SIF_I = 16; // 0x10 + field public static final int SIF_I_NICAM = 32768; // 0x8000 + field public static final int SIF_L = 1024; // 0x400 + field public static final int SIF_L_NICAM = 65536; // 0x10000 + field public static final int SIF_L_PRIME = 131072; // 0x20000 + field public static final int SIF_M = 2048; // 0x800 + field public static final int SIF_M_A2 = 8192; // 0x2000 + field public static final int SIF_M_BTSC = 4096; // 0x1000 + field public static final int SIF_M_EIAJ = 16384; // 0x4000 + field public static final int SIF_UNDEFINED = 0; // 0x0 + field public static final int SIGNAL_TYPE_AUTO = 1; // 0x1 + field public static final int SIGNAL_TYPE_NTSC = 32; // 0x20 + field public static final int SIGNAL_TYPE_NTSC_443 = 64; // 0x40 + field public static final int SIGNAL_TYPE_PAL = 2; // 0x2 + field public static final int SIGNAL_TYPE_PAL_60 = 16; // 0x10 + field public static final int SIGNAL_TYPE_PAL_M = 4; // 0x4 + field public static final int SIGNAL_TYPE_PAL_N = 8; // 0x8 + field public static final int SIGNAL_TYPE_SECAM = 128; // 0x80 + field public static final int SIGNAL_TYPE_UNDEFINED = 0; // 0x0 + } + + public static class AnalogFrontendSettings.Builder { + method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings build(); + method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequency(int); + method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSifStandard(int); + method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSignalType(int); + } + + public class Atsc3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities { + method public int getBandwidthCapability(); + method public int getDemodOutputFormatCapability(); + method public int getFecCapability(); + method public int getModulationCapability(); + method public int getPlpCodeRateCapability(); + method public int getTimeInterleaveModeCapability(); + } + + public class Atsc3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings { + method @NonNull public static android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder builder(); + method public int getBandwidth(); + method public int getDemodOutputFormat(); + method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings[] getPlpSettings(); + method public int getType(); + field public static final int BANDWIDTH_AUTO = 1; // 0x1 + field public static final int BANDWIDTH_BANDWIDTH_6MHZ = 2; // 0x2 + field public static final int BANDWIDTH_BANDWIDTH_7MHZ = 4; // 0x4 + field public static final int BANDWIDTH_BANDWIDTH_8MHZ = 8; // 0x8 + field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0 + field public static final int CODERATE_10_15 = 512; // 0x200 + field public static final int CODERATE_11_15 = 1024; // 0x400 + field public static final int CODERATE_12_15 = 2048; // 0x800 + field public static final int CODERATE_13_15 = 4096; // 0x1000 + field public static final int CODERATE_2_15 = 2; // 0x2 + field public static final int CODERATE_3_15 = 4; // 0x4 + field public static final int CODERATE_4_15 = 8; // 0x8 + field public static final int CODERATE_5_15 = 16; // 0x10 + field public static final int CODERATE_6_15 = 32; // 0x20 + field public static final int CODERATE_7_15 = 64; // 0x40 + field public static final int CODERATE_8_15 = 128; // 0x80 + field public static final int CODERATE_9_15 = 256; // 0x100 + field public static final int CODERATE_AUTO = 1; // 0x1 + field public static final int CODERATE_UNDEFINED = 0; // 0x0 + field public static final int DEMOD_OUTPUT_FORMAT_ATSC3_LINKLAYER_PACKET = 1; // 0x1 + field public static final int DEMOD_OUTPUT_FORMAT_BASEBAND_PACKET = 2; // 0x2 + field public static final int DEMOD_OUTPUT_FORMAT_UNDEFINED = 0; // 0x0 + field public static final int FEC_AUTO = 1; // 0x1 + field public static final int FEC_BCH_LDPC_16K = 2; // 0x2 + field public static final int FEC_BCH_LDPC_64K = 4; // 0x4 + field public static final int FEC_CRC_LDPC_16K = 8; // 0x8 + field public static final int FEC_CRC_LDPC_64K = 16; // 0x10 + field public static final int FEC_LDPC_16K = 32; // 0x20 + field public static final int FEC_LDPC_64K = 64; // 0x40 + field public static final int FEC_UNDEFINED = 0; // 0x0 + field public static final int MODULATION_AUTO = 1; // 0x1 + field public static final int MODULATION_MOD_1024QAM = 32; // 0x20 + field public static final int MODULATION_MOD_16QAM = 4; // 0x4 + field public static final int MODULATION_MOD_256QAM = 16; // 0x10 + field public static final int MODULATION_MOD_4096QAM = 64; // 0x40 + field public static final int MODULATION_MOD_64QAM = 8; // 0x8 + field public static final int MODULATION_MOD_QPSK = 2; // 0x2 + field public static final int MODULATION_UNDEFINED = 0; // 0x0 + field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1 + field public static final int TIME_INTERLEAVE_MODE_CTI = 2; // 0x2 + field public static final int TIME_INTERLEAVE_MODE_HTI = 4; // 0x4 + field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0 + } + + public static class Atsc3FrontendSettings.Builder { + method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings build(); + method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setBandwidth(int); + method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setDemodOutputFormat(int); + method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequency(int); + method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setPlpSettings(@NonNull android.media.tv.tuner.frontend.Atsc3PlpSettings[]); + } + + public class Atsc3PlpInfo { + method public boolean getLlsFlag(); + method public int getPlpId(); + } + + public class Atsc3PlpSettings { + method @NonNull public static android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder builder(); + method public int getCodeRate(); + method public int getFec(); + method public int getInterleaveMode(); + method public int getModulation(); + method public int getPlpId(); + } + + public static class Atsc3PlpSettings.Builder { + method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings build(); + method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setCodeRate(int); + method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setFec(int); + method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setInterleaveMode(int); + method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setModulation(int); + method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setPlpId(int); + } + + public class AtscFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities { + method public int getModulationCapability(); + } + + public class AtscFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings { + method @NonNull public static android.media.tv.tuner.frontend.AtscFrontendSettings.Builder builder(); + method public int getModulation(); + method public int getType(); + field public static final int MODULATION_AUTO = 1; // 0x1 + field public static final int MODULATION_MOD_16VSB = 8; // 0x8 + field public static final int MODULATION_MOD_8VSB = 4; // 0x4 + field public static final int MODULATION_UNDEFINED = 0; // 0x0 + } + + public static class AtscFrontendSettings.Builder { + method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings build(); + method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequency(int); + method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setModulation(int); + } + + public class DvbcFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities { + method public int getAnnexCapability(); + method public int getFecCapability(); + method public int getModulationCapability(); + } + + public class DvbcFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings { + method @NonNull public static android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder builder(); + method public int getAnnex(); + method public long getInnerFec(); + method public int getModulation(); + method public int getOuterFec(); + method public int getSpectralInversion(); + method public int getSymbolRate(); + method public int getType(); + field public static final int ANNEX_A = 1; // 0x1 + field public static final int ANNEX_B = 2; // 0x2 + field public static final int ANNEX_C = 4; // 0x4 + field public static final int ANNEX_UNDEFINED = 0; // 0x0 + field public static final int MODULATION_AUTO = 1; // 0x1 + field public static final int MODULATION_MOD_128QAM = 16; // 0x10 + field public static final int MODULATION_MOD_16QAM = 2; // 0x2 + field public static final int MODULATION_MOD_256QAM = 32; // 0x20 + field public static final int MODULATION_MOD_32QAM = 4; // 0x4 + field public static final int MODULATION_MOD_64QAM = 8; // 0x8 + field public static final int MODULATION_UNDEFINED = 0; // 0x0 + field public static final int OUTER_FEC_OUTER_FEC_NONE = 1; // 0x1 + field public static final int OUTER_FEC_OUTER_FEC_RS = 2; // 0x2 + field public static final int OUTER_FEC_UNDEFINED = 0; // 0x0 + field public static final int SPECTRAL_INVERSION_INVERTED = 2; // 0x2 + field public static final int SPECTRAL_INVERSION_NORMAL = 1; // 0x1 + field public static final int SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0 + } + + public static class DvbcFrontendSettings.Builder { + method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings build(); + method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setAnnex(int); + method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequency(int); + method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setInnerFec(long); + method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setModulation(int); + method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setOuterFec(int); + method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSpectralInversion(int); + method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSymbolRate(int); + } + + public class DvbsCodeRate { + method @NonNull public static android.media.tv.tuner.frontend.DvbsCodeRate.Builder builder(); + method public int getBitsPer1000Symbol(); + method public long getInnerFec(); + method public boolean isLinear(); + method public boolean isShortFrameEnabled(); + } + + public static class DvbsCodeRate.Builder { + method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate build(); + method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setBitsPer1000Symbol(int); + method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setInnerFec(long); + method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setLinear(boolean); + method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setShortFrameEnabled(boolean); + } + + public class DvbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities { + method public long getInnerFecCapability(); + method public int getModulationCapability(); + method public int getStandardCapability(); + } + + public class DvbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings { + method @NonNull public static android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder builder(); + method @Nullable public android.media.tv.tuner.frontend.DvbsCodeRate getCodeRate(); + method public int getInputStreamId(); + method public int getModulation(); + method public int getPilot(); + method public int getRolloff(); + method public int getStandard(); + method public int getSymbolRate(); + method public int getType(); + method public int getVcmMode(); + field public static final int MODULATION_AUTO = 1; // 0x1 + field public static final int MODULATION_MOD_128APSK = 2048; // 0x800 + field public static final int MODULATION_MOD_16APSK = 256; // 0x100 + field public static final int MODULATION_MOD_16PSK = 16; // 0x10 + field public static final int MODULATION_MOD_16QAM = 8; // 0x8 + field public static final int MODULATION_MOD_256APSK = 4096; // 0x1000 + field public static final int MODULATION_MOD_32APSK = 512; // 0x200 + field public static final int MODULATION_MOD_32PSK = 32; // 0x20 + field public static final int MODULATION_MOD_64APSK = 1024; // 0x400 + field public static final int MODULATION_MOD_8APSK = 128; // 0x80 + field public static final int MODULATION_MOD_8PSK = 4; // 0x4 + field public static final int MODULATION_MOD_ACM = 64; // 0x40 + field public static final int MODULATION_MOD_QPSK = 2; // 0x2 + field public static final int MODULATION_MOD_RESERVED = 8192; // 0x2000 + field public static final int MODULATION_UNDEFINED = 0; // 0x0 + field public static final int PILOT_AUTO = 3; // 0x3 + field public static final int PILOT_OFF = 2; // 0x2 + field public static final int PILOT_ON = 1; // 0x1 + field public static final int PILOT_UNDEFINED = 0; // 0x0 + field public static final int ROLLOFF_0_10 = 5; // 0x5 + field public static final int ROLLOFF_0_15 = 4; // 0x4 + field public static final int ROLLOFF_0_20 = 3; // 0x3 + field public static final int ROLLOFF_0_25 = 2; // 0x2 + field public static final int ROLLOFF_0_35 = 1; // 0x1 + field public static final int ROLLOFF_0_5 = 6; // 0x6 + field public static final int ROLLOFF_UNDEFINED = 0; // 0x0 + field public static final int STANDARD_AUTO = 1; // 0x1 + field public static final int STANDARD_S = 2; // 0x2 + field public static final int STANDARD_S2 = 4; // 0x4 + field public static final int STANDARD_S2X = 8; // 0x8 + field public static final int VCM_MODE_AUTO = 1; // 0x1 + field public static final int VCM_MODE_MANUAL = 2; // 0x2 + field public static final int VCM_MODE_UNDEFINED = 0; // 0x0 + } + + public static class DvbsFrontendSettings.Builder { + method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings build(); + method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCodeRate(@Nullable android.media.tv.tuner.frontend.DvbsCodeRate); + method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequency(int); + method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setInputStreamId(int); + method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setModulation(int); + method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setPilot(int); + method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setRolloff(int); + method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setStandard(int); + method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setSymbolRate(int); + method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setVcmMode(int); + } + + public class DvbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities { + method public int getBandwidthCapability(); + method public int getCodeRateCapability(); + method public int getConstellationCapability(); + method public int getGuardIntervalCapability(); + method public int getHierarchyCapability(); + method public int getTransmissionModeCapability(); + method public boolean isMisoSupported(); + method public boolean isT2Supported(); + } + + public class DvbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings { + method @NonNull public static android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder builder(); + method public int getBandwidth(); + method public int getConstellation(); + method public int getGuardInterval(); + method public int getHierarchy(); + method public int getHighPriorityCodeRate(); + method public int getLowPriorityCodeRate(); + method public int getPlpGroupId(); + method public int getPlpId(); + method public int getPlpMode(); + method public int getStandard(); + method public int getTransmissionMode(); + method public int getType(); + method public boolean isHighPriority(); + method public boolean isMiso(); + field public static final int BANDWIDTH_10MHZ = 64; // 0x40 + field public static final int BANDWIDTH_1_7MHZ = 32; // 0x20 + field public static final int BANDWIDTH_5MHZ = 16; // 0x10 + field public static final int BANDWIDTH_6MHZ = 8; // 0x8 + field public static final int BANDWIDTH_7MHZ = 4; // 0x4 + field public static final int BANDWIDTH_8MHZ = 2; // 0x2 + field public static final int BANDWIDTH_AUTO = 1; // 0x1 + field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0 + field public static final int CODERATE_1_2 = 2; // 0x2 + field public static final int CODERATE_2_3 = 4; // 0x4 + field public static final int CODERATE_3_4 = 8; // 0x8 + field public static final int CODERATE_3_5 = 64; // 0x40 + field public static final int CODERATE_4_5 = 128; // 0x80 + field public static final int CODERATE_5_6 = 16; // 0x10 + field public static final int CODERATE_6_7 = 256; // 0x100 + field public static final int CODERATE_7_8 = 32; // 0x20 + field public static final int CODERATE_8_9 = 512; // 0x200 + field public static final int CODERATE_AUTO = 1; // 0x1 + field public static final int CODERATE_UNDEFINED = 0; // 0x0 + field public static final int CONSTELLATION_16QAM = 4; // 0x4 + field public static final int CONSTELLATION_256QAM = 16; // 0x10 + field public static final int CONSTELLATION_64QAM = 8; // 0x8 + field public static final int CONSTELLATION_AUTO = 1; // 0x1 + field public static final int CONSTELLATION_QPSK = 2; // 0x2 + field public static final int CONSTELLATION_UNDEFINED = 0; // 0x0 + field public static final int GUARD_INTERVAL_19_128 = 64; // 0x40 + field public static final int GUARD_INTERVAL_19_256 = 128; // 0x80 + field public static final int GUARD_INTERVAL_1_128 = 32; // 0x20 + field public static final int GUARD_INTERVAL_1_16 = 4; // 0x4 + field public static final int GUARD_INTERVAL_1_32 = 2; // 0x2 + field public static final int GUARD_INTERVAL_1_4 = 16; // 0x10 + field public static final int GUARD_INTERVAL_1_8 = 8; // 0x8 + field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1 + field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0 + field public static final int HIERARCHY_1_INDEPTH = 64; // 0x40 + field public static final int HIERARCHY_1_NATIVE = 4; // 0x4 + field public static final int HIERARCHY_2_INDEPTH = 128; // 0x80 + field public static final int HIERARCHY_2_NATIVE = 8; // 0x8 + field public static final int HIERARCHY_4_INDEPTH = 256; // 0x100 + field public static final int HIERARCHY_4_NATIVE = 16; // 0x10 + field public static final int HIERARCHY_AUTO = 1; // 0x1 + field public static final int HIERARCHY_NON_INDEPTH = 32; // 0x20 + field public static final int HIERARCHY_NON_NATIVE = 2; // 0x2 + field public static final int HIERARCHY_UNDEFINED = 0; // 0x0 + field public static final int PLP_MODE_AUTO = 1; // 0x1 + field public static final int PLP_MODE_MANUAL = 2; // 0x2 + field public static final int PLP_MODE_UNDEFINED = 0; // 0x0 + field public static final int STANDARD_AUTO = 1; // 0x1 + field public static final int STANDARD_T = 2; // 0x2 + field public static final int STANDARD_T2 = 4; // 0x4 + field public static final int TRANSMISSION_MODE_16K = 32; // 0x20 + field public static final int TRANSMISSION_MODE_1K = 16; // 0x10 + field public static final int TRANSMISSION_MODE_2K = 2; // 0x2 + field public static final int TRANSMISSION_MODE_32K = 64; // 0x40 + field public static final int TRANSMISSION_MODE_4K = 8; // 0x8 + field public static final int TRANSMISSION_MODE_8K = 4; // 0x4 + field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1 + field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0 + } + + public static class DvbtFrontendSettings.Builder { + method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings build(); + method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setBandwidth(int); + method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setConstellation(int); + method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequency(int); + method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setGuardInterval(int); + method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHierarchy(int); + method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriority(boolean); + method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriorityCodeRate(int); + method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setLowPriorityCodeRate(int); + method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setMiso(boolean); + method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpGroupId(int); + method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpId(int); + method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpMode(int); + method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setStandard(int); + method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setTransmissionMode(int); + } + + public abstract class FrontendCapabilities { + ctor public FrontendCapabilities(); + } + + public class FrontendInfo { + method public int getAcquireRange(); + method public int getExclusiveGroupId(); + method @NonNull public android.util.Range<java.lang.Integer> getFrequencyRange(); + method @NonNull public android.media.tv.tuner.frontend.FrontendCapabilities getFrontendCapabilities(); + method public int getId(); + method @NonNull public int[] getStatusCapabilities(); + method @NonNull public android.util.Range<java.lang.Integer> getSymbolRateRange(); + method public int getType(); + } + + public abstract class FrontendSettings { + method public int getFrequency(); + method public abstract int getType(); + field public static final long FEC_11_15 = 4194304L; // 0x400000L + field public static final long FEC_11_20 = 8388608L; // 0x800000L + field public static final long FEC_11_45 = 16777216L; // 0x1000000L + field public static final long FEC_13_18 = 33554432L; // 0x2000000L + field public static final long FEC_13_45 = 67108864L; // 0x4000000L + field public static final long FEC_14_45 = 134217728L; // 0x8000000L + field public static final long FEC_1_2 = 2L; // 0x2L + field public static final long FEC_1_3 = 4L; // 0x4L + field public static final long FEC_1_4 = 8L; // 0x8L + field public static final long FEC_1_5 = 16L; // 0x10L + field public static final long FEC_23_36 = 268435456L; // 0x10000000L + field public static final long FEC_25_36 = 536870912L; // 0x20000000L + field public static final long FEC_26_45 = 1073741824L; // 0x40000000L + field public static final long FEC_28_45 = -2147483648L; // 0xffffffff80000000L + field public static final long FEC_29_45 = 1L; // 0x1L + field public static final long FEC_2_3 = 32L; // 0x20L + field public static final long FEC_2_5 = 64L; // 0x40L + field public static final long FEC_2_9 = 128L; // 0x80L + field public static final long FEC_31_45 = 2L; // 0x2L + field public static final long FEC_32_45 = 4L; // 0x4L + field public static final long FEC_3_4 = 256L; // 0x100L + field public static final long FEC_3_5 = 512L; // 0x200L + field public static final long FEC_4_15 = 2048L; // 0x800L + field public static final long FEC_4_5 = 1024L; // 0x400L + field public static final long FEC_5_6 = 4096L; // 0x1000L + field public static final long FEC_5_9 = 8192L; // 0x2000L + field public static final long FEC_6_7 = 16384L; // 0x4000L + field public static final long FEC_77_90 = 8L; // 0x8L + field public static final long FEC_7_15 = 131072L; // 0x20000L + field public static final long FEC_7_8 = 32768L; // 0x8000L + field public static final long FEC_7_9 = 65536L; // 0x10000L + field public static final long FEC_8_15 = 524288L; // 0x80000L + field public static final long FEC_8_9 = 262144L; // 0x40000L + field public static final long FEC_9_10 = 1048576L; // 0x100000L + field public static final long FEC_9_20 = 2097152L; // 0x200000L + field public static final long FEC_AUTO = 1L; // 0x1L + field public static final long FEC_UNDEFINED = 0L; // 0x0L + field public static final int TYPE_ANALOG = 1; // 0x1 + field public static final int TYPE_ATSC = 2; // 0x2 + field public static final int TYPE_ATSC3 = 3; // 0x3 + field public static final int TYPE_DVBC = 4; // 0x4 + field public static final int TYPE_DVBS = 5; // 0x5 + field public static final int TYPE_DVBT = 6; // 0x6 + field public static final int TYPE_ISDBS = 7; // 0x7 + field public static final int TYPE_ISDBS3 = 8; // 0x8 + field public static final int TYPE_ISDBT = 9; // 0x9 + field public static final int TYPE_UNDEFINED = 0; // 0x0 + } + + public class FrontendStatus { + method public int getAgc(); + method @NonNull public android.media.tv.tuner.frontend.FrontendStatus.Atsc3PlpTuningInfo[] getAtsc3PlpTuningInfo(); + method public int getBer(); + method public int getFreqOffset(); + method public int getHierarchy(); + method public long getInnerFec(); + method @NonNull public boolean[] getLayerErrors(); + method public int getLnbVoltage(); + method public int getMer(); + method public int getModulation(); + method public int getPer(); + method public int getPerBer(); + method public int getPlpId(); + method public int getSignalQuality(); + method public int getSignalStrength(); + method public int getSnr(); + method public int getSpectralInversion(); + method public int getSymbolRate(); + method public boolean isDemodLocked(); + method public boolean isEwbs(); + method public boolean isLnaOn(); + method public boolean isRfLocked(); + field public static final int FRONTEND_STATUS_TYPE_AGC = 14; // 0xe + field public static final int FRONTEND_STATUS_TYPE_ATSC3_PLP_INFO = 21; // 0x15 + field public static final int FRONTEND_STATUS_TYPE_BER = 2; // 0x2 + field public static final int FRONTEND_STATUS_TYPE_DEMOD_LOCK = 0; // 0x0 + field public static final int FRONTEND_STATUS_TYPE_EWBS = 13; // 0xd + field public static final int FRONTEND_STATUS_TYPE_FEC = 8; // 0x8 + field public static final int FRONTEND_STATUS_TYPE_FREQ_OFFSET = 18; // 0x12 + field public static final int FRONTEND_STATUS_TYPE_HIERARCHY = 19; // 0x13 + field public static final int FRONTEND_STATUS_TYPE_LAYER_ERROR = 16; // 0x10 + field public static final int FRONTEND_STATUS_TYPE_LNA = 15; // 0xf + field public static final int FRONTEND_STATUS_TYPE_LNB_VOLTAGE = 11; // 0xb + field public static final int FRONTEND_STATUS_TYPE_MER = 17; // 0x11 + field public static final int FRONTEND_STATUS_TYPE_MODULATION = 9; // 0x9 + field public static final int FRONTEND_STATUS_TYPE_PER = 3; // 0x3 + field public static final int FRONTEND_STATUS_TYPE_PLP_ID = 12; // 0xc + field public static final int FRONTEND_STATUS_TYPE_PRE_BER = 4; // 0x4 + field public static final int FRONTEND_STATUS_TYPE_RF_LOCK = 20; // 0x14 + field public static final int FRONTEND_STATUS_TYPE_SIGNAL_QUALITY = 5; // 0x5 + field public static final int FRONTEND_STATUS_TYPE_SIGNAL_STRENGTH = 6; // 0x6 + field public static final int FRONTEND_STATUS_TYPE_SNR = 1; // 0x1 + field public static final int FRONTEND_STATUS_TYPE_SPECTRAL = 10; // 0xa + field public static final int FRONTEND_STATUS_TYPE_SYMBOL_RATE = 7; // 0x7 + } + + public static class FrontendStatus.Atsc3PlpTuningInfo { + method public int getPlpId(); + method public int getUec(); + method public boolean isLocked(); + } + + public class Isdbs3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities { + method public int getCodeRateCapability(); + method public int getModulationCapability(); + } + + public class Isdbs3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings { + method @NonNull public static android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder builder(); + method public int getCodeRate(); + method public int getModulation(); + method public int getRolloff(); + method public int getStreamId(); + method public int getStreamIdType(); + method public int getSymbolRate(); + method public int getType(); + field public static final int CODERATE_1_2 = 8; // 0x8 + field public static final int CODERATE_1_3 = 2; // 0x2 + field public static final int CODERATE_2_3 = 32; // 0x20 + field public static final int CODERATE_2_5 = 4; // 0x4 + field public static final int CODERATE_3_4 = 64; // 0x40 + field public static final int CODERATE_3_5 = 16; // 0x10 + field public static final int CODERATE_4_5 = 256; // 0x100 + field public static final int CODERATE_5_6 = 512; // 0x200 + field public static final int CODERATE_7_8 = 1024; // 0x400 + field public static final int CODERATE_7_9 = 128; // 0x80 + field public static final int CODERATE_9_10 = 2048; // 0x800 + field public static final int CODERATE_AUTO = 1; // 0x1 + field public static final int CODERATE_UNDEFINED = 0; // 0x0 + field public static final int MODULATION_AUTO = 1; // 0x1 + field public static final int MODULATION_MOD_16APSK = 16; // 0x10 + field public static final int MODULATION_MOD_32APSK = 32; // 0x20 + field public static final int MODULATION_MOD_8PSK = 8; // 0x8 + field public static final int MODULATION_MOD_BPSK = 2; // 0x2 + field public static final int MODULATION_MOD_QPSK = 4; // 0x4 + field public static final int MODULATION_UNDEFINED = 0; // 0x0 + field public static final int ROLLOFF_0_03 = 1; // 0x1 + field public static final int ROLLOFF_UNDEFINED = 0; // 0x0 + } + + public static class Isdbs3FrontendSettings.Builder { + method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings build(); + method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setCodeRate(int); + method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequency(int); + method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setModulation(int); + method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setRolloff(int); + method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamId(int); + method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamIdType(int); + method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setSymbolRate(int); + } + + public class IsdbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities { + method public int getCodeRateCapability(); + method public int getModulationCapability(); + } + + public class IsdbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings { + method @NonNull public static android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder builder(); + method public int getCodeRate(); + method public int getModulation(); + method public int getRolloff(); + method public int getStreamId(); + method public int getStreamIdType(); + method public int getSymbolRate(); + method public int getType(); + field public static final int CODERATE_1_2 = 2; // 0x2 + field public static final int CODERATE_2_3 = 4; // 0x4 + field public static final int CODERATE_3_4 = 8; // 0x8 + field public static final int CODERATE_5_6 = 16; // 0x10 + field public static final int CODERATE_7_8 = 32; // 0x20 + field public static final int CODERATE_AUTO = 1; // 0x1 + field public static final int CODERATE_UNDEFINED = 0; // 0x0 + field public static final int MODULATION_AUTO = 1; // 0x1 + field public static final int MODULATION_MOD_BPSK = 2; // 0x2 + field public static final int MODULATION_MOD_QPSK = 4; // 0x4 + field public static final int MODULATION_MOD_TC8PSK = 8; // 0x8 + field public static final int MODULATION_UNDEFINED = 0; // 0x0 + field public static final int ROLLOFF_0_35 = 1; // 0x1 + field public static final int ROLLOFF_UNDEFINED = 0; // 0x0 + field public static final int STREAM_ID_TYPE_ID = 0; // 0x0 + field public static final int STREAM_ID_TYPE_RELATIVE_NUMBER = 1; // 0x1 + } + + public static class IsdbsFrontendSettings.Builder { + method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings build(); + method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setCodeRate(int); + method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequency(int); + method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setModulation(int); + method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setRolloff(int); + method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamId(int); + method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamIdType(int); + method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setSymbolRate(int); + } + + public class IsdbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities { + method public int getBandwidthCapability(); + method public int getCodeRateCapability(); + method public int getGuardIntervalCapability(); + method public int getModeCapability(); + method public int getModulationCapability(); + } + + public class IsdbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings { + method @NonNull public static android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder builder(); + method public int getBandwidth(); + method public int getCodeRate(); + method public int getGuardInterval(); + method public int getMode(); + method public int getModulation(); + method public int getServiceAreaId(); + method public int getType(); + field public static final int BANDWIDTH_6MHZ = 8; // 0x8 + field public static final int BANDWIDTH_7MHZ = 4; // 0x4 + field public static final int BANDWIDTH_8MHZ = 2; // 0x2 + field public static final int BANDWIDTH_AUTO = 1; // 0x1 + field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0 + field public static final int MODE_1 = 2; // 0x2 + field public static final int MODE_2 = 4; // 0x4 + field public static final int MODE_3 = 8; // 0x8 + field public static final int MODE_AUTO = 1; // 0x1 + field public static final int MODE_UNDEFINED = 0; // 0x0 + field public static final int MODULATION_AUTO = 1; // 0x1 + field public static final int MODULATION_MOD_16QAM = 8; // 0x8 + field public static final int MODULATION_MOD_64QAM = 16; // 0x10 + field public static final int MODULATION_MOD_DQPSK = 2; // 0x2 + field public static final int MODULATION_MOD_QPSK = 4; // 0x4 + field public static final int MODULATION_UNDEFINED = 0; // 0x0 + } + + public static class IsdbtFrontendSettings.Builder { + method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings build(); + method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setBandwidth(int); + method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setCodeRate(int); + method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequency(int); + method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setGuardInterval(int); + method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setMode(int); + method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setModulation(int); + method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setServiceAreaId(int); + } + + public interface OnTuneEventListener { + method public void onTuneEvent(int); + field public static final int SIGNAL_LOCKED = 0; // 0x0 + field public static final int SIGNAL_LOST_LOCK = 2; // 0x2 + field public static final int SIGNAL_NO_SIGNAL = 1; // 0x1 + } + + public interface ScanCallback { + method public void onAnalogSifStandardReported(int); + method public void onAtsc3PlpInfosReported(@NonNull android.media.tv.tuner.frontend.Atsc3PlpInfo[]); + method public void onDvbsStandardReported(int); + method public void onDvbtStandardReported(int); + method public void onFrequenciesReported(@NonNull int[]); + method public void onGroupIdsReported(@NonNull int[]); + method public void onHierarchyReported(int); + method public void onInputStreamIdsReported(@NonNull int[]); + method public void onLocked(); + method public void onPlpIdsReported(@NonNull int[]); + method public void onProgress(@IntRange(from=0, to=100) int); + method public void onScanStopped(); + method public void onSignalTypeReported(int); + method public void onSymbolRatesReported(@NonNull int[]); + } + +} + +package android.media.voice { + + public final class KeyphraseModelManager { + method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void deleteKeyphraseSoundModel(int, @NonNull java.util.Locale); + method @Nullable @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel getKeyphraseSoundModel(int, @NonNull java.util.Locale); + method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void updateKeyphraseSoundModel(@NonNull android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel); + } + +} + package android.metrics { public class LogMaker { @@ -4339,7 +6015,7 @@ package android.net { method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public int registerNetworkProvider(@NonNull android.net.NetworkProvider); method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEventCallback); 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); - method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void setAirplaneMode(boolean); + 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); method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public boolean shouldAvoidBadWifi(); method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void startCaptivePortalApp(@NonNull android.net.Network, @NonNull android.os.Bundle); method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback); @@ -4387,7 +6063,7 @@ package android.net { method public void release(); } - public class InvalidPacketException extends java.lang.Exception { + public final class InvalidPacketException extends java.lang.Exception { ctor public InvalidPacketException(int); method public int getError(); field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb @@ -4580,7 +6256,7 @@ package android.net { field public static final int NET_CAPABILITY_PARTIAL_CONNECTIVITY = 24; // 0x18 } - public static class NetworkCapabilities.Builder { + public static final class NetworkCapabilities.Builder { ctor public NetworkCapabilities.Builder(); ctor public NetworkCapabilities.Builder(@NonNull android.net.NetworkCapabilities); method @NonNull public android.net.NetworkCapabilities.Builder addCapability(int); @@ -4602,7 +6278,7 @@ package android.net { public class NetworkKey implements android.os.Parcelable { ctor public NetworkKey(android.net.WifiKey); - method @Nullable public static android.net.NetworkKey createFromScanResult(@Nullable android.net.wifi.ScanResult); + method @Nullable public static android.net.NetworkKey createFromScanResult(@NonNull android.net.wifi.ScanResult); method public int describeContents(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkKey> CREATOR; @@ -4636,12 +6312,12 @@ package android.net { } public class NetworkScoreManager { - method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, "android.permission.REQUEST_NETWORK_SCORES"}) public boolean clearScores() throws java.lang.SecurityException; - method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, "android.permission.REQUEST_NETWORK_SCORES"}) public void disableScoring() throws java.lang.SecurityException; - method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, "android.permission.REQUEST_NETWORK_SCORES"}) public String getActiveScorerPackage(); - method @RequiresPermission("android.permission.REQUEST_NETWORK_SCORES") public void registerNetworkScoreCallback(int, int, @NonNull java.util.concurrent.Executor, @NonNull android.net.NetworkScoreManager.NetworkScoreCallback) throws java.lang.SecurityException; - method @RequiresPermission("android.permission.REQUEST_NETWORK_SCORES") public boolean requestScores(@NonNull android.net.NetworkKey[]) throws java.lang.SecurityException; - method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, "android.permission.REQUEST_NETWORK_SCORES"}) public boolean setActiveScorer(String) throws java.lang.SecurityException; + method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean clearScores() throws java.lang.SecurityException; + method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public void disableScoring() throws java.lang.SecurityException; + method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public String getActiveScorerPackage(); + 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; + method @RequiresPermission(android.Manifest.permission.REQUEST_NETWORK_SCORES) public boolean requestScores(@NonNull java.util.Collection<android.net.NetworkKey>) throws java.lang.SecurityException; + method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean setActiveScorer(String) throws java.lang.SecurityException; method @RequiresPermission(android.Manifest.permission.SCORE_NETWORKS) public boolean updateScores(@NonNull android.net.ScoredNetwork[]) throws java.lang.SecurityException; field @Deprecated public static final String ACTION_CHANGE_ACTIVE = "android.net.scoring.CHANGE_ACTIVE"; field public static final String ACTION_CUSTOM_ENABLE = "android.net.scoring.CUSTOM_ENABLE"; @@ -4656,9 +6332,10 @@ package android.net { field public static final int SCORE_FILTER_SCAN_RESULTS = 2; // 0x2 } - public static interface NetworkScoreManager.NetworkScoreCallback { - method public void clearScores(); - method public void updateScores(@NonNull java.util.List<android.net.ScoredNetwork>); + public abstract static class NetworkScoreManager.NetworkScoreCallback { + ctor public NetworkScoreManager.NetworkScoreCallback(); + method public abstract void onScoresInvalidated(); + method public abstract void onScoresUpdated(@NonNull java.util.Collection<android.net.ScoredNetwork>); } public abstract class NetworkSpecifier { @@ -5125,19 +6802,14 @@ package android.net.wifi { ctor public EasyConnectStatusCallback(); method public abstract void onConfiguratorSuccess(int); method public abstract void onEnrolleeSuccess(int); - method public abstract void onFailure(int); + method public void onFailure(int); + method public void onFailure(int, @Nullable String, @NonNull android.util.SparseArray<int[]>, @NonNull int[]); method public abstract void onProgress(int); - field public static final int EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION = -2; // 0xfffffffe - field public static final int EASY_CONNECT_EVENT_FAILURE_BUSY = -5; // 0xfffffffb - field public static final int EASY_CONNECT_EVENT_FAILURE_CONFIGURATION = -4; // 0xfffffffc - field public static final int EASY_CONNECT_EVENT_FAILURE_GENERIC = -7; // 0xfffffff9 - field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK = -9; // 0xfffffff7 - field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_URI = -1; // 0xffffffff - field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_COMPATIBLE = -3; // 0xfffffffd - field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_SUPPORTED = -8; // 0xfffffff8 - field public static final int EASY_CONNECT_EVENT_FAILURE_TIMEOUT = -6; // 0xfffffffa field public static final int EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS = 0; // 0x0 + field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_ACCEPTED = 3; // 0x3 + field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_SENT_WAITING_RESPONSE = 2; // 0x2 field public static final int EASY_CONNECT_EVENT_PROGRESS_RESPONSE_PENDING = 1; // 0x1 + field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_APPLIED = 1; // 0x1 field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT = 0; // 0x0 } @@ -5333,6 +7005,95 @@ package android.net.wifi { field @Deprecated public byte id; } + public final class ScanResult implements android.os.Parcelable { + field public static final int CIPHER_CCMP = 3; // 0x3 + field public static final int CIPHER_GCMP_256 = 4; // 0x4 + field public static final int CIPHER_NONE = 0; // 0x0 + field public static final int CIPHER_NO_GROUP_ADDRESSED = 1; // 0x1 + field public static final int CIPHER_SMS4 = 5; // 0x5 + field public static final int CIPHER_TKIP = 2; // 0x2 + field public static final int KEY_MGMT_EAP = 2; // 0x2 + field public static final int KEY_MGMT_EAP_SHA256 = 6; // 0x6 + field public static final int KEY_MGMT_EAP_SUITE_B_192 = 10; // 0xa + field public static final int KEY_MGMT_FT_EAP = 4; // 0x4 + field public static final int KEY_MGMT_FT_PSK = 3; // 0x3 + field public static final int KEY_MGMT_FT_SAE = 11; // 0xb + field public static final int KEY_MGMT_NONE = 0; // 0x0 + field public static final int KEY_MGMT_OSEN = 7; // 0x7 + field public static final int KEY_MGMT_OWE = 9; // 0x9 + field public static final int KEY_MGMT_OWE_TRANSITION = 12; // 0xc + field public static final int KEY_MGMT_PSK = 1; // 0x1 + field public static final int KEY_MGMT_PSK_SHA256 = 5; // 0x5 + field public static final int KEY_MGMT_SAE = 8; // 0x8 + field public static final int KEY_MGMT_WAPI_CERT = 14; // 0xe + field public static final int KEY_MGMT_WAPI_PSK = 13; // 0xd + field public static final int PROTOCOL_NONE = 0; // 0x0 + field public static final int PROTOCOL_OSEN = 3; // 0x3 + field public static final int PROTOCOL_RSN = 2; // 0x2 + field public static final int PROTOCOL_WAPI = 4; // 0x4 + field public static final int PROTOCOL_WPA = 1; // 0x1 + } + + public final class SoftApCapability implements android.os.Parcelable { + method public boolean areFeaturesSupported(long); + method public int describeContents(); + method public int getMaxSupportedClients(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApCapability> CREATOR; + field public static final long SOFTAP_FEATURE_ACS_OFFLOAD = 1L; // 0x1L + field public static final long SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT = 2L; // 0x2L + field public static final long SOFTAP_FEATURE_WPA3_SAE = 4L; // 0x4L + } + + public final class SoftApConfiguration implements android.os.Parcelable { + method @NonNull public java.util.List<android.net.MacAddress> getAllowedClientList(); + method public int getBand(); + method @NonNull public java.util.List<android.net.MacAddress> getBlockedClientList(); + method public int getChannel(); + method public int getMaxNumberOfClients(); + method public long getShutdownTimeoutMillis(); + method public boolean isAutoShutdownEnabled(); + method public boolean isClientControlByUserEnabled(); + method @Nullable public android.net.wifi.WifiConfiguration toWifiConfiguration(); + field public static final int BAND_2GHZ = 1; // 0x1 + field public static final int BAND_5GHZ = 2; // 0x2 + field public static final int BAND_6GHZ = 4; // 0x4 + field public static final int BAND_ANY = 7; // 0x7 + } + + public static final class SoftApConfiguration.Builder { + ctor public SoftApConfiguration.Builder(); + ctor public SoftApConfiguration.Builder(@NonNull android.net.wifi.SoftApConfiguration); + method @NonNull public android.net.wifi.SoftApConfiguration build(); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAllowedClientList(@NonNull java.util.List<android.net.MacAddress>); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAutoShutdownEnabled(boolean); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBand(int); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBlockedClientList(@NonNull java.util.List<android.net.MacAddress>); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBssid(@Nullable android.net.MacAddress); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannel(int, int); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setClientControlByUserEnabled(boolean); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setHiddenSsid(boolean); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMaxNumberOfClients(@IntRange(from=0) int); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setPassphrase(@Nullable String, int); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setShutdownTimeoutMillis(@IntRange(from=0) long); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setSsid(@Nullable String); + } + + public final class SoftApInfo implements android.os.Parcelable { + method public int describeContents(); + method public int getBandwidth(); + method public int getFrequency(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field public static final int CHANNEL_WIDTH_160MHZ = 6; // 0x6 + field public static final int CHANNEL_WIDTH_20MHZ = 2; // 0x2 + field public static final int CHANNEL_WIDTH_20MHZ_NOHT = 1; // 0x1 + field public static final int CHANNEL_WIDTH_40MHZ = 3; // 0x3 + field public static final int CHANNEL_WIDTH_80MHZ = 4; // 0x4 + field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 5; // 0x5 + field public static final int CHANNEL_WIDTH_INVALID = 0; // 0x0 + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApInfo> CREATOR; + } + public final class WifiClient implements android.os.Parcelable { method public int describeContents(); method @NonNull public android.net.MacAddress getMacAddress(); @@ -5341,60 +7102,187 @@ package android.net.wifi { } @Deprecated public class WifiConfiguration implements android.os.Parcelable { + method @Deprecated public int getAuthType(); + method @Deprecated @NonNull public android.net.IpConfiguration getIpConfiguration(); + method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus getNetworkSelectionStatus(); + method @Deprecated @NonNull public String getPrintableSsid(); + method @Deprecated public int getRecentFailureReason(); method @Deprecated public boolean hasNoInternetAccess(); method @Deprecated public boolean isEphemeral(); + method @Deprecated public static boolean isMetered(@Nullable android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiInfo); method @Deprecated public boolean isNoInternetAccessExpected(); + method @Deprecated public void setIpConfiguration(@Nullable android.net.IpConfiguration); + method @Deprecated public void setNetworkSelectionStatus(@NonNull android.net.wifi.WifiConfiguration.NetworkSelectionStatus); + field @Deprecated public static final int INVALID_NETWORK_ID = -1; // 0xffffffff + field @Deprecated public static final int METERED_OVERRIDE_METERED = 1; // 0x1 + field @Deprecated public static final int METERED_OVERRIDE_NONE = 0; // 0x0 + field @Deprecated public static final int METERED_OVERRIDE_NOT_METERED = 2; // 0x2 + field @Deprecated public static final int RANDOMIZATION_NONE = 0; // 0x0 + field @Deprecated public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1 + field @Deprecated public static final int RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA = 17; // 0x11 + field @Deprecated public static final int RECENT_FAILURE_NONE = 0; // 0x0 + field @Deprecated public boolean allowAutojoin; + field @Deprecated public int carrierId; field @Deprecated public String creatorName; field @Deprecated public int creatorUid; + field @Deprecated public boolean fromWifiNetworkSpecifier; + field @Deprecated public boolean fromWifiNetworkSuggestion; field @Deprecated public String lastUpdateName; field @Deprecated public int lastUpdateUid; + field @Deprecated public int macRandomizationSetting; field @Deprecated public boolean meteredHint; + field @Deprecated public int meteredOverride; field @Deprecated public int numAssociation; field @Deprecated public int numScorerOverride; field @Deprecated public int numScorerOverrideAndSwitchedNetwork; + field @Deprecated public boolean requirePmf; + field @Deprecated public boolean shared; field @Deprecated public boolean useExternalScores; } @Deprecated public static class WifiConfiguration.KeyMgmt { + field @Deprecated public static final int WAPI_CERT = 14; // 0xe + field @Deprecated public static final int WAPI_PSK = 13; // 0xd field @Deprecated public static final int WPA2_PSK = 4; // 0x4 } + @Deprecated public static class WifiConfiguration.NetworkSelectionStatus { + method @Deprecated public int getDisableReasonCounter(int); + method @Deprecated public long getDisableTime(); + method @Deprecated public static int getMaxNetworkSelectionDisableReason(); + method @Deprecated public int getNetworkSelectionDisableReason(); + method @Deprecated @Nullable public static String getNetworkSelectionDisableReasonString(int); + method @Deprecated public int getNetworkSelectionStatus(); + method @Deprecated @NonNull public String getNetworkStatusString(); + method @Deprecated public boolean hasEverConnected(); + field @Deprecated public static final int DISABLED_ASSOCIATION_REJECTION = 1; // 0x1 + field @Deprecated public static final int DISABLED_AUTHENTICATION_FAILURE = 2; // 0x2 + field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_CREDENTIALS = 5; // 0x5 + field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_SUBSCRIPTION = 9; // 0x9 + field @Deprecated public static final int DISABLED_BY_WIFI_MANAGER = 7; // 0x7 + field @Deprecated public static final int DISABLED_BY_WRONG_PASSWORD = 8; // 0x8 + field @Deprecated public static final int DISABLED_DHCP_FAILURE = 3; // 0x3 + field @Deprecated public static final int DISABLED_NONE = 0; // 0x0 + field @Deprecated public static final int DISABLED_NO_INTERNET_PERMANENT = 6; // 0x6 + field @Deprecated public static final int DISABLED_NO_INTERNET_TEMPORARY = 4; // 0x4 + field @Deprecated public static final int NETWORK_SELECTION_ENABLED = 0; // 0x0 + field @Deprecated public static final int NETWORK_SELECTION_PERMANENTLY_DISABLED = 2; // 0x2 + field @Deprecated public static final int NETWORK_SELECTION_TEMPORARY_DISABLED = 1; // 0x1 + } + + @Deprecated public static final class WifiConfiguration.NetworkSelectionStatus.Builder { + ctor @Deprecated public WifiConfiguration.NetworkSelectionStatus.Builder(); + method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus build(); + method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionDisableReason(int); + method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionStatus(int); + } + + public class WifiEnterpriseConfig implements android.os.Parcelable { + method @Nullable public String[] getCaCertificateAliases(); + method @NonNull public String getCaPath(); + method @NonNull public String getClientCertificateAlias(); + method public int getOcsp(); + method @NonNull public String getWapiCertSuite(); + method public void setCaCertificateAliases(@Nullable String[]); + method public void setCaPath(@NonNull String); + method public void setClientCertificateAlias(@NonNull String); + method public void setOcsp(int); + method public void setWapiCertSuite(@NonNull String); + field public static final int OCSP_NONE = 0; // 0x0 + field public static final int OCSP_REQUEST_CERT_STATUS = 1; // 0x1 + field public static final int OCSP_REQUIRE_ALL_NON_TRUSTED_CERTS_STATUS = 3; // 0x3 + field public static final int OCSP_REQUIRE_CERT_STATUS = 2; // 0x2 + } + + public class WifiFrameworkInitializer { + method public static void registerServiceWrappers(); + } + public class WifiInfo implements android.os.Parcelable { + method public double getLostTxPacketsPerSecond(); + method @Nullable public String getRequestingPackageName(); + method public double getRetriedTxPacketsPerSecond(); + method public int getScore(); + method public double getSuccessfulRxPacketsPerSecond(); + method public double getSuccessfulTxPacketsPerSecond(); + method public boolean isEphemeral(); method public boolean isOsuAp(); method public boolean isPasspointAp(); method @Nullable public static String sanitizeSsid(@Nullable String); + field public static final String DEFAULT_MAC_ADDRESS = "02:00:00:00:00:00"; + field public static final int INVALID_RSSI = -127; // 0xffffff81 } public class WifiManager { - method @RequiresPermission("android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE") public void addOnWifiUsabilityStatsListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener); + method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void addOnWifiUsabilityStatsListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoin(int, boolean); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoinGlobal(boolean); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoinPasspoint(@NonNull String, boolean); + method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void clearWifiConnectedNetworkScorer(); 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); 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); - method @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); + 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); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK}) public void disableEphemeralNetwork(@NonNull String); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset(); 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); 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>); + method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCountryCode(); + method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.Network getCurrentNetwork(); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String[] getFactoryMacAddresses(); 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>); 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>); + 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>); 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(); - method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.WifiConfiguration getWifiApConfiguration(); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public android.net.wifi.SoftApConfiguration getSoftApConfiguration(); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void getWifiActivityEnergyInfoAsync(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiActivityEnergyInfoListener); + method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.WifiConfiguration getWifiApConfiguration(); method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getWifiApState(); + 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>); + method public boolean isApMacRandomizationSupported(); + method public boolean isConnectedMacRandomizationSupported(); method @Deprecated public boolean isDeviceToDeviceRttSupported(); method public boolean isPortableHotspotSupported(); + method public boolean isVerboseLoggingEnabled(); method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isWifiApEnabled(); method public boolean isWifiScannerSupported(); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerNetworkRequestMatchCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback); method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerSoftApCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SoftApCallback); - method @RequiresPermission("android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE") public void removeOnWifiUsabilityStatsListener(@NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerTrafficStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.TrafficStateCallback); + method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void removeOnWifiUsabilityStatsListener(@NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreBackupData(@NonNull byte[]); + method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public android.net.wifi.SoftApConfiguration restoreSoftApBackupData(@NonNull byte[]); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreSupplicantBackupData(@NonNull byte[], @NonNull byte[]); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveBackupData(); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveSoftApBackupData(); 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); - method @RequiresPermission("android.permission.WIFI_SET_DEVICE_MOBILITY_STATE") public void setDeviceMobilityState(int); - method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean setWifiApConfiguration(android.net.wifi.WifiConfiguration); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setAutoWakeupEnabled(boolean); + method @RequiresPermission(android.Manifest.permission.WIFI_SET_DEVICE_MOBILITY_STATE) public void setDeviceMobilityState(int); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setMacRandomizationSettingPasspointEnabled(@NonNull String, boolean); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setPasspointMeteredOverride(@NonNull String, int); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanAlwaysAvailable(boolean); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanThrottleEnabled(boolean); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean setSoftApConfiguration(@NonNull android.net.wifi.SoftApConfiguration); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setVerboseLoggingEnabled(boolean); + method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean setWifiApConfiguration(android.net.wifi.WifiConfiguration); + method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public boolean setWifiConnectedNetworkScorer(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiConnectedNetworkScorer); 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); 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); + 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); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public boolean startScan(android.os.WorkSource); - method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean startSoftAp(@Nullable android.net.wifi.WifiConfiguration); 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); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean startTetheredHotspot(@Nullable android.net.wifi.SoftApConfiguration); method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopEasyConnectSession(); method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean stopSoftAp(); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterNetworkRequestMatchCallback(@NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterSoftApCallback(@NonNull android.net.wifi.WifiManager.SoftApCallback); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterTrafficStateCallback(@NonNull android.net.wifi.WifiManager.TrafficStateCallback); method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void updateInterfaceIpState(@Nullable String, int); - method @RequiresPermission("android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE") public void updateWifiUsabilityScore(int, int, int); + method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void updateWifiUsabilityScore(int, int, int); + field public static final String ACTION_LINK_CONFIGURATION_CHANGED = "android.net.wifi.LINK_CONFIGURATION_CHANGED"; + field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_NETWORK_SETTINGS_RESET = "android.net.wifi.action.NETWORK_SETTINGS_RESET"; + field public static final String ACTION_PASSPOINT_LAUNCH_OSU_VIEW = "android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW"; + field public static final String ACTION_REQUEST_DISABLE = "android.net.wifi.action.REQUEST_DISABLE"; + field public static final String ACTION_REQUEST_ENABLE = "android.net.wifi.action.REQUEST_ENABLE"; field public static final int CHANGE_REASON_ADDED = 0; // 0x0 field public static final int CHANGE_REASON_CONFIG_CHANGE = 2; // 0x2 field public static final int CHANGE_REASON_REMOVED = 1; // 0x1 @@ -5406,8 +7294,12 @@ package android.net.wifi { field public static final int EASY_CONNECT_NETWORK_ROLE_AP = 1; // 0x1 field public static final int EASY_CONNECT_NETWORK_ROLE_STA = 0; // 0x0 field public static final String EXTRA_CHANGE_REASON = "changeReason"; + field public static final String EXTRA_LINK_PROPERTIES = "android.net.wifi.extra.LINK_PROPERTIES"; field public static final String EXTRA_MULTIPLE_NETWORKS_CHANGED = "multipleChanges"; + field public static final String EXTRA_OSU_NETWORK = "android.net.wifi.extra.OSU_NETWORK"; field public static final String EXTRA_PREVIOUS_WIFI_AP_STATE = "previous_wifi_state"; + field public static final String EXTRA_URL = "android.net.wifi.extra.URL"; + field public static final String EXTRA_WIFI_AP_FAILURE_REASON = "android.net.wifi.extra.WIFI_AP_FAILURE_REASON"; field public static final String EXTRA_WIFI_AP_INTERFACE_NAME = "android.net.wifi.extra.WIFI_AP_INTERFACE_NAME"; field public static final String EXTRA_WIFI_AP_MODE = "android.net.wifi.extra.WIFI_AP_MODE"; field public static final String EXTRA_WIFI_AP_STATE = "wifi_state"; @@ -5420,6 +7312,11 @@ package android.net.wifi { field public static final int IFACE_IP_MODE_UNSPECIFIED = -1; // 0xffffffff field public static final int PASSPOINT_HOME_NETWORK = 0; // 0x0 field public static final int PASSPOINT_ROAMING_NETWORK = 1; // 0x1 + field public static final int SAP_CLIENT_BLOCK_REASON_CODE_BLOCKED_BY_USER = 0; // 0x0 + field public static final int SAP_CLIENT_BLOCK_REASON_CODE_NO_MORE_STAS = 1; // 0x1 + field public static final int SAP_START_FAILURE_GENERAL = 0; // 0x0 + field public static final int SAP_START_FAILURE_NO_CHANNEL = 1; // 0x1 + field public static final int SAP_START_FAILURE_UNSUPPORTED_CONFIGURATION = 2; // 0x2 field public static final String WIFI_AP_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_AP_STATE_CHANGED"; field public static final int WIFI_AP_STATE_DISABLED = 11; // 0xb field public static final int WIFI_AP_STATE_DISABLING = 10; // 0xa @@ -5436,13 +7333,89 @@ package android.net.wifi { method public void onSuccess(); } + public static interface WifiManager.NetworkRequestMatchCallback { + method public default void onAbort(); + method public default void onMatch(@NonNull java.util.List<android.net.wifi.ScanResult>); + method public default void onUserSelectionCallbackRegistration(@NonNull android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback); + method public default void onUserSelectionConnectFailure(@NonNull android.net.wifi.WifiConfiguration); + method public default void onUserSelectionConnectSuccess(@NonNull android.net.wifi.WifiConfiguration); + } + + public static interface WifiManager.NetworkRequestUserSelectionCallback { + method public default void reject(); + method public default void select(@NonNull android.net.wifi.WifiConfiguration); + } + + public static interface WifiManager.OnWifiActivityEnergyInfoListener { + method public void onWifiActivityEnergyInfo(@Nullable android.os.connectivity.WifiActivityEnergyInfo); + } + public static interface WifiManager.OnWifiUsabilityStatsListener { method public void onWifiUsabilityStats(int, boolean, @NonNull android.net.wifi.WifiUsabilityStatsEntry); } + public static interface WifiManager.ScoreUpdateObserver { + method public void notifyScoreUpdate(int, int); + method public void triggerUpdateOfWifiUsabilityStats(int); + } + public static interface WifiManager.SoftApCallback { - method public void onConnectedClientsChanged(@NonNull java.util.List<android.net.wifi.WifiClient>); - method public void onStateChanged(int, int); + method public default void onBlockedClientConnecting(@NonNull android.net.wifi.WifiClient, int); + method public default void onCapabilityChanged(@NonNull android.net.wifi.SoftApCapability); + method public default void onConnectedClientsChanged(@NonNull java.util.List<android.net.wifi.WifiClient>); + method public default void onInfoChanged(@NonNull android.net.wifi.SoftApInfo); + method public default void onStateChanged(int, int); + } + + public static interface WifiManager.TrafficStateCallback { + method public void onStateChanged(int); + field public static final int DATA_ACTIVITY_IN = 1; // 0x1 + field public static final int DATA_ACTIVITY_INOUT = 3; // 0x3 + field public static final int DATA_ACTIVITY_NONE = 0; // 0x0 + field public static final int DATA_ACTIVITY_OUT = 2; // 0x2 + } + + public static interface WifiManager.WifiConnectedNetworkScorer { + method public void onSetScoreUpdateObserver(@NonNull android.net.wifi.WifiManager.ScoreUpdateObserver); + method public void onStart(int); + method public void onStop(int); + } + + public final class WifiMigration { + method @Nullable public static java.io.InputStream convertAndRetrieveSharedConfigStoreFile(int); + method @Nullable public static java.io.InputStream convertAndRetrieveUserConfigStoreFile(int, @NonNull android.os.UserHandle); + method @NonNull public static android.net.wifi.WifiMigration.SettingsMigrationData loadFromSettings(@NonNull android.content.Context); + method public static void removeSharedConfigStoreFile(int); + method public static void removeUserConfigStoreFile(int, @NonNull android.os.UserHandle); + field public static final int STORE_FILE_SHARED_GENERAL = 0; // 0x0 + field public static final int STORE_FILE_SHARED_SOFTAP = 1; // 0x1 + field public static final int STORE_FILE_USER_GENERAL = 2; // 0x2 + field public static final int STORE_FILE_USER_NETWORK_SUGGESTIONS = 3; // 0x3 + } + + public static final class WifiMigration.SettingsMigrationData implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public String getP2pDeviceName(); + method public boolean isP2pFactoryResetPending(); + method public boolean isScanAlwaysAvailable(); + method public boolean isScanThrottleEnabled(); + method public boolean isSoftApTimeoutEnabled(); + method public boolean isVerboseLoggingEnabled(); + method public boolean isWakeUpEnabled(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiMigration.SettingsMigrationData> CREATOR; + } + + public static final class WifiMigration.SettingsMigrationData.Builder { + ctor public WifiMigration.SettingsMigrationData.Builder(); + method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData build(); + method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pDeviceName(@Nullable String); + method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pFactoryResetPending(boolean); + method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanAlwaysAvailable(boolean); + method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanThrottleEnabled(boolean); + method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setSoftApTimeoutEnabled(boolean); + method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setVerboseLoggingEnabled(boolean); + method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setWakeUpEnabled(boolean); } public class WifiNetworkConnectionStatistics implements android.os.Parcelable { @@ -5456,20 +7429,33 @@ package android.net.wifi { field public int numUsage; } + public final class WifiNetworkSuggestion implements android.os.Parcelable { + method @NonNull public android.net.wifi.WifiConfiguration getWifiConfiguration(); + } + + public static final class WifiNetworkSuggestion.Builder { + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public android.net.wifi.WifiNetworkSuggestion.Builder setCarrierId(int); + } + public class WifiScanner { method @Deprecated public void configureWifiChange(int, int, int, int, int, android.net.wifi.WifiScanner.BssidInfo[]); method @Deprecated public void configureWifiChange(android.net.wifi.WifiScanner.WifiChangeSettings); - method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean getScanResults(); + method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<java.lang.Integer> getAvailableChannels(int); + method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean getScanResults(); + method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.ScanResult> getSingleScanResults(); + method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void registerScanListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiScanner.ScanListener); + method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setScanningEnabled(boolean); method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener); - method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource); + method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource); method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener); method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource); method @Deprecated public void startTrackingBssids(android.net.wifi.WifiScanner.BssidInfo[], int, android.net.wifi.WifiScanner.BssidListener); method @Deprecated public void startTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener); - method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopBackgroundScan(android.net.wifi.WifiScanner.ScanListener); + method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopBackgroundScan(android.net.wifi.WifiScanner.ScanListener); method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopScan(android.net.wifi.WifiScanner.ScanListener); method @Deprecated public void stopTrackingBssids(android.net.wifi.WifiScanner.BssidListener); method @Deprecated public void stopTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener); + method public void unregisterScanListener(@NonNull android.net.wifi.WifiScanner.ScanListener); field public static final int MAX_SCAN_PERIOD_MS = 1024000; // 0xfa000 field public static final int MIN_SCAN_PERIOD_MS = 1000; // 0x3e8 field public static final int REASON_DUPLICATE_REQEUST = -5; // 0xfffffffb @@ -5482,10 +7468,16 @@ package android.net.wifi { field public static final int REPORT_EVENT_AFTER_EACH_SCAN = 1; // 0x1 field public static final int REPORT_EVENT_FULL_SCAN_RESULT = 2; // 0x2 field public static final int REPORT_EVENT_NO_BATCH = 4; // 0x4 + field public static final int SCAN_TYPE_HIGH_ACCURACY = 2; // 0x2 + field public static final int SCAN_TYPE_LOW_LATENCY = 0; // 0x0 + field public static final int SCAN_TYPE_LOW_POWER = 1; // 0x1 + field public static final int WIFI_BAND_24_5_6_GHZ = 11; // 0xb + field public static final int WIFI_BAND_24_5_WITH_DFS_6_GHZ = 15; // 0xf field public static final int WIFI_BAND_24_GHZ = 1; // 0x1 field public static final int WIFI_BAND_5_GHZ = 2; // 0x2 field public static final int WIFI_BAND_5_GHZ_DFS_ONLY = 4; // 0x4 field public static final int WIFI_BAND_5_GHZ_WITH_DFS = 6; // 0x6 + field public static final int WIFI_BAND_6_GHZ = 8; // 0x8 field public static final int WIFI_BAND_BOTH = 3; // 0x3 field public static final int WIFI_BAND_BOTH_WITH_DFS = 7; // 0x7 field public static final int WIFI_BAND_UNSPECIFIED = 0; // 0x0 @@ -5542,7 +7534,7 @@ package android.net.wifi { public static interface WifiScanner.ScanListener extends android.net.wifi.WifiScanner.ActionListener { method public void onFullResult(android.net.wifi.ScanResult); - method public void onPeriodChanged(int); + method @Deprecated public void onPeriodChanged(int); method public void onResults(android.net.wifi.WifiScanner.ScanData[]); } @@ -5550,14 +7542,21 @@ package android.net.wifi { ctor public WifiScanner.ScanSettings(); field public int band; field public android.net.wifi.WifiScanner.ChannelSpec[] channels; + field @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public final java.util.List<android.net.wifi.WifiScanner.ScanSettings.HiddenNetwork> hiddenNetworks; field public boolean hideFromAppOps; field public boolean ignoreLocationSettings; - field public int maxPeriodInMs; - field public int maxScansToCache; - field public int numBssidsPerScan; - field public int periodInMs; - field public int reportEvents; - field public int stepCount; + field @Deprecated public int maxPeriodInMs; + field @Deprecated public int maxScansToCache; + field @Deprecated public int numBssidsPerScan; + field @Deprecated public int periodInMs; + field @Deprecated public int reportEvents; + field @Deprecated public int stepCount; + field @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public int type; + } + + public static class WifiScanner.ScanSettings.HiddenNetwork { + ctor public WifiScanner.ScanSettings.HiddenNetwork(@NonNull String); + field @NonNull public final String ssid; } @Deprecated public static interface WifiScanner.WifiChangeListener extends android.net.wifi.WifiScanner.ActionListener { @@ -5620,10 +7619,6 @@ package android.net.wifi.aware { method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(@NonNull android.net.wifi.aware.PeerHandle, @NonNull byte[]); } - public static final class WifiAwareNetworkSpecifier.Builder { - method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPmk(@NonNull byte[]); - } - public class WifiAwareSession implements java.lang.AutoCloseable { method public android.net.NetworkSpecifier createNetworkSpecifierPmk(int, @NonNull byte[], @NonNull byte[]); } @@ -5640,6 +7635,12 @@ package android.net.wifi.hotspot2 { field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.OsuProvider> CREATOR; } + public final class PasspointConfiguration implements android.os.Parcelable { + method public int getMeteredOverride(); + method public boolean isAutojoinEnabled(); + method public boolean isMacRandomizationEnabled(); + } + public abstract class ProvisioningCallback { ctor public ProvisioningCallback(); method public abstract void onProvisioningComplete(); @@ -5683,6 +7684,202 @@ package android.net.wifi.hotspot2 { } +package android.net.wifi.nl80211 { + + public final class DeviceWiphyCapabilities implements android.os.Parcelable { + ctor public DeviceWiphyCapabilities(); + method public int describeContents(); + method public int getMaxNumberRxSpatialStreams(); + method public int getMaxNumberTxSpatialStreams(); + method public boolean isChannelWidthSupported(int); + method public boolean isWifiStandardSupported(int); + method public void setWifiStandardSupport(int, boolean); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.DeviceWiphyCapabilities> CREATOR; + } + + public final class NativeScanResult implements android.os.Parcelable { + ctor public NativeScanResult(); + method public int describeContents(); + method @Nullable public android.net.MacAddress getBssid(); + method public int getCapabilities(); + method public int getFrequencyMhz(); + method @NonNull public byte[] getInformationElements(); + method @NonNull public java.util.List<android.net.wifi.nl80211.RadioChainInfo> getRadioChainInfos(); + method public int getSignalMbm(); + method @NonNull public byte[] getSsid(); + method public long getTsf(); + method public boolean isAssociated(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field public static final int BSS_CAPABILITY_APSD = 2048; // 0x800 + field public static final int BSS_CAPABILITY_CF_POLLABLE = 4; // 0x4 + field public static final int BSS_CAPABILITY_CF_POLL_REQUEST = 8; // 0x8 + field public static final int BSS_CAPABILITY_CHANNEL_AGILITY = 128; // 0x80 + field public static final int BSS_CAPABILITY_DELAYED_BLOCK_ACK = 16384; // 0x4000 + field public static final int BSS_CAPABILITY_DSSS_OFDM = 8192; // 0x2000 + field public static final int BSS_CAPABILITY_ESS = 1; // 0x1 + field public static final int BSS_CAPABILITY_IBSS = 2; // 0x2 + field public static final int BSS_CAPABILITY_IMMEDIATE_BLOCK_ACK = 32768; // 0x8000 + field public static final int BSS_CAPABILITY_PBCC = 64; // 0x40 + field public static final int BSS_CAPABILITY_PRIVACY = 16; // 0x10 + field public static final int BSS_CAPABILITY_QOS = 512; // 0x200 + field public static final int BSS_CAPABILITY_RADIO_MANAGEMENT = 4096; // 0x1000 + field public static final int BSS_CAPABILITY_SHORT_PREAMBLE = 32; // 0x20 + field public static final int BSS_CAPABILITY_SHORT_SLOT_TIME = 1024; // 0x400 + field public static final int BSS_CAPABILITY_SPECTRUM_MANAGEMENT = 256; // 0x100 + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeScanResult> CREATOR; + } + + public final class NativeWifiClient implements android.os.Parcelable { + ctor public NativeWifiClient(@Nullable android.net.MacAddress); + method public int describeContents(); + method @Nullable public android.net.MacAddress getMacAddress(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeWifiClient> CREATOR; + } + + public final class PnoNetwork implements android.os.Parcelable { + ctor public PnoNetwork(); + method public int describeContents(); + method @NonNull public int[] getFrequenciesMhz(); + method @NonNull public byte[] getSsid(); + method public boolean isHidden(); + method public void setFrequenciesMhz(@NonNull int[]); + method public void setHidden(boolean); + method public void setSsid(@NonNull byte[]); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoNetwork> CREATOR; + } + + public final class PnoSettings implements android.os.Parcelable { + ctor public PnoSettings(); + method public int describeContents(); + method public long getIntervalMillis(); + method public int getMin2gRssiDbm(); + method public int getMin5gRssiDbm(); + method public int getMin6gRssiDbm(); + method @NonNull public java.util.List<android.net.wifi.nl80211.PnoNetwork> getPnoNetworks(); + method public void setIntervalMillis(long); + method public void setMin2gRssiDbm(int); + method public void setMin5gRssiDbm(int); + method public void setMin6gRssiDbm(int); + method public void setPnoNetworks(@NonNull java.util.List<android.net.wifi.nl80211.PnoNetwork>); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoSettings> CREATOR; + } + + public final class RadioChainInfo implements android.os.Parcelable { + ctor public RadioChainInfo(int, int); + method public int describeContents(); + method public int getChainId(); + method public int getLevelDbm(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.RadioChainInfo> CREATOR; + } + + public class WifiNl80211Manager { + method public void abortScan(@NonNull String); + method public void enableVerboseLogging(boolean); + method @NonNull public int[] getChannelsMhzForBand(int); + method @Nullable public android.net.wifi.nl80211.DeviceWiphyCapabilities getDeviceWiphyCapabilities(@NonNull String); + method @NonNull public java.util.List<android.net.wifi.nl80211.NativeScanResult> getScanResults(@NonNull String, int); + method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.TxPacketCounters getTxPacketCounters(@NonNull String); + method @Nullable public static android.net.wifi.nl80211.WifiNl80211Manager.OemSecurityType parseOemSecurityTypeElement(int, int, @NonNull byte[]); + method public boolean registerApCallback(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SoftApCallback); + method public void sendMgmtFrame(@NonNull String, @NonNull byte[], int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SendMgmtFrameCallback); + method public void setOnServiceDeadCallback(@NonNull Runnable); + 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); + method public boolean setupInterfaceForSoftApMode(@NonNull String); + method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.SignalPollResult signalPoll(@NonNull String); + method public boolean startPnoScan(@NonNull String, @NonNull android.net.wifi.nl80211.PnoSettings, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.PnoScanRequestCallback); + method public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>); + method public boolean stopPnoScan(@NonNull String); + method public boolean tearDownClientInterface(@NonNull String); + method public boolean tearDownInterfaces(); + method public boolean tearDownSoftApInterface(@NonNull String); + field public static final int SCAN_TYPE_PNO_SCAN = 1; // 0x1 + field public static final int SCAN_TYPE_SINGLE_SCAN = 0; // 0x0 + field public static final int SEND_MGMT_FRAME_ERROR_ALREADY_STARTED = 5; // 0x5 + field public static final int SEND_MGMT_FRAME_ERROR_MCS_UNSUPPORTED = 2; // 0x2 + field public static final int SEND_MGMT_FRAME_ERROR_NO_ACK = 3; // 0x3 + field public static final int SEND_MGMT_FRAME_ERROR_TIMEOUT = 4; // 0x4 + field public static final int SEND_MGMT_FRAME_ERROR_UNKNOWN = 1; // 0x1 + } + + public static class WifiNl80211Manager.OemSecurityType { + ctor public WifiNl80211Manager.OemSecurityType(int, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>, int); + field public final int groupCipher; + field @NonNull public final java.util.List<java.lang.Integer> keyManagement; + field @NonNull public final java.util.List<java.lang.Integer> pairwiseCipher; + field public final int protocol; + } + + public static interface WifiNl80211Manager.PnoScanRequestCallback { + method public void onPnoRequestFailed(); + method public void onPnoRequestSucceeded(); + } + + public static interface WifiNl80211Manager.ScanEventCallback { + method public void onScanFailed(); + method public void onScanResultReady(); + } + + public static interface WifiNl80211Manager.SendMgmtFrameCallback { + method public void onAck(int); + method public void onFailure(int); + } + + public static class WifiNl80211Manager.SignalPollResult { + field public final int associationFrequencyMHz; + field public final int currentRssiDbm; + field public final int rxBitrateMbps; + field public final int txBitrateMbps; + } + + public static interface WifiNl80211Manager.SoftApCallback { + method public void onConnectedClientsChanged(@NonNull android.net.wifi.nl80211.NativeWifiClient, boolean); + method public void onFailure(); + method public void onSoftApChannelSwitched(int, int); + } + + public static class WifiNl80211Manager.TxPacketCounters { + field public final int txPacketFailed; + field public final int txPacketSucceeded; + } + +} + +package android.net.wifi.p2p { + + public final class WifiP2pGroupList implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<android.net.wifi.p2p.WifiP2pGroup> getGroupList(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroupList> CREATOR; + } + + public class WifiP2pManager { + 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); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener); + 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); + 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); + method @RequiresPermission(android.Manifest.permission.CONFIGURE_WIFI_DISPLAY) public void setMiracastMode(int); + 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); + 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); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void startListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void stopListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener); + field public static final String ACTION_WIFI_P2P_PERSISTENT_GROUPS_CHANGED = "android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED"; + field public static final int MIRACAST_DISABLED = 0; // 0x0 + field public static final int MIRACAST_SINK = 2; // 0x2 + field public static final int MIRACAST_SOURCE = 1; // 0x1 + } + + public static interface WifiP2pManager.PersistentGroupInfoListener { + method public void onPersistentGroupInfoAvailable(@NonNull android.net.wifi.p2p.WifiP2pGroupList); + } + +} + package android.net.wifi.rtt { public static final class RangingRequest.Builder { @@ -5708,6 +7905,7 @@ package android.net.wifi.rtt { field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2 field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderConfig> CREATOR; + field public static final int PREAMBLE_HE = 3; // 0x3 field public static final int PREAMBLE_HT = 1; // 0x1 field public static final int PREAMBLE_LEGACY = 0; // 0x0 field public static final int PREAMBLE_VHT = 2; // 0x2 @@ -5816,7 +8014,47 @@ package android.os { method @NonNull public android.os.BatterySaverPolicyConfig.Builder setLocationMode(int); } + public final class BatteryStatsManager { + method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.CellularBatteryStats getCellularBatteryStats(); + method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.WifiBatteryStats getWifiBatteryStats(); + method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockAcquiredFromSource(@NonNull android.os.WorkSource); + method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockReleasedFromSource(@NonNull android.os.WorkSource); + method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStartedFromSource(@NonNull android.os.WorkSource, @IntRange(from=0) int); + method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStoppedFromSource(@NonNull android.os.WorkSource); + method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastDisabled(@NonNull android.os.WorkSource); + method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastEnabled(@NonNull android.os.WorkSource); + method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOff(); + method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOn(); + method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRssiChanged(@IntRange(from=0xffffff81, to=0) int); + method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStartedFromSource(@NonNull android.os.WorkSource); + method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStoppedFromSource(@NonNull android.os.WorkSource); + method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiState(int, @Nullable String); + method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiSupplicantStateChanged(int, boolean); + field public static final int WIFI_STATE_OFF = 0; // 0x0 + field public static final int WIFI_STATE_OFF_SCANNING = 1; // 0x1 + field public static final int WIFI_STATE_ON_CONNECTED_P2P = 5; // 0x5 + field public static final int WIFI_STATE_ON_CONNECTED_STA = 4; // 0x4 + field public static final int WIFI_STATE_ON_CONNECTED_STA_P2P = 6; // 0x6 + field public static final int WIFI_STATE_ON_DISCONNECTED = 3; // 0x3 + field public static final int WIFI_STATE_ON_NO_NETWORKS = 2; // 0x2 + field public static final int WIFI_STATE_SOFT_AP = 7; // 0x7 + field public static final int WIFI_SUPPL_STATE_ASSOCIATED = 7; // 0x7 + field public static final int WIFI_SUPPL_STATE_ASSOCIATING = 6; // 0x6 + field public static final int WIFI_SUPPL_STATE_AUTHENTICATING = 5; // 0x5 + field public static final int WIFI_SUPPL_STATE_COMPLETED = 10; // 0xa + field public static final int WIFI_SUPPL_STATE_DISCONNECTED = 1; // 0x1 + field public static final int WIFI_SUPPL_STATE_DORMANT = 11; // 0xb + field public static final int WIFI_SUPPL_STATE_FOUR_WAY_HANDSHAKE = 8; // 0x8 + field public static final int WIFI_SUPPL_STATE_GROUP_HANDSHAKE = 9; // 0x9 + field public static final int WIFI_SUPPL_STATE_INACTIVE = 3; // 0x3 + field public static final int WIFI_SUPPL_STATE_INTERFACE_DISABLED = 2; // 0x2 + field public static final int WIFI_SUPPL_STATE_INVALID = 0; // 0x0 + field public static final int WIFI_SUPPL_STATE_SCANNING = 4; // 0x4 + field public static final int WIFI_SUPPL_STATE_UNINITIALIZED = 12; // 0xc + } + public class Binder implements android.os.IBinder { + method public int handleShellCommand(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull String[]); method public static void setProxyTransactListener(@Nullable android.os.Binder.ProxyTransactListener); } @@ -5827,6 +8065,7 @@ package android.os { public final class BugreportManager { method @RequiresPermission(android.Manifest.permission.DUMP) public void cancelBugreport(); + method @RequiresPermission(android.Manifest.permission.DUMP) public void requestBugreport(@NonNull android.os.BugreportParams, @Nullable CharSequence, @Nullable CharSequence); 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); } @@ -5862,7 +8101,7 @@ package android.os { field public static final String ACTION_UPDATE_CARRIER_PROVISIONING_URLS = "android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS"; field public static final String ACTION_UPDATE_CONVERSATION_ACTIONS = "android.intent.action.UPDATE_CONVERSATION_ACTIONS"; field public static final String ACTION_UPDATE_CT_LOGS = "android.intent.action.UPDATE_CT_LOGS"; - field @RequiresPermission("android.permission.UPDATE_CONFIG") public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = "android.os.action.UPDATE_EMERGENCY_NUMBER_DB"; + field public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = "android.os.action.UPDATE_EMERGENCY_NUMBER_DB"; field public static final String ACTION_UPDATE_INTENT_FIREWALL = "android.intent.action.UPDATE_INTENT_FIREWALL"; field public static final String ACTION_UPDATE_LANG_ID = "android.intent.action.UPDATE_LANG_ID"; field public static final String ACTION_UPDATE_NETWORK_WATCHLIST = "android.intent.action.UPDATE_NETWORK_WATCHLIST"; @@ -5874,6 +8113,7 @@ package android.os { } public class Environment { + method @NonNull public static java.util.Collection<java.io.File> getInternalMediaDirectories(); method @NonNull public static java.io.File getOdmDirectory(); method @NonNull public static java.io.File getOemDirectory(); method @NonNull public static java.io.File getProductDirectory(); @@ -5890,7 +8130,7 @@ package android.os { method @Nullable public android.os.NativeHandle getHandle(); method @NonNull public String getName(); method public long getSize(); - method @NonNull public android.os.NativeHandle releaseHandle(); + method @Nullable public android.os.NativeHandle releaseHandle(); } public class HidlSupport { @@ -6015,9 +8255,6 @@ package android.os { field public static final int STATUS_SUCCESS = 0; // 0x0 } - @IntDef(prefix={"STATUS_"}, value={android.os.HwParcel.STATUS_SUCCESS}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface HwParcel.Status { - } - public interface IHwBinder { method public boolean linkToDeath(android.os.IHwBinder.DeathRecipient, long); method public android.os.IHwInterface queryLocalInterface(String); @@ -6041,8 +8278,10 @@ package android.os { method @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public android.os.IncidentManager.IncidentReport getIncidentReport(android.net.Uri); method @NonNull @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public java.util.List<android.net.Uri> getIncidentReportList(String); method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public java.util.List<android.os.IncidentManager.PendingReport> getPendingReports(); + method public void registerSection(int, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.IncidentManager.DumpCallback); method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void reportIncident(android.os.IncidentReportArgs); method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void requestAuthorization(int, String, int, android.os.IncidentManager.AuthListener); + method public void unregisterSection(int); field public static final int FLAG_CONFIRMATION_DIALOG = 1; // 0x1 field public static final int PRIVACY_POLICY_AUTO = 200; // 0xc8 field public static final int PRIVACY_POLICY_EXPLICIT = 100; // 0x64 @@ -6055,6 +8294,11 @@ package android.os { method public void onReportDenied(); } + public static class IncidentManager.DumpCallback { + ctor public IncidentManager.DumpCallback(); + method public void onDumpSection(int, @NonNull java.io.OutputStream); + } + public static class IncidentManager.IncidentReport implements java.io.Closeable android.os.Parcelable { ctor public IncidentManager.IncidentReport(android.os.Parcel); method public void close(); @@ -6106,10 +8350,14 @@ package android.os { method @RequiresPermission(allOf={android.Manifest.permission.READ_DREAM_STATE, android.Manifest.permission.WRITE_DREAM_STATE}) public void dream(long); method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public boolean forceSuspend(); method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public int getPowerSaveModeTrigger(); + method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplayAvailable(); + method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressed(); + method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressedForToken(@NonNull String); method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSaveEnabled(boolean); method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig); method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setDynamicPowerSaveHint(boolean, int); method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setPowerSaveModeEnabled(boolean); + method @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) public void suppressAmbientDisplay(@NonNull String, boolean); method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.USER_ACTIVITY}) public void userActivity(long, int, int); field public static final int POWER_SAVE_MODE_TRIGGER_DYNAMIC = 1; // 0x1 field public static final int POWER_SAVE_MODE_TRIGGER_PERCENTAGE = 0; // 0x0 @@ -6122,11 +8370,24 @@ package android.os { field public static final int USER_ACTIVITY_FLAG_NO_CHANGE_LIGHTS = 1; // 0x1 } + public class PowerWhitelistManager { + method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull String); + method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull java.util.List<java.lang.String>); + method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long); + method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, @NonNull String); + field public static final int EVENT_MMS = 2; // 0x2 + field public static final int EVENT_SMS = 1; // 0x1 + field public static final int EVENT_UNSPECIFIED = 0; // 0x0 + } + public class RecoverySystem { method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void cancelScheduledUpdate(android.content.Context) throws java.io.IOException; + method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void clearPrepareForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException; method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void installPackage(android.content.Context, java.io.File, boolean) throws java.io.IOException; + method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void prepareForUnattendedUpdate(@NonNull android.content.Context, @NonNull String, @Nullable android.content.IntentSender) throws java.io.IOException; 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; method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener) throws java.io.IOException; + method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootAndApply(@NonNull android.content.Context, @NonNull String, @NonNull String) throws java.io.IOException; 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; method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void scheduleUpdateOnBoot(android.content.Context, java.io.File) throws java.io.IOException; method public static boolean verifyPackageCompatibility(java.io.File) throws java.io.IOException; @@ -6172,6 +8433,11 @@ package android.os { field public static final int TUPLE_VALUE_TYPE = 7; // 0x7 } + public class SystemConfigManager { + method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Set<java.lang.String> getDisabledUntilUsedPreinstalledCarrierApps(); + method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getDisabledUntilUsedPreinstalledCarrierAssociatedApps(); + } + public class SystemProperties { method @NonNull public static String get(@NonNull String); method @NonNull public static String get(@NonNull String, @Nullable String); @@ -6257,6 +8523,7 @@ package android.os { } public final class UserHandle implements android.os.Parcelable { + method @NonNull public static String formatUid(int); method public static int getAppId(int); method public int getIdentifier(); method @Deprecated public boolean isOwner(); @@ -6270,25 +8537,34 @@ package android.os { public class UserManager { method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void clearSeedAccountData(); + 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; + method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}, conditional=true) public java.util.List<android.os.UserHandle> getAllProfiles(); + method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}, conditional=true) public java.util.List<android.os.UserHandle> getEnabledProfiles(); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.UserHandle getProfileParent(@NonNull android.os.UserHandle); method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountName(); method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.PersistableBundle getSeedAccountOptions(); method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountType(); method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public long[] getSerialNumbersOfUsers(boolean); + method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<android.os.UserHandle> getUserHandles(boolean); method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public android.graphics.Bitmap getUserIcon(); method @Deprecated @android.os.UserManager.UserRestrictionSource @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public int getUserRestrictionSource(String, android.os.UserHandle); method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<android.os.UserManager.EnforcingUser> getUserRestrictionSources(String, android.os.UserHandle); 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(); - method public boolean hasRestrictedProfiles(); + method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean hasRestrictedProfiles(); + 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); method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isAdminUser(); - method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isGuestUser(); - method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isManagedProfile(); - method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isManagedProfile(int); - method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isPrimaryUser(); + method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isGuestUser(); + method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isManagedProfile(int); + method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isPrimaryUser(); + method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isProfile(); method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isRestrictedProfile(); - method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isRestrictedProfile(@NonNull android.os.UserHandle); - method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean removeUser(@NonNull android.os.UserHandle); - method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(@NonNull android.graphics.Bitmap); + method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isRestrictedProfile(@NonNull android.os.UserHandle); + method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isSameProfileGroup(@NonNull android.os.UserHandle, @NonNull android.os.UserHandle); + method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public boolean isUserNameSet(); + method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isUserOfType(@NonNull String); + method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isUserUnlockingOrUnlocked(@NonNull android.os.UserHandle); + method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean removeUser(@NonNull android.os.UserHandle); + method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(@NonNull android.graphics.Bitmap) throws android.os.UserManager.UserOperationException; method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserName(@Nullable String); field public static final String ACTION_USER_RESTRICTIONS_CHANGED = "android.os.action.USER_RESTRICTIONS_CHANGED"; field @Deprecated public static final String DISALLOW_OEM_UNLOCK = "no_oem_unlock"; @@ -6301,6 +8577,10 @@ package android.os { field public static final int SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED = 4; // 0x4 field public static final int SWITCHABILITY_STATUS_USER_IN_CALL = 1; // 0x1 field public static final int SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED = 2; // 0x2 + field public static final String USER_TYPE_FULL_SECONDARY = "android.os.usertype.full.SECONDARY"; + field public static final String USER_TYPE_FULL_SYSTEM = "android.os.usertype.full.SYSTEM"; + field public static final String USER_TYPE_PROFILE_MANAGED = "android.os.usertype.profile.MANAGED"; + field public static final String USER_TYPE_SYSTEM_HEADLESS = "android.os.usertype.system.HEADLESS"; } public static final class UserManager.EnforcingUser implements android.os.Parcelable { @@ -6314,8 +8594,27 @@ package android.os { @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 { } + public abstract class Vibrator { + method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener); + method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.Vibrator.OnVibratorStateChangedListener); + method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public boolean isVibrating(); + method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void removeVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener); + } + + public static interface Vibrator.OnVibratorStateChangedListener { + method public void onVibratorStateChanged(boolean); + } + public class WorkSource implements android.os.Parcelable { + ctor public WorkSource(int); + ctor public WorkSource(int, @NonNull String); method public android.os.WorkSource.WorkChain createWorkChain(); + method @Nullable public String getPackageName(int); + method public int getUid(int); + method @Nullable public java.util.List<android.os.WorkSource.WorkChain> getWorkChains(); + method public boolean isEmpty(); + method public int size(); + method @NonNull public android.os.WorkSource withoutNames(); } public static final class WorkSource.WorkChain implements android.os.Parcelable { @@ -6330,6 +8629,67 @@ package android.os { } +package android.os.connectivity { + + public final class CellularBatteryStats implements android.os.Parcelable { + method public int describeContents(); + method public long getEnergyConsumedMaMillis(); + method public long getIdleTimeMillis(); + method public long getKernelActiveTimeMillis(); + method public long getLoggingDurationMillis(); + method public long getMonitoredRailChargeConsumedMaMillis(); + method public long getNumBytesRx(); + method public long getNumBytesTx(); + method public long getNumPacketsRx(); + method public long getNumPacketsTx(); + method public long getRxTimeMillis(); + method public long getSleepTimeMillis(); + method @NonNull public long getTimeInRatMicros(int); + method @NonNull public long getTimeInRxSignalStrengthLevelMicros(@IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) int); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.CellularBatteryStats> CREATOR; + } + + public final class WifiActivityEnergyInfo implements android.os.Parcelable { + ctor public WifiActivityEnergyInfo(long, int, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long); + method public int describeContents(); + method @IntRange(from=0) public long getControllerEnergyUsedMicroJoules(); + method @IntRange(from=0) public long getControllerIdleDurationMillis(); + method @IntRange(from=0) public long getControllerRxDurationMillis(); + method @IntRange(from=0) public long getControllerScanDurationMillis(); + method @IntRange(from=0) public long getControllerTxDurationMillis(); + method public int getStackState(); + method public long getTimeSinceBootMillis(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiActivityEnergyInfo> CREATOR; + field public static final int STACK_STATE_INVALID = 0; // 0x0 + field public static final int STACK_STATE_STATE_ACTIVE = 1; // 0x1 + field public static final int STACK_STATE_STATE_IDLE = 3; // 0x3 + field public static final int STACK_STATE_STATE_SCANNING = 2; // 0x2 + } + + public final class WifiBatteryStats implements android.os.Parcelable { + method public int describeContents(); + method public long getAppScanRequestCount(); + method public long getEnergyConsumedMaMillis(); + method public long getIdleTimeMillis(); + method public long getKernelActiveTimeMillis(); + method public long getLoggingDurationMillis(); + method public long getMonitoredRailChargeConsumedMaMillis(); + method public long getNumBytesRx(); + method public long getNumBytesTx(); + method public long getNumPacketsRx(); + method public long getNumPacketsTx(); + method public long getRxTimeMillis(); + method public long getScanTimeMillis(); + method public long getSleepTimeMillis(); + method public long getTxTimeMillis(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiBatteryStats> CREATOR; + } + +} + package android.os.ext { public class SdkExtensions { @@ -6375,7 +8735,16 @@ package android.os.storage { method @WorkerThread public void allocateBytes(java.io.FileDescriptor, long, @RequiresPermission int) throws java.io.IOException; method @WorkerThread public long getAllocatableBytes(@NonNull java.util.UUID, @RequiresPermission int) throws java.io.IOException; method public static boolean hasIsolatedStorage(); + method public void updateExternalStorageFileQuotaType(@NonNull java.io.File, int) throws java.io.IOException; field @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public static final int FLAG_ALLOCATE_AGGRESSIVE = 1; // 0x1 + field public static final int QUOTA_TYPE_MEDIA_AUDIO = 2; // 0x2 + field public static final int QUOTA_TYPE_MEDIA_IMAGE = 1; // 0x1 + field public static final int QUOTA_TYPE_MEDIA_NONE = 0; // 0x0 + field public static final int QUOTA_TYPE_MEDIA_VIDEO = 3; // 0x3 + } + + public final class StorageVolume implements android.os.Parcelable { + method @NonNull public String getId(); } } @@ -6383,7 +8752,10 @@ package android.os.storage { package android.permission { public final class PermissionControllerManager { + 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>); + 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[]>); 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); + method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.RESTORE_RUNTIME_PERMISSIONS}) public void stageAndApplyRuntimePermissionsBackup(@NonNull byte[], @NonNull android.os.UserHandle); field public static final int COUNT_ONLY_WHEN_GRANTED = 1; // 0x1 field public static final int COUNT_WHEN_SYSTEM = 2; // 0x2 field public static final int REASON_INSTALLER_POLICY_VIOLATION = 2; // 0x2 @@ -6397,24 +8769,34 @@ package android.permission { public abstract class PermissionControllerService extends android.app.Service { ctor public PermissionControllerService(); + method @BinderThread public void onApplyStagedRuntimePermissionBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @NonNull public final android.os.IBinder onBind(android.content.Intent); method @BinderThread public abstract void onCountPermissionApps(@NonNull java.util.List<java.lang.String>, int, @NonNull java.util.function.IntConsumer); method @BinderThread public abstract void onGetAppPermissions(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionPresentationInfo>>); method @BinderThread public abstract void onGetPermissionUsages(boolean, long, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionUsageInfo>>); method @BinderThread public abstract void onGetRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.OutputStream, @NonNull Runnable); method @BinderThread public abstract void onGrantOrUpgradeDefaultRuntimePermissions(@NonNull Runnable); - method @BinderThread public abstract void onRestoreDelayedRuntimePermissionsBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>); - method @BinderThread public abstract void onRestoreRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable); + method @BinderThread public void onOneTimePermissionSessionTimeout(@NonNull String); + method @Deprecated @BinderThread public void onRestoreDelayedRuntimePermissionsBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>); + method @Deprecated @BinderThread public void onRestoreRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable); method @BinderThread public abstract void onRevokeRuntimePermission(@NonNull String, @NonNull String, @NonNull Runnable); 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>>>); method @BinderThread public abstract void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull String, @NonNull String, int, @NonNull java.util.function.Consumer<java.lang.Boolean>); + method @BinderThread public void onStageAndApplyRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable); + method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull java.util.concurrent.Executor, @NonNull Runnable); + method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull Runnable); field public static final String SERVICE_INTERFACE = "android.permission.PermissionControllerService"; } public final class PermissionManager { - method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public int getRuntimePermissionsVersion(); + method public int checkDeviceIdentifierAccess(@Nullable String, @Nullable String, @Nullable String, int, int); + method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionGrantedPackages(); + method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionRequestedPackages(); + method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public int getRuntimePermissionsVersion(); method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions(); - method @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public void setRuntimePermissionsVersion(@IntRange(from=0) int); + method @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public void setRuntimePermissionsVersion(@IntRange(from=0) int); + method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, int, int); + method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void stopOneTimePermissionSession(@NonNull String); } public static final class PermissionManager.SplitPermissionInfo { @@ -6526,34 +8908,34 @@ package android.printservice.recommendation { package android.provider { - public static final class ContactsContract.MetadataSync implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncColumns { - field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata"; - field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata"; - field public static final android.net.Uri CONTENT_URI; - field public static final String METADATA_AUTHORITY = "com.android.contacts.metadata"; - field public static final android.net.Uri METADATA_AUTHORITY_URI; + @Deprecated public static final class ContactsContract.MetadataSync implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncColumns { + field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata"; + field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata"; + field @Deprecated public static final android.net.Uri CONTENT_URI; + field @Deprecated public static final String METADATA_AUTHORITY = "com.android.contacts.metadata"; + field @Deprecated public static final android.net.Uri METADATA_AUTHORITY_URI; } - protected static interface ContactsContract.MetadataSyncColumns { - field public static final String ACCOUNT_NAME = "account_name"; - field public static final String ACCOUNT_TYPE = "account_type"; - field public static final String DATA = "data"; - field public static final String DATA_SET = "data_set"; - field public static final String DELETED = "deleted"; - field public static final String RAW_CONTACT_BACKUP_ID = "raw_contact_backup_id"; + @Deprecated protected static interface ContactsContract.MetadataSyncColumns { + field @Deprecated public static final String ACCOUNT_NAME = "account_name"; + field @Deprecated public static final String ACCOUNT_TYPE = "account_type"; + field @Deprecated public static final String DATA = "data"; + field @Deprecated public static final String DATA_SET = "data_set"; + field @Deprecated public static final String DELETED = "deleted"; + field @Deprecated public static final String RAW_CONTACT_BACKUP_ID = "raw_contact_backup_id"; } - public static final class ContactsContract.MetadataSyncState implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncStateColumns { - field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata_sync_state"; - field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata_sync_state"; - field public static final android.net.Uri CONTENT_URI; + @Deprecated public static final class ContactsContract.MetadataSyncState implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncStateColumns { + field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata_sync_state"; + field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata_sync_state"; + field @Deprecated public static final android.net.Uri CONTENT_URI; } - protected static interface ContactsContract.MetadataSyncStateColumns { - field public static final String ACCOUNT_NAME = "account_name"; - field public static final String ACCOUNT_TYPE = "account_type"; - field public static final String DATA_SET = "data_set"; - field public static final String STATE = "state"; + @Deprecated protected static interface ContactsContract.MetadataSyncStateColumns { + field @Deprecated public static final String ACCOUNT_NAME = "account_name"; + field @Deprecated public static final String ACCOUNT_TYPE = "account_type"; + field @Deprecated public static final String DATA_SET = "data_set"; + field @Deprecated public static final String STATE = "state"; } public final class DeviceConfig { @@ -6562,25 +8944,32 @@ package android.provider { method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static float getFloat(@NonNull String, @NonNull String, float); method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static int getInt(@NonNull String, @NonNull String, int); method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static long getLong(@NonNull String, @NonNull String, long); + method @NonNull @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static android.provider.DeviceConfig.Properties getProperties(@NonNull String, @NonNull java.lang.String...); method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getProperty(@NonNull String, @NonNull String); method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getString(@NonNull String, @NonNull String, @Nullable String); method public static void removeOnPropertiesChangedListener(@NonNull android.provider.DeviceConfig.OnPropertiesChangedListener); method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static void resetToDefaults(int, @Nullable String); + method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperties(@NonNull android.provider.DeviceConfig.Properties) throws android.provider.DeviceConfig.BadConfigException; method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperty(@NonNull String, @NonNull String, @Nullable String, boolean); field public static final String NAMESPACE_ACTIVITY_MANAGER = "activity_manager"; field public static final String NAMESPACE_ACTIVITY_MANAGER_NATIVE_BOOT = "activity_manager_native_boot"; field public static final String NAMESPACE_APP_COMPAT = "app_compat"; field public static final String NAMESPACE_ATTENTION_MANAGER_SERVICE = "attention_manager_service"; field public static final String NAMESPACE_AUTOFILL = "autofill"; + field public static final String NAMESPACE_BIOMETRICS = "biometrics"; + field public static final String NAMESPACE_BLOBSTORE = "blobstore"; field public static final String NAMESPACE_BLUETOOTH = "bluetooth"; field public static final String NAMESPACE_CONNECTIVITY = "connectivity"; field public static final String NAMESPACE_CONTENT_CAPTURE = "content_capture"; - field public static final String NAMESPACE_DEX_BOOT = "dex_boot"; + field @Deprecated public static final String NAMESPACE_DEX_BOOT = "dex_boot"; + field public static final String NAMESPACE_DISPLAY_MANAGER = "display_manager"; field public static final String NAMESPACE_GAME_DRIVER = "game_driver"; field public static final String NAMESPACE_INPUT_NATIVE_BOOT = "input_native_boot"; field public static final String NAMESPACE_INTELLIGENCE_ATTENTION = "intelligence_attention"; field public static final String NAMESPACE_MEDIA_NATIVE = "media_native"; field public static final String NAMESPACE_NETD_NATIVE = "netd_native"; + field public static final String NAMESPACE_PACKAGE_MANAGER_SERVICE = "package_manager_service"; + field public static final String NAMESPACE_PERMISSIONS = "permissions"; field public static final String NAMESPACE_PRIVACY = "privacy"; field public static final String NAMESPACE_ROLLBACK = "rollback"; field public static final String NAMESPACE_ROLLBACK_BOOT = "rollback_boot"; @@ -6588,10 +8977,16 @@ package android.provider { field public static final String NAMESPACE_RUNTIME_NATIVE = "runtime_native"; field public static final String NAMESPACE_RUNTIME_NATIVE_BOOT = "runtime_native_boot"; field public static final String NAMESPACE_SCHEDULER = "scheduler"; - field public static final String NAMESPACE_STORAGE = "storage"; + field @Deprecated public static final String NAMESPACE_STORAGE = "storage"; + field public static final String NAMESPACE_STORAGE_NATIVE_BOOT = "storage_native_boot"; field public static final String NAMESPACE_SYSTEMUI = "systemui"; field public static final String NAMESPACE_TELEPHONY = "telephony"; field public static final String NAMESPACE_TEXTCLASSIFIER = "textclassifier"; + field public static final String NAMESPACE_WINDOW_MANAGER_NATIVE_BOOT = "window_manager_native_boot"; + } + + public static class DeviceConfig.BadConfigException extends java.lang.Exception { + ctor public DeviceConfig.BadConfigException(); } public static interface DeviceConfig.OnPropertiesChangedListener { @@ -6608,7 +9003,18 @@ package android.provider { method @Nullable public String getString(@NonNull String, @Nullable String); } + public static final class DeviceConfig.Properties.Builder { + ctor public DeviceConfig.Properties.Builder(@NonNull String); + method @NonNull public android.provider.DeviceConfig.Properties build(); + method @NonNull public android.provider.DeviceConfig.Properties.Builder setBoolean(@NonNull String, boolean); + method @NonNull public android.provider.DeviceConfig.Properties.Builder setFloat(@NonNull String, float); + method @NonNull public android.provider.DeviceConfig.Properties.Builder setInt(@NonNull String, int); + method @NonNull public android.provider.DeviceConfig.Properties.Builder setLong(@NonNull String, long); + method @NonNull public android.provider.DeviceConfig.Properties.Builder setString(@NonNull String, @Nullable String); + } + public final class DocumentsContract { + method @NonNull public static android.net.Uri buildDocumentUriAsUser(@NonNull String, @NonNull String, @NonNull android.os.UserHandle); method public static boolean isManageMode(@NonNull android.net.Uri); method @NonNull public static android.net.Uri setManageMode(@NonNull android.net.Uri); field public static final String ACTION_DOCUMENT_ROOT_SETTINGS = "android.provider.action.DOCUMENT_ROOT_SETTINGS"; @@ -6623,6 +9029,15 @@ package android.provider { field public static final int FLAG_REMOVABLE_USB = 524288; // 0x80000 } + public final class MediaStore { + method @NonNull public static android.net.Uri rewriteToLegacy(@NonNull android.net.Uri); + method @NonNull @WorkerThread public static android.net.Uri scanFile(@NonNull android.content.ContentResolver, @NonNull java.io.File); + method @WorkerThread public static void scanVolume(@NonNull android.content.ContentResolver, @NonNull String); + method @WorkerThread public static void waitForIdle(@NonNull android.content.ContentResolver); + field public static final String AUTHORITY_LEGACY = "media_legacy"; + field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI; + } + public abstract class SearchIndexableData { ctor public SearchIndexableData(); ctor public SearchIndexableData(android.content.Context); @@ -6670,6 +9085,8 @@ package android.provider { field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_PACKAGE = 5; // 0x5 field public static final int COLUMN_INDEX_XML_RES_RANK = 0; // 0x0 field public static final int COLUMN_INDEX_XML_RES_RESID = 1; // 0x1 + field public static final String DYNAMIC_INDEXABLES_RAW = "dynamic_indexables_raw"; + field public static final String DYNAMIC_INDEXABLES_RAW_PATH = "settings/dynamic_indexables_raw"; field public static final String INDEXABLES_RAW = "indexables_raw"; field public static final String[] INDEXABLES_RAW_COLUMNS; field public static final String INDEXABLES_RAW_PATH = "settings/indexables_raw"; @@ -6727,6 +9144,7 @@ package android.provider { method public String getType(android.net.Uri); method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues); method public android.database.Cursor query(android.net.Uri, String[], String, String[], String); + method @Nullable public android.database.Cursor queryDynamicRawData(@Nullable String[]); method public abstract android.database.Cursor queryNonIndexableKeys(String[]); method public abstract android.database.Cursor queryRawData(String[]); method @Nullable public android.database.Cursor querySliceUriPairs(); @@ -6737,8 +9155,10 @@ package android.provider { public final class Settings { method public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, boolean); field public static final String ACTION_ACCESSIBILITY_DETAILS_SETTINGS = "android.settings.ACCESSIBILITY_DETAILS_SETTINGS"; + field public static final String ACTION_BUGREPORT_HANDLER_SETTINGS = "android.settings.BUGREPORT_HANDLER_SETTINGS"; field public static final String ACTION_ENTERPRISE_PRIVACY_SETTINGS = "android.settings.ENTERPRISE_PRIVACY_SETTINGS"; field public static final String ACTION_LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS = "android.settings.LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS"; + field public static final String ACTION_MANAGE_APP_OVERLAY_PERMISSION = "android.settings.MANAGE_APP_OVERLAY_PERMISSION"; field public static final String ACTION_MANAGE_DOMAIN_URLS = "android.settings.MANAGE_DOMAIN_URLS"; field public static final String ACTION_MANAGE_MORE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_MORE_DEFAULT_APPS_SETTINGS"; field public static final String ACTION_NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS = "android.settings.NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS"; @@ -6751,6 +9171,7 @@ package android.provider { public static final class Settings.Global extends android.provider.Settings.NameValueTable { method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean); method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String); + field public static final String AIRPLANE_MODE_TOGGLEABLE_RADIOS = "airplane_mode_toggleable_radios"; field public static final String APP_STANDBY_ENABLED = "app_standby_enabled"; field public static final String AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES = "autofill_compat_mode_allowed_packages"; field public static final String CARRIER_APP_NAMES = "carrier_app_names"; @@ -6759,6 +9180,8 @@ package android.provider { field public static final String DEVICE_DEMO_MODE = "device_demo_mode"; field public static final String DEVICE_PROVISIONING_MOBILE_DATA_ENABLED = "device_provisioning_mobile_data"; field public static final String EUICC_PROVISIONED = "euicc_provisioned"; + field public static final String EUICC_SUPPORTED_COUNTRIES = "euicc_supported_countries"; + field public static final String EUICC_UNSUPPORTED_COUNTRIES = "euicc_unsupported_countries"; field public static final String INSTALL_CARRIER_APP_NOTIFICATION_PERSISTENT = "install_carrier_app_notification_persistent"; field public static final String INSTALL_CARRIER_APP_NOTIFICATION_SLEEP_MILLIS = "install_carrier_app_notification_sleep_millis"; field public static final String OTA_DISABLE_AUTOMATIC_UPDATE = "ota_disable_automatic_update"; @@ -6768,13 +9191,13 @@ package android.provider { field public static final String THEATER_MODE_ON = "theater_mode_on"; field public static final String WEBVIEW_MULTIPROCESS = "webview_multiprocess"; field public static final String WIFI_BADGING_THRESHOLDS = "wifi_badging_thresholds"; - field public static final String WIFI_WAKEUP_ENABLED = "wifi_wakeup_enabled"; + field @Deprecated public static final String WIFI_WAKEUP_ENABLED = "wifi_wakeup_enabled"; } public static final class Settings.Secure extends android.provider.Settings.NameValueTable { method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean); method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String); - field public static final String ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED = "accessibility_display_magnification_navbar_enabled"; + field @Deprecated public static final String ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED = "accessibility_display_magnification_navbar_enabled"; field public static final String ASSIST_GESTURE_SETUP_COMPLETE = "assist_gesture_setup_complete"; field public static final String AUTOFILL_FEATURE_FIELD_CLASSIFICATION = "autofill_field_classification"; field public static final String AUTOFILL_USER_DATA_MAX_CATEGORY_COUNT = "autofill_user_data_max_category_count"; @@ -6782,6 +9205,7 @@ package android.provider { field public static final String AUTOFILL_USER_DATA_MAX_USER_DATA_SIZE = "autofill_user_data_max_user_data_size"; field public static final String AUTOFILL_USER_DATA_MAX_VALUE_LENGTH = "autofill_user_data_max_value_length"; field public static final String AUTOFILL_USER_DATA_MIN_VALUE_LENGTH = "autofill_user_data_min_value_length"; + field public static final String AUTO_REVOKE_DISABLED = "auto_revoke_disabled"; field public static final String COMPLETED_CATEGORY_PREFIX = "suggested.completed_category."; field public static final String DOZE_ALWAYS_ON = "doze_always_on"; field public static final String HUSH_GESTURE_USED = "hush_gesture_used"; @@ -6790,7 +9214,7 @@ package android.provider { field public static final String LOCATION_ACCESS_CHECK_DELAY_MILLIS = "location_access_check_delay_millis"; field public static final String LOCATION_ACCESS_CHECK_INTERVAL_MILLIS = "location_access_check_interval_millis"; field public static final int LOCATION_MODE_ON = 3; // 0x3 - field public static final String LOCATION_PERMISSIONS_UPGRADE_TO_Q_MODE = "location_permissions_upgrade_to_q_mode"; + field @Deprecated public static final String LOCATION_PERMISSIONS_UPGRADE_TO_Q_MODE = "location_permissions_upgrade_to_q_mode"; field public static final String LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS = "lock_screen_allow_private_notifications"; field public static final String LOCK_SCREEN_SHOW_NOTIFICATIONS = "lock_screen_show_notifications"; field public static final String ODI_CAPTIONS_ENABLED = "odi_captions_enabled"; @@ -6807,12 +9231,14 @@ package android.provider { field public static final int VOLUME_HUSH_VIBRATE = 1; // 0x1 } + public static final class Settings.System extends android.provider.Settings.NameValueTable { + method @RequiresPermission(android.Manifest.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, boolean); + } + public static final class Telephony.Carriers implements android.provider.BaseColumns { field public static final String APN_SET_ID = "apn_set_id"; field public static final int CARRIER_EDITED = 4; // 0x4 - field @NonNull public static final android.net.Uri DPC_URI; field public static final String EDITED_STATUS = "edited"; - field public static final int INVALID_APN_ID = -1; // 0xffffffff field public static final String MAX_CONNECTIONS = "max_conns"; field public static final String MODEM_PERSIST = "modem_cognitive"; field public static final String MTU = "mtu"; @@ -6909,11 +9335,16 @@ package android.se.omapi { package android.security.keystore { + public class AndroidKeyStoreProvider extends java.security.Provider { + method @NonNull public static java.security.KeyStore getKeyStoreForUid(int) throws java.security.KeyStoreException, java.security.NoSuchProviderException; + } + public abstract class AttestationUtils { 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; field public static final int ID_TYPE_IMEI = 2; // 0x2 field public static final int ID_TYPE_MEID = 3; // 0x3 field public static final int ID_TYPE_SERIAL = 1; // 0x1 + field public static final int USE_INDIVIDUAL_ATTESTATION = 4; // 0x4 } public class DeviceIdAttestationException extends java.lang.Exception { @@ -6921,6 +9352,10 @@ package android.security.keystore { ctor public DeviceIdAttestationException(@Nullable String, @Nullable Throwable); } + public static final class KeyGenParameterSpec.Builder { + method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUid(int); + } + } package android.security.keystore.recovery { @@ -7088,9 +9523,11 @@ package android.service.attention { package android.service.autofill { public abstract class AutofillFieldClassificationService extends android.app.Service { + ctor public AutofillFieldClassificationService(); method public android.os.IBinder onBind(android.content.Intent); 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); 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>); + field public static final String REQUIRED_ALGORITHM_CREDIT_CARD = "CREDIT_CARD"; field public static final String REQUIRED_ALGORITHM_EDIT_DISTANCE = "EDIT_DISTANCE"; field public static final String REQUIRED_ALGORITHM_EXACT_MATCH = "EXACT_MATCH"; field public static final String SERVICE_INTERFACE = "android.service.autofill.AutofillFieldClassificationService"; @@ -7098,6 +9535,20 @@ package android.service.autofill { field public static final String SERVICE_META_DATA_KEY_DEFAULT_ALGORITHM = "android.autofill.field_classification.default_algorithm"; } + public static final class Dataset.Builder { + ctor public Dataset.Builder(@NonNull android.service.autofill.InlinePresentation); + 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); + } + + public abstract class InlineSuggestionRenderService extends android.app.Service { + ctor public InlineSuggestionRenderService(); + method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent); + method @NonNull public android.os.Bundle onGetInlineSuggestionsRendererInfo(); + method @Nullable public android.view.View onRenderSuggestion(@NonNull android.service.autofill.InlinePresentation, int, int); + method public final void startIntentSender(@NonNull android.content.IntentSender); + field public static final String SERVICE_INTERFACE = "android.service.autofill.InlineSuggestionRenderService"; + } + } package android.service.autofill.augmented { @@ -7106,9 +9557,11 @@ package android.service.autofill.augmented { ctor public AugmentedAutofillService(); method protected final void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]); method protected void dump(@NonNull java.io.PrintWriter, @NonNull String[]); + method @Nullable public final android.service.autofill.FillEventHistory getFillEventHistory(); method public void onConnected(); method public void onDisconnected(); 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); + method public final boolean requestAutofill(@NonNull android.content.ComponentName, @NonNull android.view.autofill.AutofillId); field public static final String SERVICE_INTERFACE = "android.service.autofill.augmented.AugmentedAutofillService"; } @@ -7124,6 +9577,7 @@ package android.service.autofill.augmented { method @NonNull public android.content.ComponentName getActivityComponent(); method @NonNull public android.view.autofill.AutofillId getFocusedId(); method @NonNull public android.view.autofill.AutofillValue getFocusedValue(); + method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest(); method @Nullable public android.service.autofill.augmented.PresentationParams getPresentationParams(); method public int getTaskId(); } @@ -7134,7 +9588,9 @@ package android.service.autofill.augmented { public static final class FillResponse.Builder { ctor public FillResponse.Builder(); method @NonNull public android.service.autofill.augmented.FillResponse build(); + method @NonNull public android.service.autofill.augmented.FillResponse.Builder setClientState(@NonNull android.os.Bundle); method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@NonNull android.service.autofill.augmented.FillWindow); + method @NonNull public android.service.autofill.augmented.FillResponse.Builder setInlineSuggestions(@NonNull java.util.List<android.service.autofill.Dataset>); } public final class FillWindow implements java.lang.AutoCloseable { @@ -7186,6 +9642,7 @@ package android.service.contentcapture { method public void onContentCaptureEvent(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.view.contentcapture.ContentCaptureEvent); method public void onCreateContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureContext, @NonNull android.view.contentcapture.ContentCaptureSessionId); method public void onDataRemovalRequest(@NonNull android.view.contentcapture.DataRemovalRequest); + method public void onDataShareRequest(@NonNull android.view.contentcapture.DataShareRequest, @NonNull android.service.contentcapture.DataShareCallback); method public void onDestroyContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureSessionId); method public void onDisconnected(); method public final void setContentCaptureConditions(@NonNull String, @Nullable java.util.Set<android.view.contentcapture.ContentCaptureCondition>); @@ -7194,6 +9651,16 @@ package android.service.contentcapture { field public static final String SERVICE_META_DATA = "android.content_capture"; } + public interface DataShareCallback { + method public void onAccept(@NonNull java.util.concurrent.Executor, @NonNull android.service.contentcapture.DataShareReadAdapter); + method public void onReject(); + } + + public interface DataShareReadAdapter { + method public void onError(int); + method public void onStart(@NonNull android.os.ParcelFileDescriptor); + } + public final class SnapshotData implements android.os.Parcelable { method public int describeContents(); method @Nullable public android.app.assist.AssistContent getAssistContent(); @@ -7218,6 +9685,24 @@ package android.service.contentsuggestions { } +package android.service.dataloader { + + public abstract class DataLoaderService extends android.app.Service { + ctor public DataLoaderService(); + method @Nullable public android.service.dataloader.DataLoaderService.DataLoader onCreateDataLoader(@NonNull android.content.pm.DataLoaderParams); + } + + public static interface DataLoaderService.DataLoader { + method public boolean onCreate(@NonNull android.content.pm.DataLoaderParams, @NonNull android.service.dataloader.DataLoaderService.FileSystemConnector); + method public boolean onPrepareImage(@NonNull java.util.Collection<android.content.pm.InstallationFile>, @NonNull java.util.Collection<java.lang.String>); + } + + public static final class DataLoaderService.FileSystemConnector { + method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void writeData(@NonNull String, long, long, @NonNull android.os.ParcelFileDescriptor) throws java.io.IOException; + } + +} + package android.service.euicc { public final class DownloadSubscriptionResult implements android.os.Parcelable { @@ -7282,7 +9767,7 @@ package android.service.euicc { public abstract class EuiccService extends android.app.Service { ctor public EuiccService(); method public void dump(@NonNull java.io.PrintWriter); - method public int encodeSmdxSubjectAndReasonCode(@NonNull String, @NonNull String); + method public int encodeSmdxSubjectAndReasonCode(@Nullable String, @Nullable String); method @CallSuper public android.os.IBinder onBind(android.content.Intent); method public abstract int onDeleteSubscription(int, String); method public android.service.euicc.DownloadSubscriptionResult onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean, @Nullable android.os.Bundle); @@ -7381,7 +9866,9 @@ package android.service.notification { field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.Adjustment> CREATOR; field public static final String KEY_CONTEXTUAL_ACTIONS = "key_contextual_actions"; field public static final String KEY_IMPORTANCE = "key_importance"; + field public static final String KEY_NOT_CONVERSATION = "key_not_conversation"; field public static final String KEY_PEOPLE = "key_people"; + field public static final String KEY_RANKING_SCORE = "key_ranking_score"; field public static final String KEY_SNOOZE_CRITERIA = "key_snooze_criteria"; field public static final String KEY_TEXT_REPLIES = "key_text_replies"; field public static final String KEY_USER_SENTIMENT = "key_user_sentiment"; @@ -7399,7 +9886,10 @@ package android.service.notification { method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel); method public void onNotificationExpansionChanged(@NonNull String, boolean, boolean); method public abstract void onNotificationSnoozedUntilContext(@NonNull android.service.notification.StatusBarNotification, @NonNull String); + method public void onNotificationVisibilityChanged(@NonNull String, boolean); method public void onNotificationsSeen(@NonNull java.util.List<java.lang.String>); + method public void onPanelHidden(); + method public void onPanelRevealed(int); method public void onSuggestedReplySent(@NonNull String, @NonNull CharSequence, int); method public final void unsnoozeNotification(@NonNull String); field public static final String SERVICE_INTERFACE = "android.service.notification.NotificationAssistantService"; @@ -7563,12 +10053,17 @@ package android.service.settings.suggestions { } -package android.service.sms { +package android.service.storage { - public abstract class FinancialSmsService extends android.app.Service { - method public android.os.IBinder onBind(android.content.Intent); - method @Nullable public abstract android.database.CursorWindow onGetSmsMessages(@NonNull android.os.Bundle); - field public static final String ACTION_FINANCIAL_SERVICE_INTENT = "android.service.sms.action.FINANCIAL_SERVICE_INTENT"; + public abstract class ExternalStorageService extends android.app.Service { + ctor public ExternalStorageService(); + method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent); + method public abstract void onEndSession(@NonNull String) throws java.io.IOException; + method public abstract void onStartSession(@NonNull String, int, @NonNull android.os.ParcelFileDescriptor, @NonNull java.io.File, @NonNull java.io.File) throws java.io.IOException; + method public abstract void onVolumeStateChanged(@NonNull android.os.storage.StorageVolume) throws java.io.IOException; + field public static final int FLAG_SESSION_ATTRIBUTE_INDEXABLE = 2; // 0x2 + field public static final int FLAG_SESSION_TYPE_FUSE = 1; // 0x1 + field public static final String SERVICE_INTERFACE = "android.service.storage.ExternalStorageService"; } } @@ -7579,11 +10074,13 @@ package android.service.textclassifier { ctor public TextClassifierService(); method @NonNull public static android.view.textclassifier.TextClassifier getDefaultTextClassifierImplementation(@NonNull android.content.Context); method @Deprecated public final android.view.textclassifier.TextClassifier getLocalTextClassifier(); - method @Nullable public final android.os.IBinder onBind(android.content.Intent); + method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent); 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>); + method public void onConnected(); method @MainThread public void onCreateTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext, @NonNull android.view.textclassifier.TextClassificationSessionId); method @MainThread public void onDestroyTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationSessionId); 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>); + method public void onDisconnected(); 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>); method @Deprecated @MainThread public void onSelectionEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.SelectionEvent); 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>); @@ -7593,7 +10090,7 @@ package android.service.textclassifier { } public static interface TextClassifierService.Callback<T> { - method public void onFailure(CharSequence); + method public void onFailure(@NonNull CharSequence); method public void onSuccess(T); } @@ -7632,6 +10129,14 @@ package android.service.trust { } +package android.service.voice { + + public class VoiceInteractionService extends android.app.Service { + method @NonNull @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public final android.media.voice.KeyphraseModelManager createKeyphraseModelManager(); + } + +} + package android.service.wallpaper { public class WallpaperService.Engine { @@ -8013,8 +10518,8 @@ package android.telephony { method public int getNumRtpPacketsTransmitted(); method public int getNumRtpPacketsTransmittedLost(); method public int getUplinkCallQualityLevel(); - method public boolean isIncomingSilenceDetected(); - method public boolean isOutgoingSilenceDetected(); + method public boolean isIncomingSilenceDetectedAtCallSetup(); + method public boolean isOutgoingSilenceDetectedAtCallSetup(); method public boolean isRtpInactivityDetected(); method public void writeToParcel(android.os.Parcel, int); field public static final int CALL_QUALITY_BAD = 4; // 0x4 @@ -8032,6 +10537,12 @@ package android.telephony { method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void overrideConfig(int, @Nullable android.os.PersistableBundle); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void updateConfigForPhoneId(int, String); field public static final String KEY_CARRIER_SETUP_APP_STRING = "carrier_setup_app_string"; + field public static final String KEY_SUPPORT_CDMA_1X_VOICE_CALLS_BOOL = "support_cdma_1x_voice_calls_bool"; + } + + public static final class CarrierConfigManager.Wifi { + field public static final String KEY_HOTSPOT_MAX_CLIENT_COUNT = "wifi.hotspot_maximum_client_count"; + field public static final String KEY_PREFIX = "wifi."; } public final class CarrierRestrictionRules implements android.os.Parcelable { @@ -8096,7 +10607,7 @@ package android.telephony { public abstract class CellBroadcastService extends android.app.Service { ctor public CellBroadcastService(); method @NonNull @WorkerThread public abstract CharSequence getCellBroadcastAreaInfo(int); - method @CallSuper @NonNull public android.os.IBinder onBind(@Nullable android.content.Intent); + method @CallSuper public android.os.IBinder onBind(@Nullable android.content.Intent); method public abstract void onCdmaCellBroadcastSms(int, @NonNull byte[], int); method public abstract void onCdmaScpMessage(int, @NonNull java.util.List<android.telephony.cdma.CdmaSmsCbProgramData>, @NonNull String, @NonNull java.util.function.Consumer<android.os.Bundle>); method public abstract void onGsmCellBroadcastSms(int, @NonNull byte[]); @@ -8139,347 +10650,7 @@ package android.telephony { } public final class DataFailCause { - field public static final int ACCESS_ATTEMPT_ALREADY_IN_PROGRESS = 2219; // 0x8ab - field public static final int ACCESS_BLOCK = 2087; // 0x827 - field public static final int ACCESS_BLOCK_ALL = 2088; // 0x828 - field public static final int ACCESS_CLASS_DSAC_REJECTION = 2108; // 0x83c - field public static final int ACCESS_CONTROL_LIST_CHECK_FAILURE = 2128; // 0x850 - field public static final int ACTIVATION_REJECTED_BCM_VIOLATION = 48; // 0x30 - field public static final int ACTIVATION_REJECT_GGSN = 30; // 0x1e - field public static final int ACTIVATION_REJECT_UNSPECIFIED = 31; // 0x1f - field public static final int ACTIVE_PDP_CONTEXT_MAX_NUMBER_REACHED = 65; // 0x41 - field public static final int APN_DISABLED = 2045; // 0x7fd - field public static final int APN_DISALLOWED_ON_ROAMING = 2059; // 0x80b - field public static final int APN_MISMATCH = 2054; // 0x806 - field public static final int APN_PARAMETERS_CHANGED = 2060; // 0x80c - field public static final int APN_PENDING_HANDOVER = 2041; // 0x7f9 - field public static final int APN_TYPE_CONFLICT = 112; // 0x70 - field public static final int AUTH_FAILURE_ON_EMERGENCY_CALL = 122; // 0x7a - field public static final int BEARER_HANDLING_NOT_SUPPORTED = 60; // 0x3c - field public static final int CALL_DISALLOWED_IN_ROAMING = 2068; // 0x814 - field public static final int CALL_PREEMPT_BY_EMERGENCY_APN = 127; // 0x7f - field public static final int CANNOT_ENCODE_OTA_MESSAGE = 2159; // 0x86f - field public static final int CDMA_ALERT_STOP = 2077; // 0x81d - field public static final int CDMA_INCOMING_CALL = 2076; // 0x81c - field public static final int CDMA_INTERCEPT = 2073; // 0x819 - field public static final int CDMA_LOCK = 2072; // 0x818 - field public static final int CDMA_RELEASE_DUE_TO_SO_REJECTION = 2075; // 0x81b - field public static final int CDMA_REORDER = 2074; // 0x81a - field public static final int CDMA_RETRY_ORDER = 2086; // 0x826 - field public static final int CHANNEL_ACQUISITION_FAILURE = 2078; // 0x81e - field public static final int CLOSE_IN_PROGRESS = 2030; // 0x7ee - field public static final int COLLISION_WITH_NETWORK_INITIATED_REQUEST = 56; // 0x38 - field public static final int COMPANION_IFACE_IN_USE = 118; // 0x76 - field public static final int CONCURRENT_SERVICES_INCOMPATIBLE = 2083; // 0x823 - field public static final int CONCURRENT_SERVICES_NOT_ALLOWED = 2091; // 0x82b - field public static final int CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION = 2080; // 0x820 - field public static final int CONDITIONAL_IE_ERROR = 100; // 0x64 - field public static final int CONGESTION = 2106; // 0x83a - field public static final int CONNECTION_RELEASED = 2113; // 0x841 - field public static final int CS_DOMAIN_NOT_AVAILABLE = 2181; // 0x885 - field public static final int CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED = 2188; // 0x88c - field public static final int DATA_PLAN_EXPIRED = 2198; // 0x896 - field public static final int DATA_ROAMING_SETTINGS_DISABLED = 2064; // 0x810 - field public static final int DATA_SETTINGS_DISABLED = 2063; // 0x80f - field public static final int DBM_OR_SMS_IN_PROGRESS = 2211; // 0x8a3 - field public static final int DDS_SWITCHED = 2065; // 0x811 - field public static final int DDS_SWITCH_IN_PROGRESS = 2067; // 0x813 - field public static final int DRB_RELEASED_BY_RRC = 2112; // 0x840 - field public static final int DS_EXPLICIT_DEACTIVATION = 2125; // 0x84d - field public static final int DUAL_SWITCH = 2227; // 0x8b3 - field public static final int DUN_CALL_DISALLOWED = 2056; // 0x808 - field public static final int DUPLICATE_BEARER_ID = 2118; // 0x846 - field public static final int EHRPD_TO_HRPD_FALLBACK = 2049; // 0x801 - field public static final int EMBMS_NOT_ENABLED = 2193; // 0x891 - field public static final int EMBMS_REGULAR_DEACTIVATION = 2195; // 0x893 - field public static final int EMERGENCY_IFACE_ONLY = 116; // 0x74 - field public static final int EMERGENCY_MODE = 2221; // 0x8ad - field public static final int EMM_ACCESS_BARRED = 115; // 0x73 - field public static final int EMM_ACCESS_BARRED_INFINITE_RETRY = 121; // 0x79 - field public static final int EMM_ATTACH_FAILED = 2115; // 0x843 - field public static final int EMM_ATTACH_STARTED = 2116; // 0x844 - field public static final int EMM_DETACHED = 2114; // 0x842 - field public static final int EMM_T3417_EXPIRED = 2130; // 0x852 - field public static final int EMM_T3417_EXT_EXPIRED = 2131; // 0x853 - field public static final int EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED = 2178; // 0x882 - field public static final int EPS_SERVICES_NOT_ALLOWED_IN_PLMN = 2179; // 0x883 - field public static final int ERROR_UNSPECIFIED = 65535; // 0xffff - field public static final int ESM_BAD_OTA_MESSAGE = 2122; // 0x84a - field public static final int ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK = 2120; // 0x848 - field public static final int ESM_COLLISION_SCENARIOS = 2119; // 0x847 - field public static final int ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT = 2124; // 0x84c - field public static final int ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL = 2123; // 0x84b - field public static final int ESM_FAILURE = 2182; // 0x886 - field public static final int ESM_INFO_NOT_RECEIVED = 53; // 0x35 - field public static final int ESM_LOCAL_CAUSE_NONE = 2126; // 0x84e - field public static final int ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER = 2121; // 0x849 - field public static final int ESM_PROCEDURE_TIME_OUT = 2155; // 0x86b - field public static final int ESM_UNKNOWN_EPS_BEARER_CONTEXT = 2111; // 0x83f - field public static final int EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE = 2201; // 0x899 - field public static final int EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY = 2200; // 0x898 - field public static final int EVDO_HDR_CHANGED = 2202; // 0x89a - field public static final int EVDO_HDR_CONNECTION_SETUP_TIMEOUT = 2206; // 0x89e - field public static final int EVDO_HDR_EXITED = 2203; // 0x89b - field public static final int EVDO_HDR_NO_SESSION = 2204; // 0x89c - field public static final int EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL = 2205; // 0x89d - field public static final int FADE = 2217; // 0x8a9 - field public static final int FAILED_TO_ACQUIRE_COLOCATED_HDR = 2207; // 0x89f - field public static final int FEATURE_NOT_SUPP = 40; // 0x28 - field public static final int FILTER_SEMANTIC_ERROR = 44; // 0x2c - field public static final int FILTER_SYTAX_ERROR = 45; // 0x2d - field public static final int FORBIDDEN_APN_NAME = 2066; // 0x812 - field public static final int GPRS_REGISTRATION_FAIL = -2; // 0xfffffffe - field public static final int GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 2097; // 0x831 - field public static final int GPRS_SERVICES_NOT_ALLOWED = 2098; // 0x832 - field public static final int GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN = 2103; // 0x837 - field public static final int HANDOFF_PREFERENCE_CHANGED = 2251; // 0x8cb - field public static final int HDR_ACCESS_FAILURE = 2213; // 0x8a5 - field public static final int HDR_FADE = 2212; // 0x8a4 - field public static final int HDR_NO_LOCK_GRANTED = 2210; // 0x8a2 - field public static final int IFACE_AND_POL_FAMILY_MISMATCH = 120; // 0x78 - field public static final int IFACE_MISMATCH = 117; // 0x75 - field public static final int ILLEGAL_ME = 2096; // 0x830 - field public static final int ILLEGAL_MS = 2095; // 0x82f - field public static final int IMEI_NOT_ACCEPTED = 2177; // 0x881 - field public static final int IMPLICITLY_DETACHED = 2100; // 0x834 - field public static final int IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER = 2176; // 0x880 - field public static final int INCOMING_CALL_REJECTED = 2092; // 0x82c - field public static final int INSUFFICIENT_RESOURCES = 26; // 0x1a - field public static final int INTERFACE_IN_USE = 2058; // 0x80a - field public static final int INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN = 114; // 0x72 - field public static final int INTERNAL_EPC_NONEPC_TRANSITION = 2057; // 0x809 - field public static final int INVALID_CONNECTION_ID = 2156; // 0x86c - field public static final int INVALID_DNS_ADDR = 123; // 0x7b - field public static final int INVALID_EMM_STATE = 2190; // 0x88e - field public static final int INVALID_MANDATORY_INFO = 96; // 0x60 - field public static final int INVALID_MODE = 2223; // 0x8af - field public static final int INVALID_PCSCF_ADDR = 113; // 0x71 - field public static final int INVALID_PCSCF_OR_DNS_ADDRESS = 124; // 0x7c - field public static final int INVALID_PRIMARY_NSAPI = 2158; // 0x86e - field public static final int INVALID_SIM_STATE = 2224; // 0x8b0 - field public static final int INVALID_TRANSACTION_ID = 81; // 0x51 - field public static final int IPV6_ADDRESS_TRANSFER_FAILED = 2047; // 0x7ff - field public static final int IPV6_PREFIX_UNAVAILABLE = 2250; // 0x8ca - field public static final int IP_ADDRESS_MISMATCH = 119; // 0x77 - field public static final int IP_VERSION_MISMATCH = 2055; // 0x807 - field public static final int IRAT_HANDOVER_FAILED = 2194; // 0x892 - field public static final int IS707B_MAX_ACCESS_PROBES = 2089; // 0x829 - field public static final int LIMITED_TO_IPV4 = 2234; // 0x8ba - field public static final int LIMITED_TO_IPV6 = 2235; // 0x8bb - field public static final int LLC_SNDCP = 25; // 0x19 - field public static final int LOCAL_END = 2215; // 0x8a7 - field public static final int LOCATION_AREA_NOT_ALLOWED = 2102; // 0x836 - field public static final int LOST_CONNECTION = 65540; // 0x10004 - field public static final int LOWER_LAYER_REGISTRATION_FAILURE = 2197; // 0x895 - field public static final int LOW_POWER_MODE_OR_POWERING_DOWN = 2044; // 0x7fc - field public static final int LTE_NAS_SERVICE_REQUEST_FAILED = 2117; // 0x845 - field public static final int LTE_THROTTLING_NOT_REQUIRED = 2127; // 0x84f - field public static final int MAC_FAILURE = 2183; // 0x887 - field public static final int MAXIMIUM_NSAPIS_EXCEEDED = 2157; // 0x86d - field public static final int MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED = 2166; // 0x876 - field public static final int MAX_ACCESS_PROBE = 2079; // 0x81f - field public static final int MAX_IPV4_CONNECTIONS = 2052; // 0x804 - field public static final int MAX_IPV6_CONNECTIONS = 2053; // 0x805 - field public static final int MAX_PPP_INACTIVITY_TIMER_EXPIRED = 2046; // 0x7fe - field public static final int MESSAGE_INCORRECT_SEMANTIC = 95; // 0x5f - field public static final int MESSAGE_TYPE_UNSUPPORTED = 97; // 0x61 - field public static final int MIP_CONFIG_FAILURE = 2050; // 0x802 - field public static final int MIP_FA_ADMIN_PROHIBITED = 2001; // 0x7d1 - field public static final int MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED = 2012; // 0x7dc - field public static final int MIP_FA_ENCAPSULATION_UNAVAILABLE = 2008; // 0x7d8 - field public static final int MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE = 2004; // 0x7d4 - field public static final int MIP_FA_INSUFFICIENT_RESOURCES = 2002; // 0x7d2 - field public static final int MIP_FA_MALFORMED_REPLY = 2007; // 0x7d7 - field public static final int MIP_FA_MALFORMED_REQUEST = 2006; // 0x7d6 - field public static final int MIP_FA_MISSING_CHALLENGE = 2017; // 0x7e1 - field public static final int MIP_FA_MISSING_HOME_ADDRESS = 2015; // 0x7df - field public static final int MIP_FA_MISSING_HOME_AGENT = 2014; // 0x7de - field public static final int MIP_FA_MISSING_NAI = 2013; // 0x7dd - field public static final int MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE = 2003; // 0x7d3 - field public static final int MIP_FA_REASON_UNSPECIFIED = 2000; // 0x7d0 - field public static final int MIP_FA_REQUESTED_LIFETIME_TOO_LONG = 2005; // 0x7d5 - field public static final int MIP_FA_REVERSE_TUNNEL_IS_MANDATORY = 2011; // 0x7db - field public static final int MIP_FA_REVERSE_TUNNEL_UNAVAILABLE = 2010; // 0x7da - field public static final int MIP_FA_STALE_CHALLENGE = 2018; // 0x7e2 - field public static final int MIP_FA_UNKNOWN_CHALLENGE = 2016; // 0x7e0 - field public static final int MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE = 2009; // 0x7d9 - field public static final int MIP_HA_ADMIN_PROHIBITED = 2020; // 0x7e4 - field public static final int MIP_HA_ENCAPSULATION_UNAVAILABLE = 2029; // 0x7ed - field public static final int MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE = 2023; // 0x7e7 - field public static final int MIP_HA_INSUFFICIENT_RESOURCES = 2021; // 0x7e5 - field public static final int MIP_HA_MALFORMED_REQUEST = 2025; // 0x7e9 - field public static final int MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE = 2022; // 0x7e6 - field public static final int MIP_HA_REASON_UNSPECIFIED = 2019; // 0x7e3 - field public static final int MIP_HA_REGISTRATION_ID_MISMATCH = 2024; // 0x7e8 - field public static final int MIP_HA_REVERSE_TUNNEL_IS_MANDATORY = 2028; // 0x7ec - field public static final int MIP_HA_REVERSE_TUNNEL_UNAVAILABLE = 2027; // 0x7eb - field public static final int MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS = 2026; // 0x7ea - field public static final int MISSING_UNKNOWN_APN = 27; // 0x1b - field public static final int MODEM_APP_PREEMPTED = 2032; // 0x7f0 - field public static final int MODEM_RESTART = 2037; // 0x7f5 - field public static final int MSC_TEMPORARILY_NOT_REACHABLE = 2180; // 0x884 - field public static final int MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE = 101; // 0x65 - field public static final int MSG_TYPE_NONCOMPATIBLE_STATE = 98; // 0x62 - field public static final int MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK = 2099; // 0x833 - field public static final int MULTIPLE_PDP_CALL_NOT_ALLOWED = 2192; // 0x890 - field public static final int MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED = 55; // 0x37 - field public static final int NAS_LAYER_FAILURE = 2191; // 0x88f - field public static final int NAS_REQUEST_REJECTED_BY_NETWORK = 2167; // 0x877 - field public static final int NAS_SIGNALLING = 14; // 0xe - field public static final int NETWORK_FAILURE = 38; // 0x26 - field public static final int NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH = 2154; // 0x86a - field public static final int NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH = 2153; // 0x869 - field public static final int NETWORK_INITIATED_TERMINATION = 2031; // 0x7ef - field public static final int NONE = 0; // 0x0 - field public static final int NON_IP_NOT_SUPPORTED = 2069; // 0x815 - field public static final int NORMAL_RELEASE = 2218; // 0x8aa - field public static final int NO_CDMA_SERVICE = 2084; // 0x824 - field public static final int NO_COLLOCATED_HDR = 2225; // 0x8b1 - field public static final int NO_EPS_BEARER_CONTEXT_ACTIVATED = 2189; // 0x88d - field public static final int NO_GPRS_CONTEXT = 2094; // 0x82e - field public static final int NO_HYBRID_HDR_SERVICE = 2209; // 0x8a1 - field public static final int NO_PDP_CONTEXT_ACTIVATED = 2107; // 0x83b - field public static final int NO_RESPONSE_FROM_BASE_STATION = 2081; // 0x821 - field public static final int NO_SERVICE = 2216; // 0x8a8 - field public static final int NO_SERVICE_ON_GATEWAY = 2093; // 0x82d - field public static final int NSAPI_IN_USE = 35; // 0x23 - field public static final int NULL_APN_DISALLOWED = 2061; // 0x80d - field public static final int OEM_DCFAILCAUSE_1 = 4097; // 0x1001 - field public static final int OEM_DCFAILCAUSE_10 = 4106; // 0x100a - field public static final int OEM_DCFAILCAUSE_11 = 4107; // 0x100b - field public static final int OEM_DCFAILCAUSE_12 = 4108; // 0x100c - field public static final int OEM_DCFAILCAUSE_13 = 4109; // 0x100d - field public static final int OEM_DCFAILCAUSE_14 = 4110; // 0x100e - field public static final int OEM_DCFAILCAUSE_15 = 4111; // 0x100f - field public static final int OEM_DCFAILCAUSE_2 = 4098; // 0x1002 - field public static final int OEM_DCFAILCAUSE_3 = 4099; // 0x1003 - field public static final int OEM_DCFAILCAUSE_4 = 4100; // 0x1004 - field public static final int OEM_DCFAILCAUSE_5 = 4101; // 0x1005 - field public static final int OEM_DCFAILCAUSE_6 = 4102; // 0x1006 - field public static final int OEM_DCFAILCAUSE_7 = 4103; // 0x1007 - field public static final int OEM_DCFAILCAUSE_8 = 4104; // 0x1008 - field public static final int OEM_DCFAILCAUSE_9 = 4105; // 0x1009 - field public static final int ONLY_IPV4V6_ALLOWED = 57; // 0x39 - field public static final int ONLY_IPV4_ALLOWED = 50; // 0x32 - field public static final int ONLY_IPV6_ALLOWED = 51; // 0x33 - field public static final int ONLY_NON_IP_ALLOWED = 58; // 0x3a - field public static final int ONLY_SINGLE_BEARER_ALLOWED = 52; // 0x34 - field public static final int OPERATOR_BARRED = 8; // 0x8 - field public static final int OTASP_COMMIT_IN_PROGRESS = 2208; // 0x8a0 - field public static final int PDN_CONN_DOES_NOT_EXIST = 54; // 0x36 - field public static final int PDN_INACTIVITY_TIMER_EXPIRED = 2051; // 0x803 - field public static final int PDN_IPV4_CALL_DISALLOWED = 2033; // 0x7f1 - field public static final int PDN_IPV4_CALL_THROTTLED = 2034; // 0x7f2 - field public static final int PDN_IPV6_CALL_DISALLOWED = 2035; // 0x7f3 - field public static final int PDN_IPV6_CALL_THROTTLED = 2036; // 0x7f4 - field public static final int PDN_NON_IP_CALL_DISALLOWED = 2071; // 0x817 - field public static final int PDN_NON_IP_CALL_THROTTLED = 2070; // 0x816 - field public static final int PDP_ACTIVATE_MAX_RETRY_FAILED = 2109; // 0x83d - field public static final int PDP_DUPLICATE = 2104; // 0x838 - field public static final int PDP_ESTABLISH_TIMEOUT_EXPIRED = 2161; // 0x871 - field public static final int PDP_INACTIVE_TIMEOUT_EXPIRED = 2163; // 0x873 - field public static final int PDP_LOWERLAYER_ERROR = 2164; // 0x874 - field public static final int PDP_MODIFY_COLLISION = 2165; // 0x875 - field public static final int PDP_MODIFY_TIMEOUT_EXPIRED = 2162; // 0x872 - field public static final int PDP_PPP_NOT_SUPPORTED = 2038; // 0x7f6 - field public static final int PDP_WITHOUT_ACTIVE_TFT = 46; // 0x2e - field public static final int PHONE_IN_USE = 2222; // 0x8ae - field public static final int PHYSICAL_LINK_CLOSE_IN_PROGRESS = 2040; // 0x7f8 - field public static final int PLMN_NOT_ALLOWED = 2101; // 0x835 - field public static final int PPP_AUTH_FAILURE = 2229; // 0x8b5 - field public static final int PPP_CHAP_FAILURE = 2232; // 0x8b8 - field public static final int PPP_CLOSE_IN_PROGRESS = 2233; // 0x8b9 - field public static final int PPP_OPTION_MISMATCH = 2230; // 0x8b6 - field public static final int PPP_PAP_FAILURE = 2231; // 0x8b7 - field public static final int PPP_TIMEOUT = 2228; // 0x8b4 - field public static final int PREF_RADIO_TECH_CHANGED = -4; // 0xfffffffc - field public static final int PROFILE_BEARER_INCOMPATIBLE = 2042; // 0x7fa - field public static final int PROTOCOL_ERRORS = 111; // 0x6f - field public static final int QOS_NOT_ACCEPTED = 37; // 0x25 - field public static final int RADIO_ACCESS_BEARER_FAILURE = 2110; // 0x83e - field public static final int RADIO_ACCESS_BEARER_SETUP_FAILURE = 2160; // 0x870 - field public static final int RADIO_NOT_AVAILABLE = 65537; // 0x10001 - field public static final int RADIO_POWER_OFF = -5; // 0xfffffffb - field public static final int REDIRECTION_OR_HANDOFF_IN_PROGRESS = 2220; // 0x8ac - field public static final int REGISTRATION_FAIL = -1; // 0xffffffff - field public static final int REGULAR_DEACTIVATION = 36; // 0x24 - field public static final int REJECTED_BY_BASE_STATION = 2082; // 0x822 - field public static final int RRC_CONNECTION_ABORTED_AFTER_HANDOVER = 2173; // 0x87d - field public static final int RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE = 2174; // 0x87e - field public static final int RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE = 2171; // 0x87b - field public static final int RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE = 2175; // 0x87f - field public static final int RRC_CONNECTION_ABORT_REQUEST = 2151; // 0x867 - field public static final int RRC_CONNECTION_ACCESS_BARRED = 2139; // 0x85b - field public static final int RRC_CONNECTION_ACCESS_STRATUM_FAILURE = 2137; // 0x859 - field public static final int RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS = 2138; // 0x85a - field public static final int RRC_CONNECTION_CELL_NOT_CAMPED = 2144; // 0x860 - field public static final int RRC_CONNECTION_CELL_RESELECTION = 2140; // 0x85c - field public static final int RRC_CONNECTION_CONFIG_FAILURE = 2141; // 0x85d - field public static final int RRC_CONNECTION_INVALID_REQUEST = 2168; // 0x878 - field public static final int RRC_CONNECTION_LINK_FAILURE = 2143; // 0x85f - field public static final int RRC_CONNECTION_NORMAL_RELEASE = 2147; // 0x863 - field public static final int RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER = 2150; // 0x866 - field public static final int RRC_CONNECTION_RADIO_LINK_FAILURE = 2148; // 0x864 - field public static final int RRC_CONNECTION_REESTABLISHMENT_FAILURE = 2149; // 0x865 - field public static final int RRC_CONNECTION_REJECT_BY_NETWORK = 2146; // 0x862 - field public static final int RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE = 2172; // 0x87c - field public static final int RRC_CONNECTION_RF_UNAVAILABLE = 2170; // 0x87a - field public static final int RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR = 2152; // 0x868 - field public static final int RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE = 2145; // 0x861 - field public static final int RRC_CONNECTION_TIMER_EXPIRED = 2142; // 0x85e - field public static final int RRC_CONNECTION_TRACKING_AREA_ID_CHANGED = 2169; // 0x879 - field public static final int RRC_UPLINK_CONNECTION_RELEASE = 2134; // 0x856 - field public static final int RRC_UPLINK_DATA_TRANSMISSION_FAILURE = 2132; // 0x854 - field public static final int RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER = 2133; // 0x855 - field public static final int RRC_UPLINK_ERROR_REQUEST_FROM_NAS = 2136; // 0x858 - field public static final int RRC_UPLINK_RADIO_LINK_FAILURE = 2135; // 0x857 - field public static final int RUIM_NOT_PRESENT = 2085; // 0x825 - field public static final int SECURITY_MODE_REJECTED = 2186; // 0x88a - field public static final int SERVICE_NOT_ALLOWED_ON_PLMN = 2129; // 0x851 - field public static final int SERVICE_OPTION_NOT_SUBSCRIBED = 33; // 0x21 - field public static final int SERVICE_OPTION_NOT_SUPPORTED = 32; // 0x20 - field public static final int SERVICE_OPTION_OUT_OF_ORDER = 34; // 0x22 - field public static final int SIGNAL_LOST = -3; // 0xfffffffd - field public static final int SIM_CARD_CHANGED = 2043; // 0x7fb - field public static final int SYNCHRONIZATION_FAILURE = 2184; // 0x888 - field public static final int TEST_LOOPBACK_REGULAR_DEACTIVATION = 2196; // 0x894 - field public static final int TETHERED_CALL_ACTIVE = -6; // 0xfffffffa - field public static final int TFT_SEMANTIC_ERROR = 41; // 0x29 - field public static final int TFT_SYTAX_ERROR = 42; // 0x2a - field public static final int THERMAL_EMERGENCY = 2090; // 0x82a - field public static final int THERMAL_MITIGATION = 2062; // 0x80e - field public static final int TRAT_SWAP_FAILED = 2048; // 0x800 - field public static final int UE_INITIATED_DETACH_OR_DISCONNECT = 128; // 0x80 - field public static final int UE_IS_ENTERING_POWERSAVE_MODE = 2226; // 0x8b2 - field public static final int UE_RAT_CHANGE = 2105; // 0x839 - field public static final int UE_SECURITY_CAPABILITIES_MISMATCH = 2185; // 0x889 - field public static final int UMTS_HANDOVER_TO_IWLAN = 2199; // 0x897 - field public static final int UMTS_REACTIVATION_REQ = 39; // 0x27 - field public static final int UNACCEPTABLE_NETWORK_PARAMETER = 65538; // 0x10002 - field public static final int UNACCEPTABLE_NON_EPS_AUTHENTICATION = 2187; // 0x88b - field public static final int UNKNOWN = 65536; // 0x10000 - field public static final int UNKNOWN_INFO_ELEMENT = 99; // 0x63 - field public static final int UNKNOWN_PDP_ADDRESS_TYPE = 28; // 0x1c - field public static final int UNKNOWN_PDP_CONTEXT = 43; // 0x2b - field public static final int UNPREFERRED_RAT = 2039; // 0x7f7 - field public static final int UNSUPPORTED_1X_PREV = 2214; // 0x8a6 - field public static final int UNSUPPORTED_APN_IN_CURRENT_PLMN = 66; // 0x42 - field public static final int UNSUPPORTED_QCI_VALUE = 59; // 0x3b - field public static final int USER_AUTHENTICATION = 29; // 0x1d - field public static final int VSNCP_ADMINISTRATIVELY_PROHIBITED = 2245; // 0x8c5 - field public static final int VSNCP_APN_UNATHORIZED = 2238; // 0x8be - field public static final int VSNCP_GEN_ERROR = 2237; // 0x8bd - field public static final int VSNCP_INSUFFICIENT_PARAMETERS = 2243; // 0x8c3 - field public static final int VSNCP_NO_PDN_GATEWAY_ADDRESS = 2240; // 0x8c0 - field public static final int VSNCP_PDN_EXISTS_FOR_THIS_APN = 2248; // 0x8c8 - field public static final int VSNCP_PDN_GATEWAY_REJECT = 2242; // 0x8c2 - field public static final int VSNCP_PDN_GATEWAY_UNREACHABLE = 2241; // 0x8c1 - field public static final int VSNCP_PDN_ID_IN_USE = 2246; // 0x8c6 - field public static final int VSNCP_PDN_LIMIT_EXCEEDED = 2239; // 0x8bf - field public static final int VSNCP_RECONNECT_NOT_ALLOWED = 2249; // 0x8c9 - field public static final int VSNCP_RESOURCE_UNAVAILABLE = 2244; // 0x8c4 - field public static final int VSNCP_SUBSCRIBER_LIMITATION = 2247; // 0x8c7 - field public static final int VSNCP_TIMEOUT = 2236; // 0x8bc + field @Deprecated public static final int VSNCP_APN_UNATHORIZED = 2238; // 0x8be } public final class DataSpecificRegistrationInfo implements android.os.Parcelable { @@ -8521,25 +10692,6 @@ package android.telephony { field public static final String MBMS_STREAMING_SERVICE_ACTION = "android.telephony.action.EmbmsStreaming"; } - public final class ModemActivityInfo implements android.os.Parcelable { - ctor public ModemActivityInfo(long, int, int, @NonNull int[], int); - method public int describeContents(); - method public int getIdleTimeMillis(); - method public int getReceiveTimeMillis(); - method public int getSleepTimeMillis(); - method public long getTimestamp(); - method @NonNull public java.util.List<android.telephony.ModemActivityInfo.TransmitPower> getTransmitPowerInfo(); - method public boolean isValid(); - method public void writeToParcel(@NonNull android.os.Parcel, int); - field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ModemActivityInfo> CREATOR; - field public static final int TX_POWER_LEVELS = 5; // 0x5 - } - - public class ModemActivityInfo.TransmitPower { - method @NonNull public android.util.Range<java.lang.Integer> getPowerRangeInDbm(); - method public int getTimeInMillis(); - } - public final class NetworkRegistrationInfo implements android.os.Parcelable { method @Nullable public android.telephony.DataSpecificRegistrationInfo getDataSpecificInfo(); method public int getRegistrationState(); @@ -8661,8 +10813,6 @@ package android.telephony { method @Deprecated @NonNull public String getDataConnectionApn(); method @Deprecated public int getDataConnectionApnTypeBitMask(); method @Deprecated public int getDataConnectionFailCause(); - method @Deprecated @Nullable public android.net.LinkProperties getDataConnectionLinkProperties(); - method @Deprecated public int getDataConnectionNetworkType(); method @Deprecated public int getDataConnectionState(); } @@ -8764,24 +10914,15 @@ package android.telephony { } public class ServiceState implements android.os.Parcelable { - method public void fillInNotifierBundle(@NonNull android.os.Bundle); - method public int getDataNetworkType(); method @Nullable public android.telephony.NetworkRegistrationInfo getNetworkRegistrationInfo(int, int); method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForDomain(int); method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForTransportType(int); - method @Nullable public String getOperatorAlphaLongRaw(); - method @Nullable public String getOperatorAlphaShortRaw(); - method @NonNull public static android.telephony.ServiceState newFromBundle(@NonNull android.os.Bundle); field public static final int ROAMING_TYPE_DOMESTIC = 2; // 0x2 field public static final int ROAMING_TYPE_INTERNATIONAL = 3; // 0x3 field public static final int ROAMING_TYPE_NOT_ROAMING = 0; // 0x0 field public static final int ROAMING_TYPE_UNKNOWN = 1; // 0x1 } - public class SignalStrength implements android.os.Parcelable { - ctor public SignalStrength(@NonNull android.telephony.SignalStrength); - } - public final class SmsCbCmasInfo implements android.os.Parcelable { ctor public SmsCbCmasInfo(int, int, int, int, int, int); method public int describeContents(); @@ -8906,18 +11047,20 @@ package android.telephony { } public final class SmsManager { - method @RequiresPermission(android.Manifest.permission.ACCESS_MESSAGES_ON_ICC) public boolean copyMessageToIcc(@Nullable byte[], @NonNull byte[], int); - method @RequiresPermission(android.Manifest.permission.ACCESS_MESSAGES_ON_ICC) public boolean deleteMessageFromIcc(int); method public boolean disableCellBroadcastRange(int, int, int); method public boolean enableCellBroadcastRange(int, int, int); - method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_MESSAGES_ON_ICC) public java.util.List<android.telephony.SmsMessage> getMessagesFromIcc(); + method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getPremiumSmsConsent(@NonNull String); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSmsCapacityOnIcc(); - method @Deprecated public void sendMultipartTextMessage(@NonNull String, @NonNull String, @NonNull java.util.List<java.lang.String>, @Nullable java.util.List<android.app.PendingIntent>, @Nullable java.util.List<android.app.PendingIntent>, @NonNull String); - method public void sendMultipartTextMessage(@NonNull String, @NonNull String, @NonNull java.util.List<java.lang.String>, @Nullable java.util.List<android.app.PendingIntent>, @Nullable java.util.List<android.app.PendingIntent>, @NonNull String, @Nullable String); 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>); + method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPremiumSmsConsent(@NonNull String, int); + field public static final int PREMIUM_SMS_CONSENT_ALWAYS_ALLOW = 3; // 0x3 + field public static final int PREMIUM_SMS_CONSENT_ASK_USER = 1; // 0x1 + field public static final int PREMIUM_SMS_CONSENT_NEVER_ALLOW = 2; // 0x2 + field public static final int PREMIUM_SMS_CONSENT_UNKNOWN = 0; // 0x0 } public class SmsMessage { + method @Nullable public static android.telephony.SmsMessage createFromNativeSmsSubmitPdu(@NonNull byte[], boolean); method @Nullable public static android.telephony.SmsMessage.SubmitPdu getSmsPdu(int, int, @Nullable String, @NonNull String, @NonNull String, long); 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); } @@ -8988,7 +11131,6 @@ package android.telephony { } public class TelephonyManager { - method public int addDevicePolicyOverrideApn(@NonNull android.content.Context, @NonNull android.telephony.data.ApnSetting); method @Deprecated @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void call(String, String); method public int checkCarrierPrivilegesForPackage(String); method public int checkCarrierPrivilegesForPackageAnyPhone(String); @@ -9000,6 +11142,7 @@ package android.telephony { method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getAidForAppType(int); method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers(int); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypes(); + method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getAndUpdateDefaultRespondViaMessageApplication(); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int); method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent); method public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int); @@ -9016,8 +11159,7 @@ package android.telephony { method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getDataActivationState(); method @Deprecated public boolean getDataEnabled(); method @Deprecated public boolean getDataEnabled(int); - method @Nullable public static android.content.ComponentName getDefaultRespondViaMessageApplication(@NonNull android.content.Context, boolean); - method @NonNull public java.util.List<android.telephony.data.ApnSetting> getDevicePolicyOverrideApns(@NonNull android.content.Context); + method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getDefaultRespondViaMessageApplication(); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDeviceSoftwareVersion(int); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean getEmergencyCallbackMode(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEmergencyNumberDbVersion(); @@ -9046,18 +11188,15 @@ package android.telephony { method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduBasicChannelBySlot(int, int, int, int, int, int, @Nullable String); method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduLogicalChannelBySlot(int, int, int, int, int, int, int, @Nullable String); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAnyRadioPoweredOn(); + method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApnMetered(int); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApplicationOnUicc(int); - method public boolean isCurrentSimOperator(@NonNull String, int, @Nullable String); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataConnectionAllowed(); method public boolean isDataConnectivityPossible(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled(); method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle(); - method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isInEmergencySmsMode(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isLteCdmaEvdoGsmWcdmaEnabled(); - method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isManualNetworkSelectionAllowed(); - method public boolean isModemEnabledForSlot(int); method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isOpportunisticNetworkEnabled(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String); @@ -9066,7 +11205,7 @@ package android.telephony { method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isTetheringApnRequired(); method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isVideoCallingEnabled(); method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle); - method public boolean modifyDevicePolicyOverrideApn(@NonNull android.content.Context, int, @NonNull android.telephony.data.ApnSetting); + method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean matchesCurrentSimOperator(@NonNull String, int, @Nullable String); method public boolean needsOtaServiceProvisioning(); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyOtaEmergencyNumberDbInstalled(); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean rebootRadio(); @@ -9081,7 +11220,6 @@ package android.telephony { method @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) public void resetSettings(); method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAllowedNetworkTypes(long); - method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAlwaysAllowMmsData(boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int); @@ -9109,14 +11247,13 @@ package android.telephony { method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void updateOtaEmergencyNumberDbFilePath(@NonNull android.os.ParcelFileDescriptor); method public void updateServiceLocation(); field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final String ACTION_ANOMALY_REPORTED = "android.telephony.action.ANOMALY_REPORTED"; - field public static final String ACTION_CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE = "com.android.internal.telephony.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE"; - field public static final String ACTION_CARRIER_SIGNAL_PCO_VALUE = "com.android.internal.telephony.CARRIER_SIGNAL_PCO_VALUE"; - field public static final String ACTION_CARRIER_SIGNAL_REDIRECTED = "com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED"; - field public static final String ACTION_CARRIER_SIGNAL_REQUEST_NETWORK_FAILED = "com.android.internal.telephony.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED"; - field public static final String ACTION_CARRIER_SIGNAL_RESET = "com.android.internal.telephony.CARRIER_SIGNAL_RESET"; + field public static final String ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED"; + field public static final String ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED"; field public static final String ACTION_EMERGENCY_ASSISTANCE = "android.telephony.action.EMERGENCY_ASSISTANCE"; field public static final String ACTION_EMERGENCY_CALLBACK_MODE_CHANGED = "android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED"; field public static final String ACTION_EMERGENCY_CALL_STATE_CHANGED = "android.intent.action.EMERGENCY_CALL_STATE_CHANGED"; + field public static final String ACTION_REQUEST_OMADM_CONFIGURATION_UPDATE = "com.android.omadm.service.CONFIGURATION_UPDATE"; + field public static final String ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS = "android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS"; field public static final String ACTION_SIM_APPLICATION_STATE_CHANGED = "android.telephony.action.SIM_APPLICATION_STATE_CHANGED"; field public static final String ACTION_SIM_CARD_STATE_CHANGED = "android.telephony.action.SIM_CARD_STATE_CHANGED"; field public static final String ACTION_SIM_SLOT_STATUS_CHANGED = "android.telephony.action.SIM_SLOT_STATUS_CHANGED"; @@ -9126,17 +11263,8 @@ package android.telephony { field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION"; field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID"; - field @Deprecated public static final String EXTRA_APN_PROTOCOL = "apnProto"; - field public static final String EXTRA_APN_PROTOCOL_INT = "apnProtoInt"; - field @Deprecated public static final String EXTRA_APN_TYPE = "apnType"; - field public static final String EXTRA_APN_TYPE_INT = "apnTypeInt"; - field public static final String EXTRA_DEFAULT_NETWORK_AVAILABLE = "defaultNetworkAvailable"; - field public static final String EXTRA_ERROR_CODE = "errorCode"; - field public static final String EXTRA_PCO_ID = "pcoId"; - field public static final String EXTRA_PCO_VALUE = "pcoValue"; field public static final String EXTRA_PHONE_IN_ECM_STATE = "android.telephony.extra.PHONE_IN_ECM_STATE"; field public static final String EXTRA_PHONE_IN_EMERGENCY_CALL = "android.telephony.extra.PHONE_IN_EMERGENCY_CALL"; - field public static final String EXTRA_REDIRECTION_URL = "redirectionUrl"; field public static final String EXTRA_SIM_STATE = "android.telephony.extra.SIM_STATE"; field public static final String EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL = "android.telephony.extra.VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL"; field public static final String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING = "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING"; @@ -9611,6 +11739,7 @@ package android.telephony.ims { field public static final int DIALSTRING_USSD = 2; // 0x2 field public static final String EXTRA_ADDITIONAL_CALL_INFO = "AdditionalCallInfo"; field public static final String EXTRA_ADDITIONAL_SIP_INVITE_FIELDS = "android.telephony.ims.extra.ADDITIONAL_SIP_INVITE_FIELDS"; + field public static final String EXTRA_CALL_DISCONNECT_CAUSE = "android.telephony.ims.extra.CALL_DISCONNECT_CAUSE"; field public static final String EXTRA_CALL_NETWORK_TYPE = "android.telephony.ims.extra.CALL_NETWORK_TYPE"; field @Deprecated public static final String EXTRA_CALL_RAT_TYPE = "CallRadioTech"; field public static final String EXTRA_CHILD_NUMBER = "ChildNum"; @@ -9620,6 +11749,7 @@ package android.telephony.ims { field public static final String EXTRA_DIALSTRING = "dialstring"; field public static final String EXTRA_DISPLAY_TEXT = "DisplayText"; field public static final String EXTRA_EMERGENCY_CALL = "e_call"; + field public static final String EXTRA_FORWARDED_NUMBER = "android.telephony.ims.extra.FORWARDED_NUMBER"; field public static final String EXTRA_IS_CALL_PULL = "CallPull"; field public static final String EXTRA_OI = "oi"; field public static final String EXTRA_OIR = "oir"; @@ -9732,9 +11862,9 @@ package android.telephony.ims { 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; 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>); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoWiFiRoamingModeSetting(); - method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int); - method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int); - method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void isSupported(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>) throws android.telephony.ims.ImsException; + method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int); + method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int); + 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; 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; method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAdvancedCallingSettingEnabled(boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRttCapabilitySetting(boolean); @@ -9982,13 +12112,13 @@ package android.telephony.ims { public class ProvisioningManager { method @NonNull public static android.telephony.ims.ProvisioningManager createForSubscriptionId(int); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public int getProvisioningIntValue(int); - method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getProvisioningStatusForCapability(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int); + method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getProvisioningStatusForCapability(int, int); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public String getProvisioningStringValue(int); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getRcsProvisioningStatusForCapability(int); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean); 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; method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningIntValue(int, int); - method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setProvisioningStatusForCapability(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int, boolean); + method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setProvisioningStatusForCapability(int, int, boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningStringValue(int, @NonNull String); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setRcsProvisioningStatusForCapability(int, boolean); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterProvisioningChangedCallback(@NonNull android.telephony.ims.ProvisioningManager.Callback); @@ -10016,8 +12146,8 @@ package android.telephony.ims { package android.telephony.ims.feature { public final class CapabilityChangeRequest implements android.os.Parcelable { - method public void addCapabilitiesToDisableForTech(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int); - method public void addCapabilitiesToEnableForTech(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int); + method public void addCapabilitiesToDisableForTech(int, int); + method public void addCapabilitiesToEnableForTech(int, int); method public int describeContents(); method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToDisable(); method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToEnable(); @@ -10026,8 +12156,8 @@ package android.telephony.ims.feature { } public static class CapabilityChangeRequest.CapabilityPair { - ctor public CapabilityChangeRequest.CapabilityPair(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int); - method @android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability public int getCapability(); + ctor public CapabilityChangeRequest.CapabilityPair(int, int); + method public int getCapability(); method public int getRadioTech(); } @@ -10072,10 +12202,10 @@ package android.telephony.ims.feature { method public final void notifyVoiceMessageCountUpdate(int); method public void onFeatureReady(); method public void onFeatureRemoved(); - method public boolean queryCapabilityConfiguration(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int); + method public boolean queryCapabilityConfiguration(int, int); method @NonNull public final android.telephony.ims.feature.MmTelFeature.MmTelCapabilities queryCapabilityStatus(); method public void setUiTtyMode(int, @Nullable android.os.Message); - method @android.telephony.ims.feature.MmTelFeature.ProcessCallResult public int shouldProcessCall(@NonNull String[]); + method public int shouldProcessCall(@NonNull String[]); field public static final String EXTRA_IS_UNKNOWN_CALL = "android.telephony.ims.feature.extra.IS_UNKNOWN_CALL"; field public static final String EXTRA_IS_USSD = "android.telephony.ims.feature.extra.IS_USSD"; field public static final int PROCESS_CALL_CSFB = 1; // 0x1 @@ -10085,16 +12215,10 @@ package android.telephony.ims.feature { public static class MmTelFeature.MmTelCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities { ctor public MmTelFeature.MmTelCapabilities(); ctor @Deprecated public MmTelFeature.MmTelCapabilities(android.telephony.ims.feature.ImsFeature.Capabilities); - ctor public MmTelFeature.MmTelCapabilities(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int); - method public final void addCapabilities(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int); - method public final boolean isCapable(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int); - method public final void removeCapabilities(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int); - } - - @IntDef(flag=true, value={android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE, android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO, android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_UT, android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_SMS}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MmTelFeature.MmTelCapabilities.MmTelCapability { - } - - @IntDef(flag=true, value={android.telephony.ims.feature.MmTelFeature.PROCESS_CALL_IMS, android.telephony.ims.feature.MmTelFeature.PROCESS_CALL_CSFB}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MmTelFeature.ProcessCallResult { + ctor public MmTelFeature.MmTelCapabilities(int); + method public final void addCapabilities(int); + method public final boolean isCapable(int); + method public final void removeCapabilities(int); } public class RcsFeature extends android.telephony.ims.feature.ImsFeature { @@ -10265,17 +12389,6 @@ package android.telephony.ims.stub { method public int updateClir(int); method public int updateColp(boolean); method public int updateColr(int); - field public static final int CALL_BARRING_ALL = 7; // 0x7 - field public static final int CALL_BARRING_ALL_INCOMING = 1; // 0x1 - field public static final int CALL_BARRING_ALL_OUTGOING = 2; // 0x2 - field public static final int CALL_BARRING_ANONYMOUS_INCOMING = 6; // 0x6 - field public static final int CALL_BARRING_INCOMING_ALL_SERVICES = 9; // 0x9 - field public static final int CALL_BARRING_OUTGOING_ALL_SERVICES = 8; // 0x8 - field public static final int CALL_BARRING_OUTGOING_INTL = 3; // 0x3 - field public static final int CALL_BARRING_OUTGOING_INTL_EXCL_HOME = 4; // 0x4 - field public static final int CALL_BARRING_SPECIFIC_INCOMING_CALLS = 10; // 0xa - field public static final int CALL_BLOCKING_INCOMING_WHEN_ROAMING = 5; // 0x5 - field public static final int INVALID_RESULT = -1; // 0xffffffff } } @@ -10394,7 +12507,28 @@ package android.util { method public int getUid(); } + public final class StatsEvent { + method @NonNull public static android.util.StatsEvent.Builder newBuilder(); + } + + public static final class StatsEvent.Builder { + method @NonNull public android.util.StatsEvent.Builder addBooleanAnnotation(byte, boolean); + method @NonNull public android.util.StatsEvent.Builder addIntAnnotation(byte, int); + method @NonNull public android.util.StatsEvent build(); + method @NonNull public android.util.StatsEvent.Builder setAtomId(int); + method @NonNull public android.util.StatsEvent.Builder usePooledBuffer(); + method @NonNull public android.util.StatsEvent.Builder writeAttributionChain(@NonNull int[], @NonNull String[]); + method @NonNull public android.util.StatsEvent.Builder writeBoolean(boolean); + method @NonNull public android.util.StatsEvent.Builder writeByteArray(@NonNull byte[]); + method @NonNull public android.util.StatsEvent.Builder writeFloat(float); + method @NonNull public android.util.StatsEvent.Builder writeInt(int); + 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>); + method @NonNull public android.util.StatsEvent.Builder writeLong(long); + method @NonNull public android.util.StatsEvent.Builder writeString(@NonNull String); + } + public final class StatsLog { + method public static void write(@NonNull android.util.StatsEvent); method public static void writeRaw(@NonNull byte[], int); } @@ -10414,9 +12548,10 @@ package android.view { method public final long getUserActivityTimeout(); method public final void setUserActivityTimeout(long); field @RequiresPermission(android.Manifest.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS) public static final int SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS = 524288; // 0x80000 + field @RequiresPermission(android.Manifest.permission.INTERNAL_SYSTEM_WINDOW) public static final int SYSTEM_FLAG_SHOW_FOR_ALL_USERS = 16; // 0x10 } - @IntDef(flag=true, prefix={"SYSTEM_FLAG_"}, value={android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface WindowManager.LayoutParams.SystemFlags { + @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 { } } @@ -10426,6 +12561,8 @@ package android.view.accessibility { public final class AccessibilityManager { method public int getAccessibilityWindowId(@Nullable android.os.IBinder); method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void performAccessibilityShortcut(); + method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void registerSystemAction(@NonNull android.app.RemoteAction, int); + method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void unregisterSystemAction(int); } } @@ -10457,6 +12594,7 @@ package android.view.contentcapture { method public long getEventTime(); method @Nullable public android.view.autofill.AutofillId getId(); method @Nullable public java.util.List<android.view.autofill.AutofillId> getIds(); + method @Nullable public android.graphics.Insets getInsets(); method @Nullable public CharSequence getText(); method public int getType(); method @Nullable public android.view.contentcapture.ViewNode getViewNode(); @@ -10467,6 +12605,7 @@ package android.view.contentcapture { field public static final int TYPE_SESSION_RESUMED = 7; // 0x7 field public static final int TYPE_VIEW_APPEARED = 1; // 0x1 field public static final int TYPE_VIEW_DISAPPEARED = 2; // 0x2 + field public static final int TYPE_VIEW_INSETS_CHANGED = 9; // 0x9 field public static final int TYPE_VIEW_TEXT_CHANGED = 3; // 0x3 field public static final int TYPE_VIEW_TREE_APPEARED = 5; // 0x5 field public static final int TYPE_VIEW_TREE_APPEARING = 4; // 0x4 @@ -10474,6 +12613,7 @@ package android.view.contentcapture { public final class ContentCaptureManager { method public boolean isContentCaptureFeatureEnabled(); + field public static final int NO_SESSION_ID = 0; // 0x0 } public final class ViewNode extends android.app.assist.AssistStructure.ViewNode { @@ -10553,6 +12693,12 @@ package android.webkit { method public void onJsResultComplete(android.webkit.JsResult); } + public interface PacProcessor { + method @Nullable public String findProxyForUrl(@NonNull String); + method @NonNull public static android.webkit.PacProcessor getInstance(); + method public boolean setProxyScript(@NonNull String); + } + public class SslErrorHandler extends android.os.Handler { ctor public SslErrorHandler(); } @@ -10687,6 +12833,7 @@ package android.webkit { method public android.webkit.WebViewProvider createWebView(android.webkit.WebView, android.webkit.WebView.PrivateAccess); method public android.webkit.CookieManager getCookieManager(); method public android.webkit.GeolocationPermissions getGeolocationPermissions(); + method @NonNull public default android.webkit.PacProcessor getPacProcessor(); method public android.webkit.ServiceWorkerController getServiceWorkerController(); method public android.webkit.WebViewFactoryProvider.Statics getStatics(); method @Deprecated public android.webkit.TokenBindingService getTokenBindingService(); diff --git a/api/system-lint-baseline.txt b/api/system-lint-baseline.txt index ffde094e8813..9c40b6cf63ce 100644 --- a/api/system-lint-baseline.txt +++ b/api/system-lint-baseline.txt @@ -1,4 +1,13 @@ // Baseline format: 1.0 +AcronymName: android.net.NetworkCapabilities#setSSID(String): + Acronyms should not be capitalized in method names: was `setSSID`, should this be `setSsid`? + + +ActionValue: android.location.Location#EXTRA_NO_GPS_LOCATION: + +ActionValue: android.net.wifi.WifiManager#ACTION_LINK_CONFIGURATION_CHANGED: + + // Tethering broadcast action / extras cannot change name for backwards compatibility ActionValue: android.net.TetheringManager#ACTION_TETHER_STATE_CHANGED: Inconsistent action value; expected `android.net.action.TETHER_STATE_CHANGED`, was `android.net.conn.TETHER_STATE_CHANGED` @@ -9,10 +18,42 @@ ActionValue: android.net.TetheringManager#EXTRA_AVAILABLE_TETHER: ActionValue: android.net.TetheringManager#EXTRA_ERRORED_TETHER: Inconsistent extra value; expected `android.net.extra.ERRORED_TETHER`, was `erroredArray` +ArrayReturn: android.bluetooth.BluetoothCodecStatus#BluetoothCodecStatus(android.bluetooth.BluetoothCodecConfig, android.bluetooth.BluetoothCodecConfig[], android.bluetooth.BluetoothCodecConfig[]) parameter #1: + Method parameter should be Collection<BluetoothCodecConfig> (or subclass) instead of raw array; was `android.bluetooth.BluetoothCodecConfig[]` +ArrayReturn: android.bluetooth.BluetoothCodecStatus#BluetoothCodecStatus(android.bluetooth.BluetoothCodecConfig, android.bluetooth.BluetoothCodecConfig[], android.bluetooth.BluetoothCodecConfig[]) parameter #2: + Method parameter should be Collection<BluetoothCodecConfig> (or subclass) instead of raw array; was `android.bluetooth.BluetoothCodecConfig[]` +ArrayReturn: android.bluetooth.BluetoothCodecStatus#getCodecsLocalCapabilities(): + Method should return Collection<BluetoothCodecConfig> (or subclass) instead of raw array; was `android.bluetooth.BluetoothCodecConfig[]` +ArrayReturn: android.bluetooth.BluetoothCodecStatus#getCodecsSelectableCapabilities(): + Method should return Collection<BluetoothCodecConfig> (or subclass) instead of raw array; was `android.bluetooth.BluetoothCodecConfig[]` +ArrayReturn: android.bluetooth.BluetoothUuid#containsAnyUuid(android.os.ParcelUuid[], android.os.ParcelUuid[]) parameter #0: + Method parameter should be Collection<ParcelUuid> (or subclass) instead of raw array; was `android.os.ParcelUuid[]` +ArrayReturn: android.bluetooth.BluetoothUuid#containsAnyUuid(android.os.ParcelUuid[], android.os.ParcelUuid[]) parameter #1: + Method parameter should be Collection<ParcelUuid> (or subclass) instead of raw array; was `android.os.ParcelUuid[]` +ArrayReturn: android.media.tv.tuner.Tuner.FilterCallback#onFilterEvent(android.media.tv.tuner.Tuner.Filter, android.media.tv.tuner.filter.FilterEvent[]) parameter #1: + Method parameter should be Collection<FilterEvent> (or subclass) instead of raw array; was `android.media.tv.tuner.filter.FilterEvent[]` +ArrayReturn: android.net.NetworkScoreManager#requestScores(android.net.NetworkKey[]) parameter #0: + Method parameter should be Collection<NetworkKey> (or subclass) instead of raw array; was `android.net.NetworkKey[]` ArrayReturn: android.view.contentcapture.ViewNode#getAutofillOptions(): +ExecutorRegistration: android.net.wifi.p2p.WifiP2pManager#deletePersistentGroup(android.net.wifi.p2p.WifiP2pManager.Channel, int, android.net.wifi.p2p.WifiP2pManager.ActionListener): + +ExecutorRegistration: android.net.wifi.p2p.WifiP2pManager#factoryReset(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener): + +ExecutorRegistration: android.net.wifi.p2p.WifiP2pManager#listen(android.net.wifi.p2p.WifiP2pManager.Channel, boolean, android.net.wifi.p2p.WifiP2pManager.ActionListener): + +ExecutorRegistration: android.net.wifi.p2p.WifiP2pManager#requestPersistentGroupInfo(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.PersistentGroupInfoListener): + +ExecutorRegistration: android.net.wifi.p2p.WifiP2pManager#setDeviceName(android.net.wifi.p2p.WifiP2pManager.Channel, String, android.net.wifi.p2p.WifiP2pManager.ActionListener): + +ExecutorRegistration: android.net.wifi.p2p.WifiP2pManager#setWfdInfo(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pWfdInfo, android.net.wifi.p2p.WifiP2pManager.ActionListener): + +ExecutorRegistration: android.net.wifi.p2p.WifiP2pManager#setWifiP2pChannels(android.net.wifi.p2p.WifiP2pManager.Channel, int, int, android.net.wifi.p2p.WifiP2pManager.ActionListener): + + + GenericException: android.app.prediction.AppPredictor#finalize(): GenericException: android.hardware.location.ContextHubClient#finalize(): @@ -23,10 +64,34 @@ GenericException: android.service.autofill.augmented.FillWindow#finalize(): +IntentBuilderName: android.content.Context#registerReceiverForAllUsers(android.content.BroadcastReceiver, android.content.IntentFilter, String, android.os.Handler): + Methods creating an Intent should be named `create<Foo>Intent()`, was `registerReceiverForAllUsers` + + KotlinKeyword: android.app.Notification#when: +KotlinOperator: android.telephony.CbGeoUtils.Geometry#contains(android.telephony.CbGeoUtils.LatLng): + Method can be invoked as a "in" operator from Kotlin: `contains` (this is usually desirable; just make sure it makes sense for this type of object) + + +MissingNullability: android.hardware.soundtrigger.SoundTrigger.ModuleProperties#toString(): + +MissingNullability: android.hardware.soundtrigger.SoundTrigger.ModuleProperties#writeToParcel(android.os.Parcel, int) parameter #0: + +MissingNullability: android.media.session.MediaSessionManager.Callback#onAddressedPlayerChanged(android.content.ComponentName) parameter #0: + +MissingNullability: android.media.session.MediaSessionManager.Callback#onAddressedPlayerChanged(android.media.session.MediaSession.Token) parameter #0: + +MissingNullability: android.media.session.MediaSessionManager.Callback#onMediaKeyEventDispatched(android.view.KeyEvent, android.content.ComponentName) parameter #0: + +MissingNullability: android.media.session.MediaSessionManager.Callback#onMediaKeyEventDispatched(android.view.KeyEvent, android.content.ComponentName) parameter #1: + +MissingNullability: android.media.session.MediaSessionManager.Callback#onMediaKeyEventDispatched(android.view.KeyEvent, android.media.session.MediaSession.Token) parameter #0: + +MissingNullability: android.media.session.MediaSessionManager.Callback#onMediaKeyEventDispatched(android.view.KeyEvent, android.media.session.MediaSession.Token) parameter #1: + MissingNullability: android.media.soundtrigger.SoundTriggerDetectionService#onUnbind(android.content.Intent) parameter #0: MissingNullability: android.media.tv.TvRecordingClient.RecordingCallback#onEvent(String, String, android.os.Bundle) parameter #0: @@ -61,14 +126,24 @@ MissingNullability: android.service.notification.NotificationAssistantService#at MissingNullability: android.telecom.CallScreeningService.CallResponse.Builder#setShouldScreenCallFurther(boolean): +MissingNullability: android.telephony.CallerInfo#toString(): + MissingNullability: android.telephony.CellBroadcastService#onBind(android.content.Intent): - Missing nullability on method `onBind` return + MissingNullability: android.telephony.CellBroadcastService#onBind(android.content.Intent) parameter #0: - Missing nullability on parameter `intent` in method `onBind` + MissingNullability: android.telephony.CellBroadcastService#onCdmaCellBroadcastSms(int, byte[]) parameter #1: - Missing nullability on parameter `message` in method `onCdmaCellBroadcastSms` + +MissingNullability: android.telephony.CellBroadcastService#onCdmaCellBroadcastSms(int, byte[], int) parameter #1: + MissingNullability: android.telephony.CellBroadcastService#onGsmCellBroadcastSms(int, byte[]) parameter #1: - Missing nullability on parameter `message` in method `onGsmCellBroadcastSms` + +MissingNullability: android.telephony.ModemActivityInfo#toString(): + +MissingNullability: android.telephony.ModemActivityInfo#writeToParcel(android.os.Parcel, int) parameter #0: + +MissingNullability: android.telephony.ModemActivityInfo.TransmitPower#toString(): + MissingNullability: android.telephony.NetworkService#onUnbind(android.content.Intent) parameter #0: MissingNullability: android.telephony.SmsCbCmasInfo#toString(): @@ -109,37 +184,35 @@ MissingNullability: android.telephony.mbms.DownloadRequest.Builder#setServiceId( MissingNullability: android.telephony.mbms.DownloadRequest.Builder#setServiceId(String) parameter #0: -MissingNullability: android.view.contentcapture.ViewNode#getAutofillId(): - -MissingNullability: android.view.contentcapture.ViewNode#getClassName(): + + +MutableBareField: android.net.IpConfiguration#httpProxy: -MissingNullability: android.view.contentcapture.ViewNode#getContentDescription(): +MutableBareField: android.net.IpConfiguration#ipAssignment: -MissingNullability: android.view.contentcapture.ViewNode#getExtras(): +MutableBareField: android.net.IpConfiguration#proxySettings: -MissingNullability: android.view.contentcapture.ViewNode#getHint(): +MutableBareField: android.net.IpConfiguration#staticIpConfiguration: -MissingNullability: android.view.contentcapture.ViewNode#getIdEntry(): +MutableBareField: android.net.wifi.WifiConfiguration#allowAutojoin: -MissingNullability: android.view.contentcapture.ViewNode#getIdPackage(): +MutableBareField: android.net.wifi.WifiConfiguration#carrierId: -MissingNullability: android.view.contentcapture.ViewNode#getIdType(): +MutableBareField: android.net.wifi.WifiConfiguration#fromWifiNetworkSpecifier: -MissingNullability: android.view.contentcapture.ViewNode#getLocaleList(): +MutableBareField: android.net.wifi.WifiConfiguration#fromWifiNetworkSuggestion: -MissingNullability: android.view.contentcapture.ViewNode#getText(): +MutableBareField: android.net.wifi.WifiConfiguration#macRandomizationSetting: -MissingNullability: android.view.contentcapture.ViewNode#getTextIdEntry(): +MutableBareField: android.net.wifi.WifiConfiguration#meteredOverride: -MissingNullability: android.view.contentcapture.ViewNode#getTextLineBaselines(): +MutableBareField: android.net.wifi.WifiConfiguration#requirePmf: -MissingNullability: android.view.contentcapture.ViewNode#getTextLineCharOffsets(): +MutableBareField: android.net.wifi.WifiConfiguration#saePasswordId: - - -MutableBareField: android.net.wifi.WifiConfiguration#allowAutojoin: +MutableBareField: android.net.wifi.WifiConfiguration#shared: -MutableBareField: android.net.wifi.WifiConfiguration#carrierId: +MutableBareField: android.net.wifi.WifiScanner.ScanSettings#type: @@ -154,6 +227,24 @@ NoSettingsProvider: android.provider.Settings.Global#TETHER_SUPPORTED: +NotCloseable: android.bluetooth.BluetoothA2dpSink: + Classes that release resources (finalize()) should implement AutoClosable and CloseGuard: class android.bluetooth.BluetoothA2dpSink +NotCloseable: android.bluetooth.BluetoothMap: + Classes that release resources (finalize()) should implement AutoClosable and CloseGuard: class android.bluetooth.BluetoothMap +NotCloseable: android.bluetooth.BluetoothPan: + Classes that release resources (finalize()) should implement AutoClosable and CloseGuard: class android.bluetooth.BluetoothPan +NotCloseable: android.bluetooth.BluetoothPbap: + Classes that release resources (finalize()) should implement AutoClosable and CloseGuard: class android.bluetooth.BluetoothPbap + + +OnNameExpected: android.content.ContentProvider#checkUriPermission(android.net.Uri, int, int): + If implemented by developer, should follow the on<Something> style; otherwise consider marking final + + +PairedRegistration: android.net.wifi.nl80211.WifiNl80211Manager#registerApCallback(String, java.util.concurrent.Executor, android.net.wifi.nl80211.WifiNl80211Manager.SoftApCallback): + + + ProtectedMember: android.printservice.recommendation.RecommendationService#attachBaseContext(android.content.Context): ProtectedMember: android.service.contentcapture.ContentCaptureService#dump(java.io.FileDescriptor, java.io.PrintWriter, String[]): @@ -161,16 +252,6 @@ ProtectedMember: android.service.contentcapture.ContentCaptureService#dump(java. ProtectedMember: android.service.notification.NotificationAssistantService#attachBaseContext(android.content.Context): -PublicTypedef: android.content.integrity.AtomicFormula.Key: Don't expose @IntDef: @Key must be hidden. - -PublicTypedef: android.content.integrity.AtomicFormula.Operator: Don't expose @IntDef: @Operator must be hidden. - -PublicTypedef: android.content.integrity.CompoundFormula.Connector: Don't expose @IntDef: @Connector must be hidden. - -PublicTypedef: android.content.integrity.Formula.Tag: Don't expose @IntDef: @Tag must be hidden. - -PublicTypedef: android.content.integrity.Rule.Effect: Don't expose @IntDef: @Effect must be hidden. - SamShouldBeLast: android.accounts.AccountManager#addAccount(String, String, String[], android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler): @@ -218,6 +299,8 @@ SamShouldBeLast: android.app.AlarmManager#setWindow(int, long, long, String, and SamShouldBeLast: android.app.WallpaperInfo#dump(android.util.Printer, String): +SamShouldBeLast: android.app.WallpaperManager#addOnColorsChangedListener(android.app.WallpaperManager.OnColorsChangedListener, android.os.Handler): + SAM-compatible parameters (such as parameter 1, "listener", in android.app.WallpaperManager.addOnColorsChangedListener) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions SamShouldBeLast: android.app.admin.DevicePolicyManager#installSystemUpdate(android.content.ComponentName, android.net.Uri, java.util.concurrent.Executor, android.app.admin.DevicePolicyManager.InstallSystemUpdateCallback): SamShouldBeLast: android.content.Context#bindIsolatedService(android.content.Intent, int, String, java.util.concurrent.Executor, android.content.ServiceConnection): @@ -244,6 +327,26 @@ SamShouldBeLast: android.location.Location#dump(android.util.Printer, String): SamShouldBeLast: android.location.LocationManager#addNmeaListener(android.location.OnNmeaMessageListener, android.os.Handler): +SamShouldBeLast: android.location.LocationManager#registerGnssMeasurementsCallback(java.util.concurrent.Executor, android.location.GnssMeasurementsEvent.Callback): + +SamShouldBeLast: android.location.LocationManager#registerGnssNavigationMessageCallback(java.util.concurrent.Executor, android.location.GnssNavigationMessage.Callback): + +SamShouldBeLast: android.location.LocationManager#registerGnssStatusCallback(java.util.concurrent.Executor, android.location.GnssStatus.Callback): + +SamShouldBeLast: android.location.LocationManager#requestLocationUpdates(String, long, float, android.location.LocationListener, android.os.Looper): + SAM-compatible parameters (such as parameter 4, "listener", in android.location.LocationManager.requestLocationUpdates) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions +SamShouldBeLast: android.location.LocationManager#requestLocationUpdates(String, long, float, java.util.concurrent.Executor, android.location.LocationListener): + +SamShouldBeLast: android.location.LocationManager#requestLocationUpdates(android.location.LocationRequest, java.util.concurrent.Executor, android.location.LocationListener): + +SamShouldBeLast: android.location.LocationManager#requestLocationUpdates(long, float, android.location.Criteria, android.location.LocationListener, android.os.Looper): + SAM-compatible parameters (such as parameter 4, "listener", in android.location.LocationManager.requestLocationUpdates) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions +SamShouldBeLast: android.location.LocationManager#requestLocationUpdates(long, float, android.location.Criteria, java.util.concurrent.Executor, android.location.LocationListener): + +SamShouldBeLast: android.location.LocationManager#requestSingleUpdate(String, android.location.LocationListener, android.os.Looper): + SAM-compatible parameters (such as parameter 2, "listener", in android.location.LocationManager.requestSingleUpdate) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions +SamShouldBeLast: android.location.LocationManager#requestSingleUpdate(android.location.Criteria, android.location.LocationListener, android.os.Looper): + SAM-compatible parameters (such as parameter 2, "listener", in android.location.LocationManager.requestSingleUpdate) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions SamShouldBeLast: android.media.AudioFocusRequest.Builder#setOnAudioFocusChangeListener(android.media.AudioManager.OnAudioFocusChangeListener, android.os.Handler): SamShouldBeLast: android.media.AudioManager#requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, int, int): @@ -266,8 +369,12 @@ SamShouldBeLast: android.media.session.MediaSessionManager#addOnActiveSessionsCh SamShouldBeLast: android.media.session.MediaSessionManager#addOnSession2TokensChangedListener(android.media.session.MediaSessionManager.OnSession2TokensChangedListener, android.os.Handler): +SamShouldBeLast: android.media.session.MediaSessionManager#registerCallback(java.util.concurrent.Executor, android.media.session.MediaSessionManager.Callback): + SamShouldBeLast: android.net.ConnectivityManager#createSocketKeepalive(android.net.Network, android.net.IpSecManager.UdpEncapsulationSocket, java.net.InetAddress, java.net.InetAddress, java.util.concurrent.Executor, android.net.SocketKeepalive.Callback): +SamShouldBeLast: android.net.wifi.WifiManager#startLocalOnlyHotspot(android.net.wifi.SoftApConfiguration, java.util.concurrent.Executor, android.net.wifi.WifiManager.LocalOnlyHotspotCallback): + SamShouldBeLast: android.net.wifi.rtt.WifiRttManager#startRanging(android.net.wifi.rtt.RangingRequest, java.util.concurrent.Executor, android.net.wifi.rtt.RangingResultCallback): SamShouldBeLast: android.nfc.NfcAdapter#enableReaderMode(android.app.Activity, android.nfc.NfcAdapter.ReaderCallback, int, android.os.Bundle): @@ -359,13 +466,15 @@ ServiceName: android.Manifest.permission#BIND_ATTENTION_SERVICE: ServiceName: android.Manifest.permission#BIND_AUGMENTED_AUTOFILL_SERVICE: ServiceName: android.Manifest.permission#BIND_CELL_BROADCAST_SERVICE: - Inconsistent service value; expected `BIND_CELL_BROADCAST`, was `android.permission.BIND_CELL_BROADCAST_SERVICE` + ServiceName: android.Manifest.permission#BIND_CONTENT_CAPTURE_SERVICE: ServiceName: android.Manifest.permission#BIND_CONTENT_SUGGESTIONS_SERVICE: ServiceName: android.Manifest.permission#BIND_EUICC_SERVICE: +ServiceName: android.Manifest.permission#BIND_EXTERNAL_STORAGE_SERVICE: + ServiceName: android.Manifest.permission#BIND_IMS_SERVICE: ServiceName: android.Manifest.permission#BIND_NETWORK_RECOMMENDATION_SERVICE: @@ -396,3 +505,13 @@ ServiceName: android.Manifest.permission#PROVIDE_RESOLVER_RANKER_SERVICE: ServiceName: android.Manifest.permission#REQUEST_NOTIFICATION_ASSISTANT_SERVICE: +ServiceName: android.provider.DeviceConfig#NAMESPACE_PACKAGE_MANAGER_SERVICE: + + + +UserHandle: android.companion.CompanionDeviceManager#isDeviceAssociated(String, android.net.MacAddress, android.os.UserHandle): + When a method overload is needed to target a specific UserHandle, callers should be directed to use Context.createPackageContextAsUser() and re-obtain the relevant Manager, and no new API should be added + + +UserHandleName: android.telephony.CellBroadcastIntents#sendOrderedBroadcastForBackgroundReceivers(android.content.Context, android.os.UserHandle, android.content.Intent, String, String, android.content.BroadcastReceiver, android.os.Handler, int, String, android.os.Bundle): + Method taking UserHandle should be named `doFooAsUser` or `queryFooForUser`, was `sendOrderedBroadcastForBackgroundReceivers` diff --git a/api/system-removed.txt b/api/system-removed.txt index 5802f6cc09b6..09544c11f8b7 100644 --- a/api/system-removed.txt +++ b/api/system-removed.txt @@ -11,6 +11,12 @@ package android.app { public class AppOpsManager { method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getOpsForPackage(int, @NonNull String, @Nullable int[]); + method @Deprecated public void setNotedAppOpsCollector(@Nullable android.app.AppOpsManager.AppOpsCollector); + } + + @Deprecated public abstract static class AppOpsManager.AppOpsCollector extends android.app.AppOpsManager.OnOpNotedCallback { + ctor public AppOpsManager.AppOpsCollector(); + method @NonNull public java.util.concurrent.Executor getAsyncNotedExecutor(); } public class Notification implements android.os.Parcelable { @@ -23,15 +29,6 @@ package android.app { } -package android.app.admin { - - public class DevicePolicyManager { - method @Deprecated @Nullable public String getDeviceInitializerApp(); - method @Deprecated @Nullable public android.content.ComponentName getDeviceInitializerComponent(); - } - -} - package android.app.backup { public class RestoreSession { @@ -139,7 +136,7 @@ package android.net.wifi { field public boolean truncated; } - public class ScanResult implements android.os.Parcelable { + public final class ScanResult implements android.os.Parcelable { field public boolean untrusted; } @@ -151,24 +148,6 @@ package android.os { field public static final boolean PERMISSIONS_REVIEW_REQUIRED = true; } - public final class PowerManager { - method @Deprecated public boolean isScreenBrightnessBoosted(); - field @Deprecated public static final String ACTION_SCREEN_BRIGHTNESS_BOOST_CHANGED = "android.os.action.SCREEN_BRIGHTNESS_BOOST_CHANGED"; - } - -} - -package android.provider { - - public final class DeviceConfig { - method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static void addOnPropertyChangedListener(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.OnPropertyChangedListener); - method public static void removeOnPropertyChangedListener(@NonNull android.provider.DeviceConfig.OnPropertyChangedListener); - } - - public static interface DeviceConfig.OnPropertyChangedListener { - method public void onPropertyChanged(@NonNull String, @NonNull String, @Nullable String); - } - } package android.service.notification { @@ -201,6 +180,11 @@ package android.telecom { package android.telephony { + public final class PreciseDataConnectionState implements android.os.Parcelable { + method @Deprecated @Nullable public android.net.LinkProperties getDataConnectionLinkProperties(); + method @Deprecated public int getDataConnectionNetworkType(); + } + public class TelephonyManager { method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void answerRingingCall(); method @Deprecated @RequiresPermission(android.Manifest.permission.CALL_PHONE) public boolean endCall(); diff --git a/api/test-current.txt b/api/test-current.txt index b74f2e4bb39e..1576b9433976 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -13,6 +13,7 @@ package android { field public static final String CONTROL_DEVICE_LIGHTS = "android.permission.CONTROL_DEVICE_LIGHTS"; field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES"; field public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS"; + field public static final String MANAGE_CRATES = "android.permission.MANAGE_CRATES"; field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS"; field public static final String NETWORK_SETTINGS = "android.permission.NETWORK_SETTINGS"; field public static final String NETWORK_STACK = "android.permission.NETWORK_STACK"; @@ -20,18 +21,37 @@ package android { field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS"; field public static final String SUSPEND_APPS = "android.permission.SUSPEND_APPS"; field public static final String TEST_MANAGE_ROLLBACKS = "android.permission.TEST_MANAGE_ROLLBACKS"; + field public static final String UPGRADE_RUNTIME_PERMISSIONS = "android.permission.UPGRADE_RUNTIME_PERMISSIONS"; field public static final String WRITE_DEVICE_CONFIG = "android.permission.WRITE_DEVICE_CONFIG"; - field public static final String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE"; + field @Deprecated public static final String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE"; field public static final String WRITE_OBB = "android.permission.WRITE_OBB"; } + public static final class Manifest.permission_group { + field public static final String UNDEFINED = "android.permission-group.UNDEFINED"; + } + public static final class R.bool { + field public static final int config_assistantOnTopOfDream = 17891333; // 0x1110005 field public static final int config_perDisplayFocusEnabled = 17891332; // 0x1110004 } public static final class R.string { field public static final int config_defaultAssistant = 17039393; // 0x1040021 field public static final int config_defaultDialer = 17039395; // 0x1040023 + field public static final int config_systemGallery = 17039399; // 0x1040027 + } + +} + +package android.accessibilityservice { + + public final class AccessibilityGestureEvent implements android.os.Parcelable { + ctor public AccessibilityGestureEvent(int, int); + } + + public abstract class AccessibilityService extends android.app.Service { + field public static final int ACCESSIBILITY_TAKE_SCREENSHOT_REQUEST_INTERVAL_TIMES_MS = 1000; // 0x3e8 } } @@ -59,9 +79,18 @@ package android.app { method public long getTotalRam(); method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getUidImportance(int); method public static boolean isHighEndGfx(); + method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void killProcessesWhenImperceptible(@NonNull int[], @NonNull String); method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void removeOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener); method public static void resumeAppSwitches() throws android.os.RemoteException; method @RequiresPermission(android.Manifest.permission.CHANGE_CONFIGURATION) public void scheduleApplicationInfoChanged(java.util.List<java.lang.String>, int); + method @RequiresPermission("android.permission.MANAGE_USERS") public boolean switchUser(@NonNull android.os.UserHandle); + field public static final int PROCESS_CAPABILITY_ALL = 7; // 0x7 + field public static final int PROCESS_CAPABILITY_ALL_EXPLICIT = 1; // 0x1 + field public static final int PROCESS_CAPABILITY_ALL_IMPLICIT = 6; // 0x6 + field public static final int PROCESS_CAPABILITY_FOREGROUND_CAMERA = 2; // 0x2 + field public static final int PROCESS_CAPABILITY_FOREGROUND_LOCATION = 1; // 0x1 + field public static final int PROCESS_CAPABILITY_FOREGROUND_MICROPHONE = 4; // 0x4 + field public static final int PROCESS_CAPABILITY_NONE = 0; // 0x0 } public static interface ActivityManager.OnUidImportanceListener { @@ -75,29 +104,41 @@ package android.app { public static class ActivityManager.TaskDescription implements android.os.Parcelable { method public String getIconFilename(); method public int getIconResource(); + method @Nullable public String getIconResourcePackage(); } public class ActivityOptions { + method @NonNull public static android.app.ActivityOptions makeCustomAnimation(@NonNull android.content.Context, int, int, @Nullable android.os.Handler, @Nullable android.app.ActivityOptions.OnAnimationStartedListener, @Nullable android.app.ActivityOptions.OnAnimationFinishedListener); + method public static void setExitTransitionTimeout(long); method public void setLaunchActivityType(int); method public void setLaunchTaskId(int); method public void setLaunchWindowingMode(int); + method public void setTaskAlwaysOnTop(boolean); method public void setTaskOverlay(boolean, boolean); } + public static interface ActivityOptions.OnAnimationFinishedListener { + method public void onAnimationFinished(); + } + + public static interface ActivityOptions.OnAnimationStartedListener { + method public void onAnimationStarted(); + } + public class ActivityTaskManager { method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void clearLaunchParamsForPackages(java.util.List<java.lang.String>); + method public static boolean currentUiModeSupportsErrorDialogs(@NonNull android.content.Context); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public String listAllStacks(); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void moveTaskToStack(int, int, boolean); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public boolean moveTopActivityToPinnedStack(int, android.graphics.Rect); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void removeStacksInWindowingModes(int[]) throws java.lang.SecurityException; method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void removeStacksWithActivityTypes(int[]) throws java.lang.SecurityException; + method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void requestPictureInPictureMode(@NonNull android.os.IBinder); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void resizeDockedStack(android.graphics.Rect, android.graphics.Rect); - method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void resizeStack(int, android.graphics.Rect) throws java.lang.SecurityException; - method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void resizeStack(int, android.graphics.Rect, boolean); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void resizeTask(int, android.graphics.Rect); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void setDisplayToSingleTaskInstance(int); - method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void setTaskWindowingMode(int, int, boolean) throws java.lang.SecurityException; - method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void setTaskWindowingModeSplitScreenPrimary(int, int, boolean, boolean, android.graphics.Rect, boolean) throws java.lang.SecurityException; + method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public boolean setTaskWindowingMode(int, int, boolean) throws java.lang.SecurityException; + method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public boolean setTaskWindowingModeSplitScreenPrimary(int, int, boolean, boolean, android.graphics.Rect, boolean) throws java.lang.SecurityException; method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void startSystemLockTaskMode(int); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void stopSystemLockTaskMode(); method public static boolean supportsMultiWindow(android.content.Context); @@ -112,6 +153,7 @@ package android.app { ctor public ActivityView(android.content.Context, android.util.AttributeSet); ctor public ActivityView(android.content.Context, android.util.AttributeSet, int); ctor public ActivityView(android.content.Context, android.util.AttributeSet, int, boolean); + ctor public ActivityView(@NonNull android.content.Context, @NonNull android.util.AttributeSet, int, boolean, boolean); method public int getVirtualDisplayId(); method public void onLayout(boolean, int, int, int, int); method public void onLocationChanged(); @@ -122,7 +164,7 @@ package android.app { method public void startActivity(@NonNull android.content.Intent); method public void startActivity(@NonNull android.content.Intent, android.os.UserHandle); method public void startActivity(@NonNull android.app.PendingIntent); - method public void startActivity(@NonNull android.app.PendingIntent, @NonNull android.app.ActivityOptions); + method public void startActivity(@NonNull android.app.PendingIntent, @Nullable android.content.Intent, @NonNull android.app.ActivityOptions); } public abstract static class ActivityView.StateCallback { @@ -141,27 +183,31 @@ package android.app { public class AppOpsManager { method @RequiresPermission("android.permission.MANAGE_APPOPS") public void addHistoricalOps(@NonNull android.app.AppOpsManager.HistoricalOps); method @RequiresPermission("android.permission.MANAGE_APPOPS") public void clearHistory(); + method @Nullable @RequiresPermission("android.permission.GET_APP_OPS_STATS") public android.app.RuntimeAppOpAccessMessage collectRuntimeAppOpAccessMessage(); method @RequiresPermission("android.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>); method @RequiresPermission("android.permission.MANAGE_APPOPS") public void getHistoricalOpsFromDiskRaw(@NonNull android.app.AppOpsManager.HistoricalOpsRequest, @Nullable java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.AppOpsManager.HistoricalOps>); method public static int getNumOps(); method public static String[] getOpStrs(); + method @NonNull @RequiresPermission("android.permission.GET_APP_OPS_STATS") public java.util.List<android.app.AppOpsManager.PackageOps> getOpsForPackage(int, @NonNull String, @Nullable java.lang.String...); method public boolean isOperationActive(int, int, String); method @RequiresPermission("android.permission.MANAGE_APPOPS") public void offsetHistory(long); method public static int opToDefaultMode(@NonNull String); method public static String opToPermission(int); method public static int permissionToOpCode(String); + method @RequiresPermission("android.permission.MANAGE_APPOPS") public void rebootHistory(long); method @RequiresPermission("android.permission.MANAGE_APPOPS") public void reloadNonHistoricalState(); method @RequiresPermission("android.permission.MANAGE_APPOPS") public void resetHistoryParameters(); method @RequiresPermission("android.permission.MANAGE_APPOPS") public void setHistoryParameters(int, long, int); method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setMode(int, int, String, int); - method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setMode(String, int, String, int); - method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setUidMode(String, int, int); - method public void startWatchingActive(@NonNull int[], @NonNull android.app.AppOpsManager.OnOpActiveChangedListener); - method public void stopWatchingActive(@NonNull android.app.AppOpsManager.OnOpActiveChangedListener); + method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setMode(@NonNull String, int, @Nullable String, int); + method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setUidMode(@NonNull String, int, int); method public static int strOpToOp(@NonNull String); field public static final int HISTORICAL_MODE_DISABLED = 0; // 0x0 field public static final int HISTORICAL_MODE_ENABLED_ACTIVE = 1; // 0x1 field public static final int HISTORICAL_MODE_ENABLED_PASSIVE = 2; // 0x2 + field public static final String KEY_BG_STATE_SETTLE_TIME = "bg_state_settle_time"; + field public static final String KEY_FG_SERVICE_STATE_SETTLE_TIME = "fg_service_state_settle_time"; + field public static final String KEY_TOP_STATE_SETTLE_TIME = "top_state_settle_time"; field public static final String OPSTR_ACCEPT_HANDOVER = "android:accept_handover"; field public static final String OPSTR_ACCESS_NOTIFICATIONS = "android:access_notifications"; field public static final String OPSTR_ACTIVATE_VPN = "android:activate_vpn"; @@ -181,6 +227,7 @@ package android.app { field public static final String OPSTR_GPS = "android:gps"; field public static final String OPSTR_INSTANT_APP_START_FOREGROUND = "android:instant_app_start_foreground"; field public static final String OPSTR_LEGACY_STORAGE = "android:legacy_storage"; + field public static final String OPSTR_MANAGE_EXTERNAL_STORAGE = "android:manage_external_storage"; field public static final String OPSTR_MANAGE_IPSEC_TUNNELS = "android:manage_ipsec_tunnels"; field public static final String OPSTR_MUTE_MICROPHONE = "android:mute_microphone"; field public static final String OPSTR_NEIGHBORING_CELLS = "android:neighboring_cells"; @@ -189,6 +236,9 @@ package android.app { field public static final String OPSTR_PROJECT_MEDIA = "android:project_media"; field public static final String OPSTR_READ_CLIPBOARD = "android:read_clipboard"; field public static final String OPSTR_READ_ICC_SMS = "android:read_icc_sms"; + field public static final String OPSTR_READ_MEDIA_AUDIO = "android:read_media_audio"; + field public static final String OPSTR_READ_MEDIA_IMAGES = "android:read_media_images"; + field public static final String OPSTR_READ_MEDIA_VIDEO = "android:read_media_video"; field public static final String OPSTR_RECEIVE_EMERGENCY_BROADCAST = "android:receive_emergency_broadcast"; field public static final String OPSTR_REQUEST_DELETE_PACKAGES = "android:request_delete_packages"; field public static final String OPSTR_REQUEST_INSTALL_PACKAGES = "android:request_install_packages"; @@ -204,6 +254,9 @@ package android.app { field public static final String OPSTR_WIFI_SCAN = "android:wifi_scan"; field public static final String OPSTR_WRITE_CLIPBOARD = "android:write_clipboard"; field public static final String OPSTR_WRITE_ICC_SMS = "android:write_icc_sms"; + field public static final String OPSTR_WRITE_MEDIA_AUDIO = "android:write_media_audio"; + field public static final String OPSTR_WRITE_MEDIA_IMAGES = "android:write_media_images"; + field public static final String OPSTR_WRITE_MEDIA_VIDEO = "android:write_media_video"; field public static final String OPSTR_WRITE_SMS = "android:write_sms"; field public static final String OPSTR_WRITE_WALLPAPER = "android:write_wallpaper"; field public static final int OP_COARSE_LOCATION = 0; // 0x0 @@ -220,11 +273,44 @@ package android.app { field public static final int UID_STATE_CACHED = 700; // 0x2bc field public static final int UID_STATE_FOREGROUND = 500; // 0x1f4 field public static final int UID_STATE_FOREGROUND_SERVICE = 400; // 0x190 - field public static final int UID_STATE_FOREGROUND_SERVICE_LOCATION = 300; // 0x12c + field @Deprecated public static final int UID_STATE_FOREGROUND_SERVICE_LOCATION = 300; // 0x12c field public static final int UID_STATE_PERSISTENT = 100; // 0x64 field public static final int UID_STATE_TOP = 200; // 0xc8 } + public static final class AppOpsManager.AttributedHistoricalOps implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String); + method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int); + method @IntRange(from=0) public int getOpCount(); + method @Nullable public String getTag(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedHistoricalOps> CREATOR; + } + + public static final class AppOpsManager.AttributedOpEntry implements android.os.Parcelable { + method public int describeContents(); + method public long getLastAccessBackgroundTime(int); + method public long getLastAccessForegroundTime(int); + method public long getLastAccessTime(int); + method public long getLastAccessTime(int, int, int); + method public long getLastBackgroundDuration(int); + method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int); + method public long getLastDuration(int); + method public long getLastDuration(int, int, int); + method public long getLastForegroundDuration(int); + method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int); + method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int); + method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int); + method public long getLastRejectBackgroundTime(int); + method public long getLastRejectForegroundTime(int); + method public long getLastRejectTime(int); + method public long getLastRejectTime(int, int, int); + method public boolean isRunning(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedOpEntry> CREATOR; + } + public static final class AppOpsManager.HistoricalOp implements android.os.Parcelable { method public int describeContents(); method public long getAccessCount(int, int, int); @@ -249,9 +335,9 @@ package android.app { method @IntRange(from=0) public int getUidCount(); method @Nullable public android.app.AppOpsManager.HistoricalUidOps getUidOps(int); method @NonNull public android.app.AppOpsManager.HistoricalUidOps getUidOpsAt(@IntRange(from=0) int); - method public void increaseAccessCount(int, int, @NonNull String, int, int, long); - method public void increaseAccessDuration(int, int, @NonNull String, int, int, long); - method public void increaseRejectCount(int, int, @NonNull String, int, int, long); + method public void increaseAccessCount(int, int, @NonNull String, @Nullable String, int, int, long); + method public void increaseAccessDuration(int, int, @NonNull String, @Nullable String, int, int, long); + method public void increaseRejectCount(int, int, @NonNull String, @Nullable String, int, int, long); method public void offsetBeginAndEndTime(long); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOps> CREATOR; @@ -263,6 +349,7 @@ package android.app { public static final class AppOpsManager.HistoricalOpsRequest.Builder { ctor public AppOpsManager.HistoricalOpsRequest.Builder(long, long); method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest build(); + method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setAttributionTag(@Nullable String); method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setFlags(int); method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setOpNames(@Nullable java.util.List<java.lang.String>); method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setPackageName(@Nullable String); @@ -271,6 +358,9 @@ package android.app { public static final class AppOpsManager.HistoricalPackageOps implements android.os.Parcelable { method public int describeContents(); + method @Nullable public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOps(@NonNull String); + method @NonNull public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOpsAt(@IntRange(from=0) int); + method @IntRange(from=0) public int getAttributedOpsCount(); method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String); method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int); method @IntRange(from=0) public int getOpCount(); @@ -289,46 +379,80 @@ package android.app { field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalUidOps> CREATOR; } - public static interface AppOpsManager.OnOpActiveChangedListener { - method public void onOpActiveChanged(int, int, String, boolean); - } - public static final class AppOpsManager.OpEntry implements android.os.Parcelable { method public int describeContents(); - method public long getDuration(); + method @NonNull public java.util.Map<java.lang.String,android.app.AppOpsManager.AttributedOpEntry> getAttributedOpEntries(); + method @Deprecated public long getDuration(); method public long getLastAccessBackgroundTime(int); method public long getLastAccessForegroundTime(int); method public long getLastAccessTime(int); method public long getLastAccessTime(int, int, int); method public long getLastBackgroundDuration(int); + method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int); + method public long getLastDuration(int); method public long getLastDuration(int, int, int); method public long getLastForegroundDuration(int); + method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int); + method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int); + method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int); method public long getLastRejectBackgroundTime(int); method public long getLastRejectForegroundTime(int); method public long getLastRejectTime(int); method public long getLastRejectTime(int, int, int); method public int getMode(); method @NonNull public String getOpStr(); - method @Nullable public String getProxyPackageName(); - method @Nullable public String getProxyPackageName(int, int); - method public int getProxyUid(); - method public int getProxyUid(int, int); + method @Deprecated @Nullable public String getProxyPackageName(); + method @Deprecated @Nullable public String getProxyPackageName(int, int); + method @Deprecated public int getProxyUid(); + method @Deprecated public int getProxyUid(int, int); method public boolean isRunning(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEntry> CREATOR; } + public static final class AppOpsManager.OpEventProxyInfo implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public String getAttributionTag(); + method @Nullable public String getPackageName(); + method @IntRange(from=0) public int getUid(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEventProxyInfo> CREATOR; + } + + public static final class AppOpsManager.PackageOps implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<android.app.AppOpsManager.OpEntry> getOps(); + method @NonNull public String getPackageName(); + method public int getUid(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.PackageOps> CREATOR; + } + public class DownloadManager { field public static final String COLUMN_MEDIASTORE_URI = "mediastore_uri"; } + public class DreamManager { + method @RequiresPermission("android.permission.READ_DREAM_STATE") public boolean isDreaming(); + method @RequiresPermission("android.permission.WRITE_DREAM_STATE") public void setActiveDream(@NonNull android.content.ComponentName); + method @RequiresPermission("android.permission.WRITE_DREAM_STATE") public void startDream(@NonNull android.content.ComponentName); + method @RequiresPermission("android.permission.WRITE_DREAM_STATE") public void stopDream(); + } + public final class NotificationChannel implements android.os.Parcelable { - method public boolean isBlockableSystem(); + method public int getOriginalImportance(); + method public boolean isBlockable(); method public boolean isImportanceLockedByCriticalDeviceFunction(); method public boolean isImportanceLockedByOEM(); - method public void setBlockableSystem(boolean); + method public void lockFields(int); + method public void setBlockable(boolean); + method public void setDeleted(boolean); + method public void setFgServiceShown(boolean); method public void setImportanceLockedByCriticalDeviceFunction(boolean); method public void setImportanceLockedByOEM(boolean); + method public void setImportantConversation(boolean); + method public void setOriginalImportance(int); + field public static final int USER_LOCKED_SOUND = 32; // 0x20 } public final class NotificationChannelGroup implements android.os.Parcelable { @@ -354,7 +478,22 @@ package android.app { method public android.graphics.Rect getSourceRectHint(); } + public final class RuntimeAppOpAccessMessage implements android.os.Parcelable { + ctor public RuntimeAppOpAccessMessage(@IntRange(from=0L) int, @IntRange(from=0L) int, @NonNull String, @Nullable String, @NonNull String, int); + method public int describeContents(); + method @Nullable public String getAttributionTag(); + method @NonNull public String getMessage(); + method @NonNull public String getOp(); + method @NonNull public String getPackageName(); + method public int getSamplingStrategy(); + method @IntRange(from=0L) public int getUid(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.app.RuntimeAppOpAccessMessage> CREATOR; + } + public class StatusBarManager { + method public void collapsePanels(); + method public void expandNotificationsPanel(); method @NonNull @RequiresPermission(android.Manifest.permission.STATUS_BAR) public android.app.StatusBarManager.DisableInfo getDisableInfo(); method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setDisabledForSetup(boolean); method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setDisabledForSimNetworkLock(boolean); @@ -369,6 +508,11 @@ package android.app { method public boolean isStatusBarExpansionDisabled(); } + public class TaskInfo { + method @NonNull public android.content.res.Configuration getConfiguration(); + method @NonNull public android.window.WindowContainerToken getToken(); + } + public class TimePickerDialog extends android.app.AlertDialog implements android.content.DialogInterface.OnClickListener android.widget.TimePicker.OnTimeChangedListener { method public android.widget.TimePicker getTimePicker(); } @@ -388,7 +532,10 @@ package android.app { } public class WallpaperManager { + method @Nullable public android.graphics.Bitmap getBitmap(); method @RequiresPermission("android.permission.SET_WALLPAPER_COMPONENT") public boolean setWallpaperComponent(android.content.ComponentName); + method public boolean shouldEnableWideColorGamut(); + method @RequiresPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE) public boolean wallpaperSupportsWcg(int); } public class WindowConfiguration implements java.lang.Comparable<android.app.WindowConfiguration> android.os.Parcelable { @@ -408,6 +555,7 @@ package android.app { method public void setWindowingMode(int); method public void writeToParcel(android.os.Parcel, int); field public static final int ACTIVITY_TYPE_ASSISTANT = 4; // 0x4 + field public static final int ACTIVITY_TYPE_DREAM = 5; // 0x5 field public static final int ACTIVITY_TYPE_HOME = 2; // 0x2 field public static final int ACTIVITY_TYPE_RECENTS = 3; // 0x3 field public static final int ACTIVITY_TYPE_STANDARD = 1; // 0x1 @@ -416,6 +564,7 @@ package android.app { field public static final int WINDOWING_MODE_FREEFORM = 5; // 0x5 field public static final int WINDOWING_MODE_FULLSCREEN = 1; // 0x1 field public static final int WINDOWING_MODE_FULLSCREEN_OR_SPLIT_SCREEN_SECONDARY = 4; // 0x4 + field public static final int WINDOWING_MODE_MULTI_WINDOW = 6; // 0x6 field public static final int WINDOWING_MODE_PINNED = 2; // 0x2 field public static final int WINDOWING_MODE_SPLIT_SCREEN_PRIMARY = 3; // 0x3 field public static final int WINDOWING_MODE_SPLIT_SCREEN_SECONDARY = 4; // 0x4 @@ -434,6 +583,7 @@ package android.app.admin { method public java.util.List<java.lang.String> getOwnerInstalledCaCerts(@NonNull android.os.UserHandle); method public boolean isCurrentInputMethodSetByOwner(); method public boolean isDeviceManaged(); + method public boolean isFactoryResetProtectionPolicySupported(); field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_ALLOWED"; field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_DISALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_DISALLOWED"; field public static final String ACTION_DATA_SHARING_RESTRICTION_APPLIED = "android.app.action.DATA_SHARING_RESTRICTION_APPLIED"; @@ -466,6 +616,26 @@ package android.app.backup { } +package android.app.blob { + + public class BlobStoreManager { + method @Nullable public android.app.blob.LeaseInfo getLeaseInfo(@NonNull android.app.blob.BlobHandle) throws java.io.IOException; + method public void waitForIdle(long) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException; + } + + public final class LeaseInfo implements android.os.Parcelable { + ctor public LeaseInfo(@NonNull String, long, @IdRes int, @Nullable CharSequence); + method public int describeContents(); + method @Nullable public CharSequence getDescription(); + method @IdRes public int getDescriptionResId(); + method public long getExpiryTimeMillis(); + method @NonNull public String getPackageName(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.app.blob.LeaseInfo> CREATOR; + } + +} + package android.app.prediction { public final class AppPredictionContext implements android.os.Parcelable { @@ -540,6 +710,7 @@ package android.app.prediction { field public static final int ACTION_DISMISS = 2; // 0x2 field public static final int ACTION_LAUNCH = 1; // 0x1 field public static final int ACTION_PIN = 3; // 0x3 + field public static final int ACTION_UNPIN = 4; // 0x4 field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetEvent> CREATOR; } @@ -564,6 +735,11 @@ package android.app.role { method public void onRoleHoldersChanged(@NonNull String, @NonNull android.os.UserHandle); } + public class RoleControllerManager { + method @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public void isApplicationVisibleForRole(@NonNull String, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); + method @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public void isRoleVisible(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); + } + public final class RoleManager { method @RequiresPermission("android.permission.OBSERVE_ROLE_HOLDERS") public void addOnRoleHoldersChangedListenerAsUser(@NonNull java.util.concurrent.Executor, @NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle); method @RequiresPermission("android.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>); @@ -590,6 +766,9 @@ package android.app.usage { public class StorageStatsManager { method public boolean isQuotaSupported(@NonNull java.util.UUID); method public boolean isReservedSupported(@NonNull java.util.UUID); + method @NonNull @WorkerThread public java.util.Collection<android.os.storage.CrateInfo> queryCratesForPackage(@NonNull java.util.UUID, @NonNull String, @NonNull android.os.UserHandle) throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException; + method @NonNull @WorkerThread public java.util.Collection<android.os.storage.CrateInfo> queryCratesForUid(@NonNull java.util.UUID, int) throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException; + method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_CRATES) @WorkerThread public java.util.Collection<android.os.storage.CrateInfo> queryCratesForUser(@NonNull java.util.UUID, @NonNull android.os.UserHandle) throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException; } public final class UsageStatsManager { @@ -606,8 +785,23 @@ package android.bluetooth { } +package android.companion { + + public final class CompanionDeviceManager { + method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean isDeviceAssociatedForWifiConnection(@NonNull String, @NonNull android.net.MacAddress, @NonNull android.os.UserHandle); + } + +} + package android.content { + public class ApexEnvironment { + method @NonNull public static android.content.ApexEnvironment getApexEnvironment(@NonNull String); + method @NonNull public java.io.File getCredentialProtectedDataDirForUser(@NonNull android.os.UserHandle); + method @NonNull public java.io.File getDeviceProtectedDataDir(); + method @NonNull public java.io.File getDeviceProtectedDataDirForUser(@NonNull android.os.UserHandle); + } + public final class AutofillOptions implements android.os.Parcelable { ctor public AutofillOptions(int, boolean); method public int describeContents(); @@ -615,8 +809,10 @@ package android.content { method public boolean isAugmentedAutofillEnabled(@NonNull android.content.Context); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.content.AutofillOptions> CREATOR; + field public long appDisabledExpiration; field public boolean augmentedAutofillEnabled; field public final boolean compatModeEnabled; + field @Nullable public android.util.ArrayMap<java.lang.String,java.lang.Long> disabledActivities; field public final int loggingLevel; field @Nullable public android.util.ArraySet<android.content.ComponentName> whitelistedActivitiesForAugmentedAutofill; } @@ -637,44 +833,120 @@ package android.content { field @Nullable public final android.util.ArraySet<android.content.ComponentName> whitelistedComponents; } + public abstract class ContentProvider implements android.content.ComponentCallbacks2 { + method @NonNull public static android.os.UserHandle getUserHandleFromUri(@NonNull android.net.Uri); + } + public class ContentProviderClient implements java.lang.AutoCloseable { method @RequiresPermission(android.Manifest.permission.REMOVE_TASKS) public void setDetectNotResponding(long); } public abstract class ContentResolver { + method @NonNull public static android.net.Uri decodeFromFile(@NonNull java.io.File); + method @NonNull public static java.io.File encodeToFile(@NonNull android.net.Uri); method public static String[] getSyncAdapterPackagesForAuthorityAsUser(String, int); } public abstract class Context { method @NonNull public android.content.Context createContextAsUser(@NonNull android.os.UserHandle, int); method @NonNull public android.content.Context createPackageContextAsUser(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException; - method public abstract android.view.Display getDisplay(); + method @NonNull public java.io.File getCrateDir(@NonNull String); method public abstract int getDisplayId(); method public android.os.UserHandle getUser(); method public int getUserId(); method public void setAutofillOptions(@Nullable android.content.AutofillOptions); method public void setContentCaptureOptions(@Nullable android.content.ContentCaptureOptions); + method @RequiresPermission("android.permission.INTERACT_ACROSS_USERS") public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @NonNull android.os.UserHandle); + field public static final String APP_INTEGRITY_SERVICE = "app_integrity"; field public static final String BUGREPORT_SERVICE = "bugreport"; field public static final String CONTENT_CAPTURE_MANAGER_SERVICE = "content_capture"; + field public static final String DEVICE_IDLE_CONTROLLER = "deviceidle"; + field public static final String DREAM_SERVICE = "dream"; field public static final String ETHERNET_SERVICE = "ethernet"; field public static final String PERMISSION_SERVICE = "permission"; + field public static final String POWER_WHITELIST_MANAGER = "power_whitelist"; field public static final String ROLLBACK_SERVICE = "rollback"; field public static final String STATUS_BAR_SERVICE = "statusbar"; field public static final String TEST_NETWORK_SERVICE = "test_network"; } public class ContextWrapper extends android.content.Context { - method public android.view.Display getDisplay(); method public int getDisplayId(); } public class Intent implements java.lang.Cloneable android.os.Parcelable { + field @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public static final String ACTION_MANAGE_DEFAULT_APP = "android.intent.action.MANAGE_DEFAULT_APP"; field public static final String ACTION_ROLLBACK_COMMITTED = "android.intent.action.ROLLBACK_COMMITTED"; + field public static final String EXTRA_ORIGINATING_UID = "android.intent.extra.ORIGINATING_UID"; field public static final String EXTRA_ROLE_NAME = "android.intent.extra.ROLE_NAME"; } } +package android.content.integrity { + + public class AppIntegrityManager { + method @NonNull public android.content.integrity.RuleSet getCurrentRuleSet(); + method @NonNull public String getCurrentRuleSetProvider(); + method @NonNull public String getCurrentRuleSetVersion(); + method @NonNull public java.util.List<java.lang.String> getWhitelistedRuleProviders(); + method public void updateRuleSet(@NonNull android.content.integrity.RuleSet, @NonNull android.content.IntentSender); + field public static final String EXTRA_STATUS = "android.content.integrity.extra.STATUS"; + field public static final int STATUS_FAILURE = 1; // 0x1 + field public static final int STATUS_SUCCESS = 0; // 0x0 + } + + public abstract class IntegrityFormula { + method @NonNull public static android.content.integrity.IntegrityFormula all(@NonNull android.content.integrity.IntegrityFormula...); + method @NonNull public static android.content.integrity.IntegrityFormula any(@NonNull android.content.integrity.IntegrityFormula...); + method @NonNull public static android.content.integrity.IntegrityFormula not(@NonNull android.content.integrity.IntegrityFormula); + } + + public static final class IntegrityFormula.Application { + method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String); + method @NonNull public static android.content.integrity.IntegrityFormula isPreInstalled(); + method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String); + method @NonNull public static android.content.integrity.IntegrityFormula versionCodeEquals(@NonNull long); + method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThan(@NonNull long); + method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThanOrEqualTo(@NonNull long); + } + + public static final class IntegrityFormula.Installer { + method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String); + method @NonNull public static android.content.integrity.IntegrityFormula notAllowedByManifest(); + method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String); + } + + public static final class IntegrityFormula.SourceStamp { + method @NonNull public static android.content.integrity.IntegrityFormula notTrusted(); + method @NonNull public static android.content.integrity.IntegrityFormula stampCertificateHashEquals(@NonNull String); + } + + public final class Rule implements android.os.Parcelable { + ctor public Rule(@NonNull android.content.integrity.IntegrityFormula, int); + method public int describeContents(); + method public int getEffect(); + method @NonNull public android.content.integrity.IntegrityFormula getFormula(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.content.integrity.Rule> CREATOR; + field public static final int DENY = 0; // 0x0 + field public static final int FORCE_ALLOW = 1; // 0x1 + } + + public class RuleSet { + method @NonNull public java.util.List<android.content.integrity.Rule> getRules(); + method @NonNull public String getVersion(); + } + + public static class RuleSet.Builder { + ctor public RuleSet.Builder(); + method @NonNull public android.content.integrity.RuleSet.Builder addRules(@NonNull java.util.List<android.content.integrity.Rule>); + method @NonNull public android.content.integrity.RuleSet build(); + method @NonNull public android.content.integrity.RuleSet.Builder setVersion(@NonNull String); + } + +} + package android.content.pm { public class ActivityInfo extends android.content.pm.ComponentInfo implements android.os.Parcelable { @@ -694,20 +966,27 @@ package android.content.pm { } public static class PackageInstaller.SessionInfo implements android.os.Parcelable { + method public int getAutoRevokePermissionsMode(); + method public int getRollbackDataPolicy(); method @NonNull public java.util.Set<java.lang.String> getWhitelistedRestrictedPermissions(); } public static class PackageInstaller.SessionParams implements android.os.Parcelable { method public void setEnableRollback(boolean); + method public void setEnableRollback(boolean, int); method @RequiresPermission("android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS") public void setGrantedRuntimePermissions(String[]); method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setInstallAsApex(); + method public void setInstallerPackageName(@Nullable String); method public void setRequestDowngrade(boolean); method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setStaged(); } public abstract class PackageManager { + method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void addOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener); method public abstract boolean arePermissionsIndividuallyControlled(); + method @Nullable public String getContentCaptureServicePackageName(); method @Nullable @RequiresPermission("android.permission.INTERACT_ACROSS_USERS_FULL") public abstract String getDefaultBrowserPackageNameAsUser(int); + method @Nullable public String getDefaultTextClassifierPackageName(); method @Nullable public String getIncidentReportApproverPackageName(); method public abstract int getInstallReason(@NonNull String, @NonNull android.os.UserHandle); method @NonNull public abstract java.util.List<android.content.pm.ApplicationInfo> getInstalledApplicationsAsUser(int, int); @@ -717,45 +996,63 @@ package android.content.pm { method @RequiresPermission(anyOf={"android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.GET_RUNTIME_PERMISSIONS"}) public abstract int getPermissionFlags(@NonNull String, @NonNull String, @NonNull android.os.UserHandle); method @NonNull public abstract String getServicesSystemSharedLibraryPackageName(); method @NonNull public abstract String getSharedSystemSharedLibraryPackageName(); - method @Nullable public String[] getTelephonyPackageNames(); + method @Nullable public String getSystemTextClassifierPackageName(); method @Nullable public String getWellbeingPackageName(); method @RequiresPermission("android.permission.GRANT_RUNTIME_PERMISSIONS") public abstract void grantRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle); + method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void removeOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener); method @RequiresPermission("android.permission.REVOKE_RUNTIME_PERMISSIONS") public abstract void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle); + method @RequiresPermission("android.permission.REVOKE_RUNTIME_PERMISSIONS") public void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle, @NonNull String); method @RequiresPermission(anyOf={"android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.REVOKE_RUNTIME_PERMISSIONS"}) public abstract void updatePermissionFlags(@NonNull String, @NonNull String, int, int, @NonNull android.os.UserHandle); field public static final String FEATURE_ADOPTABLE_STORAGE = "android.software.adoptable_storage"; field public static final String FEATURE_FILE_BASED_ENCRYPTION = "android.software.file_based_encryption"; field public static final int FLAG_PERMISSION_APPLY_RESTRICTION = 16384; // 0x4000 field public static final int FLAG_PERMISSION_GRANTED_BY_ROLE = 32768; // 0x8000 + field public static final int FLAG_PERMISSION_ONE_TIME = 65536; // 0x10000 field public static final int FLAG_PERMISSION_POLICY_FIXED = 4; // 0x4 field public static final int FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT = 2048; // 0x800 field public static final int FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT = 4096; // 0x1000 field public static final int FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT = 8192; // 0x2000 field public static final int FLAG_PERMISSION_REVIEW_REQUIRED = 64; // 0x40 - field public static final int FLAG_PERMISSION_REVOKE_ON_UPGRADE = 8; // 0x8 + field public static final int FLAG_PERMISSION_REVOKED_COMPAT = 8; // 0x8 + field @Deprecated public static final int FLAG_PERMISSION_REVOKE_ON_UPGRADE = 8; // 0x8 field public static final int FLAG_PERMISSION_REVOKE_WHEN_REQUESTED = 128; // 0x80 field public static final int FLAG_PERMISSION_SYSTEM_FIXED = 16; // 0x10 field public static final int FLAG_PERMISSION_USER_FIXED = 2; // 0x2 field public static final int FLAG_PERMISSION_USER_SET = 1; // 0x1 field public static final int MATCH_FACTORY_ONLY = 2097152; // 0x200000 field public static final int MATCH_KNOWN_PACKAGES = 4202496; // 0x402000 + field public static final int MODULE_APEX_NAME = 1; // 0x1 field public static final String SYSTEM_SHARED_LIBRARY_SERVICES = "android.ext.services"; field public static final String SYSTEM_SHARED_LIBRARY_SHARED = "android.ext.shared"; } + public static interface PackageManager.OnPermissionsChangedListener { + method public void onPermissionsChanged(int); + } + public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable { field public static final int FLAG_REMOVED = 2; // 0x2 field public static final int PROTECTION_FLAG_APP_PREDICTOR = 2097152; // 0x200000 + field public static final int PROTECTION_FLAG_COMPANION = 8388608; // 0x800000 field public static final int PROTECTION_FLAG_CONFIGURATOR = 524288; // 0x80000 field public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000 field public static final int PROTECTION_FLAG_INCIDENT_REPORT_APPROVER = 1048576; // 0x100000 field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000 + field public static final int PROTECTION_FLAG_RETAIL_DEMO = 16777216; // 0x1000000 field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000 - field public static final int PROTECTION_FLAG_TELEPHONY = 4194304; // 0x400000 field public static final int PROTECTION_FLAG_VENDOR_PRIVILEGED = 32768; // 0x8000 field public static final int PROTECTION_FLAG_WELLBEING = 131072; // 0x20000 field @Nullable public final String backgroundPermission; } + public final class ProviderInfoList implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public static android.content.pm.ProviderInfoList fromList(@NonNull java.util.List<android.content.pm.ProviderInfo>); + method @NonNull public java.util.List<android.content.pm.ProviderInfo> getList(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ProviderInfoList> CREATOR; + } + public final class ShortcutInfo implements android.os.Parcelable { method public boolean isVisibleToPublisher(); } @@ -770,7 +1067,9 @@ package android.content.res { public final class AssetManager implements java.lang.AutoCloseable { method @NonNull public String[] getApkPaths(); - method @Nullable public java.util.Map<java.lang.String,java.lang.String> getOverlayableMap(String); + method @Nullable public String getLastResourceResolution(); + method @Nullable public String getOverlayablesToString(String); + method public void setResourceResolutionLoggingEnabled(boolean); } public final class Configuration implements java.lang.Comparable<android.content.res.Configuration> android.os.Parcelable { @@ -903,12 +1202,16 @@ package android.graphics.drawable { package android.hardware.camera2 { public abstract class CameraDevice implements java.lang.AutoCloseable { - method 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; + 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; field public static final int SESSION_OPERATION_MODE_CONSTRAINED_HIGH_SPEED = 1; // 0x1 field public static final int SESSION_OPERATION_MODE_NORMAL = 0; // 0x0 field public static final int SESSION_OPERATION_MODE_VENDOR_START = 32768; // 0x8000 } + public final class CameraManager { + method public String[] getCameraIdListNoLazy() throws android.hardware.camera2.CameraAccessException; + } + } package android.hardware.display { @@ -954,8 +1257,13 @@ package android.hardware.display { method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByCategory(int); method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByPackageName(@NonNull String); method public android.util.Pair<float[],float[]> getCurve(); + method public float getShortTermModelLowerLuxMultiplier(); + method public long getShortTermModelTimeoutMillis(); + method public float getShortTermModelUpperLuxMultiplier(); + method public boolean shouldCollectColorSamples(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessConfiguration> CREATOR; + field public static final long SHORT_TERM_TIMEOUT_UNSET = -1L; // 0xffffffffffffffffL } public static class BrightnessConfiguration.Builder { @@ -966,6 +1274,10 @@ package android.hardware.display { method public int getMaxCorrectionsByCategory(); method public int getMaxCorrectionsByPackageName(); method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setDescription(@Nullable String); + method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelLowerLuxMultiplier(@FloatRange(from=0.0f) float); + method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelTimeoutMillis(long); + method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelUpperLuxMultiplier(@FloatRange(from=0.0f) float); + method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShouldCollectColorSamples(boolean); } public final class BrightnessCorrection implements android.os.Parcelable { @@ -982,11 +1294,136 @@ package android.hardware.display { method @RequiresPermission(android.Manifest.permission.BRIGHTNESS_SLIDER_USAGE) public java.util.List<android.hardware.display.BrightnessChangeEvent> getBrightnessEvents(); method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getDefaultBrightnessConfiguration(); method public android.graphics.Point getStableDisplaySize(); + method public boolean isMinimalPostProcessingRequested(int); method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfiguration(android.hardware.display.BrightnessConfiguration); } } +package android.hardware.hdmi { + + public final class HdmiControlManager { + method @Nullable public android.hardware.hdmi.HdmiSwitchClient getSwitchClient(); + method @RequiresPermission("android.permission.HDMI_CEC") public void setStandbyMode(boolean); + field public static final String ACTION_OSD_MESSAGE = "android.hardware.hdmi.action.OSD_MESSAGE"; + field public static final int AVR_VOLUME_MUTED = 101; // 0x65 + field public static final int CLEAR_TIMER_STATUS_CEC_DISABLE = 162; // 0xa2 + field public static final int CLEAR_TIMER_STATUS_CHECK_RECORDER_CONNECTION = 160; // 0xa0 + field public static final int CLEAR_TIMER_STATUS_FAIL_TO_CLEAR_SELECTED_SOURCE = 161; // 0xa1 + field public static final int CLEAR_TIMER_STATUS_TIMER_CLEARED = 128; // 0x80 + field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_INFO_AVAILABLE = 2; // 0x2 + field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_MATCHING = 1; // 0x1 + field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_RECORDING = 0; // 0x0 + field public static final int CONTROL_STATE_CHANGED_REASON_SETTING = 1; // 0x1 + field public static final int CONTROL_STATE_CHANGED_REASON_STANDBY = 3; // 0x3 + field public static final int CONTROL_STATE_CHANGED_REASON_START = 0; // 0x0 + field public static final int CONTROL_STATE_CHANGED_REASON_WAKEUP = 2; // 0x2 + field public static final int DEVICE_EVENT_ADD_DEVICE = 1; // 0x1 + field public static final int DEVICE_EVENT_REMOVE_DEVICE = 2; // 0x2 + field public static final int DEVICE_EVENT_UPDATE_DEVICE = 3; // 0x3 + field public static final String EXTRA_MESSAGE_EXTRA_PARAM1 = "android.hardware.hdmi.extra.MESSAGE_EXTRA_PARAM1"; + field public static final String EXTRA_MESSAGE_ID = "android.hardware.hdmi.extra.MESSAGE_ID"; + field public static final int ONE_TOUCH_RECORD_ALREADY_RECORDING = 18; // 0x12 + field public static final int ONE_TOUCH_RECORD_CEC_DISABLED = 51; // 0x33 + field public static final int ONE_TOUCH_RECORD_CHECK_RECORDER_CONNECTION = 49; // 0x31 + field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_COPY = 13; // 0xd + field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_FUTHER_COPIES = 14; // 0xe + field public static final int ONE_TOUCH_RECORD_FAIL_TO_RECORD_DISPLAYED_SCREEN = 50; // 0x32 + field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PHYSICAL_ADDRESS = 10; // 0xa + field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PLUG_NUMBER = 9; // 0x9 + field public static final int ONE_TOUCH_RECORD_MEDIA_PROBLEM = 21; // 0x15 + field public static final int ONE_TOUCH_RECORD_MEDIA_PROTECTED = 19; // 0x13 + field public static final int ONE_TOUCH_RECORD_NOT_ENOUGH_SPACE = 22; // 0x16 + field public static final int ONE_TOUCH_RECORD_NO_MEDIA = 16; // 0x10 + field public static final int ONE_TOUCH_RECORD_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS = 12; // 0xc + field public static final int ONE_TOUCH_RECORD_NO_SOURCE_SIGNAL = 20; // 0x14 + field public static final int ONE_TOUCH_RECORD_OTHER_REASON = 31; // 0x1f + field public static final int ONE_TOUCH_RECORD_PARENT_LOCK_ON = 23; // 0x17 + field public static final int ONE_TOUCH_RECORD_PLAYING = 17; // 0x11 + field public static final int ONE_TOUCH_RECORD_PREVIOUS_RECORDING_IN_PROGRESS = 48; // 0x30 + field public static final int ONE_TOUCH_RECORD_RECORDING_ALREADY_TERMINATED = 27; // 0x1b + field public static final int ONE_TOUCH_RECORD_RECORDING_ANALOGUE_SERVICE = 3; // 0x3 + field public static final int ONE_TOUCH_RECORD_RECORDING_CURRENTLY_SELECTED_SOURCE = 1; // 0x1 + field public static final int ONE_TOUCH_RECORD_RECORDING_DIGITAL_SERVICE = 2; // 0x2 + field public static final int ONE_TOUCH_RECORD_RECORDING_EXTERNAL_INPUT = 4; // 0x4 + field public static final int ONE_TOUCH_RECORD_RECORDING_TERMINATED_NORMALLY = 26; // 0x1a + field public static final int ONE_TOUCH_RECORD_UNABLE_ANALOGUE_SERVICE = 6; // 0x6 + field public static final int ONE_TOUCH_RECORD_UNABLE_DIGITAL_SERVICE = 5; // 0x5 + field public static final int ONE_TOUCH_RECORD_UNABLE_SELECTED_SERVICE = 7; // 0x7 + field public static final int ONE_TOUCH_RECORD_UNSUPPORTED_CA = 11; // 0xb + field public static final int OSD_MESSAGE_ARC_CONNECTED_INVALID_PORT = 1; // 0x1 + field public static final int OSD_MESSAGE_AVR_VOLUME_CHANGED = 2; // 0x2 + field public static final int POWER_STATUS_ON = 0; // 0x0 + field public static final int POWER_STATUS_STANDBY = 1; // 0x1 + field public static final int POWER_STATUS_TRANSIENT_TO_ON = 2; // 0x2 + field public static final int POWER_STATUS_TRANSIENT_TO_STANDBY = 3; // 0x3 + field public static final int POWER_STATUS_UNKNOWN = -1; // 0xffffffff + field @Deprecated public static final int RESULT_ALREADY_IN_PROGRESS = 4; // 0x4 + field public static final int RESULT_COMMUNICATION_FAILED = 7; // 0x7 + field public static final int RESULT_EXCEPTION = 5; // 0x5 + field public static final int RESULT_INCORRECT_MODE = 6; // 0x6 + field public static final int RESULT_SOURCE_NOT_AVAILABLE = 2; // 0x2 + field public static final int RESULT_SUCCESS = 0; // 0x0 + field public static final int RESULT_TARGET_NOT_AVAILABLE = 3; // 0x3 + field public static final int RESULT_TIMEOUT = 1; // 0x1 + field public static final int TIMER_RECORDING_RESULT_EXTRA_CEC_DISABLED = 3; // 0x3 + field public static final int TIMER_RECORDING_RESULT_EXTRA_CHECK_RECORDER_CONNECTION = 1; // 0x1 + field public static final int TIMER_RECORDING_RESULT_EXTRA_FAIL_TO_RECORD_SELECTED_SOURCE = 2; // 0x2 + field public static final int TIMER_RECORDING_RESULT_EXTRA_NO_ERROR = 0; // 0x0 + field public static final int TIMER_RECORDING_TYPE_ANALOGUE = 2; // 0x2 + field public static final int TIMER_RECORDING_TYPE_DIGITAL = 1; // 0x1 + field public static final int TIMER_RECORDING_TYPE_EXTERNAL = 3; // 0x3 + field public static final int TIMER_STATUS_MEDIA_INFO_NOT_PRESENT = 2; // 0x2 + field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_NOT_PROTECTED = 0; // 0x0 + field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_PROTECTED = 1; // 0x1 + field public static final int TIMER_STATUS_NOT_PROGRAMMED_CA_NOT_SUPPORTED = 6; // 0x6 + field public static final int TIMER_STATUS_NOT_PROGRAMMED_CLOCK_FAILURE = 10; // 0xa + field public static final int TIMER_STATUS_NOT_PROGRAMMED_DATE_OUT_OF_RANGE = 2; // 0x2 + field public static final int TIMER_STATUS_NOT_PROGRAMMED_DUPLICATED = 14; // 0xe + field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PHYSICAL_NUMBER = 5; // 0x5 + field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PLUG_NUMBER = 4; // 0x4 + field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_SEQUENCE = 3; // 0x3 + field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_CA_ENTITLEMENTS = 7; // 0x7 + field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_FREE_TIME = 1; // 0x1 + field public static final int TIMER_STATUS_NOT_PROGRAMMED_PARENTAL_LOCK_ON = 9; // 0x9 + field public static final int TIMER_STATUS_NOT_PROGRAMMED_UNSUPPORTED_RESOLUTION = 8; // 0x8 + field public static final int TIMER_STATUS_PROGRAMMED_INFO_ENOUGH_SPACE = 8; // 0x8 + field public static final int TIMER_STATUS_PROGRAMMED_INFO_MIGHT_NOT_ENOUGH_SPACE = 11; // 0xb + field public static final int TIMER_STATUS_PROGRAMMED_INFO_NOT_ENOUGH_SPACE = 9; // 0x9 + field public static final int TIMER_STATUS_PROGRAMMED_INFO_NO_MEDIA_INFO = 10; // 0xa + } + + public final class HdmiControlServiceWrapper { + ctor public HdmiControlServiceWrapper(); + method @NonNull public android.hardware.hdmi.HdmiControlManager createHdmiControlManager(); + method @BinderThread public void setDeviceTypes(@NonNull int[]); + method @BinderThread public void setPortInfo(@NonNull java.util.List<android.hardware.hdmi.HdmiPortInfo>); + field public static final int DEVICE_PURE_CEC_SWITCH = 6; // 0x6 + } + + public final class HdmiPortInfo implements android.os.Parcelable { + ctor public HdmiPortInfo(int, int, int, boolean, boolean, boolean); + method public int describeContents(); + method public int getAddress(); + method public int getId(); + method public int getType(); + method public boolean isArcSupported(); + method public boolean isCecSupported(); + method public boolean isMhlSupported(); + field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiPortInfo> CREATOR; + field public static final int PORT_INPUT = 0; // 0x0 + field public static final int PORT_OUTPUT = 1; // 0x1 + } + + public class HdmiSwitchClient { + method public int getDeviceType(); + method @NonNull public java.util.List<android.hardware.hdmi.HdmiPortInfo> getPortInfo(); + method public void sendKeyEvent(int, boolean); + method public void sendVendorCommand(int, byte[], boolean); + } + +} + package android.hardware.lights { public final class Light implements android.os.Parcelable { @@ -1015,7 +1452,7 @@ package android.hardware.lights { public final class LightsManager.LightsSession implements java.lang.AutoCloseable { method @RequiresPermission(android.Manifest.permission.CONTROL_DEVICE_LIGHTS) public void close(); - method @RequiresPermission(android.Manifest.permission.CONTROL_DEVICE_LIGHTS) public void setLights(@NonNull android.hardware.lights.LightsRequest); + method @RequiresPermission(android.Manifest.permission.CONTROL_DEVICE_LIGHTS) public void requestLights(@NonNull android.hardware.lights.LightsRequest); } public final class LightsRequest { @@ -1030,6 +1467,114 @@ package android.hardware.lights { } +package android.hardware.soundtrigger { + + public class KeyphraseEnrollmentInfo { + ctor public KeyphraseEnrollmentInfo(@NonNull android.content.pm.PackageManager); + method @Nullable public android.hardware.soundtrigger.KeyphraseMetadata getKeyphraseMetadata(@NonNull String, @NonNull java.util.Locale); + method @Nullable public android.content.Intent getManageKeyphraseIntent(int, @NonNull String, @NonNull java.util.Locale); + method @NonNull public String getParseError(); + method @NonNull public java.util.Collection<android.hardware.soundtrigger.KeyphraseMetadata> listKeyphraseMetadata(); + field public static final int MANAGE_ACTION_ENROLL = 0; // 0x0 + field public static final int MANAGE_ACTION_RE_ENROLL = 1; // 0x1 + field public static final int MANAGE_ACTION_UN_ENROLL = 2; // 0x2 + } + + public final class KeyphraseMetadata implements android.os.Parcelable { + ctor public KeyphraseMetadata(int, @NonNull String, @NonNull java.util.Set<java.util.Locale>, int); + method public int describeContents(); + method public int getId(); + method @NonNull public String getKeyphrase(); + method public int getRecognitionModeFlags(); + method @NonNull public java.util.Set<java.util.Locale> getSupportedLocales(); + method public boolean supportsLocale(@Nullable java.util.Locale); + method public boolean supportsPhrase(@Nullable String); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.KeyphraseMetadata> CREATOR; + } + + public class SoundTrigger { + field public static final int RECOGNITION_MODE_GENERIC = 8; // 0x8 + field public static final int RECOGNITION_MODE_USER_AUTHENTICATION = 4; // 0x4 + field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2 + field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1 + field public static final int STATUS_OK = 0; // 0x0 + } + + public static final class SoundTrigger.Keyphrase implements android.os.Parcelable { + ctor public SoundTrigger.Keyphrase(int, int, @NonNull java.util.Locale, @NonNull String, @Nullable int[]); + method public int getId(); + method @NonNull public java.util.Locale getLocale(); + method public int getRecognitionModes(); + method @NonNull public String getText(); + method @NonNull public int[] getUsers(); + method @NonNull public static android.hardware.soundtrigger.SoundTrigger.Keyphrase readFromParcel(@NonNull android.os.Parcel); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.Keyphrase> CREATOR; + } + + public static final class SoundTrigger.KeyphraseSoundModel extends android.hardware.soundtrigger.SoundTrigger.SoundModel implements android.os.Parcelable { + ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[], int); + ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[]); + method @NonNull public android.hardware.soundtrigger.SoundTrigger.Keyphrase[] getKeyphrases(); + method @NonNull public static android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel readFromParcel(@NonNull android.os.Parcel); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel> CREATOR; + } + + public static final class SoundTrigger.ModelParamRange implements android.os.Parcelable { + ctor public SoundTrigger.ModelParamRange(int, int); + method public int getEnd(); + method public int getStart(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModelParamRange> CREATOR; + } + + public static final class SoundTrigger.ModuleProperties implements android.os.Parcelable { + ctor public SoundTrigger.ModuleProperties(int, @NonNull String, @NonNull String, @NonNull String, int, @NonNull String, int, int, int, int, boolean, int, boolean, int, boolean, int); + method public int describeContents(); + method public int getAudioCapabilities(); + method @NonNull public String getDescription(); + method public int getId(); + method @NonNull public String getImplementor(); + method public int getMaxBufferMillis(); + method public int getMaxKeyphrases(); + method public int getMaxSoundModels(); + method public int getMaxUsers(); + method public int getPowerConsumptionMw(); + method public int getRecognitionModes(); + method @NonNull public String getSupportedModelArch(); + method @NonNull public java.util.UUID getUuid(); + method public int getVersion(); + method public boolean isCaptureTransitionSupported(); + method public boolean isConcurrentCaptureSupported(); + method public boolean isTriggerReturnedInEvent(); + method public void writeToParcel(android.os.Parcel, int); + field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1 + field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2 + field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModuleProperties> CREATOR; + } + + public static class SoundTrigger.RecognitionEvent { + ctor public SoundTrigger.RecognitionEvent(int, int, boolean, int, int, int, boolean, @NonNull android.media.AudioFormat, @Nullable byte[]); + method @Nullable public android.media.AudioFormat getCaptureFormat(); + method public int getCaptureSession(); + method public byte[] getData(); + method public boolean isCaptureAvailable(); + } + + public static class SoundTrigger.SoundModel { + method @NonNull public byte[] getData(); + method public int getType(); + method @NonNull public java.util.UUID getUuid(); + method @NonNull public java.util.UUID getVendorUuid(); + method public int getVersion(); + field public static final int TYPE_GENERIC_SOUND = 1; // 0x1 + field public static final int TYPE_KEYPHRASE = 0; // 0x0 + } + +} + package android.location { public final class GnssClock implements android.os.Parcelable { @@ -1043,6 +1588,9 @@ package android.location { method public void resetElapsedRealtimeUncertaintyNanos(); method public void resetFullBiasNanos(); method public void resetLeapSecond(); + method public void resetReferenceCarrierFrequencyHzForIsb(); + method public void resetReferenceCodeTypeForIsb(); + method public void resetReferenceConstellationTypeForIsb(); method public void resetTimeUncertaintyNanos(); method public void set(android.location.GnssClock); method public void setBiasNanos(double); @@ -1054,6 +1602,9 @@ package android.location { method public void setFullBiasNanos(long); method public void setHardwareClockDiscontinuityCount(int); method public void setLeapSecond(int); + method public void setReferenceCarrierFrequencyHzForIsb(@FloatRange(from=0.0) double); + method public void setReferenceCodeTypeForIsb(@NonNull String); + method public void setReferenceConstellationTypeForIsb(int); method public void setTimeNanos(long); method public void setTimeUncertaintyNanos(@FloatRange(from=0.0f) double); } @@ -1062,17 +1613,23 @@ package android.location { ctor public GnssMeasurement(); method public void reset(); method public void resetAutomaticGainControlLevel(); + method public void resetBasebandCn0DbHz(); method @Deprecated public void resetCarrierCycles(); method public void resetCarrierFrequencyHz(); method @Deprecated public void resetCarrierPhase(); method @Deprecated public void resetCarrierPhaseUncertainty(); method public void resetCodeType(); + method public void resetFullInterSignalBiasNanos(); + method public void resetFullInterSignalBiasUncertaintyNanos(); + method public void resetSatelliteInterSignalBiasNanos(); + method public void resetSatelliteInterSignalBiasUncertaintyNanos(); method public void resetSnrInDb(); method public void set(android.location.GnssMeasurement); method public void setAccumulatedDeltaRangeMeters(double); method public void setAccumulatedDeltaRangeState(int); method public void setAccumulatedDeltaRangeUncertaintyMeters(double); method public void setAutomaticGainControlLevelInDb(double); + method public void setBasebandCn0DbHz(double); method @Deprecated public void setCarrierCycles(long); method public void setCarrierFrequencyHz(float); method @Deprecated public void setCarrierPhase(double); @@ -1080,11 +1637,15 @@ package android.location { method public void setCn0DbHz(double); method public void setCodeType(@NonNull String); method public void setConstellationType(int); + method public void setFullInterSignalBiasNanos(double); + method public void setFullInterSignalBiasUncertaintyNanos(@FloatRange(from=0.0) double); method public void setMultipathIndicator(int); method public void setPseudorangeRateMetersPerSecond(double); method public void setPseudorangeRateUncertaintyMetersPerSecond(double); method public void setReceivedSvTimeNanos(long); method public void setReceivedSvTimeUncertaintyNanos(long); + method public void setSatelliteInterSignalBiasNanos(double); + method public void setSatelliteInterSignalBiasUncertaintyNanos(@FloatRange(from=0.0) double); method public void setSnrInDb(double); method public void setState(int); method public void setSvid(int); @@ -1110,31 +1671,39 @@ package android.location { public class Location implements android.os.Parcelable { method public void makeComplete(); + field @Deprecated public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation"; } public class LocationManager { method @NonNull public String[] getBackgroundThrottlingWhitelist(); + 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>); method @NonNull public String[] getIgnoreSettingsWhitelist(); + method @Nullable @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public java.util.List<java.lang.String> getProviderPackages(@NonNull String); method @NonNull public java.util.List<android.location.LocationRequest> getTestProviderCurrentRequests(String); - method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull android.location.LocationRequest, @NonNull android.location.LocationListener, @Nullable android.os.Looper); - method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull android.location.LocationRequest, @NonNull android.app.PendingIntent); + 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); + 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); + 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); method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle); + field public static final String FUSED_PROVIDER = "fused"; } public final class LocationRequest implements android.os.Parcelable { method @NonNull public static android.location.LocationRequest create(); method public int describeContents(); - method public long getExpireAt(); + method @Deprecated public long getExpireAt(); + method public long getExpireIn(); method public long getFastestInterval(); method public long getInterval(); method public int getNumUpdates(); method public int getQuality(); method public boolean isLocationSettingsIgnored(); - method @NonNull public android.location.LocationRequest setExpireAt(long); + method public boolean isLowPowerMode(); + method @Deprecated @NonNull public android.location.LocationRequest setExpireAt(long); method @NonNull public android.location.LocationRequest setExpireIn(long); method @NonNull public android.location.LocationRequest setFastestInterval(long); method @NonNull public android.location.LocationRequest setInterval(long); method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LocationRequest setLocationSettingsIgnored(boolean); + method @NonNull public android.location.LocationRequest setLowPowerMode(boolean); method @NonNull public android.location.LocationRequest setNumUpdates(int); method @NonNull public android.location.LocationRequest setProvider(@NonNull String); method @NonNull public android.location.LocationRequest setQuality(int); @@ -1216,6 +1785,10 @@ package android.media { field public static final String SAMPLE_RATE = "android.media.audiotrack.sampleRate"; } + public final class MediaCas implements java.lang.AutoCloseable { + method public void forceResourceLost(); + } + public static final class MediaCodecInfo.VideoCapabilities.PerformancePoint { ctor public MediaCodecInfo.VideoCapabilities.PerformancePoint(int, int, int, int, @NonNull android.util.Size); ctor public MediaCodecInfo.VideoCapabilities.PerformancePoint(@NonNull android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint, @NonNull android.util.Size); @@ -1224,6 +1797,14 @@ package android.media { method public int getMaxMacroBlocks(); } + public final class MediaRoute2Info implements android.os.Parcelable { + method @NonNull public String getOriginalId(); + } + + public class MediaRouter2.RoutingController { + method @NonNull public String getOriginalId(); + } + public final class PlaybackParams implements android.os.Parcelable { method public int getAudioStretchMode(); method public android.media.PlaybackParams setAudioStretchMode(int); @@ -1293,6 +1874,7 @@ package android.media.audiopolicy { field public static final int RULE_MATCH_ATTRIBUTE_CAPTURE_PRESET = 2; // 0x2 field public static final int RULE_MATCH_ATTRIBUTE_USAGE = 1; // 0x1 field public static final int RULE_MATCH_UID = 4; // 0x4 + field public static final int RULE_MATCH_USERID = 8; // 0x8 } public static class AudioMixingRule.Builder { @@ -1313,9 +1895,11 @@ package android.media.audiopolicy { method public int getFocusDuckingBehavior(); method public int getStatus(); method public boolean removeUidDeviceAffinity(int); + method public boolean removeUserIdDeviceAffinity(int); method public int setFocusDuckingBehavior(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException; method public void setRegistration(String); method public boolean setUidDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>); + method public boolean setUserIdDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>); method public String toLogFriendlyString(); field public static final int FOCUS_POLICY_DUCKING_DEFAULT = 0; // 0x0 field public static final int FOCUS_POLICY_DUCKING_IN_APP = 0; // 0x0 @@ -1357,6 +1941,15 @@ package android.media.audiopolicy { } +package android.media.tv { + + public final class TvInputManager { + method public void addHardwareDevice(int); + method public void removeHardwareDevice(int); + } + +} + package android.metrics { public class LogMaker { @@ -1527,7 +2120,7 @@ package android.net { field public static final int TRANSPORT_TEST = 7; // 0x7 } - public static class NetworkCapabilities.Builder { + public static final class NetworkCapabilities.Builder { ctor public NetworkCapabilities.Builder(); ctor public NetworkCapabilities.Builder(@NonNull android.net.NetworkCapabilities); method @NonNull public android.net.NetworkCapabilities.Builder addCapability(int); @@ -1899,6 +2492,7 @@ package android.os { public final class BugreportManager { method @RequiresPermission(android.Manifest.permission.DUMP) public void cancelBugreport(); + method @RequiresPermission(android.Manifest.permission.DUMP) public void requestBugreport(@NonNull android.os.BugreportParams, @Nullable CharSequence, @Nullable CharSequence); 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); } @@ -1943,12 +2537,17 @@ package android.os { public class Environment { method public static java.io.File buildPath(java.io.File, java.lang.String...); + method @NonNull public static java.io.File getOdmDirectory(); + method @NonNull public static java.io.File getOemDirectory(); method @NonNull public static java.io.File getProductDirectory(); - method @NonNull public static java.io.File getStorageDirectory(); + method @NonNull public static java.io.File getSystemExtDirectory(); + method @NonNull public static java.io.File getVendorDirectory(); } public final class FileUtils { method public static boolean contains(java.io.File, java.io.File); + method @NonNull public static byte[] digest(@NonNull java.io.File, @NonNull String) throws java.io.IOException, java.security.NoSuchAlgorithmException; + method @NonNull public static byte[] digest(@NonNull java.io.InputStream, @NonNull String) throws java.io.IOException, java.security.NoSuchAlgorithmException; } public class HidlMemory implements java.io.Closeable { @@ -1959,7 +2558,7 @@ package android.os { method @Nullable public android.os.NativeHandle getHandle(); method @NonNull public String getName(); method public long getSize(); - method @NonNull public android.os.NativeHandle releaseHandle(); + method @Nullable public android.os.NativeHandle releaseHandle(); } public abstract class HwBinder implements android.os.IHwBinder { @@ -2077,9 +2676,6 @@ package android.os { field public static final int STATUS_SUCCESS = 0; // 0x0 } - @IntDef(prefix={"STATUS_"}, value={android.os.HwParcel.STATUS_SUCCESS}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface HwParcel.Status { - } - public interface IHwBinder { method public boolean linkToDeath(android.os.IHwBinder.DeathRecipient, long); method public android.os.IHwInterface queryLocalInterface(String); @@ -2103,8 +2699,10 @@ package android.os { method @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public android.os.IncidentManager.IncidentReport getIncidentReport(android.net.Uri); method @NonNull @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public java.util.List<android.net.Uri> getIncidentReportList(String); method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public java.util.List<android.os.IncidentManager.PendingReport> getPendingReports(); + method public void registerSection(int, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.IncidentManager.DumpCallback); method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void reportIncident(android.os.IncidentReportArgs); method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void requestAuthorization(int, String, int, android.os.IncidentManager.AuthListener); + method public void unregisterSection(int); field public static final int FLAG_CONFIRMATION_DIALOG = 1; // 0x1 field public static final int PRIVACY_POLICY_AUTO = 200; // 0xc8 field public static final int PRIVACY_POLICY_EXPLICIT = 100; // 0x64 @@ -2117,6 +2715,11 @@ package android.os { method public void onReportDenied(); } + public static class IncidentManager.DumpCallback { + ctor public IncidentManager.DumpCallback(); + method public void onDumpSection(int, @NonNull java.io.OutputStream); + } + public static class IncidentManager.IncidentReport implements java.io.Closeable android.os.Parcelable { ctor public IncidentManager.IncidentReport(android.os.Parcel); method public void close(); @@ -2170,7 +2773,9 @@ package android.os { } public final class Parcel { + method public boolean allowSquashing(); method public int readExceptionCode(); + method public void restoreAllowSquashing(boolean); } public class ParcelFileDescriptor implements java.io.Closeable android.os.Parcelable { @@ -2185,6 +2790,16 @@ package android.os { field public static final int POWER_SAVE_MODE_TRIGGER_PERCENTAGE = 0; // 0x0 } + public class PowerWhitelistManager { + method @RequiresPermission("android.permission.DEVICE_POWER") public void addToWhitelist(@NonNull String); + method @RequiresPermission("android.permission.DEVICE_POWER") public void addToWhitelist(@NonNull java.util.List<java.lang.String>); + method @RequiresPermission("android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST") public void whitelistAppTemporarily(@NonNull String, long); + method @RequiresPermission("android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST") public long whitelistAppTemporarilyForEvent(@NonNull String, int, @NonNull String); + field public static final int EVENT_MMS = 2; // 0x2 + field public static final int EVENT_SMS = 1; // 0x1 + field public static final int EVENT_UNSPECIFIED = 0; // 0x0 + } + public class Process { method public static final int getThreadScheduler(int) throws java.lang.IllegalArgumentException; field public static final int FIRST_APP_ZYGOTE_ISOLATED_UID = 90000; // 0x15f90 @@ -2239,26 +2854,55 @@ package android.os { method public void log(android.os.StrictMode.ViolationInfo); } + public static final class StrictMode.VmPolicy.Builder { + method @NonNull public android.os.StrictMode.VmPolicy.Builder detectIncorrectContextUse(); + method @NonNull public android.os.StrictMode.VmPolicy.Builder permitIncorrectContextUse(); + } + + public class SystemConfigManager { + method @NonNull @RequiresPermission("android.permission.READ_CARRIER_APP_INFO") public java.util.Set<java.lang.String> getDisabledUntilUsedPreinstalledCarrierApps(); + method @NonNull @RequiresPermission("android.permission.READ_CARRIER_APP_INFO") public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getDisabledUntilUsedPreinstalledCarrierAssociatedApps(); + } + public class SystemProperties { method @NonNull public static String get(@NonNull String); method @NonNull public static String get(@NonNull String, @Nullable String); method public static boolean getBoolean(@NonNull String, boolean); + method public static int getInt(@NonNull String, int); + method public static long getLong(@NonNull String, long); } public final class UserHandle implements android.os.Parcelable { method public static int getAppId(int); method public int getIdentifier(); + method public static int getUid(int, int); + method public static int getUserId(int); method public static boolean isApp(int); + method public static int myUserId(); + method public static android.os.UserHandle of(int); field @NonNull public static final android.os.UserHandle ALL; field @NonNull public static final android.os.UserHandle CURRENT; + field public static final int MIN_SECONDARY_USER_ID = 10; // 0xa field @NonNull public static final android.os.UserHandle SYSTEM; + field public static final int USER_ALL = -1; // 0xffffffff + field public static final int USER_NULL = -10000; // 0xffffd8f0 + field public static final int USER_SYSTEM = 0; // 0x0 } public class UserManager { + method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.CREATE_USERS"}) public boolean hasBaseUserRestriction(@NonNull String, @NonNull android.os.UserHandle); method public static boolean isSplitSystemUser(); field public static final String ACTION_USER_RESTRICTIONS_CHANGED = "android.os.action.USER_RESTRICTIONS_CHANGED"; } + public final class VibrationAttributes implements android.os.Parcelable { + method @Deprecated @NonNull public android.media.AudioAttributes getAudioAttributes(); + } + + public static final class VibrationAttributes.Builder { + ctor public VibrationAttributes.Builder(@NonNull android.media.AudioAttributes, @Nullable android.os.VibrationEffect); + } + public abstract class VibrationEffect implements android.os.Parcelable { method public static android.os.VibrationEffect get(int); method public static android.os.VibrationEffect get(int, boolean); @@ -2311,6 +2955,17 @@ package android.os { field @NonNull public static final android.os.Parcelable.Creator<android.os.VibrationEffect.Waveform> CREATOR; } + public abstract class Vibrator { + method @RequiresPermission("android.permission.ACCESS_VIBRATOR_STATE") public void addVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener); + method @RequiresPermission("android.permission.ACCESS_VIBRATOR_STATE") public void addVibratorStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.Vibrator.OnVibratorStateChangedListener); + method @RequiresPermission("android.permission.ACCESS_VIBRATOR_STATE") public boolean isVibrating(); + method @RequiresPermission("android.permission.ACCESS_VIBRATOR_STATE") public void removeVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener); + } + + public static interface Vibrator.OnVibratorStateChangedListener { + method public void onVibratorStateChanged(boolean); + } + public class VintfObject { method public static String[] getHalNamesAndVersions(); method public static String getSepolicyVersion(); @@ -2334,10 +2989,12 @@ package android.os { method public boolean add(int); method public boolean add(int, String); method @Deprecated public android.os.WorkSource addReturningNewbs(android.os.WorkSource); - method public int get(int); - method public String getName(int); + method @Nullable public String getPackageName(int); + method public int getUid(int); + method public boolean isEmpty(); method @Deprecated public android.os.WorkSource[] setReturningDiffs(android.os.WorkSource); method public int size(); + method @NonNull public android.os.WorkSource withoutNames(); } } @@ -2429,6 +3086,17 @@ package android.os.image { package android.os.storage { + public final class CrateInfo implements android.os.Parcelable { + ctor public CrateInfo(@NonNull CharSequence, long); + ctor public CrateInfo(@NonNull CharSequence); + method @Nullable public static android.os.storage.CrateInfo copyFrom(int, @Nullable String, @Nullable String); + method public int describeContents(); + method public long getExpirationMillis(); + method @NonNull public CharSequence getLabel(); + method public void writeToParcel(@Nullable android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.os.storage.CrateInfo> CREATOR; + } + public class StorageManager { method public static boolean hasIsolatedStorage(); } @@ -2449,14 +3117,23 @@ package android.os.strictmode { package android.permission { public final class PermissionControllerManager { + method @RequiresPermission(anyOf={"android.permission.GRANT_RUNTIME_PERMISSIONS", "android.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>); + method @RequiresPermission("android.permission.GET_RUNTIME_PERMISSIONS") public void countPermissionApps(@NonNull java.util.List<java.lang.String>, int, @NonNull android.permission.PermissionControllerManager.OnCountPermissionAppsResultCallback, @Nullable android.os.Handler); method @RequiresPermission("android.permission.GET_RUNTIME_PERMISSIONS") public void getAppPermissions(@NonNull String, @NonNull android.permission.PermissionControllerManager.OnGetAppPermissionResultCallback, @Nullable android.os.Handler); + method @RequiresPermission("android.permission.GET_RUNTIME_PERMISSIONS") public void getRuntimePermissionBackup(@NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<byte[]>); + method @RequiresPermission("android.permission.REVOKE_RUNTIME_PERMISSIONS") public void revokeRuntimePermission(@NonNull String, @NonNull String); method @RequiresPermission("android.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); + method @RequiresPermission(anyOf={"android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.RESTORE_RUNTIME_PERMISSIONS"}) public void stageAndApplyRuntimePermissionsBackup(@NonNull byte[], @NonNull android.os.UserHandle); field public static final int COUNT_ONLY_WHEN_GRANTED = 1; // 0x1 field public static final int COUNT_WHEN_SYSTEM = 2; // 0x2 field public static final int REASON_INSTALLER_POLICY_VIOLATION = 2; // 0x2 field public static final int REASON_MALWARE = 1; // 0x1 } + public static interface PermissionControllerManager.OnCountPermissionAppsResultCallback { + method public void onCountPermissionApps(int); + } + public static interface PermissionControllerManager.OnGetAppPermissionResultCallback { method public void onGetAppPermissions(@NonNull java.util.List<android.permission.RuntimePermissionPresentationInfo>); } @@ -2467,9 +3144,9 @@ package android.permission { } public final class PermissionManager { - method @IntRange(from=0) @RequiresPermission("android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY") public int getRuntimePermissionsVersion(); + method @IntRange(from=0) @RequiresPermission(anyOf={"android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY", android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public int getRuntimePermissionsVersion(); method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions(); - method @RequiresPermission("android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY") public void setRuntimePermissionsVersion(@IntRange(from=0) int); + method @RequiresPermission(anyOf={"android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY", android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public void setRuntimePermissionsVersion(@IntRange(from=0) int); } public static final class PermissionManager.SplitPermissionInfo { @@ -2505,6 +3182,11 @@ package android.print { package android.provider { + public interface AndroidDeviceConfig { + field public static final String KEY_SYSTEM_GESTURES_EXCLUDED_BY_PRE_Q_STICKY_IMMERSIVE = "system_gestures_excluded_by_pre_q_sticky_immersive"; + field public static final String KEY_SYSTEM_GESTURE_EXCLUSION_LIMIT_DP = "system_gesture_exclusion_limit_dp"; + } + public static final class CalendarContract.Calendars implements android.provider.BaseColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.SyncColumns { field public static final String[] SYNC_WRITABLE_COLUMNS; } @@ -2535,17 +3217,25 @@ package android.provider { method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static float getFloat(@NonNull String, @NonNull String, float); method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static int getInt(@NonNull String, @NonNull String, int); method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static long getLong(@NonNull String, @NonNull String, long); + method @NonNull @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static android.provider.DeviceConfig.Properties getProperties(@NonNull String, @NonNull java.lang.String...); method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static String getProperty(@NonNull String, @NonNull String); method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static String getString(@NonNull String, @NonNull String, @Nullable String); method public static void removeOnPropertiesChangedListener(@NonNull android.provider.DeviceConfig.OnPropertiesChangedListener); method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static void resetToDefaults(int, @Nullable String); + method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperties(@NonNull android.provider.DeviceConfig.Properties) throws android.provider.DeviceConfig.BadConfigException; method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperty(@NonNull String, @NonNull String, @Nullable String, boolean); + field public static final String NAMESPACE_ANDROID = "android"; field public static final String NAMESPACE_AUTOFILL = "autofill"; + field public static final String NAMESPACE_BIOMETRICS = "biometrics"; field public static final String NAMESPACE_CONTENT_CAPTURE = "content_capture"; + field public static final String NAMESPACE_PERMISSIONS = "permissions"; field public static final String NAMESPACE_PRIVACY = "privacy"; field public static final String NAMESPACE_ROLLBACK = "rollback"; field public static final String NAMESPACE_ROLLBACK_BOOT = "rollback_boot"; - field public static final String NAMESPACE_WINDOW_MANAGER = "android:window_manager"; + } + + public static class DeviceConfig.BadConfigException extends java.lang.Exception { + ctor public DeviceConfig.BadConfigException(); } public static interface DeviceConfig.OnPropertiesChangedListener { @@ -2562,36 +3252,44 @@ package android.provider { method @Nullable public String getString(@NonNull String, @Nullable String); } - public static interface DeviceConfig.WindowManager { - field public static final String KEY_SYSTEM_GESTURES_EXCLUDED_BY_PRE_Q_STICKY_IMMERSIVE = "system_gestures_excluded_by_pre_q_sticky_immersive"; - field public static final String KEY_SYSTEM_GESTURE_EXCLUSION_LIMIT_DP = "system_gesture_exclusion_limit_dp"; + public static final class DeviceConfig.Properties.Builder { + ctor public DeviceConfig.Properties.Builder(@NonNull String); + method @NonNull public android.provider.DeviceConfig.Properties build(); + method @NonNull public android.provider.DeviceConfig.Properties.Builder setBoolean(@NonNull String, boolean); + method @NonNull public android.provider.DeviceConfig.Properties.Builder setFloat(@NonNull String, float); + method @NonNull public android.provider.DeviceConfig.Properties.Builder setInt(@NonNull String, int); + method @NonNull public android.provider.DeviceConfig.Properties.Builder setLong(@NonNull String, long); + method @NonNull public android.provider.DeviceConfig.Properties.Builder setString(@NonNull String, @Nullable String); + } + + public final class DocumentsContract { + method public static boolean isManageMode(@NonNull android.net.Uri); + method @NonNull public static android.net.Uri setManageMode(@NonNull android.net.Uri); } public final class MediaStore { - method @RequiresPermission(android.Manifest.permission.CLEAR_APP_USER_DATA) public static void deleteContributedMedia(android.content.Context, String, android.os.UserHandle) throws java.io.IOException; - method @RequiresPermission(android.Manifest.permission.CLEAR_APP_USER_DATA) public static long getContributedMediaSize(android.content.Context, String, android.os.UserHandle) throws java.io.IOException; - method @NonNull public static java.io.File getVolumePath(@NonNull String) throws java.io.FileNotFoundException; - method @NonNull public static java.util.Collection<java.io.File> getVolumeScanPaths(@NonNull String) throws java.io.FileNotFoundException; - method public static android.net.Uri scanFile(android.content.Context, java.io.File); - method public static android.net.Uri scanFileFromShell(android.content.Context, java.io.File); - method public static void scanVolume(android.content.Context, java.io.File); - method public static void waitForIdle(android.content.Context); + method @NonNull @WorkerThread public static android.net.Uri scanFile(@NonNull android.content.ContentResolver, @NonNull java.io.File); + method @WorkerThread public static void scanVolume(@NonNull android.content.ContentResolver, @NonNull String); + method @WorkerThread public static void waitForIdle(@NonNull android.content.ContentResolver); } public final class Settings { field public static final String ACTION_ENTERPRISE_PRIVACY_SETTINGS = "android.settings.ENTERPRISE_PRIVACY_SETTINGS"; + field public static final String ACTION_MANAGE_APP_OVERLAY_PERMISSION = "android.settings.MANAGE_APP_OVERLAY_PERMISSION"; field public static final String ACTION_REQUEST_ENABLE_CONTENT_CAPTURE = "android.settings.REQUEST_ENABLE_CONTENT_CAPTURE"; field public static final String ACTION_TETHER_PROVISIONING_UI = "android.settings.TETHER_PROVISIONING_UI"; field public static final int RESET_MODE_PACKAGE_DEFAULTS = 1; // 0x1 } public static final class Settings.Global extends android.provider.Settings.NameValueTable { + field public static final String APP_OPS_CONSTANTS = "app_ops_constants"; field public static final String AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES = "autofill_compat_mode_allowed_packages"; field public static final String AUTOMATIC_POWER_SAVE_MODE = "automatic_power_save_mode"; field public static final String BATTERY_SAVER_CONSTANTS = "battery_saver_constants"; field public static final String DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD = "dynamic_power_savings_disable_threshold"; field public static final String DYNAMIC_POWER_SAVINGS_ENABLED = "dynamic_power_savings_enabled"; field public static final String HIDDEN_API_BLACKLIST_EXEMPTIONS = "hidden_api_blacklist_exemptions"; + field public static final String HIDE_ERROR_DIALOGS = "hide_error_dialogs"; field public static final String LOCATION_GLOBAL_KILL_SWITCH = "location_global_kill_switch"; field public static final String LOCATION_IGNORE_SETTINGS_PACKAGE_WHITELIST = "location_ignore_settings_package_whitelist"; field public static final String LOW_POWER_MODE = "low_power"; @@ -2618,10 +3316,15 @@ package android.provider { field public static final String DOZE_ALWAYS_ON = "doze_always_on"; field @Deprecated public static final String ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES = "enabled_notification_policy_access_packages"; field public static final String ENABLED_VR_LISTENERS = "enabled_vr_listeners"; + field public static final String IMMERSIVE_MODE_CONFIRMATIONS = "immersive_mode_confirmations"; field public static final String LOCATION_ACCESS_CHECK_DELAY_MILLIS = "location_access_check_delay_millis"; field public static final String LOCATION_ACCESS_CHECK_INTERVAL_MILLIS = "location_access_check_interval_millis"; + field public static final String LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS = "lock_screen_allow_private_notifications"; + field public static final String LOCK_SCREEN_SHOW_NOTIFICATIONS = "lock_screen_show_notifications"; + field public static final String NFC_PAYMENT_DEFAULT_COMPONENT = "nfc_payment_default_component"; field public static final String NOTIFICATION_BADGING = "notification_badging"; - field @Deprecated public static final String NOTIFICATION_BUBBLES = "notification_bubbles"; + field public static final String POWER_MENU_LOCKED_SHOW_CONTENT = "power_menu_locked_show_content"; + field public static final String SHOW_IME_WITH_HARD_KEYBOARD = "show_ime_with_hard_keyboard"; field @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static final String SYNC_PARENT_SOUNDS = "sync_parent_sounds"; field public static final String USER_SETUP_COMPLETE = "user_setup_complete"; field public static final String VOICE_INTERACTION_SERVICE = "voice_interaction_service"; @@ -2687,6 +3390,7 @@ package android.security.keystore { field public static final int ID_TYPE_IMEI = 2; // 0x2 field public static final int ID_TYPE_MEID = 3; // 0x3 field public static final int ID_TYPE_SERIAL = 1; // 0x1 + field public static final int USE_INDIVIDUAL_ATTESTATION = 4; // 0x4 } public class DeviceIdAttestationException extends java.lang.Exception { @@ -2729,7 +3433,9 @@ package android.service.appprediction { package android.service.autofill { public abstract class AutofillFieldClassificationService extends android.app.Service { + ctor public AutofillFieldClassificationService(); method public android.os.IBinder onBind(android.content.Intent); + field public static final String REQUIRED_ALGORITHM_CREDIT_CARD = "CREDIT_CARD"; field public static final String REQUIRED_ALGORITHM_EDIT_DISTANCE = "EDIT_DISTANCE"; field public static final String REQUIRED_ALGORITHM_EXACT_MATCH = "EXACT_MATCH"; field public static final String SERVICE_INTERFACE = "android.service.autofill.AutofillFieldClassificationService"; @@ -2759,6 +3465,11 @@ package android.service.autofill { method @Nullable public android.util.SparseArray<android.service.autofill.InternalOnClickAction> getActions(); } + public static final class Dataset.Builder { + ctor public Dataset.Builder(@NonNull android.service.autofill.InlinePresentation); + 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); + } + public final class DateTransformation extends android.service.autofill.InternalTransformation implements android.os.Parcelable android.service.autofill.Transformation { method public void apply(@NonNull android.service.autofill.ValueFinder, @NonNull android.widget.RemoteViews, int) throws java.lang.Exception; } @@ -2775,6 +3486,15 @@ package android.service.autofill { method public void apply(@NonNull android.service.autofill.ValueFinder, @NonNull android.widget.RemoteViews, int) throws java.lang.Exception; } + public abstract class InlineSuggestionRenderService extends android.app.Service { + ctor public InlineSuggestionRenderService(); + method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent); + method @NonNull public android.os.Bundle onGetInlineSuggestionsRendererInfo(); + method @Nullable public android.view.View onRenderSuggestion(@NonNull android.service.autofill.InlinePresentation, int, int); + method public final void startIntentSender(@NonNull android.content.IntentSender); + field public static final String SERVICE_INTERFACE = "android.service.autofill.InlineSuggestionRenderService"; + } + public abstract class InternalOnClickAction implements android.service.autofill.OnClickAction android.os.Parcelable { ctor public InternalOnClickAction(); method public abstract void onClick(@NonNull android.view.ViewGroup); @@ -2828,9 +3548,11 @@ package android.service.autofill.augmented { ctor public AugmentedAutofillService(); method protected final void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]); method protected void dump(@NonNull java.io.PrintWriter, @NonNull String[]); + method @Nullable public final android.service.autofill.FillEventHistory getFillEventHistory(); method public void onConnected(); method public void onDisconnected(); 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); + method public final boolean requestAutofill(@NonNull android.content.ComponentName, @NonNull android.view.autofill.AutofillId); field public static final String SERVICE_INTERFACE = "android.service.autofill.augmented.AugmentedAutofillService"; } @@ -2846,6 +3568,7 @@ package android.service.autofill.augmented { method @NonNull public android.content.ComponentName getActivityComponent(); method @NonNull public android.view.autofill.AutofillId getFocusedId(); method @NonNull public android.view.autofill.AutofillValue getFocusedValue(); + method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest(); method @Nullable public android.service.autofill.augmented.PresentationParams getPresentationParams(); method public int getTaskId(); } @@ -2856,7 +3579,9 @@ package android.service.autofill.augmented { public static final class FillResponse.Builder { ctor public FillResponse.Builder(); method @NonNull public android.service.autofill.augmented.FillResponse build(); + method @NonNull public android.service.autofill.augmented.FillResponse.Builder setClientState(@NonNull android.os.Bundle); method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@NonNull android.service.autofill.augmented.FillWindow); + method @NonNull public android.service.autofill.augmented.FillResponse.Builder setInlineSuggestions(@NonNull java.util.List<android.service.autofill.Dataset>); } public final class FillWindow implements java.lang.AutoCloseable { @@ -2898,6 +3623,7 @@ package android.service.contentcapture { method public void onContentCaptureEvent(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.view.contentcapture.ContentCaptureEvent); method public void onCreateContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureContext, @NonNull android.view.contentcapture.ContentCaptureSessionId); method public void onDataRemovalRequest(@NonNull android.view.contentcapture.DataRemovalRequest); + method public void onDataShareRequest(@NonNull android.view.contentcapture.DataShareRequest, @NonNull android.service.contentcapture.DataShareCallback); method public void onDestroyContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureSessionId); method public void onDisconnected(); method public final void setContentCaptureConditions(@NonNull String, @Nullable java.util.Set<android.view.contentcapture.ContentCaptureCondition>); @@ -2906,6 +3632,16 @@ package android.service.contentcapture { field public static final String SERVICE_META_DATA = "android.content_capture"; } + public interface DataShareCallback { + method public void onAccept(@NonNull java.util.concurrent.Executor, @NonNull android.service.contentcapture.DataShareReadAdapter); + method public void onReject(); + } + + public interface DataShareReadAdapter { + method public void onError(int); + method public void onStart(@NonNull android.os.ParcelFileDescriptor); + } + public final class SnapshotData implements android.os.Parcelable { method public int describeContents(); method @Nullable public android.app.assist.AssistContent getAssistContent(); @@ -2933,6 +3669,7 @@ package android.service.notification { field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.Adjustment> CREATOR; field public static final String KEY_CONTEXTUAL_ACTIONS = "key_contextual_actions"; field public static final String KEY_IMPORTANCE = "key_importance"; + field public static final String KEY_RANKING_SCORE = "key_ranking_score"; field public static final String KEY_SNOOZE_CRITERIA = "key_snooze_criteria"; field public static final String KEY_TEXT_REPLIES = "key_text_replies"; field public static final String KEY_USER_SENTIMENT = "key_user_sentiment"; @@ -2954,7 +3691,10 @@ package android.service.notification { method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel); method public void onNotificationExpansionChanged(@NonNull String, boolean, boolean); method public abstract void onNotificationSnoozedUntilContext(@NonNull android.service.notification.StatusBarNotification, @NonNull String); + method public void onNotificationVisibilityChanged(@NonNull String, boolean); method public void onNotificationsSeen(@NonNull java.util.List<java.lang.String>); + method public void onPanelHidden(); + method public void onPanelRevealed(int); method public void onSuggestedReplySent(@NonNull String, @NonNull CharSequence, int); method public final void unsnoozeNotification(@NonNull String); field public static final String SERVICE_INTERFACE = "android.service.notification.NotificationAssistantService"; @@ -3010,6 +3750,36 @@ package android.service.notification { } +package android.service.quickaccesswallet { + + public interface QuickAccessWalletClient extends java.io.Closeable { + method public void addWalletServiceEventListener(@NonNull android.service.quickaccesswallet.QuickAccessWalletClient.WalletServiceEventListener); + method public void addWalletServiceEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.service.quickaccesswallet.QuickAccessWalletClient.WalletServiceEventListener); + method @NonNull public static android.service.quickaccesswallet.QuickAccessWalletClient create(@NonNull android.content.Context); + method @Nullable public android.content.Intent createWalletIntent(); + method @Nullable public android.content.Intent createWalletSettingsIntent(); + method public void disconnect(); + method public void getWalletCards(@NonNull android.service.quickaccesswallet.GetWalletCardsRequest, @NonNull android.service.quickaccesswallet.QuickAccessWalletClient.OnWalletCardsRetrievedCallback); + method public void getWalletCards(@NonNull java.util.concurrent.Executor, @NonNull android.service.quickaccesswallet.GetWalletCardsRequest, @NonNull android.service.quickaccesswallet.QuickAccessWalletClient.OnWalletCardsRetrievedCallback); + method public boolean isWalletFeatureAvailable(); + method public boolean isWalletFeatureAvailableWhenDeviceLocked(); + method public boolean isWalletServiceAvailable(); + method public void notifyWalletDismissed(); + method public void removeWalletServiceEventListener(@NonNull android.service.quickaccesswallet.QuickAccessWalletClient.WalletServiceEventListener); + method public void selectWalletCard(@NonNull android.service.quickaccesswallet.SelectWalletCardRequest); + } + + public static interface QuickAccessWalletClient.OnWalletCardsRetrievedCallback { + method public void onWalletCardRetrievalError(@NonNull android.service.quickaccesswallet.GetWalletCardsError); + method public void onWalletCardsRetrieved(@NonNull android.service.quickaccesswallet.GetWalletCardsResponse); + } + + public static interface QuickAccessWalletClient.WalletServiceEventListener { + method public void onWalletServiceEvent(@NonNull android.service.quickaccesswallet.WalletServiceEvent); + } + +} + package android.service.quicksettings { public class TileService extends android.app.Service { @@ -3018,6 +3788,60 @@ package android.service.quicksettings { } +package android.service.textclassifier { + + public abstract class TextClassifierService extends android.app.Service { + ctor public TextClassifierService(); + method @NonNull public static android.view.textclassifier.TextClassifier getDefaultTextClassifierImplementation(@NonNull android.content.Context); + method @Deprecated public final android.view.textclassifier.TextClassifier getLocalTextClassifier(); + method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent); + 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>); + method public void onConnected(); + method @MainThread public void onCreateTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext, @NonNull android.view.textclassifier.TextClassificationSessionId); + method @MainThread public void onDestroyTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationSessionId); + 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>); + method public void onDisconnected(); + 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>); + method @Deprecated @MainThread public void onSelectionEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.SelectionEvent); + 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>); + 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>); + method @MainThread public void onTextClassifierEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassifierEvent); + field public static final String SERVICE_INTERFACE = "android.service.textclassifier.TextClassifierService"; + } + + public static interface TextClassifierService.Callback<T> { + method public void onFailure(@NonNull CharSequence); + method public void onSuccess(T); + } + +} + +package android.service.watchdog { + + public abstract class ExplicitHealthCheckService extends android.app.Service { + ctor public ExplicitHealthCheckService(); + method public final void notifyHealthCheckPassed(@NonNull String); + method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent); + method public abstract void onCancelHealthCheck(@NonNull String); + method @NonNull public abstract java.util.List<java.lang.String> onGetRequestedPackages(); + method @NonNull public abstract java.util.List<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> onGetSupportedPackages(); + method public abstract void onRequestHealthCheck(@NonNull String); + method public void setCallback(@Nullable android.os.RemoteCallback); + field public static final String BIND_PERMISSION = "android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE"; + field public static final String SERVICE_INTERFACE = "android.service.watchdog.ExplicitHealthCheckService"; + } + + public static final class ExplicitHealthCheckService.PackageConfig implements android.os.Parcelable { + ctor public ExplicitHealthCheckService.PackageConfig(@NonNull String, long); + method public int describeContents(); + method public long getHealthCheckTimeoutMillis(); + method @NonNull public String getPackageName(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> CREATOR; + } + +} + package android.telecom { public final class Call { @@ -3097,6 +3921,7 @@ package android.telecom { } public class TelecomManager { + method @NonNull public android.content.Intent createLaunchEmergencyDialerIntent(@Nullable String); method @NonNull @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts(boolean); method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public int getCurrentTtyMode(); method @Nullable @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getDefaultDialerPackage(@NonNull android.os.UserHandle); @@ -3148,8 +3973,8 @@ package android.telephony { method public int getNumRtpPacketsTransmitted(); method public int getNumRtpPacketsTransmittedLost(); method public int getUplinkCallQualityLevel(); - method public boolean isIncomingSilenceDetected(); - method public boolean isOutgoingSilenceDetected(); + method public boolean isIncomingSilenceDetectedAtCallSetup(); + method public boolean isOutgoingSilenceDetectedAtCallSetup(); method public boolean isRtpInactivityDetected(); method public void writeToParcel(android.os.Parcel, int); field public static final int CALL_QUALITY_BAD = 4; // 0x4 @@ -3258,8 +4083,6 @@ package android.telephony { public final class SmsManager { method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int checkSmsShortCodeDestination(String, String); - method @Deprecated public void sendMultipartTextMessage(@NonNull String, @NonNull String, @NonNull java.util.List<java.lang.String>, @Nullable java.util.List<android.app.PendingIntent>, @Nullable java.util.List<android.app.PendingIntent>, @NonNull String); - method public void sendMultipartTextMessage(@NonNull String, @NonNull String, @NonNull java.util.List<java.lang.String>, @Nullable java.util.List<android.app.PendingIntent>, @Nullable java.util.List<android.app.PendingIntent>, @NonNull String, @Nullable String); field public static final int SMS_CATEGORY_FREE_SHORT_CODE = 1; // 0x1 field public static final int SMS_CATEGORY_NOT_SHORT_CODE = 0; // 0x0 field public static final int SMS_CATEGORY_POSSIBLE_PREMIUM_SHORT_CODE = 3; // 0x3 @@ -3280,9 +4103,10 @@ package android.telephony { public class TelephonyManager { method public int addDevicePolicyOverrideApn(@NonNull android.content.Context, @NonNull android.telephony.data.ApnSetting); method public int checkCarrierPrivilegesForPackage(String); + method @Nullable @RequiresPermission("android.permission.INTERACT_ACROSS_USERS") public android.content.ComponentName getAndUpdateDefaultRespondViaMessageApplication(); method public int getCarrierIdListVersion(); method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent); - method @Nullable public static android.content.ComponentName getDefaultRespondViaMessageApplication(@NonNull android.content.Context, boolean); + method @Nullable @RequiresPermission("android.permission.INTERACT_ACROSS_USERS") public android.content.ComponentName getDefaultRespondViaMessageApplication(); method @NonNull public java.util.List<android.telephony.data.ApnSetting> getDevicePolicyOverrideApns(@NonNull android.content.Context); method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public int getEmergencyNumberDbVersion(); method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getLine1AlphaTag(); @@ -3402,6 +4226,7 @@ package android.telephony.ims { field public static final int DIALSTRING_USSD = 2; // 0x2 field public static final String EXTRA_ADDITIONAL_CALL_INFO = "AdditionalCallInfo"; field public static final String EXTRA_ADDITIONAL_SIP_INVITE_FIELDS = "android.telephony.ims.extra.ADDITIONAL_SIP_INVITE_FIELDS"; + field public static final String EXTRA_CALL_DISCONNECT_CAUSE = "android.telephony.ims.extra.CALL_DISCONNECT_CAUSE"; field public static final String EXTRA_CALL_NETWORK_TYPE = "android.telephony.ims.extra.CALL_NETWORK_TYPE"; field @Deprecated public static final String EXTRA_CALL_RAT_TYPE = "CallRadioTech"; field public static final String EXTRA_CHILD_NUMBER = "ChildNum"; @@ -3411,6 +4236,7 @@ package android.telephony.ims { field public static final String EXTRA_DIALSTRING = "dialstring"; field public static final String EXTRA_DISPLAY_TEXT = "DisplayText"; field public static final String EXTRA_EMERGENCY_CALL = "e_call"; + field public static final String EXTRA_FORWARDED_NUMBER = "android.telephony.ims.extra.FORWARDED_NUMBER"; field public static final String EXTRA_IS_CALL_PULL = "CallPull"; field public static final String EXTRA_OEM_EXTRAS = "android.telephony.ims.extra.OEM_EXTRAS"; field public static final String EXTRA_OI = "oi"; @@ -3524,9 +4350,9 @@ package android.telephony.ims { method @RequiresPermission("android.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; method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void getRegistrationState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>); method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public int getVoWiFiRoamingModeSetting(); - method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public boolean isAvailable(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int); - method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public boolean isCapable(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int); - method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void isSupported(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>) throws android.telephony.ims.ImsException; + method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public boolean isAvailable(int, int); + method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public boolean isCapable(int, int); + method @RequiresPermission("android.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; method @Deprecated @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void registerImsRegistrationCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback) throws android.telephony.ims.ImsException; method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAdvancedCallingSettingEnabled(boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRttCapabilitySetting(boolean); @@ -3770,13 +4596,13 @@ package android.telephony.ims { public class ProvisioningManager { method @NonNull public static android.telephony.ims.ProvisioningManager createForSubscriptionId(int); method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") @WorkerThread public int getProvisioningIntValue(int); - method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") @WorkerThread public boolean getProvisioningStatusForCapability(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int); + method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") @WorkerThread public boolean getProvisioningStatusForCapability(int, int); method @Nullable @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") @WorkerThread public String getProvisioningStringValue(int); method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") @WorkerThread public boolean getRcsProvisioningStatusForCapability(int); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean); method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void registerProvisioningChangedCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ProvisioningManager.Callback) throws android.telephony.ims.ImsException; method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningIntValue(int, int); - method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setProvisioningStatusForCapability(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int, boolean); + method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setProvisioningStatusForCapability(int, int, boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningStringValue(int, @NonNull String); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setRcsProvisioningStatusForCapability(int, boolean); method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void unregisterProvisioningChangedCallback(@NonNull android.telephony.ims.ProvisioningManager.Callback); @@ -3804,8 +4630,8 @@ package android.telephony.ims { package android.telephony.ims.feature { public final class CapabilityChangeRequest implements android.os.Parcelable { - method public void addCapabilitiesToDisableForTech(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int); - method public void addCapabilitiesToEnableForTech(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int); + method public void addCapabilitiesToDisableForTech(int, int); + method public void addCapabilitiesToEnableForTech(int, int); method public int describeContents(); method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToDisable(); method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToEnable(); @@ -3814,8 +4640,8 @@ package android.telephony.ims.feature { } public static class CapabilityChangeRequest.CapabilityPair { - ctor public CapabilityChangeRequest.CapabilityPair(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int); - method @android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability public int getCapability(); + ctor public CapabilityChangeRequest.CapabilityPair(int, int); + method public int getCapability(); method public int getRadioTech(); } @@ -3860,10 +4686,10 @@ package android.telephony.ims.feature { method public final void notifyVoiceMessageCountUpdate(int); method public void onFeatureReady(); method public void onFeatureRemoved(); - method public boolean queryCapabilityConfiguration(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int); + method public boolean queryCapabilityConfiguration(int, int); method @NonNull public final android.telephony.ims.feature.MmTelFeature.MmTelCapabilities queryCapabilityStatus(); method public void setUiTtyMode(int, @Nullable android.os.Message); - method @android.telephony.ims.feature.MmTelFeature.ProcessCallResult public int shouldProcessCall(@NonNull String[]); + method public int shouldProcessCall(@NonNull String[]); field public static final String EXTRA_IS_UNKNOWN_CALL = "android.telephony.ims.feature.extra.IS_UNKNOWN_CALL"; field public static final String EXTRA_IS_USSD = "android.telephony.ims.feature.extra.IS_USSD"; field public static final int PROCESS_CALL_CSFB = 1; // 0x1 @@ -3873,16 +4699,10 @@ package android.telephony.ims.feature { public static class MmTelFeature.MmTelCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities { ctor public MmTelFeature.MmTelCapabilities(); ctor @Deprecated public MmTelFeature.MmTelCapabilities(android.telephony.ims.feature.ImsFeature.Capabilities); - ctor public MmTelFeature.MmTelCapabilities(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int); - method public final void addCapabilities(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int); - method public final boolean isCapable(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int); - method public final void removeCapabilities(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int); - } - - @IntDef(flag=true, value={android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE, android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO, android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_UT, android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_SMS}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MmTelFeature.MmTelCapabilities.MmTelCapability { - } - - @IntDef(flag=true, value={android.telephony.ims.feature.MmTelFeature.PROCESS_CALL_IMS, android.telephony.ims.feature.MmTelFeature.PROCESS_CALL_CSFB}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MmTelFeature.ProcessCallResult { + ctor public MmTelFeature.MmTelCapabilities(int); + method public final void addCapabilities(int); + method public final boolean isCapable(int); + method public final void removeCapabilities(int); } public class RcsFeature extends android.telephony.ims.feature.ImsFeature { @@ -4053,17 +4873,6 @@ package android.telephony.ims.stub { method public int updateClir(int); method public int updateColp(boolean); method public int updateColr(int); - field public static final int CALL_BARRING_ALL = 7; // 0x7 - field public static final int CALL_BARRING_ALL_INCOMING = 1; // 0x1 - field public static final int CALL_BARRING_ALL_OUTGOING = 2; // 0x2 - field public static final int CALL_BARRING_ANONYMOUS_INCOMING = 6; // 0x6 - field public static final int CALL_BARRING_INCOMING_ALL_SERVICES = 9; // 0x9 - field public static final int CALL_BARRING_OUTGOING_ALL_SERVICES = 8; // 0x8 - field public static final int CALL_BARRING_OUTGOING_INTL = 3; // 0x3 - field public static final int CALL_BARRING_OUTGOING_INTL_EXCL_HOME = 4; // 0x4 - field public static final int CALL_BARRING_SPECIFIC_INCOMING_CALLS = 10; // 0xa - field public static final int CALL_BLOCKING_INCOMING_WHEN_ROAMING = 5; // 0x5 - field public static final int INVALID_RESULT = -1; // 0xffffffff } } @@ -4197,9 +5006,29 @@ package android.util { field public static final String FFLAG_PREFIX = "sys.fflag."; field public static final String HEARING_AID_SETTINGS = "settings_bluetooth_hearing_aid"; field public static final String PERSIST_PREFIX = "persist.sys.fflag.override."; - field public static final String PIXEL_WALLPAPER_CATEGORY_SWITCH = "settings_pixel_wallpaper_category_switch"; field public static final String SCREENRECORD_LONG_PRESS = "settings_screenrecord_long_press"; field public static final String SEAMLESS_TRANSFER = "settings_seamless_transfer"; + field public static final String SETTINGS_FUSE_FLAG = "settings_fuse"; + field public static final String SETTINGS_WIFITRACKER2 = "settings_wifitracker2"; + } + + public class SparseArrayMap<T> { + ctor public SparseArrayMap(); + method public void add(int, @NonNull String, @Nullable T); + method public void clear(); + method public boolean contains(int, @NonNull String); + method public void delete(int); + method @Nullable public T delete(int, @NonNull String); + method public void forEach(@NonNull java.util.function.Consumer<T>); + method @Nullable public T get(int, @NonNull String); + method @Nullable public T getOrDefault(int, @NonNull String, T); + method public int indexOfKey(int); + method public int indexOfKey(int, @NonNull String); + method public int keyAt(int); + method @NonNull public String keyAt(int, int); + method public int numElementsForKey(int); + method public int numMaps(); + method @Nullable public T valueAt(int, int); } public class TimeUtils { @@ -4275,7 +5104,16 @@ package android.view { } public final class Display { + method @NonNull public android.graphics.ColorSpace[] getSupportedWideColorGamut(); + method public int getType(); method public boolean hasAccess(int); + field public static final int FLAG_TRUSTED = 128; // 0x80 + field public static final int TYPE_EXTERNAL = 2; // 0x2 + field public static final int TYPE_INTERNAL = 1; // 0x1 + field public static final int TYPE_OVERLAY = 4; // 0x4 + field public static final int TYPE_UNKNOWN = 0; // 0x0 + field public static final int TYPE_VIRTUAL = 5; // 0x5 + field public static final int TYPE_WIFI = 3; // 0x3 } public class FocusFinder { @@ -4313,14 +5151,23 @@ package android.view { method public abstract String asyncImpl() default ""; } + public final class SurfaceControl implements android.os.Parcelable { + ctor public SurfaceControl(@NonNull android.view.SurfaceControl, @NonNull String); + method public static long acquireFrameRateFlexibilityToken(); + method public boolean isSameSurface(@NonNull android.view.SurfaceControl); + method public static void releaseFrameRateFlexibilityToken(long); + } + + public class SurfaceControlViewHost { + method public void relayout(android.view.WindowManager.LayoutParams); + method public void setView(@NonNull android.view.View, @NonNull android.view.WindowManager.LayoutParams); + } + @UiThread public class View implements android.view.accessibility.AccessibilityEventSource android.graphics.drawable.Drawable.Callback android.view.KeyEvent.Callback { - method public int getImportantForContentCapture(); method public android.view.View getTooltipView(); method public boolean isAutofilled(); method public static boolean isDefaultFocusHighlightEnabled(); method public boolean isDefaultFocusHighlightNeeded(android.graphics.drawable.Drawable, android.graphics.drawable.Drawable); - method public final boolean isImportantForContentCapture(); - method public void onProvideContentCaptureStructure(@NonNull android.view.ViewStructure, int); method protected void resetResolvedDrawables(); method public void resetResolvedLayoutDirection(); method public void resetResolvedPadding(); @@ -4329,15 +5176,10 @@ package android.view { method public void resetRtlProperties(); method public boolean restoreFocusInCluster(int); method public boolean restoreFocusNotInCluster(); - method public void setAutofilled(boolean); + method public void setAutofilled(boolean, boolean); method public final void setFocusedInCluster(); - method public void setImportantForContentCapture(int); method public void setIsRootNamespace(boolean); - field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_AUTO = 0; // 0x0 - field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_NO = 2; // 0x2 - field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS = 8; // 0x8 - field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_YES = 1; // 0x1 - field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS = 4; // 0x4 + method public final void setShowingLayoutBounds(boolean); } public class ViewConfiguration { @@ -4353,6 +5195,11 @@ package android.view { method @Nullable public static AutoCloseable startRenderingCommandsCapture(android.view.View, java.util.concurrent.Executor, java.util.concurrent.Callable<java.io.OutputStream>); } + public abstract class Window { + method @Nullable public android.view.View getNavigationBarBackgroundView(); + method @Nullable public android.view.View getStatusBarBackgroundView(); + } + public interface WindowManager extends android.view.ViewManager { method public default void setShouldShowIme(int, boolean); method public default void setShouldShowSystemDecors(int, boolean); @@ -4374,9 +5221,11 @@ package android.view.accessibility { public final class AccessibilityManager { method public void addAccessibilityServicesStateChangeListener(@NonNull android.view.accessibility.AccessibilityManager.AccessibilityServicesStateChangeListener, @Nullable android.os.Handler); - method @Nullable @RequiresPermission("android.permission.MANAGE_ACCESSIBILITY") public String getAccessibilityShortcutService(); + method @NonNull @RequiresPermission("android.permission.MANAGE_ACCESSIBILITY") public java.util.List<java.lang.String> getAccessibilityShortcutTargets(int); method @RequiresPermission("android.permission.MANAGE_ACCESSIBILITY") public void performAccessibilityShortcut(); + method @RequiresPermission("android.permission.MANAGE_ACCESSIBILITY") public void registerSystemAction(@NonNull android.app.RemoteAction, int); method public void removeAccessibilityServicesStateChangeListener(@NonNull android.view.accessibility.AccessibilityManager.AccessibilityServicesStateChangeListener); + method @RequiresPermission("android.permission.MANAGE_ACCESSIBILITY") public void unregisterSystemAction(int); } public static interface AccessibilityManager.AccessibilityServicesStateChangeListener { @@ -4384,6 +5233,9 @@ package android.view.accessibility { } public class AccessibilityNodeInfo implements android.os.Parcelable { + method public void addChild(@NonNull android.os.IBinder); + method public long getSourceNodeId(); + method public void setLeashedParent(@Nullable android.os.IBinder, int); method public static void setNumInstancesInUseCounter(java.util.concurrent.atomic.AtomicInteger); method public void writeToParcelNoRecycle(android.os.Parcel, int); } @@ -4415,6 +5267,7 @@ package android.view.autofill { ctor public AutofillId(int, int); ctor public AutofillId(@NonNull android.view.autofill.AutofillId, long, int); method public boolean equalsIgnoreSession(@Nullable android.view.autofill.AutofillId); + method @NonNull public static android.view.autofill.AutofillId withoutSession(@NonNull android.view.autofill.AutofillId); } public final class AutofillManager { @@ -4446,6 +5299,7 @@ package android.view.contentcapture { method public long getEventTime(); method @Nullable public android.view.autofill.AutofillId getId(); method @Nullable public java.util.List<android.view.autofill.AutofillId> getIds(); + method @Nullable public android.graphics.Insets getInsets(); method @Nullable public CharSequence getText(); method public int getType(); method @Nullable public android.view.contentcapture.ViewNode getViewNode(); @@ -4456,6 +5310,7 @@ package android.view.contentcapture { field public static final int TYPE_SESSION_RESUMED = 7; // 0x7 field public static final int TYPE_VIEW_APPEARED = 1; // 0x1 field public static final int TYPE_VIEW_DISAPPEARED = 2; // 0x2 + field public static final int TYPE_VIEW_INSETS_CHANGED = 9; // 0x9 field public static final int TYPE_VIEW_TEXT_CHANGED = 3; // 0x3 field public static final int TYPE_VIEW_TREE_APPEARED = 5; // 0x5 field public static final int TYPE_VIEW_TREE_APPEARING = 4; // 0x4 @@ -4542,16 +5397,23 @@ package android.view.contentcapture { package android.view.inputmethod { + public final class InlineSuggestion implements android.os.Parcelable { + method @NonNull public static android.view.inputmethod.InlineSuggestion newInlineSuggestion(@NonNull android.view.inputmethod.InlineSuggestionInfo); + } + + public final class InlineSuggestionInfo implements android.os.Parcelable { + method @NonNull public static android.view.inputmethod.InlineSuggestionInfo newInlineSuggestionInfo(@NonNull android.widget.inline.InlinePresentationSpec, @NonNull String, @Nullable String[], @NonNull String, boolean); + } + + public final class InlineSuggestionsResponse implements android.os.Parcelable { + method @NonNull public static android.view.inputmethod.InlineSuggestionsResponse newInlineSuggestionsResponse(@NonNull java.util.List<android.view.inputmethod.InlineSuggestion>); + } + public final class InputMethodManager { method public int getDisplayId(); method public boolean isInputMethodPickerShown(); } - public class InputMethodSystemProperty { - ctor public InputMethodSystemProperty(); - field public static final boolean MULTI_CLIENT_IME_ENABLED; - } - } package android.view.inspector { @@ -4647,3 +5509,98 @@ package android.widget { } +package android.widget.inline { + + public class InlineContentView extends android.view.ViewGroup { + method public void setChildSurfacePackageUpdater(@Nullable android.widget.inline.InlineContentView.SurfacePackageUpdater); + } + + public static interface InlineContentView.SurfacePackageUpdater { + method public void getSurfacePackage(@NonNull java.util.function.Consumer<android.view.SurfaceControlViewHost.SurfacePackage>); + method public void onSurfacePackageReleased(); + } + +} + +package android.window { + + public final class DisplayAreaInfo implements android.os.Parcelable { + ctor public DisplayAreaInfo(@NonNull android.window.WindowContainerToken, int, int); + method public int describeContents(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.window.DisplayAreaInfo> CREATOR; + field @NonNull public final android.content.res.Configuration configuration; + field public final int displayId; + field public final int featureId; + field @NonNull public final android.window.WindowContainerToken token; + } + + public class DisplayAreaOrganizer extends android.window.WindowOrganizer { + ctor public DisplayAreaOrganizer(); + method public void onDisplayAreaAppeared(@NonNull android.window.DisplayAreaInfo, @NonNull android.view.SurfaceControl); + method public void onDisplayAreaVanished(@NonNull android.window.DisplayAreaInfo); + method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void registerOrganizer(int); + field public static final int FEATURE_DEFAULT_TASK_CONTAINER = 1; // 0x1 + field public static final int FEATURE_ROOT = 0; // 0x0 + field public static final int FEATURE_SYSTEM_FIRST = 0; // 0x0 + field public static final int FEATURE_SYSTEM_LAST = 10000; // 0x2710 + field public static final int FEATURE_UNDEFINED = -1; // 0xffffffff + field public static final int FEATURE_VENDOR_FIRST = 10001; // 0x2711 + field public static final int FEATURE_WINDOW_TOKENS = 2; // 0x2 + } + + public class TaskOrganizer extends android.window.WindowOrganizer { + ctor public TaskOrganizer(); + method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static android.app.ActivityManager.RunningTaskInfo createRootTask(int, int); + method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static boolean deleteRootTask(@NonNull android.window.WindowContainerToken); + method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static java.util.List<android.app.ActivityManager.RunningTaskInfo> getChildTasks(@NonNull android.window.WindowContainerToken, @NonNull int[]); + method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static android.window.WindowContainerToken getImeTarget(int); + method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static java.util.List<android.app.ActivityManager.RunningTaskInfo> getRootTasks(int, @NonNull int[]); + method @BinderThread public void onBackPressedOnTaskRoot(@NonNull android.app.ActivityManager.RunningTaskInfo); + method @BinderThread public void onTaskAppeared(@NonNull android.app.ActivityManager.RunningTaskInfo, @NonNull android.view.SurfaceControl); + method @BinderThread public void onTaskInfoChanged(@NonNull android.app.ActivityManager.RunningTaskInfo); + method @BinderThread public void onTaskVanished(@NonNull android.app.ActivityManager.RunningTaskInfo); + method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public final void registerOrganizer(int); + method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void setInterceptBackPressedOnTaskRoot(boolean); + method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static void setLaunchRoot(int, @NonNull android.window.WindowContainerToken); + method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public final void unregisterOrganizer(); + } + + public final class WindowContainerToken implements android.os.Parcelable { + method public int describeContents(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.window.WindowContainerToken> CREATOR; + } + + public final class WindowContainerTransaction implements android.os.Parcelable { + ctor public WindowContainerTransaction(); + method public int describeContents(); + method @NonNull public android.window.WindowContainerTransaction reorder(@NonNull android.window.WindowContainerToken, boolean); + method @NonNull public android.window.WindowContainerTransaction reparent(@NonNull android.window.WindowContainerToken, @Nullable android.window.WindowContainerToken, boolean); + method @NonNull public android.window.WindowContainerTransaction scheduleFinishEnterPip(@NonNull android.window.WindowContainerToken, @NonNull android.graphics.Rect); + method @NonNull public android.window.WindowContainerTransaction setActivityWindowingMode(@NonNull android.window.WindowContainerToken, int); + method @NonNull public android.window.WindowContainerTransaction setAppBounds(@NonNull android.window.WindowContainerToken, @NonNull android.graphics.Rect); + method @NonNull public android.window.WindowContainerTransaction setBounds(@NonNull android.window.WindowContainerToken, @NonNull android.graphics.Rect); + method @NonNull public android.window.WindowContainerTransaction setBoundsChangeTransaction(@NonNull android.window.WindowContainerToken, @NonNull android.view.SurfaceControl.Transaction); + method @NonNull public android.window.WindowContainerTransaction setFocusable(@NonNull android.window.WindowContainerToken, boolean); + method @NonNull public android.window.WindowContainerTransaction setHidden(@NonNull android.window.WindowContainerToken, boolean); + method @NonNull public android.window.WindowContainerTransaction setScreenSizeDp(@NonNull android.window.WindowContainerToken, int, int); + method @NonNull public android.window.WindowContainerTransaction setSmallestScreenWidthDp(@NonNull android.window.WindowContainerToken, int); + method @NonNull public android.window.WindowContainerTransaction setWindowingMode(@NonNull android.window.WindowContainerToken, int); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.window.WindowContainerTransaction> CREATOR; + } + + public abstract class WindowContainerTransactionCallback { + ctor public WindowContainerTransactionCallback(); + method public abstract void onTransactionReady(int, @NonNull android.view.SurfaceControl.Transaction); + } + + public class WindowOrganizer { + ctor public WindowOrganizer(); + method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public int applySyncTransaction(@NonNull android.window.WindowContainerTransaction, @NonNull android.window.WindowContainerTransactionCallback); + method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static void applyTransaction(@NonNull android.window.WindowContainerTransaction); + } + +} + diff --git a/api/test-lint-baseline.txt b/api/test-lint-baseline.txt index 47d87c501938..6562c7e35c73 100644 --- a/api/test-lint-baseline.txt +++ b/api/test-lint-baseline.txt @@ -5,6 +5,8 @@ AcronymName: android.app.NotificationChannel#setImportanceLockedByOEM(boolean): +ActionValue: android.location.Location#EXTRA_NO_GPS_LOCATION: + // Tethering broadcast action / extras cannot change name for backwards compatibility ActionValue: android.net.TetheringManager#ACTION_TETHER_STATE_CHANGED: Inconsistent action value; expected `android.net.action.TETHER_STATE_CHANGED`, was `android.net.conn.TETHER_STATE_CHANGED` @@ -16,35 +18,35 @@ ActionValue: android.net.TetheringManager#EXTRA_ERRORED_TETHER: Inconsistent extra value; expected `android.net.extra.ERRORED_TETHER`, was `erroredArray` ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_ADDITIONAL_CALL_INFO: - Inconsistent extra value; expected `android.telephony.ims.extra.ADDITIONAL_CALL_INFO`, was `AdditionalCallInfo` + ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_CALL_RAT_TYPE: - Inconsistent extra value; expected `android.telephony.ims.extra.CALL_RAT_TYPE`, was `CallRadioTech` + ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_CHILD_NUMBER: - Inconsistent extra value; expected `android.telephony.ims.extra.CHILD_NUMBER`, was `ChildNum` + ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_CNA: - Inconsistent extra value; expected `android.telephony.ims.extra.CNA`, was `cna` + ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_CNAP: - Inconsistent extra value; expected `android.telephony.ims.extra.CNAP`, was `cnap` + ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_CODEC: - Inconsistent extra value; expected `android.telephony.ims.extra.CODEC`, was `Codec` + ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_DIALSTRING: - Inconsistent extra value; expected `android.telephony.ims.extra.DIALSTRING`, was `dialstring` + ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_DISPLAY_TEXT: - Inconsistent extra value; expected `android.telephony.ims.extra.DISPLAY_TEXT`, was `DisplayText` + ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_EMERGENCY_CALL: - Inconsistent extra value; expected `android.telephony.ims.extra.EMERGENCY_CALL`, was `e_call` + ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_IS_CALL_PULL: - Inconsistent extra value; expected `android.telephony.ims.extra.IS_CALL_PULL`, was `CallPull` + ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_OI: - Inconsistent extra value; expected `android.telephony.ims.extra.OI`, was `oi` + ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_OIR: - Inconsistent extra value; expected `android.telephony.ims.extra.OIR`, was `oir` + ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_REMOTE_URI: - Inconsistent extra value; expected `android.telephony.ims.extra.REMOTE_URI`, was `remote_uri` + ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_USSD: - Inconsistent extra value; expected `android.telephony.ims.extra.USSD`, was `ussd` + ActionValue: android.telephony.ims.ImsReasonInfo#EXTRA_MSG_SERVICE_NOT_AUTHORIZED: - Inconsistent extra value; expected `android.telephony.ims.extra.MSG_SERVICE_NOT_AUTHORIZED`, was `Forbidden. Not Authorized for Service` + ActionValue: android.telephony.mbms.vendor.VendorUtils#ACTION_CLEANUP: ActionValue: android.telephony.mbms.vendor.VendorUtils#ACTION_DOWNLOAD_RESULT_INTERNAL: @@ -108,13 +110,13 @@ ArrayReturn: android.os.NativeHandle#getFileDescriptors(): ArrayReturn: android.security.keystore.AttestationUtils#attestDeviceIds(android.content.Context, int[], byte[]): ArrayReturn: android.telephony.ims.ImsUtListener#onUtConfigurationCallBarringQueried(int, android.telephony.ims.ImsSsInfo[]) parameter #1: - Method parameter should be Collection<ImsSsInfo> (or subclass) instead of raw array; was `android.telephony.ims.ImsSsInfo[]` + ArrayReturn: android.telephony.ims.ImsUtListener#onUtConfigurationCallForwardQueried(int, android.telephony.ims.ImsCallForwardInfo[]) parameter #1: - Method parameter should be Collection<ImsCallForwardInfo> (or subclass) instead of raw array; was `android.telephony.ims.ImsCallForwardInfo[]` + ArrayReturn: android.telephony.ims.ImsUtListener#onUtConfigurationCallWaitingQueried(int, android.telephony.ims.ImsSsInfo[]) parameter #1: - Method parameter should be Collection<ImsSsInfo> (or subclass) instead of raw array; was `android.telephony.ims.ImsSsInfo[]` + ArrayReturn: android.telephony.ims.stub.ImsRegistrationImplBase#onSubscriberAssociatedUriChanged(android.net.Uri[]) parameter #0: - Method parameter should be Collection<Uri> (or subclass) instead of raw array; was `android.net.Uri[]` + ArrayReturn: android.view.FocusFinder#sort(android.view.View[], int, int, android.view.ViewGroup, boolean) parameter #0: ArrayReturn: android.view.contentcapture.ViewNode#getAutofillOptions(): @@ -147,8 +149,6 @@ BannedThrow: android.app.ActivityTaskManager#removeStacksInWindowingModes(int[]) BannedThrow: android.app.ActivityTaskManager#removeStacksWithActivityTypes(int[]): -BannedThrow: android.app.ActivityTaskManager#resizeStack(int, android.graphics.Rect): - BannedThrow: android.app.ActivityTaskManager#setTaskWindowingMode(int, int, boolean): BannedThrow: android.app.ActivityTaskManager#setTaskWindowingModeSplitScreenPrimary(int, int, boolean, boolean, android.graphics.Rect, boolean): @@ -223,10 +223,8 @@ CallbackMethodName: android.os.RemoteCallback: -CompileTimeConstant: android.view.inputmethod.InputMethodSystemProperty#MULTI_CLIENT_IME_ENABLED: +ConcreteCollection: android.content.AutofillOptions#disabledActivities: - - ConcreteCollection: android.content.AutofillOptions#whitelistedActivitiesForAugmentedAutofill: ConcreteCollection: android.content.ContentCaptureOptions#ContentCaptureOptions(int, int, int, int, int, android.util.ArraySet<android.content.ComponentName>) parameter #5: @@ -280,7 +278,7 @@ ConcreteCollection: android.service.autofill.InternalTransformation#batchApply(a ConcreteCollection: android.service.autofill.UserData#getFieldClassificationAlgorithms(): ConcreteCollection: android.telephony.ims.ImsConferenceState#mParticipants: - Field type is concrete collection (`java.util.HashMap`); must be higher-level interface + ContextFirst: android.os.VibrationEffect#get(android.net.Uri, android.content.Context) parameter #1: @@ -329,14 +327,10 @@ EqualsAndHashCode: android.os.StrictMode.ViolationInfo#hashCode(): -ExecutorRegistration: android.app.AppOpsManager#startWatchingActive(int[], android.app.AppOpsManager.OnOpActiveChangedListener): - -ExecutorRegistration: android.app.AppOpsManager#stopWatchingActive(android.app.AppOpsManager.OnOpActiveChangedListener): +ExecutorRegistration: android.content.pm.PackageManager#addOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener): ExecutorRegistration: android.hardware.camera2.CameraDevice#createCustomCaptureSession(android.hardware.camera2.params.InputConfiguration, java.util.List<android.hardware.camera2.params.OutputConfiguration>, int, android.hardware.camera2.CameraCaptureSession.StateCallback, android.os.Handler): -ExecutorRegistration: android.location.LocationManager#requestLocationUpdates(android.location.LocationRequest, android.location.LocationListener, android.os.Looper): - ExecutorRegistration: android.media.audiofx.AudioEffect#setParameterListener(android.media.audiofx.AudioEffect.OnParameterChangeListener): ExecutorRegistration: android.media.audiopolicy.AudioPolicy.Builder#setAudioPolicyFocusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener): @@ -354,9 +348,9 @@ ExecutorRegistration: android.os.RemoteCallback#RemoteCallback(android.os.Remote ExecutorRegistration: android.permission.PermissionControllerManager#getAppPermissions(String, android.permission.PermissionControllerManager.OnGetAppPermissionResultCallback, android.os.Handler): ExecutorRegistration: android.telephony.ims.stub.ImsCallSessionImplBase#setListener(android.telephony.ims.ImsCallSessionListener): - Registration methods should have overload that accepts delivery Executor: `setListener` + ExecutorRegistration: android.telephony.ims.stub.ImsUtImplBase#setListener(android.telephony.ims.ImsUtListener): - Registration methods should have overload that accepts delivery Executor: `setListener` + ExecutorRegistration: android.telephony.mbms.vendor.MbmsDownloadServiceBase#addProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener): ExecutorRegistration: android.telephony.mbms.vendor.MbmsDownloadServiceBase#addStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener): @@ -391,6 +385,8 @@ GenericException: android.service.autofill.augmented.FillWindow#finalize(): +GetterSetterNames: android.app.NotificationChannel#isBlockableSystem(): + GetterSetterNames: android.app.NotificationChannel#isImportanceLockedByCriticalDeviceFunction(): GetterSetterNames: android.app.NotificationChannel#isImportanceLockedByOEM(): @@ -410,17 +406,35 @@ GetterSetterNames: android.location.GnssClock#setElapsedRealtimeUncertaintyNanos GetterSetterNames: android.location.GnssClock#setFullBiasNanos(long): GetterSetterNames: android.location.GnssClock#setLeapSecond(int): - + +GetterSetterNames: android.location.GnssClock#setReferenceConstellationTypeForIsb(int): + +GetterSetterNames: android.location.GnssClock#setReferenceCarrierFrequencyHzForIsb(double): + +GetterSetterNames: android.location.GnssClock#setReferenceCodeTypeForIsb(String): + GetterSetterNames: android.location.GnssClock#setTimeUncertaintyNanos(double): +GetterSetterNames: android.location.GnssMeasurement#setBasebandCn0DbHz(double): + GetterSetterNames: android.location.GnssMeasurement#setCarrierFrequencyHz(float): GetterSetterNames: android.location.GnssMeasurement#setCodeType(String): - + +GetterSetterNames: android.location.GnssMeasurement#setFullInterSignalBiasNanos(double): + +GetterSetterNames: android.location.GnssMeasurement#setFullInterSignalBiasUncertaintyNanos(double): + +GetterSetterNames: android.location.GnssMeasurement#setSatelliteInterSignalBiasNanos(double): + +GetterSetterNames: android.location.GnssMeasurement#setSatelliteInterSignalBiasUncertaintyNanos(double): + GetterSetterNames: android.location.GnssMeasurement#setSnrInDb(double): GetterSetterNames: android.location.LocationRequest#isLocationSettingsIgnored(): +GetterSetterNames: android.location.LocationRequest#isLowPowerMode(): + GetterSetterNames: android.os.IncidentReportArgs#isAll(): GetterSetterNames: android.service.notification.NotificationStats#setDirectReplied(): @@ -470,11 +484,13 @@ InterfaceConstant: android.telecom.PhoneAccountSuggestionService#SERVICE_INTERFA InternalField: android.telephony.ims.ImsConferenceState#mParticipants: - Internal field mParticipants must not be exposed + KotlinOperator: android.os.WorkSource#get(int): +KotlinOperator: android.util.SparseArrayMap#get(int, String): + ListenerInterface: android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener: @@ -484,9 +500,9 @@ ListenerInterface: android.media.audiopolicy.AudioPolicy.AudioPolicyStatusListen ListenerInterface: android.os.IncidentManager.AuthListener: ListenerInterface: android.telephony.ims.ImsCallSessionListener: - Listeners should be an interface, or otherwise renamed Callback: ImsCallSessionListener + ListenerInterface: android.telephony.ims.ImsUtListener: - Listeners should be an interface, or otherwise renamed Callback: ImsUtListener + ListenerLast: android.hardware.camera2.CameraDevice#createCustomCaptureSession(android.hardware.camera2.params.InputConfiguration, java.util.List<android.hardware.camera2.params.OutputConfiguration>, int, android.hardware.camera2.CameraCaptureSession.StateCallback, android.os.Handler) parameter #4: @@ -506,19 +522,21 @@ ManagerConstructor: android.content.pm.ShortcutManager#ShortcutManager(android.c ManagerLookup: android.telephony.ims.ImsMmTelManager#createForSubscriptionId(int): - Managers must always be obtained from Context (`createForSubscriptionId`) + ManagerLookup: android.telephony.ims.ProvisioningManager#createForSubscriptionId(int): - Managers must always be obtained from Context (`createForSubscriptionId`) + MethodNameTense: android.telephony.ims.feature.CapabilityChangeRequest#getCapabilitiesToEnable(): - Unexpected tense; probably meant `enabled`, was `getCapabilitiesToEnable` + MethodNameUnits: android.telephony.ims.ImsCallForwardInfo#getTimeSeconds(): - Returned time values must be in milliseconds, was `getTimeSeconds` + +MinMaxConstant: android.os.UserHandle#MIN_SECONDARY_USER_ID: + MinMaxConstant: android.view.autofill.AutofillManager#MAX_TEMP_AUGMENTED_SERVICE_DURATION_MS: @@ -553,9 +571,7 @@ MissingNullability: android.app.ActivityTaskManager#resizeDockedStack(android.gr MissingNullability: android.app.ActivityTaskManager#resizeDockedStack(android.graphics.Rect, android.graphics.Rect) parameter #1: -MissingNullability: android.app.ActivityTaskManager#resizeStack(int, android.graphics.Rect) parameter #1: - -MissingNullability: android.app.ActivityTaskManager#resizeStack(int, android.graphics.Rect, boolean) parameter #1: +MissingNullability: android.app.ActivityTaskManager#resizePinnedStack(int, android.graphics.Rect, boolean) parameter #1: MissingNullability: android.app.ActivityTaskManager#resizeTask(int, android.graphics.Rect) parameter #1: @@ -619,8 +635,6 @@ MissingNullability: android.app.AppOpsManager.HistoricalOps#writeToParcel(androi MissingNullability: android.app.AppOpsManager.HistoricalUidOps#writeToParcel(android.os.Parcel, int) parameter #0: -MissingNullability: android.app.AppOpsManager.OnOpActiveChangedListener#onOpActiveChanged(int, int, String, boolean) parameter #2: - MissingNullability: android.app.AppOpsManager.OpEntry#writeToParcel(android.os.Parcel, int) parameter #0: MissingNullability: android.app.NotificationManager#allowAssistantAdjustment(String) parameter #0: @@ -707,12 +721,6 @@ MissingNullability: android.content.ContentResolver#getSyncAdapterPackagesForAut MissingNullability: android.content.ContentResolver#getSyncAdapterPackagesForAuthorityAsUser(String, int) parameter #0: -MissingNullability: android.content.Context#createPackageContextAsUser(String, int, android.os.UserHandle): - -MissingNullability: android.content.Context#createPackageContextAsUser(String, int, android.os.UserHandle) parameter #0: - -MissingNullability: android.content.Context#createPackageContextAsUser(String, int, android.os.UserHandle) parameter #2: - MissingNullability: android.content.Context#getDisplay(): MissingNullability: android.content.Context#getUser(): @@ -731,7 +739,7 @@ MissingNullability: android.content.pm.PackageManager#getNamesForUids(int[]) par MissingNullability: android.content.pm.ShortcutManager#ShortcutManager(android.content.Context) parameter #0: -MissingNullability: android.content.res.AssetManager#getOverlayableMap(String) parameter #0: +MissingNullability: android.content.res.AssetManager#getOverlayablesToString(String) parameter #0: MissingNullability: android.content.res.Configuration#windowConfiguration: @@ -787,6 +795,8 @@ MissingNullability: android.graphics.drawable.ColorDrawable#getXfermode(): MissingNullability: android.hardware.camera2.CameraDevice#createCustomCaptureSession(android.hardware.camera2.params.InputConfiguration, java.util.List<android.hardware.camera2.params.OutputConfiguration>, int, android.hardware.camera2.CameraCaptureSession.StateCallback, android.os.Handler) parameter #0: +MissingNullability: android.hardware.camera2.CameraManager#getCameraIdListNoLazy(): + MissingNullability: android.hardware.display.AmbientBrightnessDayStats#getBucketBoundaries(): MissingNullability: android.hardware.display.AmbientBrightnessDayStats#getLocalDate(): @@ -1476,7 +1486,7 @@ MissingNullability: android.telecom.PhoneAccountSuggestionService#onBind(android MissingNullability: android.telecom.PhoneAccountSuggestionService#onBind(android.content.Intent) parameter #0: MissingNullability: android.telephony.CallQuality#writeToParcel(android.os.Parcel, int) parameter #0: - Missing nullability on parameter `dest` in method `writeToParcel` + MissingNullability: android.telephony.DataSpecificRegistrationInfo#writeToParcel(android.os.Parcel, int) parameter #0: MissingNullability: android.telephony.LteVopsSupportInfo#writeToParcel(android.os.Parcel, int) parameter #0: @@ -1494,9 +1504,9 @@ MissingNullability: android.telephony.SmsManager#checkSmsShortCodeDestination(St MissingNullability: android.telephony.TelephonyManager#checkCarrierPrivilegesForPackage(String) parameter #0: MissingNullability: android.telephony.TelephonyManager#getCarrierPackageNamesForIntent(android.content.Intent): - Missing nullability on method `getCarrierPackageNamesForIntent` return + MissingNullability: android.telephony.TelephonyManager#getCarrierPackageNamesForIntent(android.content.Intent) parameter #0: - Missing nullability on parameter `intent` in method `getCarrierPackageNamesForIntent` + MissingNullability: android.telephony.TelephonyManager#getLine1AlphaTag(): MissingNullability: android.telephony.TelephonyManager#getRadioHalVersion(): @@ -1534,315 +1544,315 @@ MissingNullability: android.telephony.TelephonyManager#setCarrierTestOverride(St MissingNullability: android.telephony.TelephonyManager#setCarrierTestOverride(String, String, String, String, String, String, String, String, String) parameter #8: MissingNullability: android.telephony.ims.ImsCallForwardInfo#getNumber(): - Missing nullability on method `getNumber` return + MissingNullability: android.telephony.ims.ImsCallForwardInfo#writeToParcel(android.os.Parcel, int) parameter #0: - Missing nullability on parameter `out` in method `writeToParcel` + MissingNullability: android.telephony.ims.ImsCallProfile#ImsCallProfile(int, int, android.os.Bundle, android.telephony.ims.ImsStreamMediaProfile) parameter #2: - Missing nullability on parameter `callExtras` in method `ImsCallProfile` + MissingNullability: android.telephony.ims.ImsCallProfile#ImsCallProfile(int, int, android.os.Bundle, android.telephony.ims.ImsStreamMediaProfile) parameter #3: - Missing nullability on parameter `mediaProfile` in method `ImsCallProfile` + MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtra(String): - Missing nullability on method `getCallExtra` return + MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtra(String) parameter #0: - Missing nullability on parameter `name` in method `getCallExtra` + MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtra(String, String): - Missing nullability on method `getCallExtra` return + MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtra(String, String) parameter #0: - Missing nullability on parameter `name` in method `getCallExtra` + MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtra(String, String) parameter #1: - Missing nullability on parameter `defaultValue` in method `getCallExtra` + MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtraBoolean(String) parameter #0: - Missing nullability on parameter `name` in method `getCallExtraBoolean` + MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtraBoolean(String, boolean) parameter #0: - Missing nullability on parameter `name` in method `getCallExtraBoolean` + MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtraInt(String) parameter #0: - Missing nullability on parameter `name` in method `getCallExtraInt` + MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtraInt(String, int) parameter #0: - Missing nullability on parameter `name` in method `getCallExtraInt` + MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtras(): - Missing nullability on method `getCallExtras` return + MissingNullability: android.telephony.ims.ImsCallProfile#getMediaProfile(): - Missing nullability on method `getMediaProfile` return + MissingNullability: android.telephony.ims.ImsCallProfile#getVideoStateFromImsCallProfile(android.telephony.ims.ImsCallProfile) parameter #0: - Missing nullability on parameter `callProfile` in method `getVideoStateFromImsCallProfile` + MissingNullability: android.telephony.ims.ImsCallProfile#setCallExtra(String, String) parameter #0: - Missing nullability on parameter `name` in method `setCallExtra` + MissingNullability: android.telephony.ims.ImsCallProfile#setCallExtra(String, String) parameter #1: - Missing nullability on parameter `value` in method `setCallExtra` + MissingNullability: android.telephony.ims.ImsCallProfile#setCallExtraBoolean(String, boolean) parameter #0: - Missing nullability on parameter `name` in method `setCallExtraBoolean` + MissingNullability: android.telephony.ims.ImsCallProfile#setCallExtraInt(String, int) parameter #0: - Missing nullability on parameter `name` in method `setCallExtraInt` + MissingNullability: android.telephony.ims.ImsCallProfile#updateCallExtras(android.telephony.ims.ImsCallProfile) parameter #0: - Missing nullability on parameter `profile` in method `updateCallExtras` + MissingNullability: android.telephony.ims.ImsCallProfile#updateCallType(android.telephony.ims.ImsCallProfile) parameter #0: - Missing nullability on parameter `profile` in method `updateCallType` + MissingNullability: android.telephony.ims.ImsCallProfile#updateMediaProfile(android.telephony.ims.ImsCallProfile) parameter #0: - Missing nullability on parameter `profile` in method `updateMediaProfile` + MissingNullability: android.telephony.ims.ImsCallProfile#writeToParcel(android.os.Parcel, int) parameter #0: - Missing nullability on parameter `out` in method `writeToParcel` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionConferenceExtendFailed(android.telephony.ims.ImsReasonInfo) parameter #0: - Missing nullability on parameter `reasonInfo` in method `callSessionConferenceExtendFailed` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionConferenceExtendReceived(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile) parameter #0: - Missing nullability on parameter `newSession` in method `callSessionConferenceExtendReceived` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionConferenceExtendReceived(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile) parameter #1: - Missing nullability on parameter `profile` in method `callSessionConferenceExtendReceived` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionConferenceExtended(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile) parameter #0: - Missing nullability on parameter `newSession` in method `callSessionConferenceExtended` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionConferenceExtended(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile) parameter #1: - Missing nullability on parameter `profile` in method `callSessionConferenceExtended` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionConferenceStateUpdated(android.telephony.ims.ImsConferenceState) parameter #0: - Missing nullability on parameter `state` in method `callSessionConferenceStateUpdated` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionHandover(int, int, android.telephony.ims.ImsReasonInfo) parameter #2: - Missing nullability on parameter `reasonInfo` in method `callSessionHandover` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionHandoverFailed(int, int, android.telephony.ims.ImsReasonInfo) parameter #2: - Missing nullability on parameter `reasonInfo` in method `callSessionHandoverFailed` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionHeld(android.telephony.ims.ImsCallProfile) parameter #0: - Missing nullability on parameter `profile` in method `callSessionHeld` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionHoldFailed(android.telephony.ims.ImsReasonInfo) parameter #0: - Missing nullability on parameter `reasonInfo` in method `callSessionHoldFailed` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionHoldReceived(android.telephony.ims.ImsCallProfile) parameter #0: - Missing nullability on parameter `profile` in method `callSessionHoldReceived` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionInitiated(android.telephony.ims.ImsCallProfile) parameter #0: - Missing nullability on parameter `profile` in method `callSessionInitiated` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionInitiatedFailed(android.telephony.ims.ImsReasonInfo) parameter #0: - Missing nullability on parameter `reasonInfo` in method `callSessionInitiatedFailed` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionInviteParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo) parameter #0: - Missing nullability on parameter `reasonInfo` in method `callSessionInviteParticipantsRequestFailed` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionMergeComplete(android.telephony.ims.stub.ImsCallSessionImplBase) parameter #0: - Missing nullability on parameter `newSession` in method `callSessionMergeComplete` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionMergeFailed(android.telephony.ims.ImsReasonInfo) parameter #0: - Missing nullability on parameter `reasonInfo` in method `callSessionMergeFailed` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionMergeStarted(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile) parameter #0: - Missing nullability on parameter `newSession` in method `callSessionMergeStarted` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionMergeStarted(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile) parameter #1: - Missing nullability on parameter `profile` in method `callSessionMergeStarted` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionProgressing(android.telephony.ims.ImsStreamMediaProfile) parameter #0: - Missing nullability on parameter `profile` in method `callSessionProgressing` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionRemoveParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo) parameter #0: - Missing nullability on parameter `reasonInfo` in method `callSessionRemoveParticipantsRequestFailed` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionResumeFailed(android.telephony.ims.ImsReasonInfo) parameter #0: - Missing nullability on parameter `reasonInfo` in method `callSessionResumeFailed` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionResumeReceived(android.telephony.ims.ImsCallProfile) parameter #0: - Missing nullability on parameter `profile` in method `callSessionResumeReceived` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionResumed(android.telephony.ims.ImsCallProfile) parameter #0: - Missing nullability on parameter `profile` in method `callSessionResumed` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionRttMessageReceived(String) parameter #0: - Missing nullability on parameter `rttMessage` in method `callSessionRttMessageReceived` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionRttModifyRequestReceived(android.telephony.ims.ImsCallProfile) parameter #0: - Missing nullability on parameter `callProfile` in method `callSessionRttModifyRequestReceived` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionSuppServiceReceived(android.telephony.ims.ImsSuppServiceNotification) parameter #0: - Missing nullability on parameter `suppSrvNotification` in method `callSessionSuppServiceReceived` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionTerminated(android.telephony.ims.ImsReasonInfo) parameter #0: - Missing nullability on parameter `reasonInfo` in method `callSessionTerminated` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionUpdateFailed(android.telephony.ims.ImsReasonInfo) parameter #0: - Missing nullability on parameter `reasonInfo` in method `callSessionUpdateFailed` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionUpdateReceived(android.telephony.ims.ImsCallProfile) parameter #0: - Missing nullability on parameter `profile` in method `callSessionUpdateReceived` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionUpdated(android.telephony.ims.ImsCallProfile) parameter #0: - Missing nullability on parameter `profile` in method `callSessionUpdated` + MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionUssdMessageReceived(int, String) parameter #1: - Missing nullability on parameter `ussdMessage` in method `callSessionUssdMessageReceived` + MissingNullability: android.telephony.ims.ImsConferenceState#getConnectionStateForStatus(String) parameter #0: - Missing nullability on parameter `status` in method `getConnectionStateForStatus` + MissingNullability: android.telephony.ims.ImsConferenceState#mParticipants: - Missing nullability on field `mParticipants` in class `class android.telephony.ims.ImsConferenceState` + MissingNullability: android.telephony.ims.ImsConferenceState#writeToParcel(android.os.Parcel, int) parameter #0: - Missing nullability on parameter `out` in method `writeToParcel` + MissingNullability: android.telephony.ims.ImsExternalCallState#writeToParcel(android.os.Parcel, int) parameter #0: - Missing nullability on parameter `out` in method `writeToParcel` + MissingNullability: android.telephony.ims.ImsReasonInfo#ImsReasonInfo(int, int, String) parameter #2: - Missing nullability on parameter `extraMessage` in method `ImsReasonInfo` + MissingNullability: android.telephony.ims.ImsReasonInfo#getExtraMessage(): - Missing nullability on method `getExtraMessage` return + MissingNullability: android.telephony.ims.ImsReasonInfo#writeToParcel(android.os.Parcel, int) parameter #0: - Missing nullability on parameter `out` in method `writeToParcel` + MissingNullability: android.telephony.ims.ImsService#createMmTelFeature(int): - Missing nullability on method `createMmTelFeature` return + MissingNullability: android.telephony.ims.ImsService#createRcsFeature(int): - Missing nullability on method `createRcsFeature` return + MissingNullability: android.telephony.ims.ImsService#getConfig(int): - Missing nullability on method `getConfig` return + MissingNullability: android.telephony.ims.ImsService#getRegistration(int): - Missing nullability on method `getRegistration` return + MissingNullability: android.telephony.ims.ImsService#onUpdateSupportedImsFeatures(android.telephony.ims.stub.ImsFeatureConfiguration) parameter #0: - Missing nullability on parameter `c` in method `onUpdateSupportedImsFeatures` + MissingNullability: android.telephony.ims.ImsService#querySupportedImsFeatures(): - Missing nullability on method `querySupportedImsFeatures` return + MissingNullability: android.telephony.ims.ImsSsData#writeToParcel(android.os.Parcel, int) parameter #0: - Missing nullability on parameter `out` in method `writeToParcel` + MissingNullability: android.telephony.ims.ImsSsInfo#writeToParcel(android.os.Parcel, int) parameter #0: - Missing nullability on parameter `out` in method `writeToParcel` + MissingNullability: android.telephony.ims.ImsStreamMediaProfile#copyFrom(android.telephony.ims.ImsStreamMediaProfile) parameter #0: - Missing nullability on parameter `profile` in method `copyFrom` + MissingNullability: android.telephony.ims.ImsStreamMediaProfile#writeToParcel(android.os.Parcel, int) parameter #0: - Missing nullability on parameter `out` in method `writeToParcel` + MissingNullability: android.telephony.ims.ImsSuppServiceNotification#ImsSuppServiceNotification(int, int, int, int, String, String[]) parameter #4: - Missing nullability on parameter `number` in method `ImsSuppServiceNotification` + MissingNullability: android.telephony.ims.ImsSuppServiceNotification#ImsSuppServiceNotification(int, int, int, int, String, String[]) parameter #5: - Missing nullability on parameter `history` in method `ImsSuppServiceNotification` + MissingNullability: android.telephony.ims.ImsSuppServiceNotification#history: - Missing nullability on field `history` in class `class android.telephony.ims.ImsSuppServiceNotification` + MissingNullability: android.telephony.ims.ImsSuppServiceNotification#number: - Missing nullability on field `number` in class `class android.telephony.ims.ImsSuppServiceNotification` + MissingNullability: android.telephony.ims.ImsSuppServiceNotification#writeToParcel(android.os.Parcel, int) parameter #0: - Missing nullability on parameter `out` in method `writeToParcel` + MissingNullability: android.telephony.ims.ImsUtListener#onSupplementaryServiceIndication(android.telephony.ims.ImsSsData) parameter #0: - Missing nullability on parameter `ssData` in method `onSupplementaryServiceIndication` + MissingNullability: android.telephony.ims.ImsUtListener#onUtConfigurationCallBarringQueried(int, android.telephony.ims.ImsSsInfo[]) parameter #1: - Missing nullability on parameter `cbInfo` in method `onUtConfigurationCallBarringQueried` + MissingNullability: android.telephony.ims.ImsUtListener#onUtConfigurationCallForwardQueried(int, android.telephony.ims.ImsCallForwardInfo[]) parameter #1: - Missing nullability on parameter `cfInfo` in method `onUtConfigurationCallForwardQueried` + MissingNullability: android.telephony.ims.ImsUtListener#onUtConfigurationCallWaitingQueried(int, android.telephony.ims.ImsSsInfo[]) parameter #1: - Missing nullability on parameter `cwInfo` in method `onUtConfigurationCallWaitingQueried` + MissingNullability: android.telephony.ims.ImsUtListener#onUtConfigurationQueried(int, android.os.Bundle) parameter #1: - Missing nullability on parameter `configuration` in method `onUtConfigurationQueried` + MissingNullability: android.telephony.ims.ImsUtListener#onUtConfigurationQueryFailed(int, android.telephony.ims.ImsReasonInfo) parameter #1: - Missing nullability on parameter `error` in method `onUtConfigurationQueryFailed` + MissingNullability: android.telephony.ims.ImsUtListener#onUtConfigurationUpdateFailed(int, android.telephony.ims.ImsReasonInfo) parameter #1: - Missing nullability on parameter `error` in method `onUtConfigurationUpdateFailed` + MissingNullability: android.telephony.ims.ImsVideoCallProvider#changeCameraCapabilities(android.telecom.VideoProfile.CameraCapabilities) parameter #0: - Missing nullability on parameter `CameraCapabilities` in method `changeCameraCapabilities` + MissingNullability: android.telephony.ims.ImsVideoCallProvider#onSendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile) parameter #0: - Missing nullability on parameter `fromProfile` in method `onSendSessionModifyRequest` + MissingNullability: android.telephony.ims.ImsVideoCallProvider#onSendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile) parameter #1: - Missing nullability on parameter `toProfile` in method `onSendSessionModifyRequest` + MissingNullability: android.telephony.ims.ImsVideoCallProvider#onSendSessionModifyResponse(android.telecom.VideoProfile) parameter #0: - Missing nullability on parameter `responseProfile` in method `onSendSessionModifyResponse` + MissingNullability: android.telephony.ims.ImsVideoCallProvider#onSetCamera(String) parameter #0: - Missing nullability on parameter `cameraId` in method `onSetCamera` + MissingNullability: android.telephony.ims.ImsVideoCallProvider#onSetCamera(String, int) parameter #0: - Missing nullability on parameter `cameraId` in method `onSetCamera` + MissingNullability: android.telephony.ims.ImsVideoCallProvider#onSetDisplaySurface(android.view.Surface) parameter #0: - Missing nullability on parameter `surface` in method `onSetDisplaySurface` + MissingNullability: android.telephony.ims.ImsVideoCallProvider#onSetPauseImage(android.net.Uri) parameter #0: - Missing nullability on parameter `uri` in method `onSetPauseImage` + MissingNullability: android.telephony.ims.ImsVideoCallProvider#onSetPreviewSurface(android.view.Surface) parameter #0: - Missing nullability on parameter `surface` in method `onSetPreviewSurface` + MissingNullability: android.telephony.ims.ImsVideoCallProvider#receiveSessionModifyRequest(android.telecom.VideoProfile) parameter #0: - Missing nullability on parameter `VideoProfile` in method `receiveSessionModifyRequest` + MissingNullability: android.telephony.ims.ImsVideoCallProvider#receiveSessionModifyResponse(int, android.telecom.VideoProfile, android.telecom.VideoProfile) parameter #1: - Missing nullability on parameter `requestedProfile` in method `receiveSessionModifyResponse` + MissingNullability: android.telephony.ims.ImsVideoCallProvider#receiveSessionModifyResponse(int, android.telecom.VideoProfile, android.telecom.VideoProfile) parameter #2: - Missing nullability on parameter `responseProfile` in method `receiveSessionModifyResponse` + MissingNullability: android.telephony.ims.feature.CapabilityChangeRequest#getCapabilitiesToDisable(): - Missing nullability on method `getCapabilitiesToDisable` return + MissingNullability: android.telephony.ims.feature.CapabilityChangeRequest#getCapabilitiesToEnable(): - Missing nullability on method `getCapabilitiesToEnable` return + MissingNullability: android.telephony.ims.feature.CapabilityChangeRequest#writeToParcel(android.os.Parcel, int) parameter #0: - Missing nullability on parameter `dest` in method `writeToParcel` + MissingNullability: android.telephony.ims.feature.ImsFeature#changeEnabledCapabilities(android.telephony.ims.feature.CapabilityChangeRequest, android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy) parameter #0: - Missing nullability on parameter `request` in method `changeEnabledCapabilities` + MissingNullability: android.telephony.ims.feature.ImsFeature#changeEnabledCapabilities(android.telephony.ims.feature.CapabilityChangeRequest, android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy) parameter #1: - Missing nullability on parameter `c` in method `changeEnabledCapabilities` + MissingNullability: android.telephony.ims.feature.MmTelFeature#queryCapabilityStatus(): - Missing nullability on method `queryCapabilityStatus` return + MissingNullability: android.telephony.ims.feature.MmTelFeature.MmTelCapabilities#MmTelCapabilities(android.telephony.ims.feature.ImsFeature.Capabilities) parameter #0: - Missing nullability on parameter `c` in method `MmTelCapabilities` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#accept(int, android.telephony.ims.ImsStreamMediaProfile) parameter #1: - Missing nullability on parameter `profile` in method `accept` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#deflect(String) parameter #0: - Missing nullability on parameter `deflectNumber` in method `deflect` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#extendToConference(String[]) parameter #0: - Missing nullability on parameter `participants` in method `extendToConference` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#getCallId(): - Missing nullability on method `getCallId` return + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#getCallProfile(): - Missing nullability on method `getCallProfile` return + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#getImsVideoCallProvider(): - Missing nullability on method `getImsVideoCallProvider` return + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#getLocalCallProfile(): - Missing nullability on method `getLocalCallProfile` return + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#getProperty(String): - Missing nullability on method `getProperty` return + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#getProperty(String) parameter #0: - Missing nullability on parameter `name` in method `getProperty` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#getRemoteCallProfile(): - Missing nullability on method `getRemoteCallProfile` return + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#hold(android.telephony.ims.ImsStreamMediaProfile) parameter #0: - Missing nullability on parameter `profile` in method `hold` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#inviteParticipants(String[]) parameter #0: - Missing nullability on parameter `participants` in method `inviteParticipants` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#removeParticipants(String[]) parameter #0: - Missing nullability on parameter `participants` in method `removeParticipants` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#resume(android.telephony.ims.ImsStreamMediaProfile) parameter #0: - Missing nullability on parameter `profile` in method `resume` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#sendDtmf(char, android.os.Message) parameter #1: - Missing nullability on parameter `result` in method `sendDtmf` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#sendRttMessage(String) parameter #0: - Missing nullability on parameter `rttMessage` in method `sendRttMessage` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#sendRttModifyRequest(android.telephony.ims.ImsCallProfile) parameter #0: - Missing nullability on parameter `toProfile` in method `sendRttModifyRequest` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#sendUssd(String) parameter #0: - Missing nullability on parameter `ussdMessage` in method `sendUssd` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#setListener(android.telephony.ims.ImsCallSessionListener) parameter #0: - Missing nullability on parameter `listener` in method `setListener` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#start(String, android.telephony.ims.ImsCallProfile) parameter #0: - Missing nullability on parameter `callee` in method `start` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#start(String, android.telephony.ims.ImsCallProfile) parameter #1: - Missing nullability on parameter `profile` in method `start` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#startConference(String[], android.telephony.ims.ImsCallProfile) parameter #0: - Missing nullability on parameter `participants` in method `startConference` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#startConference(String[], android.telephony.ims.ImsCallProfile) parameter #1: - Missing nullability on parameter `profile` in method `startConference` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#update(int, android.telephony.ims.ImsStreamMediaProfile) parameter #1: - Missing nullability on parameter `profile` in method `update` + MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase.State#toString(int): - Missing nullability on method `toString` return + MissingNullability: android.telephony.ims.stub.ImsConfigImplBase#getConfigString(int): - Missing nullability on method `getConfigString` return + MissingNullability: android.telephony.ims.stub.ImsConfigImplBase#notifyProvisionedValueChanged(int, String) parameter #1: - Missing nullability on parameter `value` in method `notifyProvisionedValueChanged` + MissingNullability: android.telephony.ims.stub.ImsConfigImplBase#setConfig(int, String) parameter #1: - Missing nullability on parameter `value` in method `setConfig` + MissingNullability: android.telephony.ims.stub.ImsFeatureConfiguration#getServiceFeatures(): - Missing nullability on method `getServiceFeatures` return + MissingNullability: android.telephony.ims.stub.ImsFeatureConfiguration#writeToParcel(android.os.Parcel, int) parameter #0: - Missing nullability on parameter `dest` in method `writeToParcel` + MissingNullability: android.telephony.ims.stub.ImsFeatureConfiguration.Builder#addFeature(int, int): - Missing nullability on method `addFeature` return + MissingNullability: android.telephony.ims.stub.ImsFeatureConfiguration.Builder#build(): - Missing nullability on method `build` return + MissingNullability: android.telephony.ims.stub.ImsMultiEndpointImplBase#onImsExternalCallStateUpdate(java.util.List<android.telephony.ims.ImsExternalCallState>) parameter #0: - Missing nullability on parameter `externalCallDialogs` in method `onImsExternalCallStateUpdate` + MissingNullability: android.telephony.ims.stub.ImsRegistrationImplBase#onDeregistered(android.telephony.ims.ImsReasonInfo) parameter #0: - Missing nullability on parameter `info` in method `onDeregistered` + MissingNullability: android.telephony.ims.stub.ImsRegistrationImplBase#onSubscriberAssociatedUriChanged(android.net.Uri[]) parameter #0: - Missing nullability on parameter `uris` in method `onSubscriberAssociatedUriChanged` + MissingNullability: android.telephony.ims.stub.ImsRegistrationImplBase#onTechnologyChangeFailed(int, android.telephony.ims.ImsReasonInfo) parameter #1: - Missing nullability on parameter `info` in method `onTechnologyChangeFailed` + MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#getSmsFormat(): - Missing nullability on method `getSmsFormat` return + MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#onSmsReceived(int, String, byte[]) parameter #1: - Missing nullability on parameter `format` in method `onSmsReceived` + MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#onSmsReceived(int, String, byte[]) parameter #2: - Missing nullability on parameter `pdu` in method `onSmsReceived` + MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#onSmsStatusReportReceived(int, String, byte[]) parameter #1: - Missing nullability on parameter `format` in method `onSmsStatusReportReceived` + MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#onSmsStatusReportReceived(int, String, byte[]) parameter #2: - Missing nullability on parameter `pdu` in method `onSmsStatusReportReceived` + MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#onSmsStatusReportReceived(int, int, String, byte[]) parameter #2: - Missing nullability on parameter `format` in method `onSmsStatusReportReceived` + MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#onSmsStatusReportReceived(int, int, String, byte[]) parameter #3: - Missing nullability on parameter `pdu` in method `onSmsStatusReportReceived` + MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#sendSms(int, int, String, String, boolean, byte[]) parameter #2: - Missing nullability on parameter `format` in method `sendSms` + MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#sendSms(int, int, String, String, boolean, byte[]) parameter #3: - Missing nullability on parameter `smsc` in method `sendSms` + MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#sendSms(int, int, String, String, boolean, byte[]) parameter #5: - Missing nullability on parameter `pdu` in method `sendSms` + MissingNullability: android.telephony.ims.stub.ImsUtImplBase#queryCallForward(int, String) parameter #1: - Missing nullability on parameter `number` in method `queryCallForward` + MissingNullability: android.telephony.ims.stub.ImsUtImplBase#setListener(android.telephony.ims.ImsUtListener) parameter #0: - Missing nullability on parameter `listener` in method `setListener` + MissingNullability: android.telephony.ims.stub.ImsUtImplBase#transact(android.os.Bundle) parameter #0: - Missing nullability on parameter `ssInfo` in method `transact` + MissingNullability: android.telephony.ims.stub.ImsUtImplBase#updateCallBarring(int, int, String[]) parameter #2: - Missing nullability on parameter `barrList` in method `updateCallBarring` + MissingNullability: android.telephony.ims.stub.ImsUtImplBase#updateCallBarringForServiceClass(int, int, String[], int) parameter #2: - Missing nullability on parameter `barrList` in method `updateCallBarringForServiceClass` + MissingNullability: android.telephony.ims.stub.ImsUtImplBase#updateCallForward(int, int, String, int, int) parameter #2: - Missing nullability on parameter `number` in method `updateCallForward` + MissingNullability: android.telephony.mbms.DownloadRequest.Builder#setServiceId(String): MissingNullability: android.telephony.mbms.DownloadRequest.Builder#setServiceId(String) parameter #0: @@ -2073,6 +2083,18 @@ MissingNullability: android.view.FocusFinder#sort(android.view.View[], int, int, MissingNullability: android.view.KeyEvent#actionToString(int): +MissingNullability: android.view.SurfaceControlViewHost#SurfaceControlViewHost(android.content.Context, android.view.Display, android.view.SurfaceControl) parameter #0: + +MissingNullability: android.view.SurfaceControlViewHost#SurfaceControlViewHost(android.content.Context, android.view.Display, android.view.SurfaceControl) parameter #1: + +MissingNullability: android.view.SurfaceControlViewHost#SurfaceControlViewHost(android.content.Context, android.view.Display, android.view.SurfaceControl) parameter #2: + +MissingNullability: android.view.SurfaceControlViewHost#addView(android.view.View, android.view.WindowManager.LayoutParams) parameter #0: + +MissingNullability: android.view.SurfaceControlViewHost#addView(android.view.View, android.view.WindowManager.LayoutParams) parameter #1: + +MissingNullability: android.view.SurfaceControlViewHost#relayout(android.view.WindowManager.LayoutParams) parameter #0: + MissingNullability: android.view.View#getTooltipView(): MissingNullability: android.view.View#isDefaultFocusHighlightNeeded(android.graphics.drawable.Drawable, android.graphics.drawable.Drawable) parameter #0: @@ -2103,32 +2125,6 @@ MissingNullability: android.view.accessibility.AccessibilityWindowInfo#setNumIns MissingNullability: android.view.contentcapture.ContentCaptureEvent#writeToParcel(android.os.Parcel, int) parameter #0: -MissingNullability: android.view.contentcapture.ViewNode#getAutofillId(): - -MissingNullability: android.view.contentcapture.ViewNode#getClassName(): - -MissingNullability: android.view.contentcapture.ViewNode#getContentDescription(): - -MissingNullability: android.view.contentcapture.ViewNode#getExtras(): - -MissingNullability: android.view.contentcapture.ViewNode#getHint(): - -MissingNullability: android.view.contentcapture.ViewNode#getIdEntry(): - -MissingNullability: android.view.contentcapture.ViewNode#getIdPackage(): - -MissingNullability: android.view.contentcapture.ViewNode#getIdType(): - -MissingNullability: android.view.contentcapture.ViewNode#getLocaleList(): - -MissingNullability: android.view.contentcapture.ViewNode#getText(): - -MissingNullability: android.view.contentcapture.ViewNode#getTextIdEntry(): - -MissingNullability: android.view.contentcapture.ViewNode#getTextLineBaselines(): - -MissingNullability: android.view.contentcapture.ViewNode#getTextLineCharOffsets(): - MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#asyncNewChild(int): MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#getAutofillId(): @@ -2165,6 +2161,8 @@ MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setCo MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setHint(CharSequence) parameter #0: +MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setHintIdEntry(String) parameter #0: + MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setHtmlInfo(android.view.ViewStructure.HtmlInfo) parameter #0: MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setId(int, String, String, String) parameter #1: @@ -2179,8 +2177,6 @@ MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setTe MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setText(CharSequence, int, int) parameter #0: -MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setTextIdEntry(String) parameter #0: - MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setTextLines(int[], int[]) parameter #0: MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setTextLines(int[], int[]) parameter #1: @@ -2301,72 +2297,85 @@ NoClone: android.util.proto.ProtoOutputStream#ProtoOutputStream(java.io.FileDesc +NoSettingsProvider: android.provider.Settings.Global#APP_OPS_CONSTANTS: + New setting keys are not allowed (Field: APP_OPS_CONSTANTS); use getters/setters in relevant manager class NoSettingsProvider: android.provider.Settings.Global#AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES: - New setting keys are not allowed. (Field: AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES) + NoSettingsProvider: android.provider.Settings.Global#AUTOMATIC_POWER_SAVE_MODE: - New setting keys are not allowed. (Field: AUTOMATIC_POWER_SAVE_MODE) + NoSettingsProvider: android.provider.Settings.Global#BATTERY_SAVER_CONSTANTS: - New setting keys are not allowed. (Field: BATTERY_SAVER_CONSTANTS) + NoSettingsProvider: android.provider.Settings.Global#DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD: - New setting keys are not allowed. (Field: DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD) + NoSettingsProvider: android.provider.Settings.Global#DYNAMIC_POWER_SAVINGS_ENABLED: - New setting keys are not allowed. (Field: DYNAMIC_POWER_SAVINGS_ENABLED) + NoSettingsProvider: android.provider.Settings.Global#HIDDEN_API_BLACKLIST_EXEMPTIONS: - New setting keys are not allowed. (Field: HIDDEN_API_BLACKLIST_EXEMPTIONS) + +NoSettingsProvider: android.provider.Settings.Global#HIDE_ERROR_DIALOGS: + New setting keys are not allowed (Field: HIDE_ERROR_DIALOGS); use getters/setters in relevant manager class NoSettingsProvider: android.provider.Settings.Global#LOCATION_GLOBAL_KILL_SWITCH: - New setting keys are not allowed. (Field: LOCATION_GLOBAL_KILL_SWITCH) + NoSettingsProvider: android.provider.Settings.Global#LOCATION_IGNORE_SETTINGS_PACKAGE_WHITELIST: - New setting keys are not allowed. (Field: LOCATION_IGNORE_SETTINGS_PACKAGE_WHITELIST) + NoSettingsProvider: android.provider.Settings.Global#LOW_POWER_MODE: - New setting keys are not allowed. (Field: LOW_POWER_MODE) + NoSettingsProvider: android.provider.Settings.Global#LOW_POWER_MODE_STICKY: - New setting keys are not allowed. (Field: LOW_POWER_MODE_STICKY) + NoSettingsProvider: android.provider.Settings.Global#NOTIFICATION_BUBBLES: - New setting keys are not allowed. (Field: NOTIFICATION_BUBBLES) + NoSettingsProvider: android.provider.Settings.Global#OVERLAY_DISPLAY_DEVICES: - New setting keys are not allowed. (Field: OVERLAY_DISPLAY_DEVICES) + NoSettingsProvider: android.provider.Settings.Global#TETHER_OFFLOAD_DISABLED: - New setting keys are not allowed. (Field: TETHER_OFFLOAD_DISABLED) + NoSettingsProvider: android.provider.Settings.Global#USE_OPEN_WIFI_PACKAGE: - New setting keys are not allowed. (Field: USE_OPEN_WIFI_PACKAGE) + NoSettingsProvider: android.provider.Settings.Secure#ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED: - New setting keys are not allowed. (Field: ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED) + NoSettingsProvider: android.provider.Settings.Secure#ACCESSIBILITY_SHORTCUT_TARGET_SERVICE: - New setting keys are not allowed. (Field: ACCESSIBILITY_SHORTCUT_TARGET_SERVICE) + NoSettingsProvider: android.provider.Settings.Secure#AUTOFILL_FEATURE_FIELD_CLASSIFICATION: - New setting keys are not allowed. (Field: AUTOFILL_FEATURE_FIELD_CLASSIFICATION) + NoSettingsProvider: android.provider.Settings.Secure#AUTOFILL_SERVICE: - New setting keys are not allowed. (Field: AUTOFILL_SERVICE) + NoSettingsProvider: android.provider.Settings.Secure#AUTOFILL_USER_DATA_MAX_CATEGORY_COUNT: - New setting keys are not allowed. (Field: AUTOFILL_USER_DATA_MAX_CATEGORY_COUNT) + NoSettingsProvider: android.provider.Settings.Secure#AUTOFILL_USER_DATA_MAX_FIELD_CLASSIFICATION_IDS_SIZE: - New setting keys are not allowed. (Field: AUTOFILL_USER_DATA_MAX_FIELD_CLASSIFICATION_IDS_SIZE) + NoSettingsProvider: android.provider.Settings.Secure#AUTOFILL_USER_DATA_MAX_USER_DATA_SIZE: - New setting keys are not allowed. (Field: AUTOFILL_USER_DATA_MAX_USER_DATA_SIZE) + NoSettingsProvider: android.provider.Settings.Secure#AUTOFILL_USER_DATA_MAX_VALUE_LENGTH: - New setting keys are not allowed. (Field: AUTOFILL_USER_DATA_MAX_VALUE_LENGTH) + NoSettingsProvider: android.provider.Settings.Secure#AUTOFILL_USER_DATA_MIN_VALUE_LENGTH: - New setting keys are not allowed. (Field: AUTOFILL_USER_DATA_MIN_VALUE_LENGTH) + NoSettingsProvider: android.provider.Settings.Secure#CONTENT_CAPTURE_ENABLED: - New setting keys are not allowed. (Field: CONTENT_CAPTURE_ENABLED) + NoSettingsProvider: android.provider.Settings.Secure#DISABLED_PRINT_SERVICES: - New setting keys are not allowed. (Field: DISABLED_PRINT_SERVICES) + NoSettingsProvider: android.provider.Settings.Secure#DOZE_ALWAYS_ON: - New setting keys are not allowed. (Field: DOZE_ALWAYS_ON) + NoSettingsProvider: android.provider.Settings.Secure#ENABLED_VR_LISTENERS: - New setting keys are not allowed. (Field: ENABLED_VR_LISTENERS) + +NoSettingsProvider: android.provider.Settings.Secure#IMMERSIVE_MODE_CONFIRMATIONS: + New setting keys are not allowed (Field: IMMERSIVE_MODE_CONFIRMATIONS); use getters/setters in relevant manager class NoSettingsProvider: android.provider.Settings.Secure#LOCATION_ACCESS_CHECK_DELAY_MILLIS: - New setting keys are not allowed. (Field: LOCATION_ACCESS_CHECK_DELAY_MILLIS) + NoSettingsProvider: android.provider.Settings.Secure#LOCATION_ACCESS_CHECK_INTERVAL_MILLIS: - New setting keys are not allowed. (Field: LOCATION_ACCESS_CHECK_INTERVAL_MILLIS) + +NoSettingsProvider: android.provider.Settings.Secure#LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS: + New setting keys are not allowed (Field: LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS); use getters/setters in relevant manager class +NoSettingsProvider: android.provider.Settings.Secure#LOCK_SCREEN_SHOW_NOTIFICATIONS: + New setting keys are not allowed (Field: LOCK_SCREEN_SHOW_NOTIFICATIONS); use getters/setters in relevant manager class +NoSettingsProvider: android.provider.Settings.Secure#NFC_PAYMENT_DEFAULT_COMPONENT: + New setting keys are not allowed (Field: NFC_PAYMENT_DEFAULT_COMPONENT); use getters/setters in relevant manager class NoSettingsProvider: android.provider.Settings.Secure#NOTIFICATION_BADGING: - New setting keys are not allowed. (Field: NOTIFICATION_BADGING) + +NoSettingsProvider: android.provider.Settings.Secure#POWER_MENU_LOCKED_SHOW_CONTENT: + New setting keys are not allowed (Field: POWER_MENU_LOCKED_SHOW_CONTENT); use getters/setters in relevant manager class NoSettingsProvider: android.provider.Settings.Secure#SYNC_PARENT_SOUNDS: - New setting keys are not allowed. (Field: SYNC_PARENT_SOUNDS) + NoSettingsProvider: android.provider.Settings.Secure#USER_SETUP_COMPLETE: - New setting keys are not allowed. (Field: USER_SETUP_COMPLETE) + NoSettingsProvider: android.provider.Settings.Secure#VOICE_INTERACTION_SERVICE: - New setting keys are not allowed. (Field: VOICE_INTERACTION_SERVICE) @@ -2377,7 +2386,7 @@ NotCloseable: android.app.prediction.AppPredictor: NotCloseable: android.os.HwParcel: NotCloseable: android.telephony.ims.stub.ImsUtImplBase: - Classes that release resources (close()) should implement AutoClosable and CloseGuard: class android.telephony.ims.stub.ImsUtImplBase + OnNameExpected: android.service.autofill.augmented.AugmentedAutofillService#dump(java.io.PrintWriter, String[]): @@ -2391,21 +2400,21 @@ OnNameExpected: android.service.notification.NotificationAssistantService#attach OnNameExpected: android.service.quicksettings.TileService#isQuickSettingsSupported(): OnNameExpected: android.telephony.ims.ImsService#createMmTelFeature(int): - If implemented by developer, should follow the on<Something> style; otherwise consider marking final + OnNameExpected: android.telephony.ims.ImsService#createRcsFeature(int): - If implemented by developer, should follow the on<Something> style; otherwise consider marking final + OnNameExpected: android.telephony.ims.ImsService#disableIms(int): - If implemented by developer, should follow the on<Something> style; otherwise consider marking final + OnNameExpected: android.telephony.ims.ImsService#enableIms(int): - If implemented by developer, should follow the on<Something> style; otherwise consider marking final + OnNameExpected: android.telephony.ims.ImsService#getConfig(int): - If implemented by developer, should follow the on<Something> style; otherwise consider marking final + OnNameExpected: android.telephony.ims.ImsService#getRegistration(int): - If implemented by developer, should follow the on<Something> style; otherwise consider marking final + OnNameExpected: android.telephony.ims.ImsService#querySupportedImsFeatures(): - If implemented by developer, should follow the on<Something> style; otherwise consider marking final + OnNameExpected: android.telephony.ims.ImsService#readyForFeatureCreation(): - If implemented by developer, should follow the on<Something> style; otherwise consider marking final + OnNameExpected: android.telephony.mbms.vendor.MbmsGroupCallServiceBase#dispose(int): OnNameExpected: android.telephony.mbms.vendor.MbmsGroupCallServiceBase#initialize(android.telephony.mbms.MbmsGroupCallSessionCallback, int): @@ -2523,12 +2532,6 @@ ProtectedMember: android.view.View#resetResolvedDrawables(): ProtectedMember: android.view.ViewGroup#resetResolvedDrawables(): -PublicTypedef: android.os.HwParcel.Status: Don't expose @IntDef: @Status must be hidden. - -PublicTypedef: android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability: Don't expose @IntDef: @MmTelCapability must be hidden. - -PublicTypedef: android.telephony.ims.feature.MmTelFeature.ProcessCallResult: Don't expose @IntDef: @ProcessCallResult must be hidden. - RawAidl: android.telephony.mbms.vendor.MbmsDownloadServiceBase: @@ -2551,7 +2554,7 @@ RethrowRemoteException: android.os.HwBinder#transact(int, android.os.HwParcel, a RethrowRemoteException: android.os.IHwBinder#transact(int, android.os.HwParcel, android.os.HwParcel, int): RethrowRemoteException: android.telephony.ims.ImsService#onUpdateSupportedImsFeatures(android.telephony.ims.stub.ImsFeatureConfiguration): - Methods calling system APIs should rethrow `RemoteException` as `RuntimeException` (but do not list it in the throws clause) + RethrowRemoteException: android.telephony.mbms.vendor.MbmsDownloadServiceBase#addProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener): RethrowRemoteException: android.telephony.mbms.vendor.MbmsDownloadServiceBase#addStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener): @@ -2610,6 +2613,8 @@ SamShouldBeLast: android.database.sqlite.SQLiteDebug#dump(android.util.Printer, SamShouldBeLast: android.database.sqlite.SQLiteDirectCursorDriver#query(android.database.sqlite.SQLiteDatabase.CursorFactory, String[]): +SamShouldBeLast: android.location.LocationManager#requestLocationUpdates(android.location.LocationRequest, android.location.LocationListener, android.os.Looper): + SAM-compatible parameters (such as parameter 2, "listener", in android.location.LocationManager.requestLocationUpdates) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions SamShouldBeLast: android.location.LocationManager#requestLocationUpdates(android.location.LocationRequest, java.util.concurrent.Executor, android.location.LocationListener): SamShouldBeLast: android.os.BugreportManager#startBugreport(android.os.ParcelFileDescriptor, android.os.ParcelFileDescriptor, android.os.BugreportParams, java.util.concurrent.Executor, android.os.BugreportManager.BugreportCallback): @@ -2631,7 +2636,7 @@ SamShouldBeLast: android.service.autofill.ImageTransformation#apply(android.serv SamShouldBeLast: android.service.autofill.InternalTransformation#batchApply(android.service.autofill.ValueFinder, android.widget.RemoteViews, java.util.ArrayList<android.util.Pair<java.lang.Integer,android.service.autofill.InternalTransformation>>): SamShouldBeLast: android.telephony.ims.ImsMmTelManager#getFeatureState(java.util.function.Consumer<java.lang.Integer>, java.util.concurrent.Executor): - SAM-compatible parameters (such as parameter 1, "callback", in android.telephony.ims.ImsMmTelManager.getFeatureState) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions + SamShouldBeLast: android.view.Choreographer#postCallback(int, Runnable, Object): SamShouldBeLast: android.view.Choreographer#postCallbackDelayed(int, Runnable, Object, long): @@ -2672,8 +2677,6 @@ StaticUtils: android.util.FeatureFlagUtils: StaticUtils: android.util.proto.ProtoStream: -StaticUtils: android.view.inputmethod.InputMethodSystemProperty: - StreamFiles: android.os.Environment#buildPath(java.io.File, java.lang.String...): @@ -2692,6 +2695,8 @@ UseParcelFileDescriptor: android.util.proto.ProtoOutputStream#ProtoOutputStream( +UserHandle: android.app.ActivityManager#switchUser(android.os.UserHandle): + When a method overload is needed to target a specific UserHandle, callers should be directed to use Context.createPackageContextAsUser() and re-obtain the relevant Manager, and no new API should be added UserHandle: android.app.admin.DevicePolicyManager#getOwnerInstalledCaCerts(android.os.UserHandle): UserHandle: android.app.role.RoleManager#addOnRoleHoldersChangedListenerAsUser(java.util.concurrent.Executor, android.app.role.OnRoleHoldersChangedListener, android.os.UserHandle): @@ -2706,6 +2711,12 @@ UserHandle: android.app.role.RoleManager#removeOnRoleHoldersChangedListenerAsUse UserHandle: android.app.role.RoleManager#removeRoleHolderAsUser(String, String, int, android.os.UserHandle, java.util.concurrent.Executor, java.util.function.Consumer<java.lang.Boolean>): +UserHandle: android.app.usage.StorageStatsManager#queryCratesForPackage(java.util.UUID, String, android.os.UserHandle): + When a method overload is needed to target a specific UserHandle, callers should be directed to use Context.createPackageContextAsUser() and re-obtain the relevant Manager, and no new API should be added +UserHandle: android.app.usage.StorageStatsManager#queryCratesForUser(java.util.UUID, android.os.UserHandle): + When a method overload is needed to target a specific UserHandle, callers should be directed to use Context.createPackageContextAsUser() and re-obtain the relevant Manager, and no new API should be added +UserHandle: android.companion.CompanionDeviceManager#isDeviceAssociated(String, android.net.MacAddress, android.os.UserHandle): + UserHandle: android.content.pm.PackageManager#getInstallReason(String, android.os.UserHandle): UserHandle: android.content.pm.PackageManager#getPermissionFlags(String, String, android.os.UserHandle): @@ -2718,6 +2729,12 @@ UserHandle: android.content.pm.PackageManager#updatePermissionFlags(String, Stri UserHandle: android.location.LocationManager#setLocationEnabledForUser(boolean, android.os.UserHandle): +UserHandle: android.permission.PermissionControllerManager#applyStagedRuntimePermissionBackup(String, android.os.UserHandle, java.util.concurrent.Executor, java.util.function.Consumer<java.lang.Boolean>): + +UserHandle: android.permission.PermissionControllerManager#getRuntimePermissionBackup(android.os.UserHandle, java.util.concurrent.Executor, java.util.function.Consumer<byte[]>): + +UserHandle: android.permission.PermissionControllerManager#stageAndApplyRuntimePermissionsBackup(byte[], android.os.UserHandle): + UserHandleName: android.app.ActivityView#startActivity(android.content.Intent, android.os.UserHandle): @@ -2746,7 +2763,11 @@ VisiblySynchronized: android.content.ContentProviderClient#setDetectNotRespondin VisiblySynchronized: android.content.res.AssetManager#getApkPaths(): -VisiblySynchronized: android.content.res.AssetManager#getOverlayableMap(String): +VisiblySynchronized: android.content.res.AssetManager#getLastResourceResolution(): + +VisiblySynchronized: android.content.res.AssetManager#getOverlayablesToString(String): + +VisiblySynchronized: android.content.res.AssetManager#setResourceResolutionLoggingEnabled(boolean): VisiblySynchronized: android.os.MessageQueue#removeSyncBarrier(int): diff --git a/api/test-removed.txt b/api/test-removed.txt index ef0aac7eac9a..e47f6edfbff1 100644 --- a/api/test-removed.txt +++ b/api/test-removed.txt @@ -8,16 +8,3 @@ package android.app.prediction { } -package android.provider { - - public final class DeviceConfig { - method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static void addOnPropertyChangedListener(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.OnPropertyChangedListener); - method public static void removeOnPropertyChangedListener(@NonNull android.provider.DeviceConfig.OnPropertyChangedListener); - } - - public static interface DeviceConfig.OnPropertyChangedListener { - method public void onPropertyChanged(@NonNull String, @NonNull String, @Nullable String); - } - -} - |