Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6b47287f authored by Ioana Alexandru's avatar Ioana Alexandru Committed by Automerger Merge Worker
Browse files

Merge "Add visitUri method to Person and MessagingStyle.Message." into udc-qpr-dev am: 75acc339

parents ed04cf8d 75acc339
Loading
Loading
Loading
Loading
+25 −21
Original line number Diff line number Diff line
@@ -2833,9 +2833,11 @@ public class Notification implements Parcelable
    }
    /**
     * 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.
    * 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
    */
@@ -2882,13 +2884,13 @@ public class Notification implements Parcelable
            ArrayList<Person> people = extras.getParcelableArrayList(EXTRA_PEOPLE_LIST, android.app.Person.class);
            if (people != null && !people.isEmpty()) {
                for (Person p : people) {
                    visitor.accept(p.getIconUri());
                    p.visitUris(visitor);
                }
            }
            final Person person = extras.getParcelable(EXTRA_MESSAGING_PERSON, Person.class);
            if (person != null) {
                visitor.accept(person.getIconUri());
                person.visitUris(visitor);
            }
            final RemoteInputHistoryItem[] history = extras.getParcelableArray(
@@ -2910,12 +2912,7 @@ public class Notification implements Parcelable
            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);
                }
            }
@@ -2924,12 +2921,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);
                }
            }
@@ -2939,7 +2931,7 @@ public class Notification implements Parcelable
        if (isStyle(CallStyle.class) & extras != null) {
            Person callPerson = extras.getParcelable(EXTRA_CALL_PERSON, Person.class);
            if (callPerson != null) {
                visitor.accept(callPerson.getIconUri());
                callPerson.visitUris(visitor);
            }
            visitIconUri(visitor, extras.getParcelable(EXTRA_VERIFICATION_ICON, Icon.class));
        }
@@ -8832,6 +8824,18 @@ public class Notification implements Parcelable
                return bundle;
            }
            /**
             * 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}.
+14 −0
Original line number Diff line number Diff line
@@ -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
@@ -177,6 +178,19 @@ 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());
    }

    /** Builder for the immutable {@link Person} class. */
    public static class Builder {
        @Nullable private CharSequence mName;