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

Commit 687da317 authored by Paul Hu's avatar Paul Hu Committed by Gerrit Code Review
Browse files

Merge "New API for comparing two intents of PendingIntent object."

parents 45606901 51488158
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -6,6 +6,10 @@ package android.app {
    method public void setMaxManifestReceiverApiLevel(int);
  }

  public final class PendingIntent implements android.os.Parcelable {
    method @RequiresPermission("android.permission.GET_INTENT_SENDER_INTENT") public boolean intentFilterEquals(@Nullable android.app.PendingIntent);
  }

}

package android.app.usage {
+4 −0
Original line number Diff line number Diff line
@@ -248,6 +248,10 @@ package android.app {
    method public boolean matchesCallFilter(android.os.Bundle);
  }

  public final class PendingIntent implements android.os.Parcelable {
    method @RequiresPermission("android.permission.GET_INTENT_SENDER_INTENT") public boolean intentFilterEquals(@Nullable android.app.PendingIntent);
  }

  public final class PictureInPictureParams implements android.os.Parcelable {
    method public java.util.List<android.app.RemoteAction> getActions();
    method public float getAspectRatio();
+27 −0
Original line number Diff line number Diff line
@@ -19,6 +19,9 @@ package android.app;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.content.IIntentReceiver;
@@ -1170,6 +1173,30 @@ public final class PendingIntent implements Parcelable {
        }
    }

    /**
     * Comparison operator on two PendingIntent objects, such that true is returned when they
     * represent {@link Intent}s that are equal as per {@link Intent#filterEquals}.
     *
     * @param other The other PendingIntent to compare against.
     * @return True if action, data, type, class, and categories on two intents are the same.
     *
     * @hide
     */
    @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
    @TestApi
    @RequiresPermission(android.Manifest.permission.GET_INTENT_SENDER_INTENT)
    public boolean intentFilterEquals(@Nullable PendingIntent other) {
        if (other == null) {
            return false;
        }
        try {
            return ActivityManager.getService().getIntentForIntentSender(other.mTarget)
                    .filterEquals(getIntent());
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }

    /**
     * Comparison operator on two PendingIntent objects, such that true
     * is returned then they both represent the same operation from the