Loading quickstep/src/com/android/launcher3/uioverrides/UiFactory.java +7 −2 Original line number Diff line number Diff line Loading @@ -21,7 +21,10 @@ 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.BOUNCE_MAX_COUNT; import static com.android.launcher3.allapps.DiscoveryBounce.HOME_BOUNCE_COUNT; import static com.android.launcher3.allapps.DiscoveryBounce.HOME_BOUNCE_SEEN; import static com.android.launcher3.allapps.DiscoveryBounce.SHELF_BOUNCE_COUNT; import static com.android.launcher3.allapps.DiscoveryBounce.SHELF_BOUNCE_SEEN; import android.animation.AnimatorSet; Loading Loading @@ -136,7 +139,8 @@ public class UiFactory { LauncherState prevState = launcher.getStateManager().getLastState(); if (((swipeUpEnabled && finalState == OVERVIEW) || (!swipeUpEnabled && finalState == ALL_APPS && prevState == NORMAL))) { && finalState == ALL_APPS && prevState == NORMAL) || BOUNCE_MAX_COUNT <= launcher.getSharedPrefs().getInt(HOME_BOUNCE_COUNT, 0))) { launcher.getSharedPrefs().edit().putBoolean(HOME_BOUNCE_SEEN, true).apply(); launcher.getStateManager().removeStateListener(this); } Loading @@ -159,7 +163,8 @@ public class UiFactory { public void onStateTransitionComplete(LauncherState finalState) { LauncherState prevState = launcher.getStateManager().getLastState(); if (finalState == ALL_APPS && prevState == OVERVIEW) { if ((finalState == ALL_APPS && prevState == OVERVIEW) || BOUNCE_MAX_COUNT <= launcher.getSharedPrefs().getInt(SHELF_BOUNCE_COUNT, 0)) { launcher.getSharedPrefs().edit().putBoolean(SHELF_BOUNCE_SEEN, true).apply(); launcher.getStateManager().removeStateListener(this); } Loading src/com/android/launcher3/allapps/DiscoveryBounce.java +25 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.animation.Animator; import android.animation.AnimatorInflater; import android.animation.AnimatorListenerAdapter; import android.app.ActivityManager; import android.content.SharedPreferences; import android.os.Handler; import android.view.MotionEvent; Loading @@ -43,6 +44,10 @@ public class DiscoveryBounce extends AbstractFloatingView { public static final String HOME_BOUNCE_SEEN = "launcher.apps_view_shown"; public static final String SHELF_BOUNCE_SEEN = "launcher.shelf_bounce_seen"; public static final String HOME_BOUNCE_COUNT = "launcher.home_bounce_count"; public static final String SHELF_BOUNCE_COUNT = "launcher.shelf_bounce_count"; public static final int BOUNCE_MAX_COUNT = 3; private final Launcher mLauncher; private final Animator mDiscoBounceAnimation; Loading Loading @@ -137,6 +142,7 @@ public class DiscoveryBounce extends AbstractFloatingView { new Handler().postDelayed(() -> showForHomeIfNeeded(launcher, false), DELAY_MS); return; } incrementHomeBounceCount(launcher); new DiscoveryBounce(launcher, 0).show(HOTSEAT); } Loading Loading @@ -165,6 +171,7 @@ public class DiscoveryBounce extends AbstractFloatingView { // TODO: Move these checks to the top and call this method after invalidate handler. return; } incrementShelfBounceCount(launcher); new DiscoveryBounce(launcher, (1 - OVERVIEW.getVerticalProgress(launcher))) .show(PREDICTION); Loading Loading @@ -197,4 +204,22 @@ public class DiscoveryBounce extends AbstractFloatingView { PersonalWorkSlidingTabStrip.KEY_SHOWED_PEEK_WORK_TAB, false) && UserManagerCompat.getInstance(launcher).hasWorkProfile(); } private static void incrementShelfBounceCount(Launcher launcher) { SharedPreferences sharedPrefs = launcher.getSharedPrefs(); int count = sharedPrefs.getInt(SHELF_BOUNCE_COUNT, 0); if (count > BOUNCE_MAX_COUNT) { return; } sharedPrefs.edit().putInt(SHELF_BOUNCE_COUNT, count + 1).apply(); } private static void incrementHomeBounceCount(Launcher launcher) { SharedPreferences sharedPrefs = launcher.getSharedPrefs(); int count = sharedPrefs.getInt(HOME_BOUNCE_COUNT, 0); if (count > BOUNCE_MAX_COUNT) { return; } sharedPrefs.edit().putInt(HOME_BOUNCE_COUNT, count + 1).apply(); } } Loading
quickstep/src/com/android/launcher3/uioverrides/UiFactory.java +7 −2 Original line number Diff line number Diff line Loading @@ -21,7 +21,10 @@ 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.BOUNCE_MAX_COUNT; import static com.android.launcher3.allapps.DiscoveryBounce.HOME_BOUNCE_COUNT; import static com.android.launcher3.allapps.DiscoveryBounce.HOME_BOUNCE_SEEN; import static com.android.launcher3.allapps.DiscoveryBounce.SHELF_BOUNCE_COUNT; import static com.android.launcher3.allapps.DiscoveryBounce.SHELF_BOUNCE_SEEN; import android.animation.AnimatorSet; Loading Loading @@ -136,7 +139,8 @@ public class UiFactory { LauncherState prevState = launcher.getStateManager().getLastState(); if (((swipeUpEnabled && finalState == OVERVIEW) || (!swipeUpEnabled && finalState == ALL_APPS && prevState == NORMAL))) { && finalState == ALL_APPS && prevState == NORMAL) || BOUNCE_MAX_COUNT <= launcher.getSharedPrefs().getInt(HOME_BOUNCE_COUNT, 0))) { launcher.getSharedPrefs().edit().putBoolean(HOME_BOUNCE_SEEN, true).apply(); launcher.getStateManager().removeStateListener(this); } Loading @@ -159,7 +163,8 @@ public class UiFactory { public void onStateTransitionComplete(LauncherState finalState) { LauncherState prevState = launcher.getStateManager().getLastState(); if (finalState == ALL_APPS && prevState == OVERVIEW) { if ((finalState == ALL_APPS && prevState == OVERVIEW) || BOUNCE_MAX_COUNT <= launcher.getSharedPrefs().getInt(SHELF_BOUNCE_COUNT, 0)) { launcher.getSharedPrefs().edit().putBoolean(SHELF_BOUNCE_SEEN, true).apply(); launcher.getStateManager().removeStateListener(this); } Loading
src/com/android/launcher3/allapps/DiscoveryBounce.java +25 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.animation.Animator; import android.animation.AnimatorInflater; import android.animation.AnimatorListenerAdapter; import android.app.ActivityManager; import android.content.SharedPreferences; import android.os.Handler; import android.view.MotionEvent; Loading @@ -43,6 +44,10 @@ public class DiscoveryBounce extends AbstractFloatingView { public static final String HOME_BOUNCE_SEEN = "launcher.apps_view_shown"; public static final String SHELF_BOUNCE_SEEN = "launcher.shelf_bounce_seen"; public static final String HOME_BOUNCE_COUNT = "launcher.home_bounce_count"; public static final String SHELF_BOUNCE_COUNT = "launcher.shelf_bounce_count"; public static final int BOUNCE_MAX_COUNT = 3; private final Launcher mLauncher; private final Animator mDiscoBounceAnimation; Loading Loading @@ -137,6 +142,7 @@ public class DiscoveryBounce extends AbstractFloatingView { new Handler().postDelayed(() -> showForHomeIfNeeded(launcher, false), DELAY_MS); return; } incrementHomeBounceCount(launcher); new DiscoveryBounce(launcher, 0).show(HOTSEAT); } Loading Loading @@ -165,6 +171,7 @@ public class DiscoveryBounce extends AbstractFloatingView { // TODO: Move these checks to the top and call this method after invalidate handler. return; } incrementShelfBounceCount(launcher); new DiscoveryBounce(launcher, (1 - OVERVIEW.getVerticalProgress(launcher))) .show(PREDICTION); Loading Loading @@ -197,4 +204,22 @@ public class DiscoveryBounce extends AbstractFloatingView { PersonalWorkSlidingTabStrip.KEY_SHOWED_PEEK_WORK_TAB, false) && UserManagerCompat.getInstance(launcher).hasWorkProfile(); } private static void incrementShelfBounceCount(Launcher launcher) { SharedPreferences sharedPrefs = launcher.getSharedPrefs(); int count = sharedPrefs.getInt(SHELF_BOUNCE_COUNT, 0); if (count > BOUNCE_MAX_COUNT) { return; } sharedPrefs.edit().putInt(SHELF_BOUNCE_COUNT, count + 1).apply(); } private static void incrementHomeBounceCount(Launcher launcher) { SharedPreferences sharedPrefs = launcher.getSharedPrefs(); int count = sharedPrefs.getInt(HOME_BOUNCE_COUNT, 0); if (count > BOUNCE_MAX_COUNT) { return; } sharedPrefs.edit().putInt(HOME_BOUNCE_COUNT, count + 1).apply(); } }