Loading packages/SystemUI/src/com/android/systemui/Prefs.java +2 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,8 @@ public final class Prefs { String OVERVIEW_OPENED_FROM_HOME_COUNT = "OverviewOpenedFromHomeCount"; String HAS_SEEN_RECENTS_SWIPE_UP_ONBOARDING = "HasSeenRecentsSwipeUpOnboarding"; String HAS_SEEN_RECENTS_QUICK_SCRUB_ONBOARDING = "HasSeenRecentsQuickScrubOnboarding"; String DISMISSED_RECENTS_SWIPE_UP_ONBOARDING_COUNT = "DismissedRecentsSwipeUpOnboardingCount"; String HAS_DISMISSED_RECENTS_QUICK_SCRUB_ONBOARDING_ONCE = "HasDismissedRecentsQuickScrubOnboardingOnce"; String SEEN_RINGER_GUIDANCE_COUNT = "RingerGuidanceCount"; Loading packages/SystemUI/src/com/android/systemui/recents/RecentsOnboarding.java +40 −3 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD; import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED; import static com.android.systemui.Prefs.Key.HAS_DISMISSED_RECENTS_QUICK_SCRUB_ONBOARDING_ONCE; import static com.android.systemui.Prefs.Key.DISMISSED_RECENTS_SWIPE_UP_ONBOARDING_COUNT; import static com.android.systemui.Prefs.Key.HAS_SEEN_RECENTS_QUICK_SCRUB_ONBOARDING; import static com.android.systemui.Prefs.Key.HAS_SEEN_RECENTS_SWIPE_UP_ONBOARDING; import static com.android.systemui.Prefs.Key.OVERVIEW_OPENED_COUNT; Loading Loading @@ -87,9 +88,17 @@ public class RecentsOnboarding { private static final int SWIPE_UP_SHOW_ON_OVERVIEW_OPENED_FROM_HOME_COUNT = 3; // Show quick scrub tips after opening overview this number of times. private static final int QUICK_SCRUB_SHOW_ON_OVERVIEW_OPENED_COUNT = 10; // After explicitly dismissing, show again after launching this number of apps for swipe-up // tips. // Maximum number of dismissals while still showing swipe-up tips. private static final int MAX_DISMISSAL_ON_SWIPE_UP_SHOW = 4; // Number of dismissals for swipe-up tips when exponential backoff starts. private static final int BACKOFF_DISMISSAL_COUNT_ON_SWIPE_UP_SHOW = 2; // After explicitly dismissing for <= BACKOFF_DISMISSAL_COUNT_ON_SWIPE_UP_SHOW times, show again // after launching this number of apps for swipe-up tips. private static final int SWIPE_UP_SHOW_ON_APP_LAUNCH_AFTER_DISMISS = 5; // After explicitly dismissing for > BACKOFF_DISMISSAL_COUNT_ON_SWIPE_UP_SHOW but // <= MAX_DISMISSAL_ON_SWIPE_UP_SHOW times, show again after launching this number of apps for // swipe-up tips. private static final int SWIPE_UP_SHOW_ON_APP_LAUNCH_AFTER_DISMISS_BACK_OFF = 10; private final Context mContext; private final WindowManager mWindowManager; Loading Loading @@ -152,9 +161,20 @@ public class RecentsOnboarding { if (getOpenedOverviewFromHomeCount() >= SWIPE_UP_SHOW_ON_OVERVIEW_OPENED_FROM_HOME_COUNT) { if (mHasDismissedSwipeUpTip) { int hasDimissedSwipeUpOnboardingCount = getDismissedSwipeUpOnboardingCount(); if (hasDimissedSwipeUpOnboardingCount > MAX_DISMISSAL_ON_SWIPE_UP_SHOW) { Log.d(TAG, "Should not be reached"); return; } final int swipeUpShowOnAppLauncherAfterDismiss = hasDimissedSwipeUpOnboardingCount <= BACKOFF_DISMISSAL_COUNT_ON_SWIPE_UP_SHOW ? SWIPE_UP_SHOW_ON_APP_LAUNCH_AFTER_DISMISS : SWIPE_UP_SHOW_ON_APP_LAUNCH_AFTER_DISMISS_BACK_OFF; mNumAppsLaunchedSinceSwipeUpTipDismiss++; if (mNumAppsLaunchedSinceSwipeUpTipDismiss == SWIPE_UP_SHOW_ON_APP_LAUNCH_AFTER_DISMISS) { == swipeUpShowOnAppLauncherAfterDismiss) { mNumAppsLaunchedSinceSwipeUpTipDismiss = 0; shouldLog = show(R.string.recents_swipe_up_onboarding); } Loading Loading @@ -286,6 +306,10 @@ public class RecentsOnboarding { if (v.getTag().equals(R.string.recents_swipe_up_onboarding)) { mHasDismissedSwipeUpTip = true; mNumAppsLaunchedSinceSwipeUpTipDismiss = 0; setDismissedSwipeUpOnboardingCount(getDismissedSwipeUpOnboardingCount() + 1); if (getDismissedSwipeUpOnboardingCount() > MAX_DISMISSAL_ON_SWIPE_UP_SHOW) { setHasSeenSwipeUpOnboarding(true); } notifyOnTip(DISMISS, RECENTS_SWIPE_UP_ONBOARDING_TIP); } else { notifyOnTip(DISMISS, RECENTS_QUICK_SCRUB_ONBOARDING_TIP); Loading @@ -304,6 +328,7 @@ public class RecentsOnboarding { if (RESET_PREFS_FOR_DEBUG) { setHasSeenSwipeUpOnboarding(false); setHasSeenQuickScrubOnboarding(false); setDismissedSwipeUpOnboardingCount(0); setHasDismissedQuickScrubOnboardingOnce(false); setOpenedOverviewCount(0); setOpenedOverviewFromHomeCount(0); Loading Loading @@ -440,6 +465,8 @@ public class RecentsOnboarding { + mNumAppsLaunchedSinceSwipeUpTipDismiss); pw.println(" hasSeenSwipeUpOnboarding: " + hasSeenSwipeUpOnboarding()); pw.println(" hasSeenQuickScrubOnboarding: " + hasSeenQuickScrubOnboarding()); pw.println(" getDismissedSwipeUpOnboardingCount: " + getDismissedSwipeUpOnboardingCount()); pw.println(" hasDismissedQuickScrubOnboardingOnce: " + hasDismissedQuickScrubOnboardingOnce()); pw.println(" getOpenedOverviewCount: " + getOpenedOverviewCount()); Loading Loading @@ -488,6 +515,16 @@ public class RecentsOnboarding { } } private int getDismissedSwipeUpOnboardingCount() { return Prefs.getInt(mContext, DISMISSED_RECENTS_SWIPE_UP_ONBOARDING_COUNT, 0); } private void setDismissedSwipeUpOnboardingCount(int dismissedSwipeUpOnboardingCount) { Log.d(TAG, "setDismissedSwipeUpOnboardingCount: " + dismissedSwipeUpOnboardingCount); Prefs.putInt(mContext, DISMISSED_RECENTS_SWIPE_UP_ONBOARDING_COUNT, dismissedSwipeUpOnboardingCount); } private boolean hasDismissedQuickScrubOnboardingOnce() { return Prefs.getBoolean(mContext, HAS_DISMISSED_RECENTS_QUICK_SCRUB_ONBOARDING_ONCE, false); } Loading Loading
packages/SystemUI/src/com/android/systemui/Prefs.java +2 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,8 @@ public final class Prefs { String OVERVIEW_OPENED_FROM_HOME_COUNT = "OverviewOpenedFromHomeCount"; String HAS_SEEN_RECENTS_SWIPE_UP_ONBOARDING = "HasSeenRecentsSwipeUpOnboarding"; String HAS_SEEN_RECENTS_QUICK_SCRUB_ONBOARDING = "HasSeenRecentsQuickScrubOnboarding"; String DISMISSED_RECENTS_SWIPE_UP_ONBOARDING_COUNT = "DismissedRecentsSwipeUpOnboardingCount"; String HAS_DISMISSED_RECENTS_QUICK_SCRUB_ONBOARDING_ONCE = "HasDismissedRecentsQuickScrubOnboardingOnce"; String SEEN_RINGER_GUIDANCE_COUNT = "RingerGuidanceCount"; Loading
packages/SystemUI/src/com/android/systemui/recents/RecentsOnboarding.java +40 −3 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD; import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED; import static com.android.systemui.Prefs.Key.HAS_DISMISSED_RECENTS_QUICK_SCRUB_ONBOARDING_ONCE; import static com.android.systemui.Prefs.Key.DISMISSED_RECENTS_SWIPE_UP_ONBOARDING_COUNT; import static com.android.systemui.Prefs.Key.HAS_SEEN_RECENTS_QUICK_SCRUB_ONBOARDING; import static com.android.systemui.Prefs.Key.HAS_SEEN_RECENTS_SWIPE_UP_ONBOARDING; import static com.android.systemui.Prefs.Key.OVERVIEW_OPENED_COUNT; Loading Loading @@ -87,9 +88,17 @@ public class RecentsOnboarding { private static final int SWIPE_UP_SHOW_ON_OVERVIEW_OPENED_FROM_HOME_COUNT = 3; // Show quick scrub tips after opening overview this number of times. private static final int QUICK_SCRUB_SHOW_ON_OVERVIEW_OPENED_COUNT = 10; // After explicitly dismissing, show again after launching this number of apps for swipe-up // tips. // Maximum number of dismissals while still showing swipe-up tips. private static final int MAX_DISMISSAL_ON_SWIPE_UP_SHOW = 4; // Number of dismissals for swipe-up tips when exponential backoff starts. private static final int BACKOFF_DISMISSAL_COUNT_ON_SWIPE_UP_SHOW = 2; // After explicitly dismissing for <= BACKOFF_DISMISSAL_COUNT_ON_SWIPE_UP_SHOW times, show again // after launching this number of apps for swipe-up tips. private static final int SWIPE_UP_SHOW_ON_APP_LAUNCH_AFTER_DISMISS = 5; // After explicitly dismissing for > BACKOFF_DISMISSAL_COUNT_ON_SWIPE_UP_SHOW but // <= MAX_DISMISSAL_ON_SWIPE_UP_SHOW times, show again after launching this number of apps for // swipe-up tips. private static final int SWIPE_UP_SHOW_ON_APP_LAUNCH_AFTER_DISMISS_BACK_OFF = 10; private final Context mContext; private final WindowManager mWindowManager; Loading Loading @@ -152,9 +161,20 @@ public class RecentsOnboarding { if (getOpenedOverviewFromHomeCount() >= SWIPE_UP_SHOW_ON_OVERVIEW_OPENED_FROM_HOME_COUNT) { if (mHasDismissedSwipeUpTip) { int hasDimissedSwipeUpOnboardingCount = getDismissedSwipeUpOnboardingCount(); if (hasDimissedSwipeUpOnboardingCount > MAX_DISMISSAL_ON_SWIPE_UP_SHOW) { Log.d(TAG, "Should not be reached"); return; } final int swipeUpShowOnAppLauncherAfterDismiss = hasDimissedSwipeUpOnboardingCount <= BACKOFF_DISMISSAL_COUNT_ON_SWIPE_UP_SHOW ? SWIPE_UP_SHOW_ON_APP_LAUNCH_AFTER_DISMISS : SWIPE_UP_SHOW_ON_APP_LAUNCH_AFTER_DISMISS_BACK_OFF; mNumAppsLaunchedSinceSwipeUpTipDismiss++; if (mNumAppsLaunchedSinceSwipeUpTipDismiss == SWIPE_UP_SHOW_ON_APP_LAUNCH_AFTER_DISMISS) { == swipeUpShowOnAppLauncherAfterDismiss) { mNumAppsLaunchedSinceSwipeUpTipDismiss = 0; shouldLog = show(R.string.recents_swipe_up_onboarding); } Loading Loading @@ -286,6 +306,10 @@ public class RecentsOnboarding { if (v.getTag().equals(R.string.recents_swipe_up_onboarding)) { mHasDismissedSwipeUpTip = true; mNumAppsLaunchedSinceSwipeUpTipDismiss = 0; setDismissedSwipeUpOnboardingCount(getDismissedSwipeUpOnboardingCount() + 1); if (getDismissedSwipeUpOnboardingCount() > MAX_DISMISSAL_ON_SWIPE_UP_SHOW) { setHasSeenSwipeUpOnboarding(true); } notifyOnTip(DISMISS, RECENTS_SWIPE_UP_ONBOARDING_TIP); } else { notifyOnTip(DISMISS, RECENTS_QUICK_SCRUB_ONBOARDING_TIP); Loading @@ -304,6 +328,7 @@ public class RecentsOnboarding { if (RESET_PREFS_FOR_DEBUG) { setHasSeenSwipeUpOnboarding(false); setHasSeenQuickScrubOnboarding(false); setDismissedSwipeUpOnboardingCount(0); setHasDismissedQuickScrubOnboardingOnce(false); setOpenedOverviewCount(0); setOpenedOverviewFromHomeCount(0); Loading Loading @@ -440,6 +465,8 @@ public class RecentsOnboarding { + mNumAppsLaunchedSinceSwipeUpTipDismiss); pw.println(" hasSeenSwipeUpOnboarding: " + hasSeenSwipeUpOnboarding()); pw.println(" hasSeenQuickScrubOnboarding: " + hasSeenQuickScrubOnboarding()); pw.println(" getDismissedSwipeUpOnboardingCount: " + getDismissedSwipeUpOnboardingCount()); pw.println(" hasDismissedQuickScrubOnboardingOnce: " + hasDismissedQuickScrubOnboardingOnce()); pw.println(" getOpenedOverviewCount: " + getOpenedOverviewCount()); Loading Loading @@ -488,6 +515,16 @@ public class RecentsOnboarding { } } private int getDismissedSwipeUpOnboardingCount() { return Prefs.getInt(mContext, DISMISSED_RECENTS_SWIPE_UP_ONBOARDING_COUNT, 0); } private void setDismissedSwipeUpOnboardingCount(int dismissedSwipeUpOnboardingCount) { Log.d(TAG, "setDismissedSwipeUpOnboardingCount: " + dismissedSwipeUpOnboardingCount); Prefs.putInt(mContext, DISMISSED_RECENTS_SWIPE_UP_ONBOARDING_COUNT, dismissedSwipeUpOnboardingCount); } private boolean hasDismissedQuickScrubOnboardingOnce() { return Prefs.getBoolean(mContext, HAS_DISMISSED_RECENTS_QUICK_SCRUB_ONBOARDING_ONCE, false); } Loading