Check the feature flag before showing bubbles shortcut widget
Flag: com.android.wm.shell.enable_retrievable_bubbles
Bug: 340337839
Test: manual
Change-Id: I39424de3c448a1991a62dd198c195db5418788ba
diff --git a/src/com/android/launcher3/model/WidgetsModel.java b/src/com/android/launcher3/model/WidgetsModel.java
index 5e0edb3..b3f88ec 100644
--- a/src/com/android/launcher3/model/WidgetsModel.java
+++ b/src/com/android/launcher3/model/WidgetsModel.java
@@ -41,6 +41,7 @@
import com.android.launcher3.widget.model.WidgetsListBaseEntry;
import com.android.launcher3.widget.model.WidgetsListContentEntry;
import com.android.launcher3.widget.model.WidgetsListHeaderEntry;
+import com.android.wm.shell.Flags;
import java.util.ArrayList;
import java.util.Arrays;
@@ -201,6 +202,7 @@
// add and update.
mWidgetsList.putAll(rawWidgetsShortcuts.stream()
.filter(new WidgetValidityCheck(app))
+ .filter(new WidgetFlagCheck())
.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()))));
@@ -360,6 +362,21 @@
}
}
+ private static class WidgetFlagCheck implements Predicate<WidgetItem> {
+
+ private static final String BUBBLES_SHORTCUT_WIDGET =
+ "com.android.systemui/com.android.wm.shell.bubbles.shortcut"
+ + ".CreateBubbleShortcutActivity";
+
+ @Override
+ public boolean test(WidgetItem widgetItem) {
+ if (BUBBLES_SHORTCUT_WIDGET.equals(widgetItem.componentName.flattenToString())) {
+ return Flags.enableRetrievableBubbles();
+ }
+ return true;
+ }
+ }
+
private static final class PackageItemInfoCache {
private final Map<PackageUserKey, PackageItemInfo> mMap = new ArrayMap<>();