Merge "Pass ActivityOptions to HeavyWeightSwitcherAcivity." into sc-dev

This commit is contained in:
Ben Lin
2021-02-08 19:28:12 +00:00
committed by Android (Google) Code Review
2 changed files with 11 additions and 3 deletions

View File

@@ -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);

View File

@@ -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);