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

Commit 1b8fcf43 authored by Shamali Patwa's avatar Shamali Patwa Committed by Android (Google) Code Review
Browse files

Merge "Revert "When getting a widget provider by name, check all categories"" into main

parents 20a6ffd0 7e5ed568
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -184,7 +184,7 @@ public class AddItemActivity extends BaseActivity
        // user sees
        TextView widgetAppName = findViewById(R.id.widget_appName);
        WidgetSections.WidgetSection section = targetApp.widgetCategory == NO_CATEGORY ? null
                : WidgetSections.get(this).get(targetApp.widgetCategory);
                : WidgetSections.getWidgetSections(this).get(targetApp.widgetCategory);
        widgetAppName.setText(section == null ? info.loadLabel(getPackageManager())
                : getString(section.mSectionTitle));

+1 −1
Original line number Diff line number Diff line
@@ -419,7 +419,7 @@ public class LauncherPreviewRenderer extends ContextWrapper

    private void inflateAndAddWidgets(LauncherAppWidgetInfo info, WidgetsModel widgetsModel) {
        WidgetItem widgetItem = widgetsModel.getWidgetProviderInfoByProviderName(
                info.providerName, info.user, mContext);
                info.providerName, info.user);
        if (widgetItem == null) {
            return;
        }
+1 −1
Original line number Diff line number Diff line
@@ -559,7 +559,7 @@ public class IconCache extends BaseIconCache {
            return;
        }

        WidgetSection widgetSection = WidgetSections.get(mContext)
        WidgetSection widgetSection = WidgetSections.getWidgetSections(mContext)
                .get(infoInOut.widgetCategory);
        infoInOut.title = mContext.getString(widgetSection.mSectionTitle);
        infoInOut.contentDescription = getUserBadgedLabel(infoInOut.title, infoInOut.user);
+14 −32
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ import android.content.pm.PackageManager;
import android.os.UserHandle;
import android.util.Log;
import android.util.Pair;
import android.util.SparseArray;

import androidx.annotation.Nullable;
import androidx.collection.ArrayMap;
@@ -202,16 +201,8 @@ public class WidgetsModel {
        // add and update.
        mWidgetsList.putAll(rawWidgetsShortcuts.stream()
                .filter(new WidgetValidityCheck(app))
                .flatMap(
                        widgetItem -> getPackageUserKeys(app.getContext(), widgetItem)
                                .stream()
                                .map(
                                        key -> new Pair<>(
                                                packageItemInfoCache.getOrCreate(key),
                                                widgetItem
                                        )
                                )
                )
                .flatMap(widgetItem -> getPackageUserKeys(app.getContext(), widgetItem).stream()
                        .map(key -> new Pair<>(packageItemInfoCache.getOrCreate(key), widgetItem)))
                .collect(groupingBy(pair -> pair.first, mapping(pair -> pair.second, toList()))));

        // Update each package entry
@@ -249,26 +240,19 @@ public class WidgetsModel {
    }

    public WidgetItem getWidgetProviderInfoByProviderName(
            ComponentName providerName, UserHandle user, Context context) {
        SparseArray<WidgetSections.WidgetSection> sections = WidgetSections.get(
                context);
            ComponentName providerName, UserHandle user) {
        if (!WIDGETS_ENABLED) {
            return null;
        }
        List<WidgetItem> widgetsList = mWidgetsList.get(
                new PackageItemInfo(providerName.getPackageName(), user));
        if (widgetsList == null) {
            return null;
        }

        // Checking if we hav ea provider in any of the categories.
        for (int i = 0; i < sections.size(); i++) {
            PackageItemInfo key = new PackageItemInfo(
                    providerName.getPackageName(),
                    sections.get(i).mCategory,
                    user
            );
            if (mWidgetsList.containsKey(key)) {
                return mWidgetsList.get(key).stream().filter(
                                item -> item.componentName.equals(providerName)
                        )
                        .findFirst()
                        .orElse(null);
        for (WidgetItem item : widgetsList) {
            if (item.componentName.equals(providerName)) {
                return item;
            }
        }
        return null;
@@ -302,12 +286,10 @@ public class WidgetsModel {
        categories.forEach(category -> {
            if (category == NO_CATEGORY) {
                packageUserKeys.add(
                        new PackageUserKey(item.componentName.getPackageName(), item.user)
                );
                        new PackageUserKey(item.componentName.getPackageName(),
                                item.user));
            } else {
                packageUserKeys.add(
                        new PackageUserKey(item.componentName.getPackageName(), category, item.user)
                );
                packageUserKeys.add(new PackageUserKey(category, item.user));
            }
        });
        return packageUserKeys;
+0 −4
Original line number Diff line number Diff line
@@ -48,10 +48,6 @@ public class PackageUserKey {
        update(/* packageName= */ "", widgetCategory, user);
    }

    public PackageUserKey(String packageName, int widgetCategory, UserHandle user) {
        update(packageName, widgetCategory, user);
    }

    public void update(String packageName, UserHandle user) {
        update(packageName, NO_CATEGORY, user);
    }
Loading