Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7493f450 authored by Zak Cohen's avatar Zak Cohen
Browse files

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
parent 7f9985af
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -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<WidgetPickerActivity> 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<PackageItemInfo, List<WidgetItem>> 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.
     */