diff --git a/api/current.txt b/api/current.txt index 6e3ab58133e25..8fe79f20b6015 100644 --- a/api/current.txt +++ b/api/current.txt @@ -12328,6 +12328,7 @@ package android.content.pm { method public int describeContents(); method public void dump(android.util.Printer, String); method public final int getIconResource(); + method public boolean isCrossProfileIntentForwarderActivity(); method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager); method public CharSequence loadLabel(android.content.pm.PackageManager); method public void writeToParcel(android.os.Parcel, int); diff --git a/core/java/android/content/pm/ResolveInfo.java b/core/java/android/content/pm/ResolveInfo.java index 55846adf2f1f5..82b07f24a9063 100644 --- a/core/java/android/content/pm/ResolveInfo.java +++ b/core/java/android/content/pm/ResolveInfo.java @@ -39,6 +39,8 @@ import java.util.Comparator; */ public class ResolveInfo implements Parcelable { private static final String TAG = "ResolveInfo"; + private static final String INTENT_FORWARDER_ACTIVITY = + "com.android.internal.app.IntentForwarderActivity"; /** * The activity or broadcast receiver that corresponds to this resolution @@ -351,6 +353,16 @@ public class ResolveInfo implements Parcelable { } } + /** + * Returns whether this resolution represents the intent forwarder activity. + * + * @return whether this resolution represents the intent forwarder activity + */ + public boolean isCrossProfileIntentForwarderActivity() { + return activityInfo != null + && INTENT_FORWARDER_ACTIVITY.equals(activityInfo.targetActivity); + } + public ResolveInfo() { targetUserId = UserHandle.USER_CURRENT; }