From 82da9fc5be5813d85e0b5ebecb94b8318877f74d Mon Sep 17 00:00:00 2001 From: Sukesh Ram Date: Fri, 15 Jul 2022 17:24:24 -0700 Subject: [PATCH] Made getOnBoardingPrefs @Nullable & avoid NPE Bug: 236679197 Test: Manual Change-Id: I3cbb0891cbfcf7cab956a4e05a28dbbcc2b33e19 (cherry picked from commit c0650e77257d464e7474b288bbf52e728b5cf87a) --- .../launcher3/appprediction/AppsDividerView.java | 11 +++++++---- src/com/android/launcher3/views/ActivityContext.java | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/quickstep/src/com/android/launcher3/appprediction/AppsDividerView.java b/quickstep/src/com/android/launcher3/appprediction/AppsDividerView.java index f42b39fb2d..e8374b813c 100644 --- a/quickstep/src/com/android/launcher3/appprediction/AppsDividerView.java +++ b/quickstep/src/com/android/launcher3/appprediction/AppsDividerView.java @@ -35,6 +35,7 @@ import androidx.core.content.ContextCompat; import com.android.launcher3.R; import com.android.launcher3.allapps.FloatingHeaderRow; import com.android.launcher3.allapps.FloatingHeaderView; +import com.android.launcher3.util.OnboardingPrefs; import com.android.launcher3.util.Themes; import com.android.launcher3.views.ActivityContext; @@ -92,8 +93,10 @@ public class AppsDividerView extends View implements FloatingHeaderRow { ? R.color.all_apps_label_text_dark : R.color.all_apps_label_text); - mShowAllAppsLabel = !ActivityContext.lookupContext( - getContext()).getOnboardingPrefs().hasReachedMaxCount(ALL_APPS_VISITED_COUNT); + OnboardingPrefs onboardingPrefs = ActivityContext.lookupContext( + getContext()).getOnboardingPrefs(); + mShowAllAppsLabel = onboardingPrefs == null || !onboardingPrefs.hasReachedMaxCount( + ALL_APPS_VISITED_COUNT); } public void setup(FloatingHeaderView parent, FloatingHeaderRow[] rows, boolean tabsHidden) { @@ -216,8 +219,8 @@ public class AppsDividerView extends View implements FloatingHeaderRow { CharSequence allAppsLabelText = getResources().getText(R.string.all_apps_label); mAllAppsLabelLayout = StaticLayout.Builder.obtain( - allAppsLabelText, 0, allAppsLabelText.length(), mPaint, - Math.round(mPaint.measureText(allAppsLabelText.toString()))) + allAppsLabelText, 0, allAppsLabelText.length(), mPaint, + Math.round(mPaint.measureText(allAppsLabelText.toString()))) .setAlignment(Layout.Alignment.ALIGN_CENTER) .setMaxLines(1) .setIncludePad(true) diff --git a/src/com/android/launcher3/views/ActivityContext.java b/src/com/android/launcher3/views/ActivityContext.java index 93078e4cf6..e2dc34fb67 100644 --- a/src/com/android/launcher3/views/ActivityContext.java +++ b/src/com/android/launcher3/views/ActivityContext.java @@ -141,6 +141,7 @@ public interface ActivityContext { default void applyOverwritesToLogItem(LauncherAtom.ItemInfo.Builder itemInfoBuilder) { } /** Onboarding preferences for any onboarding data within this context. */ + @Nullable default OnboardingPrefs getOnboardingPrefs() { return null; }