Loading core/api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -12494,6 +12494,7 @@ package android.content.pm { method @FlaggedApi("android.os.allow_private_profile") @Nullable @RequiresPermission(conditional=true, anyOf={"android.permission.ACCESS_HIDDEN_PROFILES_FULL", android.Manifest.permission.ACCESS_HIDDEN_PROFILES}) public final android.content.pm.LauncherUserInfo getLauncherUserInfo(@NonNull android.os.UserHandle); method public android.content.pm.LauncherApps.PinItemRequest getPinItemRequest(android.content.Intent); method @FlaggedApi("android.os.allow_private_profile") @NonNull @RequiresPermission(conditional=true, anyOf={"android.permission.ACCESS_HIDDEN_PROFILES_FULL", android.Manifest.permission.ACCESS_HIDDEN_PROFILES}) public java.util.List<java.lang.String> getPreInstalledSystemPackages(@NonNull android.os.UserHandle); method @FlaggedApi("android.os.get_private_space_settings") @Nullable @RequiresPermission(conditional=true, anyOf={"android.permission.ACCESS_HIDDEN_PROFILES_FULL", android.Manifest.permission.ACCESS_HIDDEN_PROFILES}) public android.content.IntentSender getPrivateSpaceSettingsIntent(); method @RequiresPermission(conditional=true, anyOf={"android.permission.ACCESS_HIDDEN_PROFILES_FULL", android.Manifest.permission.ACCESS_HIDDEN_PROFILES}) public java.util.List<android.os.UserHandle> getProfiles(); method public android.graphics.drawable.Drawable getShortcutBadgedIconDrawable(android.content.pm.ShortcutInfo, int); method @Nullable public android.content.IntentSender getShortcutConfigActivityIntent(@NonNull android.content.pm.LauncherActivityInfo); core/api/module-lib-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -674,7 +674,7 @@ package android.webkit { method @Nullable public String getCurrentWebViewPackageName(); method @FlaggedApi("android.webkit.update_service_v2") @NonNull public android.webkit.WebViewProviderInfo getDefaultWebViewPackage(); method @Nullable public static android.webkit.WebViewUpdateManager getInstance(); method @NonNull public android.webkit.WebViewProviderInfo[] getValidWebViewPackages(); method @NonNull @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.QUERY_ALL_PACKAGES}) public android.webkit.WebViewProviderInfo[] getValidWebViewPackages(); method @NonNull public android.webkit.WebViewProviderResponse waitForAndGetProvider(); } Loading core/api/test-current.txt +0 −6 Original line number Diff line number Diff line Loading @@ -2775,12 +2775,6 @@ package android.os.vibrator.persistence { @FlaggedApi("android.os.vibrator.vibration_xml_apis") public final class ParsedVibration { ctor public ParsedVibration(@NonNull java.util.List<android.os.VibrationEffect>); method @FlaggedApi("android.os.vibrator.vibration_xml_apis") @Nullable public android.os.VibrationEffect resolve(@NonNull android.os.Vibrator); } @FlaggedApi("android.os.vibrator.vibration_xml_apis") public final class VibrationXmlParser { method @FlaggedApi("android.os.vibrator.vibration_xml_apis") @NonNull public static android.os.vibrator.persistence.ParsedVibration parse(@NonNull java.io.InputStream) throws java.io.IOException; method @FlaggedApi("android.os.vibrator.vibration_xml_apis") @NonNull public static android.os.VibrationEffect parseVibrationEffect(@NonNull java.io.InputStream) throws java.io.IOException; } public static final class VibrationXmlParser.ParseFailedException extends java.io.IOException { Loading core/java/android/app/Notification.java +62 −3 Original line number Diff line number Diff line Loading @@ -762,6 +762,16 @@ public class Notification implements Parcelable @FlaggedApi(Flags.FLAG_LIFETIME_EXTENSION_REFACTOR) public static final int FLAG_LIFETIME_EXTENDED_BY_DIRECT_REPLY = 0x00010000; /** * Bit to be bitwise-ored into the {@link #flags} field that should be * set by the system if this notification is silent. * * This flag is for internal use only; applications cannot set this flag directly. * @hide */ @FlaggedApi(android.service.notification.Flags.FLAG_NOTIFICATION_SILENT_FLAG) public static final int FLAG_SILENT = 1 << 17; //0x00020000 private static final List<Class<? extends Style>> PLATFORM_STYLE_CLASSES = Arrays.asList( BigTextStyle.class, BigPictureStyle.class, InboxStyle.class, MediaStyle.class, DecoratedCustomViewStyle.class, DecoratedMediaCustomViewStyle.class, Loading @@ -784,7 +794,8 @@ public class Notification implements Parcelable FLAG_BUBBLE, FLAG_NO_DISMISS, FLAG_FSI_REQUESTED_BUT_DENIED, FLAG_USER_INITIATED_JOB FLAG_USER_INITIATED_JOB, FLAG_SILENT }) @Retention(RetentionPolicy.SOURCE) public @interface NotificationFlags{}; Loading Loading @@ -1692,6 +1703,7 @@ public class Notification implements Parcelable * * @hide */ @Deprecated public static final String GROUP_KEY_SILENT = "silent"; private int mGroupAlertBehavior = GROUP_ALERT_ALL; Loading Loading @@ -3984,6 +3996,13 @@ public class Notification implements Parcelable } } if (android.service.notification.Flags.notificationSilentFlag()) { if ((flags & FLAG_SILENT) != 0) { flagStrings.add("SILENT"); flags &= ~FLAG_SILENT; } } if (flagStrings.isEmpty()) { return "0"; } Loading Loading @@ -4122,6 +4141,17 @@ public class Notification implements Parcelable return mGroupAlertBehavior; } /** * Sets which type of notifications in a group are responsible for audibly alerting the * user. See {@link #GROUP_ALERT_ALL}, {@link #GROUP_ALERT_CHILDREN}, * {@link #GROUP_ALERT_SUMMARY}. * @param groupAlertBehavior * @hide */ public void setGroupAlertBehavior(@GroupAlertBehavior int groupAlertBehavior) { mGroupAlertBehavior = groupAlertBehavior; } /** * Returns the bubble metadata that will be used to display app content in a floating window * over the existing foreground activity. Loading Loading @@ -4308,6 +4338,31 @@ public class Notification implements Parcelable return contextualActions; } /** * Sets the FLAG_SILENT flag to mark the notification as silent and clears the group key. * @hide */ public void fixSilentGroup() { if (android.service.notification.Flags.notificationSilentFlag()) { if (GROUP_KEY_SILENT.equals(mGroupKey)) { mGroupKey = null; flags |= FLAG_SILENT; } } } /** * @return whether this notification is silent. See {@link Builder#setSilent()} * @hide */ public boolean isSilent() { if (android.service.notification.Flags.notificationSilentFlag()) { return (flags & Notification.FLAG_SILENT) != 0; } else { return GROUP_KEY_SILENT.equals(getGroup()) && suppressAlertingDueToGrouping(); } } /** * Builder class for {@link Notification} objects. * Loading Loading @@ -4759,9 +4814,13 @@ public class Notification implements Parcelable mN.defaults &= ~DEFAULT_VIBRATE; setDefaults(mN.defaults); if (android.service.notification.Flags.notificationSilentFlag()) { mN.flags |= FLAG_SILENT; } else { if (TextUtils.isEmpty(mN.mGroupKey)) { setGroup(GROUP_KEY_SILENT); } } return this; } Loading core/java/android/app/TaskInfo.java +10 −0 Original line number Diff line number Diff line Loading @@ -296,6 +296,12 @@ public class TaskInfo { */ public boolean isTopActivityTransparent; /** * Whether the top activity has specified style floating. * @hide */ public boolean isTopActivityStyleFloating; /** * Encapsulate specific App Compat information. * @hide Loading Loading @@ -429,6 +435,7 @@ public class TaskInfo { && parentTaskId == that.parentTaskId && Objects.equals(topActivity, that.topActivity) && isTopActivityTransparent == that.isTopActivityTransparent && isTopActivityStyleFloating == that.isTopActivityStyleFloating && appCompatTaskInfo.equalsForTaskOrganizer(that.appCompatTaskInfo); } Loading Loading @@ -498,6 +505,7 @@ public class TaskInfo { mTopActivityLocusId = source.readTypedObject(LocusId.CREATOR); displayAreaFeatureId = source.readInt(); isTopActivityTransparent = source.readBoolean(); isTopActivityStyleFloating = source.readBoolean(); appCompatTaskInfo = source.readTypedObject(AppCompatTaskInfo.CREATOR); } Loading Loading @@ -545,6 +553,7 @@ public class TaskInfo { dest.writeTypedObject(mTopActivityLocusId, flags); dest.writeInt(displayAreaFeatureId); dest.writeBoolean(isTopActivityTransparent); dest.writeBoolean(isTopActivityStyleFloating); dest.writeTypedObject(appCompatTaskInfo, flags); } Loading Loading @@ -582,6 +591,7 @@ public class TaskInfo { + " locusId=" + mTopActivityLocusId + " displayAreaFeatureId=" + displayAreaFeatureId + " isTopActivityTransparent=" + isTopActivityTransparent + " isTopActivityStyleFloating=" + isTopActivityStyleFloating + " appCompatTaskInfo=" + appCompatTaskInfo + "}"; } Loading Loading
core/api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -12494,6 +12494,7 @@ package android.content.pm { method @FlaggedApi("android.os.allow_private_profile") @Nullable @RequiresPermission(conditional=true, anyOf={"android.permission.ACCESS_HIDDEN_PROFILES_FULL", android.Manifest.permission.ACCESS_HIDDEN_PROFILES}) public final android.content.pm.LauncherUserInfo getLauncherUserInfo(@NonNull android.os.UserHandle); method public android.content.pm.LauncherApps.PinItemRequest getPinItemRequest(android.content.Intent); method @FlaggedApi("android.os.allow_private_profile") @NonNull @RequiresPermission(conditional=true, anyOf={"android.permission.ACCESS_HIDDEN_PROFILES_FULL", android.Manifest.permission.ACCESS_HIDDEN_PROFILES}) public java.util.List<java.lang.String> getPreInstalledSystemPackages(@NonNull android.os.UserHandle); method @FlaggedApi("android.os.get_private_space_settings") @Nullable @RequiresPermission(conditional=true, anyOf={"android.permission.ACCESS_HIDDEN_PROFILES_FULL", android.Manifest.permission.ACCESS_HIDDEN_PROFILES}) public android.content.IntentSender getPrivateSpaceSettingsIntent(); method @RequiresPermission(conditional=true, anyOf={"android.permission.ACCESS_HIDDEN_PROFILES_FULL", android.Manifest.permission.ACCESS_HIDDEN_PROFILES}) public java.util.List<android.os.UserHandle> getProfiles(); method public android.graphics.drawable.Drawable getShortcutBadgedIconDrawable(android.content.pm.ShortcutInfo, int); method @Nullable public android.content.IntentSender getShortcutConfigActivityIntent(@NonNull android.content.pm.LauncherActivityInfo);
core/api/module-lib-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -674,7 +674,7 @@ package android.webkit { method @Nullable public String getCurrentWebViewPackageName(); method @FlaggedApi("android.webkit.update_service_v2") @NonNull public android.webkit.WebViewProviderInfo getDefaultWebViewPackage(); method @Nullable public static android.webkit.WebViewUpdateManager getInstance(); method @NonNull public android.webkit.WebViewProviderInfo[] getValidWebViewPackages(); method @NonNull @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.QUERY_ALL_PACKAGES}) public android.webkit.WebViewProviderInfo[] getValidWebViewPackages(); method @NonNull public android.webkit.WebViewProviderResponse waitForAndGetProvider(); } Loading
core/api/test-current.txt +0 −6 Original line number Diff line number Diff line Loading @@ -2775,12 +2775,6 @@ package android.os.vibrator.persistence { @FlaggedApi("android.os.vibrator.vibration_xml_apis") public final class ParsedVibration { ctor public ParsedVibration(@NonNull java.util.List<android.os.VibrationEffect>); method @FlaggedApi("android.os.vibrator.vibration_xml_apis") @Nullable public android.os.VibrationEffect resolve(@NonNull android.os.Vibrator); } @FlaggedApi("android.os.vibrator.vibration_xml_apis") public final class VibrationXmlParser { method @FlaggedApi("android.os.vibrator.vibration_xml_apis") @NonNull public static android.os.vibrator.persistence.ParsedVibration parse(@NonNull java.io.InputStream) throws java.io.IOException; method @FlaggedApi("android.os.vibrator.vibration_xml_apis") @NonNull public static android.os.VibrationEffect parseVibrationEffect(@NonNull java.io.InputStream) throws java.io.IOException; } public static final class VibrationXmlParser.ParseFailedException extends java.io.IOException { Loading
core/java/android/app/Notification.java +62 −3 Original line number Diff line number Diff line Loading @@ -762,6 +762,16 @@ public class Notification implements Parcelable @FlaggedApi(Flags.FLAG_LIFETIME_EXTENSION_REFACTOR) public static final int FLAG_LIFETIME_EXTENDED_BY_DIRECT_REPLY = 0x00010000; /** * Bit to be bitwise-ored into the {@link #flags} field that should be * set by the system if this notification is silent. * * This flag is for internal use only; applications cannot set this flag directly. * @hide */ @FlaggedApi(android.service.notification.Flags.FLAG_NOTIFICATION_SILENT_FLAG) public static final int FLAG_SILENT = 1 << 17; //0x00020000 private static final List<Class<? extends Style>> PLATFORM_STYLE_CLASSES = Arrays.asList( BigTextStyle.class, BigPictureStyle.class, InboxStyle.class, MediaStyle.class, DecoratedCustomViewStyle.class, DecoratedMediaCustomViewStyle.class, Loading @@ -784,7 +794,8 @@ public class Notification implements Parcelable FLAG_BUBBLE, FLAG_NO_DISMISS, FLAG_FSI_REQUESTED_BUT_DENIED, FLAG_USER_INITIATED_JOB FLAG_USER_INITIATED_JOB, FLAG_SILENT }) @Retention(RetentionPolicy.SOURCE) public @interface NotificationFlags{}; Loading Loading @@ -1692,6 +1703,7 @@ public class Notification implements Parcelable * * @hide */ @Deprecated public static final String GROUP_KEY_SILENT = "silent"; private int mGroupAlertBehavior = GROUP_ALERT_ALL; Loading Loading @@ -3984,6 +3996,13 @@ public class Notification implements Parcelable } } if (android.service.notification.Flags.notificationSilentFlag()) { if ((flags & FLAG_SILENT) != 0) { flagStrings.add("SILENT"); flags &= ~FLAG_SILENT; } } if (flagStrings.isEmpty()) { return "0"; } Loading Loading @@ -4122,6 +4141,17 @@ public class Notification implements Parcelable return mGroupAlertBehavior; } /** * Sets which type of notifications in a group are responsible for audibly alerting the * user. See {@link #GROUP_ALERT_ALL}, {@link #GROUP_ALERT_CHILDREN}, * {@link #GROUP_ALERT_SUMMARY}. * @param groupAlertBehavior * @hide */ public void setGroupAlertBehavior(@GroupAlertBehavior int groupAlertBehavior) { mGroupAlertBehavior = groupAlertBehavior; } /** * Returns the bubble metadata that will be used to display app content in a floating window * over the existing foreground activity. Loading Loading @@ -4308,6 +4338,31 @@ public class Notification implements Parcelable return contextualActions; } /** * Sets the FLAG_SILENT flag to mark the notification as silent and clears the group key. * @hide */ public void fixSilentGroup() { if (android.service.notification.Flags.notificationSilentFlag()) { if (GROUP_KEY_SILENT.equals(mGroupKey)) { mGroupKey = null; flags |= FLAG_SILENT; } } } /** * @return whether this notification is silent. See {@link Builder#setSilent()} * @hide */ public boolean isSilent() { if (android.service.notification.Flags.notificationSilentFlag()) { return (flags & Notification.FLAG_SILENT) != 0; } else { return GROUP_KEY_SILENT.equals(getGroup()) && suppressAlertingDueToGrouping(); } } /** * Builder class for {@link Notification} objects. * Loading Loading @@ -4759,9 +4814,13 @@ public class Notification implements Parcelable mN.defaults &= ~DEFAULT_VIBRATE; setDefaults(mN.defaults); if (android.service.notification.Flags.notificationSilentFlag()) { mN.flags |= FLAG_SILENT; } else { if (TextUtils.isEmpty(mN.mGroupKey)) { setGroup(GROUP_KEY_SILENT); } } return this; } Loading
core/java/android/app/TaskInfo.java +10 −0 Original line number Diff line number Diff line Loading @@ -296,6 +296,12 @@ public class TaskInfo { */ public boolean isTopActivityTransparent; /** * Whether the top activity has specified style floating. * @hide */ public boolean isTopActivityStyleFloating; /** * Encapsulate specific App Compat information. * @hide Loading Loading @@ -429,6 +435,7 @@ public class TaskInfo { && parentTaskId == that.parentTaskId && Objects.equals(topActivity, that.topActivity) && isTopActivityTransparent == that.isTopActivityTransparent && isTopActivityStyleFloating == that.isTopActivityStyleFloating && appCompatTaskInfo.equalsForTaskOrganizer(that.appCompatTaskInfo); } Loading Loading @@ -498,6 +505,7 @@ public class TaskInfo { mTopActivityLocusId = source.readTypedObject(LocusId.CREATOR); displayAreaFeatureId = source.readInt(); isTopActivityTransparent = source.readBoolean(); isTopActivityStyleFloating = source.readBoolean(); appCompatTaskInfo = source.readTypedObject(AppCompatTaskInfo.CREATOR); } Loading Loading @@ -545,6 +553,7 @@ public class TaskInfo { dest.writeTypedObject(mTopActivityLocusId, flags); dest.writeInt(displayAreaFeatureId); dest.writeBoolean(isTopActivityTransparent); dest.writeBoolean(isTopActivityStyleFloating); dest.writeTypedObject(appCompatTaskInfo, flags); } Loading Loading @@ -582,6 +591,7 @@ public class TaskInfo { + " locusId=" + mTopActivityLocusId + " displayAreaFeatureId=" + displayAreaFeatureId + " isTopActivityTransparent=" + isTopActivityTransparent + " isTopActivityStyleFloating=" + isTopActivityStyleFloating + " appCompatTaskInfo=" + appCompatTaskInfo + "}"; } Loading