New API for comparing two intents of PendingIntent object.
Bug: 174237997 Test: atest PendingIntentTest Change-Id: Ic5eb20f94ff6fd6953315a5f848effa25b813da7
This commit is contained in:
@@ -35,6 +35,7 @@ package android.app {
|
||||
}
|
||||
|
||||
public final class PendingIntent implements android.os.Parcelable {
|
||||
method @RequiresPermission(android.Manifest.permission.GET_INTENT_SENDER_INTENT) public boolean intentFilterEquals(@Nullable android.app.PendingIntent);
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.GET_INTENT_SENDER_INTENT) public java.util.List<android.content.pm.ResolveInfo> queryIntentComponents(int);
|
||||
}
|
||||
|
||||
|
||||
@@ -302,6 +302,7 @@ package android.app {
|
||||
}
|
||||
|
||||
public final class PendingIntent implements android.os.Parcelable {
|
||||
method @RequiresPermission("android.permission.GET_INTENT_SENDER_INTENT") public boolean intentFilterEquals(@Nullable android.app.PendingIntent);
|
||||
method @NonNull @RequiresPermission("android.permission.GET_INTENT_SENDER_INTENT") public java.util.List<android.content.pm.ResolveInfo> queryIntentComponents(int);
|
||||
field @Deprecated public static final int FLAG_MUTABLE_UNAUDITED = 33554432; // 0x2000000
|
||||
}
|
||||
|
||||
@@ -1256,6 +1256,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
|
||||
|
||||
Reference in New Issue
Block a user