fix: Conflict incoming changes from 15-dev
This commit is contained in:
1 parent
14e352c827
commit
2e76c99dad
1726 files changed
+146970
-95027
No files matched your search
@@ -16,10 +16,9 @@
|
||||
package com.android.launcher3.model;
|
||||
|
||||
import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT;
|
||||
import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED;
|
||||
import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_QUIET_MODE_ENABLED;
|
||||
import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_WORK_PROFILE_QUIET_MODE_ENABLED;
|
||||
import static com.android.launcher3.model.ModelUtils.WIDGET_FILTER;
|
||||
import static com.android.launcher3.model.data.AppsListData.FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED;
|
||||
import static com.android.launcher3.model.data.AppsListData.FLAG_QUIET_MODE_ENABLED;
|
||||
import static com.android.launcher3.model.data.AppsListData.FLAG_WORK_PROFILE_QUIET_MODE_ENABLED;
|
||||
import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_ARCHIVED;
|
||||
import static com.android.launcher3.model.data.LauncherAppWidgetInfo.FLAG_PROVIDER_NOT_READY;
|
||||
import static com.android.launcher3.model.data.WorkspaceItemInfo.FLAG_AUTOINSTALL_ICON;
|
||||
@@ -60,7 +59,6 @@ import com.android.launcher3.util.PackageManagerHelper;
|
||||
import com.android.launcher3.util.PackageUserKey;
|
||||
import com.android.launcher3.util.SafeCloseable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
@@ -242,12 +240,12 @@ public class PackageUpdatedTask implements ModelUpdateTask {
|
||||
|
||||
// Update shortcut infos
|
||||
if (mOp == OP_ADD || flagOp != FlagOp.NO_OP) {
|
||||
final ArrayList<ItemInfo> updatedWorkspaceItems = new ArrayList<>();
|
||||
final List<ItemInfo> updatedItems;
|
||||
|
||||
// For system apps, package manager send OP_UPDATE when an app is enabled.
|
||||
final boolean isNewApkAvailable = mOp == OP_ADD || mOp == OP_UPDATE;
|
||||
synchronized (dataModel) {
|
||||
dataModel.forAllWorkspaceItemInfos(mUser, itemInfo -> {
|
||||
updatedItems = dataModel.updateAndCollectWorkspaceItemInfos(mUser, itemInfo -> {
|
||||
|
||||
boolean infoUpdated = false;
|
||||
boolean shortcutUpdated = false;
|
||||
@@ -259,7 +257,7 @@ public class PackageUpdatedTask implements ModelUpdateTask {
|
||||
if (itemInfo.hasStatusFlag(WorkspaceItemInfo.FLAG_SUPPORTS_WEB_UI)) {
|
||||
forceKeepShortcuts.add(itemInfo.id);
|
||||
if (mOp == OP_REMOVE) {
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -316,7 +314,7 @@ public class PackageUpdatedTask implements ModelUpdateTask {
|
||||
+ ", status=" + itemInfo.status
|
||||
+ ", isArchived=" + itemInfo.isArchived());
|
||||
}
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
} else if (!isTargetValid) {
|
||||
removedShortcuts.add(itemInfo.id);
|
||||
@@ -327,7 +325,7 @@ public class PackageUpdatedTask implements ModelUpdateTask {
|
||||
+ " package=" + itemInfo.getTargetPackage()
|
||||
+ " status=" + itemInfo.status);
|
||||
}
|
||||
return;
|
||||
return false;
|
||||
} else {
|
||||
itemInfo.status = WorkspaceItemInfo.DEFAULT;
|
||||
infoUpdated = true;
|
||||
@@ -382,36 +380,30 @@ public class PackageUpdatedTask implements ModelUpdateTask {
|
||||
}
|
||||
}
|
||||
|
||||
if (infoUpdated || shortcutUpdated) {
|
||||
updatedWorkspaceItems.add(itemInfo);
|
||||
}
|
||||
if (infoUpdated && itemInfo.id != ItemInfo.NO_ID) {
|
||||
taskController.getModelWriter().updateItemInDatabase(itemInfo);
|
||||
}
|
||||
return infoUpdated || shortcutUpdated;
|
||||
}, widget -> {
|
||||
if (widget.hasRestoreFlag(FLAG_PROVIDER_NOT_READY)
|
||||
&& packageSet.contains(widget.providerName.getPackageName())) {
|
||||
widget.restoreStatus &=
|
||||
~FLAG_PROVIDER_NOT_READY
|
||||
& ~LauncherAppWidgetInfo.FLAG_RESTORE_STARTED;
|
||||
|
||||
// adding this flag ensures that launcher shows 'click to setup'
|
||||
// if the widget has a config activity. In case there is no config
|
||||
// activity, it will be marked as 'restored' during bind.
|
||||
widget.restoreStatus |= LauncherAppWidgetInfo.FLAG_UI_NOT_READY;
|
||||
widget.installProgress = 100;
|
||||
taskController.getModelWriter().updateItemInDatabase(widget);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
dataModel.itemsIdMap.stream()
|
||||
.filter(WIDGET_FILTER)
|
||||
.filter(item -> mUser.equals(item.user))
|
||||
.map(item -> (LauncherAppWidgetInfo) item)
|
||||
.filter(widget -> widget.hasRestoreFlag(FLAG_PROVIDER_NOT_READY)
|
||||
&& packageSet.contains(widget.providerName.getPackageName()))
|
||||
.forEach(widgetInfo -> {
|
||||
widgetInfo.restoreStatus &=
|
||||
~FLAG_PROVIDER_NOT_READY
|
||||
& ~LauncherAppWidgetInfo.FLAG_RESTORE_STARTED;
|
||||
|
||||
// adding this flag ensures that launcher shows 'click to setup'
|
||||
// if the widget has a config activity. In case there is no config
|
||||
// activity, it will be marked as 'restored' during bind.
|
||||
widgetInfo.restoreStatus |= LauncherAppWidgetInfo.FLAG_UI_NOT_READY;
|
||||
widgetInfo.installProgress = 100;
|
||||
updatedWorkspaceItems.add(widgetInfo);
|
||||
taskController.getModelWriter().updateItemInDatabase(widgetInfo);
|
||||
});
|
||||
}
|
||||
|
||||
taskController.bindUpdatedWorkspaceItems(updatedWorkspaceItems);
|
||||
taskController.bindUpdatedWorkspaceItems(updatedItems);
|
||||
if (!removedShortcuts.isEmpty()) {
|
||||
taskController.deleteAndBindComponentsRemoved(
|
||||
ItemInfoMatcher.ofItemIds(removedShortcuts),
|
||||
@@ -475,7 +467,7 @@ public class PackageUpdatedTask implements ModelUpdateTask {
|
||||
if (PreferenceExtensionsKt.firstBlocking(pref2.getDeckLayout())) {
|
||||
LawndeckManager deckManager = new LawndeckManager(context);
|
||||
ModelWriter modelWriter = taskController.getModelWriter();
|
||||
for (int i = 0; i < packageCount; i++) {
|
||||
for (int i = 0; i < N; i++) {
|
||||
deckManager.addNewlyInstalledApp(packages[i], mUser, modelWriter, dataModel);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user