summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/BaseActivity.java
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2018-04-12 11:23:33 -0700
committerSunny Goyal <sunnygoyal@google.com>2018-04-16 13:01:57 -0700
commit3483c52e6bd81b7c37eb0089940e90a6f3e6d80c (patch)
treeb3a51229bc7c539b90d4e56346c730f218ee1177 /src/com/android/launcher3/BaseActivity.java
parent9162f8187c3a1f9dfe6fecaf248121eb9cc6fd78 (diff)
downloadandroid_packages_apps_Trebuchet-3483c52e6bd81b7c37eb0089940e90a6f3e6d80c.tar.gz
android_packages_apps_Trebuchet-3483c52e6bd81b7c37eb0089940e90a6f3e6d80c.tar.bz2
android_packages_apps_Trebuchet-3483c52e6bd81b7c37eb0089940e90a6f3e6d80c.zip
Waiting until onResume before creating the wallpaper-open animation.
Bug: 77853906 Change-Id: I5126855492da59c9dbfef0ce2a97f94662a6522b
Diffstat (limited to 'src/com/android/launcher3/BaseActivity.java')
-rw-r--r--src/com/android/launcher3/BaseActivity.java44
1 files changed, 36 insertions, 8 deletions
diff --git a/src/com/android/launcher3/BaseActivity.java b/src/com/android/launcher3/BaseActivity.java
index 1f1ef9ad7..f197921ce 100644
--- a/src/com/android/launcher3/BaseActivity.java
+++ b/src/com/android/launcher3/BaseActivity.java
@@ -56,8 +56,23 @@ public abstract class BaseActivity extends Activity {
protected UserEventDispatcher mUserEventDispatcher;
protected SystemUiController mSystemUiController;
- private boolean mStarted;
- private boolean mUserActive;
+ private static final int ACTIVITY_STATE_STARTED = 1 << 0;
+ private static final int ACTIVITY_STATE_RESUMED = 1 << 1;
+ /**
+ * State flag indicating if the user is active or the actitvity when to background as a result
+ * of user action.
+ * @see #isUserActive()
+ */
+ private static final int ACTIVITY_STATE_USER_ACTIVE = 1 << 2;
+
+ @Retention(SOURCE)
+ @IntDef(
+ flag = true,
+ value = {ACTIVITY_STATE_STARTED, ACTIVITY_STATE_RESUMED, ACTIVITY_STATE_USER_ACTIVE})
+ public @interface ActivityFlags{}
+
+ @ActivityFlags
+ private int mActivityFlags;
// When the recents animation is running, the visibility of the Launcher is managed by the
// animation
@@ -103,19 +118,19 @@ public abstract class BaseActivity extends Activity {
@Override
protected void onStart() {
- mStarted = true;
+ mActivityFlags |= ACTIVITY_STATE_STARTED;
super.onStart();
}
@Override
protected void onResume() {
- mUserActive = true;
+ mActivityFlags |= ACTIVITY_STATE_RESUMED | ACTIVITY_STATE_USER_ACTIVE;
super.onResume();
}
@Override
protected void onUserLeaveHint() {
- mUserActive = false;
+ mActivityFlags &= ~ACTIVITY_STATE_USER_ACTIVE;
super.onUserLeaveHint();
}
@@ -129,17 +144,30 @@ public abstract class BaseActivity extends Activity {
@Override
protected void onStop() {
- mStarted = false;
+ mActivityFlags &= ~ACTIVITY_STATE_STARTED;
mForceInvisible = 0;
super.onStop();
}
+ @Override
+ protected void onPause() {
+ mActivityFlags &= ~ACTIVITY_STATE_RESUMED;
+ super.onPause();
+ }
+
public boolean isStarted() {
- return mStarted;
+ return (mActivityFlags & ACTIVITY_STATE_STARTED) != 0;
+ }
+
+ /**
+ * isResumed in already defined as a hidden final method in Activity.java
+ */
+ public boolean hasBeenResumed() {
+ return (mActivityFlags & ACTIVITY_STATE_RESUMED) != 0;
}
public boolean isUserActive() {
- return mUserActive;
+ return (mActivityFlags & ACTIVITY_STATE_USER_ACTIVE) != 0;
}
public void addOnDeviceProfileChangeListener(OnDeviceProfileChangeListener listener) {