diff options
| -rw-r--r-- | core/java/android/content/Intent.java | 10 | ||||
| -rw-r--r-- | core/java/com/android/internal/app/ChooserActivity.java | 7 |
2 files changed, 17 insertions, 0 deletions
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index f487d08c8cb2..e0312757a9a2 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -4196,6 +4196,16 @@ public class Intent implements Parcelable, Cloneable { "android.intent.extra.MEDIA_RESOURCE_TYPE"; /** + * Used as a boolean extra field in {@link #ACTION_CHOOSER} intents to specify + * whether to show the chooser or not when there is only one application available + * to choose from. + * + * @hide + */ + public static final String EXTRA_AUTO_LAUNCH_SINGLE_CHOICE = + "android.intent.extra.AUTO_LAUNCH_SINGLE_CHOICE"; + + /** * Used as an int value for {@link #EXTRA_MEDIA_RESOURCE_TYPE} * to represent that a video codec is allowed to use. * diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java index a5b2a9194fd5..3b6073a6eacc 100644 --- a/core/java/com/android/internal/app/ChooserActivity.java +++ b/core/java/com/android/internal/app/ChooserActivity.java @@ -68,6 +68,7 @@ import android.widget.AbsListView; import android.widget.BaseAdapter; import android.widget.ListView; import com.android.internal.R; +import com.android.internal.app.ResolverActivity.TargetInfo; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.google.android.collect.Lists; @@ -345,6 +346,12 @@ public class ChooserActivity extends ResolverActivity { } @Override + public boolean shouldAutoLaunchSingleChoice(TargetInfo target) { + return getIntent().getBooleanExtra(Intent.EXTRA_AUTO_LAUNCH_SINGLE_CHOICE, + super.shouldAutoLaunchSingleChoice(target)); + } + + @Override public void showTargetDetails(ResolveInfo ri) { ComponentName name = ri.activityInfo.getComponentName(); boolean pinned = mPinnedSharedPrefs.getBoolean(name.flattenToString(), false); |