From cc96aa1fd456976950d17aaaf3ec7b6b9008963c Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Thu, 11 Jan 2018 09:56:07 -0800 Subject: [PATCH] Running state animations if launcher is visible Change-Id: Ibc522edec4f86375ea75ac645b748fec43fceb31 --- src/com/android/launcher3/BaseActivity.java | 18 ++++++++++++++++++ src/com/android/launcher3/Launcher.java | 6 +++--- .../launcher3/LauncherStateManager.java | 2 +- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/com/android/launcher3/BaseActivity.java b/src/com/android/launcher3/BaseActivity.java index e49649502d..a54c21c5f3 100644 --- a/src/com/android/launcher3/BaseActivity.java +++ b/src/com/android/launcher3/BaseActivity.java @@ -31,6 +31,8 @@ public abstract class BaseActivity extends Activity { protected UserEventDispatcher mUserEventDispatcher; protected SystemUiController mSystemUiController; + private boolean mStarted; + public DeviceProfile getDeviceProfile() { return mDeviceProfile; } @@ -69,4 +71,20 @@ public abstract class BaseActivity extends Activity { public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); } + + @Override + protected void onStart() { + mStarted = true; + super.onStart(); + } + + @Override + protected void onStop() { + mStarted = false; + super.onStop(); + } + + public boolean isStarted() { + return mStarted; + } } diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 4d58593279..4b2e4321d3 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -915,7 +915,7 @@ public class Launcher extends BaseActivity * Finds all the views we need and configure them properly. */ private void setupViews() { - mDragLayer = (DragLayer) findViewById(R.id.drag_layer); + mDragLayer = findViewById(R.id.drag_layer); mFocusHandler = mDragLayer.getFocusIndicatorHelper(); mWorkspace = mDragLayer.findViewById(R.id.workspace); mWorkspace.initParentViews(mDragLayer); @@ -1237,9 +1237,9 @@ public class Launcher extends BaseActivity } // In all these cases, only animate if we're already on home - AbstractFloatingView.closeAllOpenViews(this, alreadyOnHome); + AbstractFloatingView.closeAllOpenViews(this, isStarted()); - mStateManager.goToState(NORMAL, alreadyOnHome /* animated */); + mStateManager.goToState(NORMAL); // Reset the apps view if (!alreadyOnHome && mAppsView != null) { diff --git a/src/com/android/launcher3/LauncherStateManager.java b/src/com/android/launcher3/LauncherStateManager.java index d25f958bd3..bc4ac8b5f6 100644 --- a/src/com/android/launcher3/LauncherStateManager.java +++ b/src/com/android/launcher3/LauncherStateManager.java @@ -108,7 +108,7 @@ public class LauncherStateManager { * @see #goToState(LauncherState, boolean, Runnable) */ public void goToState(LauncherState state) { - goToState(state, true, 0, null); + goToState(state, mLauncher.isStarted() /* animated */, 0, null); } /**