diff options
| author | 2021-02-08 19:28:12 +0000 | |
|---|---|---|
| committer | 2021-02-08 19:28:12 +0000 | |
| commit | c8227c58fa84f2b75d22c740d8e0728d6a13691f (patch) | |
| tree | 3a1fa548858df99746b0392477fb6661f6a343a1 | |
| parent | 32906bfbbd6b1843598f30813fb11cd1ce58a604 (diff) | |
| parent | 52e7ab8b6fbf25c7ae2daa32676076de8359580e (diff) | |
Merge "Pass ActivityOptions to HeavyWeightSwitcherAcivity." into sc-dev
| -rw-r--r-- | core/java/com/android/internal/app/HeavyWeightSwitcherActivity.java | 9 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityStarter.java | 5 |
2 files changed, 11 insertions, 3 deletions
diff --git a/core/java/com/android/internal/app/HeavyWeightSwitcherActivity.java b/core/java/com/android/internal/app/HeavyWeightSwitcherActivity.java index 015238788191..c2ee6461e5e1 100644 --- a/core/java/com/android/internal/app/HeavyWeightSwitcherActivity.java +++ b/core/java/com/android/internal/app/HeavyWeightSwitcherActivity.java @@ -53,8 +53,10 @@ public class HeavyWeightSwitcherActivity extends Activity { public static final String KEY_CUR_TASK = "cur_task"; /** Package of newly requested heavy-weight app. */ public static final String KEY_NEW_APP = "new_app"; + public static final String KEY_ACTIVITY_OPTIONS = "activity_options"; IntentSender mStartIntent; + Bundle mActivityOptions; boolean mHasResult; String mCurApp; int mCurTask; @@ -65,8 +67,9 @@ public class HeavyWeightSwitcherActivity extends Activity { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); - + mStartIntent = (IntentSender)getIntent().getParcelableExtra(KEY_INTENT); + mActivityOptions = getIntent().getBundleExtra(KEY_ACTIVITY_OPTIONS); mHasResult = getIntent().getBooleanExtra(KEY_HAS_RESULT, false); mCurApp = getIntent().getStringExtra(KEY_CUR_APP); mCurTask = getIntent().getIntExtra(KEY_CUR_TASK, 0); @@ -148,9 +151,9 @@ public class HeavyWeightSwitcherActivity extends Activity { if (mHasResult) { startIntentSenderForResult(mStartIntent, -1, null, Intent.FLAG_ACTIVITY_FORWARD_RESULT, - Intent.FLAG_ACTIVITY_FORWARD_RESULT, 0); + Intent.FLAG_ACTIVITY_FORWARD_RESULT, 0, mActivityOptions); } else { - startIntentSenderForResult(mStartIntent, -1, null, 0, 0, 0); + startIntentSenderForResult(mStartIntent, -1, null, 0, 0, 0, mActivityOptions); } } catch (IntentSender.SendIntentException ex) { Log.w("HeavyWeightSwitcherActivity", "Failure starting", ex); diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java index 79f8229c6162..3456e51d028a 100644 --- a/services/core/java/com/android/server/wm/ActivityStarter.java +++ b/services/core/java/com/android/server/wm/ActivityStarter.java @@ -772,6 +772,11 @@ class ActivityStarter { newIntent.putExtra(HeavyWeightSwitcherActivity.KEY_HAS_RESULT, true); } newIntent.putExtra(HeavyWeightSwitcherActivity.KEY_INTENT, new IntentSender(target)); + ActivityOptions options = mRequest.activityOptions.getOptions(mRequest.intent, + mRequest.activityInfo, + mService.getProcessController(mRequest.caller), + mSupervisor); + newIntent.putExtra(HeavyWeightSwitcherActivity.KEY_ACTIVITY_OPTIONS, options.toBundle()); heavy.updateIntentForHeavyWeightActivity(newIntent); newIntent.putExtra(HeavyWeightSwitcherActivity.KEY_NEW_APP, mRequest.activityInfo.packageName); |