From 7493f450f3141d912d6c30b312a41ab50d649345 Mon Sep 17 00:00:00 2001 From: Zak Cohen Date: Thu, 5 Sep 2024 14:19:21 -0700 Subject: [PATCH] WidgetPicker - enable enterprise string cache in standalone activity. The WidgetPickerActivity wasn't exposing a string cache for enterprise overrideable strings, meaning that default fallback messages were showing when the picker was in standalone (not in the launcher) mode. Bug: 358002534 Test: Manual Flag: EXEMPT bug fix Change-Id: I67ccd46370708fb70a3a5233929a9c3b33c312f7 --- .../android/launcher3/WidgetPickerActivity.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/quickstep/src/com/android/launcher3/WidgetPickerActivity.java b/quickstep/src/com/android/launcher3/WidgetPickerActivity.java index e925af6cda..036568e5c9 100644 --- a/quickstep/src/com/android/launcher3/WidgetPickerActivity.java +++ b/quickstep/src/com/android/launcher3/WidgetPickerActivity.java @@ -42,6 +42,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.android.launcher3.dragndrop.SimpleDragLayer; +import com.android.launcher3.model.StringCache; import com.android.launcher3.model.WidgetItem; import com.android.launcher3.model.WidgetPredictionsRequester; import com.android.launcher3.model.WidgetsModel; @@ -108,6 +109,7 @@ public class WidgetPickerActivity extends BaseActivity { private SimpleDragLayer mDragLayer; private WidgetsModel mModel; private LauncherAppState mApp; + private StringCache mStringCache; private WidgetPredictionsRequester mWidgetPredictionsRequester; private final WidgetPickerDataProvider mWidgetPickerDataProvider = new WidgetPickerDataProvider(); @@ -293,6 +295,11 @@ public class WidgetPickerActivity extends BaseActivity { MODEL_EXECUTOR.execute(() -> { LauncherAppState app = LauncherAppState.getInstance(this); mModel.update(app, null); + + StringCache stringCache = new StringCache(); + stringCache.loadStrings(this); + + bindStringCache(stringCache); bindWidgets(mModel.getWidgetsByPackageItem()); // Open sheet once widgets are available, so that it doesn't interrupt the open // animation. @@ -305,6 +312,10 @@ public class WidgetPickerActivity extends BaseActivity { }); } + private void bindStringCache(final StringCache stringCache) { + MAIN_EXECUTOR.execute(() -> mStringCache = stringCache); + } + private void bindWidgets(Map> widgets) { WidgetsListBaseEntriesBuilder builder = new WidgetsListBaseEntriesBuilder( mApp.getContext()); @@ -342,6 +353,12 @@ public class WidgetPickerActivity extends BaseActivity { } } + @Nullable + @Override + public StringCache getStringCache() { + return mStringCache; + } + /** * Animation callback for different predictive back animation states for the widget picker. */