Loading core/api/current.txt +0 −2 Original line number Diff line number Diff line Loading @@ -84,7 +84,6 @@ package android { field public static final String DUMP = "android.permission.DUMP"; field public static final String EXPAND_STATUS_BAR = "android.permission.EXPAND_STATUS_BAR"; field public static final String FACTORY_TEST = "android.permission.FACTORY_TEST"; field public static final String FAKE_PACKAGE_SIGNATURE = "android.permission.FAKE_PACKAGE_SIGNATURE"; field public static final String FOREGROUND_SERVICE = "android.permission.FOREGROUND_SERVICE"; field public static final String GET_ACCOUNTS = "android.permission.GET_ACCOUNTS"; field public static final String GET_ACCOUNTS_PRIVILEGED = "android.permission.GET_ACCOUNTS_PRIVILEGED"; Loading Loading @@ -202,7 +201,6 @@ package android { field public static final String CALL_LOG = "android.permission-group.CALL_LOG"; field public static final String CAMERA = "android.permission-group.CAMERA"; field public static final String CONTACTS = "android.permission-group.CONTACTS"; field public static final String FAKE_PACKAGE = "android.permission-group.FAKE_PACKAGE"; field public static final String LOCATION = "android.permission-group.LOCATION"; field public static final String MICROPHONE = "android.permission-group.MICROPHONE"; field public static final String NEARBY_DEVICES = "android.permission-group.NEARBY_DEVICES"; core/java/android/app/Notification.java +17 −15 Original line number Diff line number Diff line Loading @@ -2807,7 +2807,7 @@ public class Notification implements Parcelable ArrayList<Person> people = extras.getParcelableArrayList(EXTRA_PEOPLE_LIST); if (people != null && !people.isEmpty()) { for (Person p : people) { visitor.accept(p.getIconUri()); p.visitUris(visitor); } } Loading @@ -2826,19 +2826,14 @@ public class Notification implements Parcelable // Notification Listeners might use directly (without the isStyle check). final Person person = extras.getParcelable(EXTRA_MESSAGING_PERSON); if (person != null) { visitor.accept(person.getIconUri()); person.visitUris(visitor); } final Parcelable[] messages = extras.getParcelableArray(EXTRA_MESSAGES); if (!ArrayUtils.isEmpty(messages)) { for (MessagingStyle.Message message : MessagingStyle.Message .getMessagesFromBundleArray(messages)) { visitor.accept(message.getDataUri()); Person senderPerson = message.getSenderPerson(); if (senderPerson != null) { visitor.accept(senderPerson.getIconUri()); } message.visitUris(visitor); } } Loading @@ -2846,12 +2841,7 @@ public class Notification implements Parcelable if (!ArrayUtils.isEmpty(historic)) { for (MessagingStyle.Message message : MessagingStyle.Message .getMessagesFromBundleArray(historic)) { visitor.accept(message.getDataUri()); Person senderPerson = message.getSenderPerson(); if (senderPerson != null) { visitor.accept(senderPerson.getIconUri()); } message.visitUris(visitor); } } Loading @@ -2860,7 +2850,7 @@ public class Notification implements Parcelable // Extras for CallStyle (same reason for visiting without checking isStyle). Person callPerson = extras.getParcelable(EXTRA_CALL_PERSON); if (callPerson != null) { visitor.accept(callPerson.getIconUri()); callPerson.visitUris(visitor); } visitIconUri(visitor, extras.getParcelable(EXTRA_VERIFICATION_ICON)); } Loading Loading @@ -8626,6 +8616,18 @@ public class Notification implements Parcelable return bundles; } /** * See {@link Notification#visitUris(Consumer)}. * * @hide */ public void visitUris(@NonNull Consumer<Uri> visitor) { visitor.accept(getDataUri()); if (mSender != null) { mSender.visitUris(visitor); } } /** * Returns a list of messages read from the given bundle list, e.g. * {@link #EXTRA_MESSAGES} or {@link #EXTRA_HISTORIC_MESSAGES}. Loading core/java/android/app/Person.java +17 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.os.Parcel; import android.os.Parcelable; import java.util.Objects; import java.util.function.Consumer; /** * Provides an immutable reference to an entity that appears repeatedly on different surfaces of the Loading Loading @@ -177,6 +178,22 @@ public final class Person implements Parcelable { dest.writeBoolean(mIsBot); } /** * Note all {@link Uri} that are referenced internally, with the expectation that Uri permission * grants will need to be issued to ensure the recipient of this object is able to render its * contents. * See b/281044385 for more context and examples about what happens when this isn't done * correctly. * * @hide */ public void visitUris(@NonNull Consumer<Uri> visitor) { visitor.accept(getIconUri()); if (mUri != null && !mUri.isEmpty()) { visitor.accept(Uri.parse(mUri)); } } /** Builder for the immutable {@link Person} class. */ public static class Builder { @Nullable private CharSequence mName; Loading core/java/android/view/KeyboardShortcutInfo.java +11 −2 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ import android.os.Parcelable; */ public final class KeyboardShortcutInfo implements Parcelable { private final CharSequence mLabel; private final Icon mIcon; private Icon mIcon; private final char mBaseCharacter; private final int mKeycode; private final int mModifiers; Loading Loading @@ -115,6 +115,15 @@ public final class KeyboardShortcutInfo implements Parcelable { return mIcon; } /** * Removes an icon that was previously set. * * @hide */ public void clearIcon() { mIcon = null; } /** * Returns the base keycode that, combined with the modifiers, triggers this shortcut. If the * base character was set instead, returns {@link KeyEvent#KEYCODE_UNKNOWN}. Valid keycodes are Loading core/java/android/widget/RemoteViews.java +23 −0 Original line number Diff line number Diff line Loading @@ -946,6 +946,13 @@ public class RemoteViews implements Parcelable, Filter { return SET_REMOTE_VIEW_ADAPTER_LIST_TAG; } @Override public void visitUris(@NonNull Consumer<Uri> visitor) { for (RemoteViews remoteViews : list) { remoteViews.visitUris(visitor); } } int viewTypeCount; ArrayList<RemoteViews> list; } Loading Loading @@ -1068,6 +1075,13 @@ public class RemoteViews implements Parcelable, Filter { public int getActionTag() { return SET_REMOTE_COLLECTION_ITEMS_ADAPTER_TAG; } @Override public void visitUris(@NonNull Consumer<Uri> visitor) { if (mItems != null) { mItems.visitUris(visitor); } } } private class SetRemoteViewsAdapterIntent extends Action { Loading Loading @@ -6940,6 +6954,15 @@ public class RemoteViews implements Parcelable, Filter { Math.max(mViewTypeCount, 1)); } } /** * See {@link RemoteViews#visitUris(Consumer)}. */ private void visitUris(@NonNull Consumer<Uri> visitor) { for (RemoteViews view : mViews) { view.visitUris(visitor); } } } /** Loading Loading
core/api/current.txt +0 −2 Original line number Diff line number Diff line Loading @@ -84,7 +84,6 @@ package android { field public static final String DUMP = "android.permission.DUMP"; field public static final String EXPAND_STATUS_BAR = "android.permission.EXPAND_STATUS_BAR"; field public static final String FACTORY_TEST = "android.permission.FACTORY_TEST"; field public static final String FAKE_PACKAGE_SIGNATURE = "android.permission.FAKE_PACKAGE_SIGNATURE"; field public static final String FOREGROUND_SERVICE = "android.permission.FOREGROUND_SERVICE"; field public static final String GET_ACCOUNTS = "android.permission.GET_ACCOUNTS"; field public static final String GET_ACCOUNTS_PRIVILEGED = "android.permission.GET_ACCOUNTS_PRIVILEGED"; Loading Loading @@ -202,7 +201,6 @@ package android { field public static final String CALL_LOG = "android.permission-group.CALL_LOG"; field public static final String CAMERA = "android.permission-group.CAMERA"; field public static final String CONTACTS = "android.permission-group.CONTACTS"; field public static final String FAKE_PACKAGE = "android.permission-group.FAKE_PACKAGE"; field public static final String LOCATION = "android.permission-group.LOCATION"; field public static final String MICROPHONE = "android.permission-group.MICROPHONE"; field public static final String NEARBY_DEVICES = "android.permission-group.NEARBY_DEVICES";
core/java/android/app/Notification.java +17 −15 Original line number Diff line number Diff line Loading @@ -2807,7 +2807,7 @@ public class Notification implements Parcelable ArrayList<Person> people = extras.getParcelableArrayList(EXTRA_PEOPLE_LIST); if (people != null && !people.isEmpty()) { for (Person p : people) { visitor.accept(p.getIconUri()); p.visitUris(visitor); } } Loading @@ -2826,19 +2826,14 @@ public class Notification implements Parcelable // Notification Listeners might use directly (without the isStyle check). final Person person = extras.getParcelable(EXTRA_MESSAGING_PERSON); if (person != null) { visitor.accept(person.getIconUri()); person.visitUris(visitor); } final Parcelable[] messages = extras.getParcelableArray(EXTRA_MESSAGES); if (!ArrayUtils.isEmpty(messages)) { for (MessagingStyle.Message message : MessagingStyle.Message .getMessagesFromBundleArray(messages)) { visitor.accept(message.getDataUri()); Person senderPerson = message.getSenderPerson(); if (senderPerson != null) { visitor.accept(senderPerson.getIconUri()); } message.visitUris(visitor); } } Loading @@ -2846,12 +2841,7 @@ public class Notification implements Parcelable if (!ArrayUtils.isEmpty(historic)) { for (MessagingStyle.Message message : MessagingStyle.Message .getMessagesFromBundleArray(historic)) { visitor.accept(message.getDataUri()); Person senderPerson = message.getSenderPerson(); if (senderPerson != null) { visitor.accept(senderPerson.getIconUri()); } message.visitUris(visitor); } } Loading @@ -2860,7 +2850,7 @@ public class Notification implements Parcelable // Extras for CallStyle (same reason for visiting without checking isStyle). Person callPerson = extras.getParcelable(EXTRA_CALL_PERSON); if (callPerson != null) { visitor.accept(callPerson.getIconUri()); callPerson.visitUris(visitor); } visitIconUri(visitor, extras.getParcelable(EXTRA_VERIFICATION_ICON)); } Loading Loading @@ -8626,6 +8616,18 @@ public class Notification implements Parcelable return bundles; } /** * See {@link Notification#visitUris(Consumer)}. * * @hide */ public void visitUris(@NonNull Consumer<Uri> visitor) { visitor.accept(getDataUri()); if (mSender != null) { mSender.visitUris(visitor); } } /** * Returns a list of messages read from the given bundle list, e.g. * {@link #EXTRA_MESSAGES} or {@link #EXTRA_HISTORIC_MESSAGES}. Loading
core/java/android/app/Person.java +17 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.os.Parcel; import android.os.Parcelable; import java.util.Objects; import java.util.function.Consumer; /** * Provides an immutable reference to an entity that appears repeatedly on different surfaces of the Loading Loading @@ -177,6 +178,22 @@ public final class Person implements Parcelable { dest.writeBoolean(mIsBot); } /** * Note all {@link Uri} that are referenced internally, with the expectation that Uri permission * grants will need to be issued to ensure the recipient of this object is able to render its * contents. * See b/281044385 for more context and examples about what happens when this isn't done * correctly. * * @hide */ public void visitUris(@NonNull Consumer<Uri> visitor) { visitor.accept(getIconUri()); if (mUri != null && !mUri.isEmpty()) { visitor.accept(Uri.parse(mUri)); } } /** Builder for the immutable {@link Person} class. */ public static class Builder { @Nullable private CharSequence mName; Loading
core/java/android/view/KeyboardShortcutInfo.java +11 −2 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ import android.os.Parcelable; */ public final class KeyboardShortcutInfo implements Parcelable { private final CharSequence mLabel; private final Icon mIcon; private Icon mIcon; private final char mBaseCharacter; private final int mKeycode; private final int mModifiers; Loading Loading @@ -115,6 +115,15 @@ public final class KeyboardShortcutInfo implements Parcelable { return mIcon; } /** * Removes an icon that was previously set. * * @hide */ public void clearIcon() { mIcon = null; } /** * Returns the base keycode that, combined with the modifiers, triggers this shortcut. If the * base character was set instead, returns {@link KeyEvent#KEYCODE_UNKNOWN}. Valid keycodes are Loading
core/java/android/widget/RemoteViews.java +23 −0 Original line number Diff line number Diff line Loading @@ -946,6 +946,13 @@ public class RemoteViews implements Parcelable, Filter { return SET_REMOTE_VIEW_ADAPTER_LIST_TAG; } @Override public void visitUris(@NonNull Consumer<Uri> visitor) { for (RemoteViews remoteViews : list) { remoteViews.visitUris(visitor); } } int viewTypeCount; ArrayList<RemoteViews> list; } Loading Loading @@ -1068,6 +1075,13 @@ public class RemoteViews implements Parcelable, Filter { public int getActionTag() { return SET_REMOTE_COLLECTION_ITEMS_ADAPTER_TAG; } @Override public void visitUris(@NonNull Consumer<Uri> visitor) { if (mItems != null) { mItems.visitUris(visitor); } } } private class SetRemoteViewsAdapterIntent extends Action { Loading Loading @@ -6940,6 +6954,15 @@ public class RemoteViews implements Parcelable, Filter { Math.max(mViewTypeCount, 1)); } } /** * See {@link RemoteViews#visitUris(Consumer)}. */ private void visitUris(@NonNull Consumer<Uri> visitor) { for (RemoteViews view : mViews) { view.visitUris(visitor); } } } /** Loading