summaryrefslogtreecommitdiffstats
path: root/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2018-05-02 20:51:37 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-05-02 20:51:37 +0000
commit9b83fe225d4ff4bc9b3cc7fa64a070afb75dcbcc (patch)
treea631e03f10d707fd522f99167b2df04f97e54df8 /quickstep/src/com/android/launcher3/uioverrides/UiFactory.java
parentf1db5a0b812f341478ca558923bf0c8a0dbea01b (diff)
parent8b23c6f60b3898d26ef3c5326af7449e91e320e7 (diff)
downloadandroid_packages_apps_Trebuchet-9b83fe225d4ff4bc9b3cc7fa64a070afb75dcbcc.tar.gz
android_packages_apps_Trebuchet-9b83fe225d4ff4bc9b3cc7fa64a070afb75dcbcc.tar.bz2
android_packages_apps_Trebuchet-9b83fe225d4ff4bc9b3cc7fa64a070afb75dcbcc.zip
Merge "Quickstep onboarding backward compatibility for devices release with Android N & O." into ub-launcher3-edmonton
Diffstat (limited to 'quickstep/src/com/android/launcher3/uioverrides/UiFactory.java')
-rw-r--r--quickstep/src/com/android/launcher3/uioverrides/UiFactory.java52
1 files changed, 52 insertions, 0 deletions
diff --git a/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java b/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java
index cb83a0d92..06099b9fa 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java
@@ -21,6 +21,8 @@ import static com.android.launcher3.AbstractFloatingView.TYPE_HIDE_BACK_BUTTON;
import static com.android.launcher3.LauncherState.ALL_APPS;
import static com.android.launcher3.LauncherState.NORMAL;
import static com.android.launcher3.LauncherState.OVERVIEW;
+import static com.android.launcher3.allapps.DiscoveryBounce.HOME_BOUNCE_SEEN;
+import static com.android.launcher3.allapps.DiscoveryBounce.SHELF_BOUNCE_SEEN;
import android.content.Context;
@@ -28,6 +30,7 @@ import com.android.launcher3.AbstractFloatingView;
import com.android.launcher3.DeviceProfile;
import com.android.launcher3.Launcher;
import com.android.launcher3.LauncherState;
+import com.android.launcher3.LauncherStateManager;
import com.android.launcher3.LauncherStateManager.StateHandler;
import com.android.launcher3.anim.AnimatorPlaybackController;
import com.android.launcher3.util.TouchController;
@@ -89,6 +92,55 @@ public class UiFactory {
recents.reset();
}
+ public static void onCreate(Launcher launcher) {
+ if (!launcher.getSharedPrefs().getBoolean(HOME_BOUNCE_SEEN, false)) {
+ launcher.getStateManager().addStateListener(new LauncherStateManager.StateListener() {
+ @Override
+ public void onStateSetImmediately(LauncherState state) {
+ }
+
+ @Override
+ public void onStateTransitionStart(LauncherState toState) {
+ }
+
+ @Override
+ public void onStateTransitionComplete(LauncherState finalState) {
+ boolean swipeUpEnabled = OverviewInteractionState.getInstance(launcher)
+ .isSwipeUpGestureEnabled();
+ LauncherState prevState = launcher.getStateManager().getLastState();
+
+ if (((swipeUpEnabled && finalState == OVERVIEW) || (!swipeUpEnabled
+ && finalState == ALL_APPS && prevState == NORMAL))) {
+ launcher.getSharedPrefs().edit().putBoolean(HOME_BOUNCE_SEEN, true).apply();
+ launcher.getStateManager().removeStateListener(this);
+ }
+ }
+ });
+ }
+
+ if (!launcher.getSharedPrefs().getBoolean(SHELF_BOUNCE_SEEN, false)) {
+ launcher.getStateManager().addStateListener(new LauncherStateManager.StateListener() {
+ @Override
+ public void onStateSetImmediately(LauncherState state) {
+ }
+
+ @Override
+ public void onStateTransitionStart(LauncherState toState) {
+ }
+
+ @Override
+ public void onStateTransitionComplete(LauncherState finalState) {
+ LauncherState prevState = launcher.getStateManager().getLastState();
+
+ if (finalState == ALL_APPS && prevState == OVERVIEW) {
+ launcher.getSharedPrefs().edit().putBoolean(SHELF_BOUNCE_SEEN, true).apply();
+ launcher.getStateManager().removeStateListener(this);
+ }
+ }
+ });
+ }
+ }
+
public static void onStart(Context context) {
RecentsModel model = RecentsModel.getInstance(context);
if (model != null) {