chore: Cleanup, and hidden feature logged
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
This commit is contained in:
1 parent
5180c3d4c4
commit
11f7abcb66
1818 files changed
+104945
-147848
No files matched your search
@@ -16,9 +16,10 @@
|
||||
package com.android.launcher3.model;
|
||||
|
||||
import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT;
|
||||
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.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.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;
|
||||
@@ -59,6 +60,7 @@ 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;
|
||||
@@ -237,12 +239,12 @@ public class PackageUpdatedTask implements ModelUpdateTask {
|
||||
|
||||
// Update shortcut infos
|
||||
if (mOp == OP_ADD || flagOp != FlagOp.NO_OP) {
|
||||
final List<ItemInfo> updatedItems;
|
||||
final ArrayList<ItemInfo> updatedWorkspaceItems = new ArrayList<>();
|
||||
|
||||
// For system apps, package manager send OP_UPDATE when an app is enabled.
|
||||
final boolean isNewApkAvailable = mOp == OP_ADD || mOp == OP_UPDATE;
|
||||
synchronized (dataModel) {
|
||||
updatedItems = dataModel.updateAndCollectWorkspaceItemInfos(mUser, itemInfo -> {
|
||||
dataModel.forAllWorkspaceItemInfos(mUser, itemInfo -> {
|
||||
|
||||
boolean infoUpdated = false;
|
||||
boolean shortcutUpdated = false;
|
||||
@@ -254,7 +256,7 @@ public class PackageUpdatedTask implements ModelUpdateTask {
|
||||
if (itemInfo.hasStatusFlag(WorkspaceItemInfo.FLAG_SUPPORTS_WEB_UI)) {
|
||||
forceKeepShortcuts.add(itemInfo.id);
|
||||
if (mOp == OP_REMOVE) {
|
||||
return false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -311,7 +313,7 @@ public class PackageUpdatedTask implements ModelUpdateTask {
|
||||
+ ", status=" + itemInfo.status
|
||||
+ ", isArchived=" + itemInfo.isArchived());
|
||||
}
|
||||
return false;
|
||||
return;
|
||||
}
|
||||
} else if (!isTargetValid) {
|
||||
removedShortcuts.add(itemInfo.id);
|
||||
@@ -322,7 +324,7 @@ public class PackageUpdatedTask implements ModelUpdateTask {
|
||||
+ " package=" + itemInfo.getTargetPackage()
|
||||
+ " status=" + itemInfo.status);
|
||||
}
|
||||
return false;
|
||||
return;
|
||||
} else {
|
||||
itemInfo.status = WorkspaceItemInfo.DEFAULT;
|
||||
infoUpdated = true;
|
||||
@@ -377,30 +379,36 @@ 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(updatedItems);
|
||||
taskController.bindUpdatedWorkspaceItems(updatedWorkspaceItems);
|
||||
if (!removedShortcuts.isEmpty()) {
|
||||
taskController.deleteAndBindComponentsRemoved(
|
||||
ItemInfoMatcher.ofItemIds(removedShortcuts),
|
||||
|
||||
Reference in new issue
Block a user