diff options
Diffstat (limited to 'core/java/com')
-rw-r--r-- | core/java/com/android/internal/app/IntentForwarderActivity.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/core/java/com/android/internal/app/IntentForwarderActivity.java b/core/java/com/android/internal/app/IntentForwarderActivity.java index 9656a21..7c1308f 100644 --- a/core/java/com/android/internal/app/IntentForwarderActivity.java +++ b/core/java/com/android/internal/app/IntentForwarderActivity.java @@ -96,9 +96,12 @@ public class IntentForwarderActivity extends Activity { final android.content.pm.ResolveInfo ri = getPackageManager().resolveActivityAsUser( newIntent, MATCH_DEFAULT_ONLY, targetUserId); - // Only show a disclosure if this is a normal (non-OS) app - final boolean shouldShowDisclosure = - !UserHandle.isSameApp(ri.activityInfo.applicationInfo.uid, Process.SYSTEM_UID); + // Don't show the disclosure if next activity is ResolverActivity or ChooserActivity + // as those will already have shown work / personal as neccesary etc. + final boolean shouldShowDisclosure = ri == null || ri.activityInfo == null || + !"android".equals(ri.activityInfo.packageName) || + !(ResolverActivity.class.getName().equals(ri.activityInfo.name) + || ChooserActivity.class.getName().equals(ri.activityInfo.name)); try { startActivityAsCaller(newIntent, null, targetUserId); |