diff options
| author | Jorim Jaggi <jjaggi@google.com> | 2016-04-26 22:41:06 -0700 |
|---|---|---|
| committer | Jorim Jaggi <jjaggi@google.com> | 2016-04-27 19:19:04 -0700 |
| commit | c875ae74ba4cfe255551d1b011866fcca3bbec88 (patch) | |
| tree | 4ebc7c790155577a23533a548d7eb92a6f748e3f /core/java/android | |
| parent | 74610328f3298e53200b2588728a8acd7ba35be1 (diff) | |
Don't move forced resizable info activity to the front
If we start the forced resizable activity with an existing task,
avoid moving that task to the front. This can cause that a previous
task that was moved to the back gets moved to the front again just
because we started that activity. That's not good.
Bug: 28223489
Change-Id: If8acf31b8be98b82665de1015d5621331c37fb64
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/ActivityOptions.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/core/java/android/app/ActivityOptions.java b/core/java/android/app/ActivityOptions.java index 284679838213..051295e450fa 100644 --- a/core/java/android/app/ActivityOptions.java +++ b/core/java/android/app/ActivityOptions.java @@ -160,6 +160,12 @@ public class ActivityOptions { private static final String KEY_LAUNCH_TASK_ID = "android.activity.launchTaskId"; /** + * See {@link #setAvoidMoveToFront}. + * @hide + */ + private static final String KEY_DONT_MOVE_TO_FRONT = "android.activity.dontMoveToFront"; + + /** * Where the docked stack should be positioned. * @hide */ @@ -232,6 +238,7 @@ public class ActivityOptions { private int mLaunchStackId = INVALID_STACK_ID; private int mLaunchTaskId = -1; private int mDockCreateMode = DOCKED_STACK_CREATE_MODE_TOP_OR_LEFT; + private boolean mAvoidMoveToFront; private AppTransitionAnimationSpec mAnimSpecs[]; /** @@ -774,6 +781,7 @@ public class ActivityOptions { } mLaunchStackId = opts.getInt(KEY_LAUNCH_STACK_ID, INVALID_STACK_ID); mLaunchTaskId = opts.getInt(KEY_LAUNCH_TASK_ID, -1); + mAvoidMoveToFront = opts.getBoolean(KEY_DONT_MOVE_TO_FRONT, false); mDockCreateMode = opts.getInt(KEY_DOCK_CREATE_MODE, DOCKED_STACK_CREATE_MODE_TOP_OR_LEFT); if (opts.containsKey(KEY_ANIM_SPECS)) { Parcelable[] specs = opts.getParcelableArray(KEY_ANIM_SPECS); @@ -950,6 +958,23 @@ public class ActivityOptions { return mLaunchTaskId; } + /** + * Set's whether the task should be moved to the front. This is different from + * {@link #getLaunchTaskBehind()} as we don't want to have an animation at all when launching + * an activity that shouldn't be moved to the front. + * @hide + */ + public void setAvoidMoveToFront(boolean avoidMoveToFront) { + mAvoidMoveToFront = avoidMoveToFront; + } + + /** + * @hide + */ + public boolean getAvoidMoveToFront() { + return mAvoidMoveToFront; + } + /** @hide */ public int getDockCreateMode() { return mDockCreateMode; @@ -1103,6 +1128,7 @@ public class ActivityOptions { } b.putInt(KEY_LAUNCH_STACK_ID, mLaunchStackId); b.putInt(KEY_LAUNCH_TASK_ID, mLaunchTaskId); + b.putBoolean(KEY_DONT_MOVE_TO_FRONT, mAvoidMoveToFront); b.putInt(KEY_DOCK_CREATE_MODE, mDockCreateMode); if (mAnimSpecs != null) { b.putParcelableArray(KEY_ANIM_SPECS, mAnimSpecs); |
