diff options
Diffstat (limited to 'src/com/android/launcher3/model/BgDataModel.java')
-rw-r--r-- | src/com/android/launcher3/model/BgDataModel.java | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/src/com/android/launcher3/model/BgDataModel.java b/src/com/android/launcher3/model/BgDataModel.java index 7bcd03863c..7f0f683091 100644 --- a/src/com/android/launcher3/model/BgDataModel.java +++ b/src/com/android/launcher3/model/BgDataModel.java @@ -17,6 +17,9 @@ package com.android.launcher3.model; import static android.content.pm.LauncherApps.ShortcutQuery.FLAG_GET_KEY_FIELDS_ONLY; +import static com.android.launcher3.BuildConfig.QSB_ON_FIRST_SCREEN; +import static com.android.launcher3.config.FeatureFlags.ENABLE_SMARTSPACE_REMOVAL; +import static com.android.launcher3.config.FeatureFlags.shouldShowFirstPageWidget; import static com.android.launcher3.model.WidgetsModel.GO_DISABLE_WIDGETS; import static com.android.launcher3.shortcuts.ShortcutRequest.PINNED; @@ -129,6 +132,8 @@ public class BgDataModel { * Load id for which the callbacks were successfully bound */ public int lastLoadId = -1; + public boolean isFirstPagePinnedItemEnabled = QSB_ON_FIRST_SCREEN + && !ENABLE_SMARTSPACE_REMOVAL.get(); /** * Clears all the data @@ -152,7 +157,9 @@ public class BgDataModel { screenSet.add(item.screenId); } } - if (FeatureFlags.QSB_ON_FIRST_SCREEN || screenSet.isEmpty()) { + if ((FeatureFlags.QSB_ON_FIRST_SCREEN + && !shouldShowFirstPageWidget()) + || screenSet.isEmpty()) { screenSet.add(Workspace.FIRST_SCREEN_ID); } return screenSet.getArray(); @@ -170,11 +177,15 @@ public class BgDataModel { writer.println(prefix + '\t' + appWidgets.get(i).toString()); } writer.println(prefix + " ---- folder items "); - for (int i = 0; i< folders.size(); i++) { + for (int i = 0; i < folders.size(); i++) { writer.println(prefix + '\t' + folders.valueAt(i).toString()); } + writer.println(prefix + " ---- extra items "); + for (int i = 0; i < extraItems.size(); i++) { + writer.println(prefix + '\t' + extraItems.valueAt(i).toString()); + } writer.println(prefix + " ---- items id map "); - for (int i = 0; i< itemsIdMap.size(); i++) { + for (int i = 0; i < itemsIdMap.size(); i++) { writer.println(prefix + '\t' + itemsIdMap.valueAt(i).toString()); } @@ -442,6 +453,20 @@ public class BgDataModel { this.containerId = containerId; this.items = Collections.unmodifiableList(items); } + + @Override + @NonNull + public final String toString() { + StringBuilder s = new StringBuilder(); + s.append("FixedContainerItems:"); + s.append(" id=").append(containerId); + s.append(" itemCount=").append(items.size()); + for (int i = 0; i < items.size(); i++) { + s.append(" item #").append(i).append(": ").append(items.get(i).toString()); + } + return s.toString(); + } + } @@ -452,6 +477,10 @@ public class BgDataModel { int FLAG_QUIET_MODE_ENABLED = 1 << 1; // If launcher can change quiet mode int FLAG_QUIET_MODE_CHANGE_PERMISSION = 1 << 2; + // If quiet mode is enabled for work profile user + int FLAG_WORK_PROFILE_QUIET_MODE_ENABLED = 1 << 3; + // If quiet mode is enabled for private profile user + int FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED = 1 << 4; /** * Returns an IntSet of page ids to bind first, synchronously if possible @@ -468,6 +497,7 @@ public class BgDataModel { default void bindItems(List<ItemInfo> shortcuts, boolean forceAnimateIcons) { } default void bindScreens(IntArray orderedScreenIds) { } + default void setIsFirstPagePinnedItemEnabled(boolean isFirstPagePinnedItemEnabled) { } default void finishBindingItems(IntSet pagesBoundFirst) { } default void preAddApps() { } default void bindAppsAdded(IntArray newScreens, @@ -487,6 +517,7 @@ public class BgDataModel { default void bindRestoreItemsChange(HashSet<ItemInfo> updates) { } default void bindWorkspaceComponentsRemoved(Predicate<ItemInfo> matcher) { } default void bindAllWidgets(List<WidgetsListBaseEntry> widgets) { } + default void bindSmartspaceWidget() { } /** Called when workspace has been bound. */ default void onInitialBindComplete(IntSet boundPages, RunnableList pendingTasks, |