From 314419ccb9daa215c5148f59e5b60c696ef51385 Mon Sep 17 00:00:00 2001 From: Adam Powell Date: Tue, 24 Jan 2012 13:33:09 -0800 Subject: [PATCH] Update ShareActionProvider to clear the sharing activity when the task is reset. As per platform guidelines, when launching a sharing activity the Intent flag FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET should be used. Change-Id: I30bd3d20eb75aee7943b681dc2d9c7f44a04e919 --- core/java/android/widget/ActivityChooserView.java | 2 ++ core/java/android/widget/ShareActionProvider.java | 1 + 2 files changed, 3 insertions(+) diff --git a/core/java/android/widget/ActivityChooserView.java b/core/java/android/widget/ActivityChooserView.java index 60b24bc1207ec..b1df6b44bb82d 100644 --- a/core/java/android/widget/ActivityChooserView.java +++ b/core/java/android/widget/ActivityChooserView.java @@ -547,6 +547,7 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod position = mAdapter.getShowDefaultActivity() ? position : position + 1; Intent launchIntent = mAdapter.getDataModel().chooseActivity(position); if (launchIntent != null) { + launchIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); mContext.startActivity(launchIntent); } } @@ -564,6 +565,7 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod final int index = mAdapter.getDataModel().getActivityIndex(defaultActivity); Intent launchIntent = mAdapter.getDataModel().chooseActivity(index); if (launchIntent != null) { + launchIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); mContext.startActivity(launchIntent); } } else if (view == mExpandActivityOverflowButton) { diff --git a/core/java/android/widget/ShareActionProvider.java b/core/java/android/widget/ShareActionProvider.java index bb27b73fc2968..22e9ef1357e86 100644 --- a/core/java/android/widget/ShareActionProvider.java +++ b/core/java/android/widget/ShareActionProvider.java @@ -279,6 +279,7 @@ public class ShareActionProvider extends ActionProvider { final int itemId = item.getItemId(); Intent launchIntent = dataModel.chooseActivity(itemId); if (launchIntent != null) { + launchIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); mContext.startActivity(launchIntent); } return true;