Loading src/com/android/launcher3/SecondaryDropTarget.java +3 −2 Original line number Diff line number Diff line Loading @@ -303,10 +303,11 @@ public class SecondaryDropTarget extends ButtonDropTarget implements OnAlarmList .setData(Uri.fromParts("package", cn.getPackageName(), cn.getClassName())) .putExtra(Intent.EXTRA_USER, info.user); context.startActivity(i); FileLog.d(TAG, "start uninstall activity " + cn.getPackageName()); FileLog.d(TAG, "start uninstall activity from drop target " + cn.getPackageName()); return cn; } catch (URISyntaxException e) { Log.e(TAG, "Failed to parse intent to start uninstall activity for item=" + info); Log.e(TAG, "Failed to parse intent to start drop target uninstall activity for" + " item=" + info); return null; } } Loading src/com/android/launcher3/SessionCommitReceiver.java +3 −2 Original line number Diff line number Diff line Loading @@ -73,7 +73,8 @@ public class SessionCommitReceiver extends BroadcastReceiver { || alreadyAddedPromiseIcon) { FileLog.d(LOG, String.format(Locale.ENGLISH, "Removing PromiseIcon for package: %s, install reason: %d," "Removing unneeded PromiseIcon for package: %s" + ", install reason: %d," + " alreadyAddedPromiseIcon: %s", info.getAppPackageName(), info.getInstallReason(), Loading src/com/android/launcher3/model/LoaderTask.java +27 −23 Original line number Diff line number Diff line Loading @@ -246,7 +246,7 @@ public class LoaderTask implements Runnable { TraceHelper.INSTANCE.beginSection(TAG); LoaderMemoryLogger memoryLogger = new LoaderMemoryLogger(); mIsRestoreFromBackup = (Boolean) LauncherPrefs.get(mApp.getContext()).get(IS_FIRST_LOAD_AFTER_RESTORE); LauncherPrefs.get(mApp.getContext()).get(IS_FIRST_LOAD_AFTER_RESTORE); LauncherRestoreEventLogger restoreEventLogger = null; if (enableLauncherBrMetricsFixed()) { restoreEventLogger = LauncherRestoreEventLogger.Companion Loading @@ -266,21 +266,21 @@ public class LoaderTask implements Runnable { sanitizeFolders(mItemsDeleted); sanitizeAppPairs(); sanitizeWidgetsShortcutsAndPackages(); logASplit("sanitizeData"); logASplit("sanitizeData finished"); } verifyNotStopped(); mLauncherBinder.bindWorkspace(true /* incrementBindId */, /* isBindSync= */ false); logASplit("bindWorkspace"); logASplit("bindWorkspace finished"); mModelDelegate.workspaceLoadComplete(); // Notify the installer packages of packages with active installs on the first screen. sendFirstScreenActiveInstallsBroadcast(); logASplit("sendFirstScreenBroadcast"); logASplit("sendFirstScreenBroadcast finished"); // Take a break waitForIdle(); logASplit("step 1 complete"); logASplit("step 1 loading workspace complete"); verifyNotStopped(); // second step Loading @@ -291,11 +291,11 @@ public class LoaderTask implements Runnable { } finally { Trace.endSection(); } logASplit("loadAllApps"); logASplit("loadAllApps finished"); verifyNotStopped(); mLauncherBinder.bindAllApps(); logASplit("bindAllApps"); logASplit("bindAllApps finished"); verifyNotStopped(); IconCacheUpdateHandler updateHandler = mIconCache.getUpdateHandler(); Loading @@ -303,28 +303,28 @@ public class LoaderTask implements Runnable { updateHandler.updateIcons(allActivityList, LauncherActivityCachingLogic.INSTANCE, mApp.getModel()::onPackageIconsUpdated); logASplit("update icon cache"); logASplit("update AllApps icon cache finished"); verifyNotStopped(); logASplit("save shortcuts in icon cache"); logASplit("saving all shortcuts in icon cache"); updateHandler.updateIcons(allShortcuts, CacheableShortcutCachingLogic.INSTANCE, mApp.getModel()::onPackageIconsUpdated); // Take a break waitForIdle(); logASplit("step 2 complete"); logASplit("step 2 loading AllApps complete"); verifyNotStopped(); // third step List<ShortcutInfo> allDeepShortcuts = loadDeepShortcuts(); logASplit("loadDeepShortcuts"); logASplit("loadDeepShortcuts finished"); verifyNotStopped(); mLauncherBinder.bindDeepShortcuts(); logASplit("bindDeepShortcuts"); logASplit("bindDeepShortcuts finished"); verifyNotStopped(); logASplit("save deep shortcuts in icon cache"); logASplit("saving deep shortcuts in icon cache"); updateHandler.updateIcons( convertShortcutsToCacheableShortcuts(allDeepShortcuts, allActivityList), CacheableShortcutCachingLogic.INSTANCE, Loading @@ -332,7 +332,7 @@ public class LoaderTask implements Runnable { // Take a break waitForIdle(); logASplit("step 3 complete"); logASplit("step 3 loading all shortcuts complete"); verifyNotStopped(); // fourth step Loading @@ -345,11 +345,11 @@ public class LoaderTask implements Runnable { widgetsModel.updateWidgetFilters(mWidgetsFilterDataProvider); } List<CachedObject> allWidgetsList = widgetsModel.update(mApp, /*packageUser=*/null); logASplit("load widgets"); logASplit("load widgets finished"); verifyNotStopped(); mLauncherBinder.bindWidgets(); logASplit("bindWidgets"); logASplit("bindWidgets finished"); verifyNotStopped(); LauncherPrefs prefs = LauncherPrefs.get(mApp.getContext()); Loading @@ -357,7 +357,7 @@ public class LoaderTask implements Runnable { mLauncherBinder.bindSmartspaceWidget(); // Turn off pref. prefs.putSync(SHOULD_SHOW_SMARTSPACE.to(false)); logASplit("bindSmartspaceWidget"); logASplit("bindSmartspaceWidget finished"); verifyNotStopped(); } else if (!enableSmartspaceAsAWidget() && WIDGET_ON_FIRST_SCREEN && !prefs.get(LauncherPrefs.SHOULD_SHOW_SMARTSPACE)) { Loading @@ -365,10 +365,10 @@ public class LoaderTask implements Runnable { prefs.putSync(SHOULD_SHOW_SMARTSPACE.to(true)); } logASplit("saving all widgets in icon cache"); updateHandler.updateIcons(allWidgetsList, CachedObjectCachingLogic.INSTANCE, mApp.getModel()::onWidgetLabelsUpdated); logASplit("save widgets in icon cache"); // fifth step loadFolderNames(); Loading Loading @@ -414,7 +414,7 @@ public class LoaderTask implements Runnable { } finally { Trace.endSection(); } logASplit("loadWorkspace"); logASplit("loadWorkspace finished"); mBgDataModel.isFirstPagePinnedItemEnabled = FeatureFlags.QSB_ON_FIRST_SCREEN && (!enableSmartspaceRemovalToggle() || LauncherPrefs.getPrefs( Loading @@ -440,7 +440,7 @@ public class LoaderTask implements Runnable { } else { dbController.tryMigrateDB(restoreEventLogger); } Log.d(TAG, "loadWorkspace: loading default favorites"); Log.d(TAG, "loadWorkspace: loading default favorites if necessary"); dbController.loadDefaultFavoritesIfNecessary(); synchronized (mBgDataModel) { Loading @@ -453,7 +453,7 @@ public class LoaderTask implements Runnable { mInstallingPkgsCached = installingPkgs; } installingPkgs.forEach(mApp.getIconCache()::updateSessionCache); FileLog.d(TAG, "loadWorkspace: Packages with active install sessions: " FileLog.d(TAG, "loadWorkspace: Packages with active install/update sessions: " + installingPkgs.keySet().stream().map(info -> info.mPackageName).toList()); mFirstScreenBroadcast = new FirstScreenBroadcast(installingPkgs); Loading @@ -478,9 +478,13 @@ public class LoaderTask implements Runnable { widgetInflater, mPmHelper, iconRequestInfos, unlockedUsers, allDeepShortcuts); if (mStopped) { Log.w(TAG, "loadWorkspaceImpl: Loader stopped, skipping item processing"); } else { while (!mStopped && c.moveToNext()) { itemProcessor.processItem(); } } tryLoadWorkspaceIconsInBulk(iconRequestInfos); } finally { IOUtils.closeSilently(c); Loading src/com/android/launcher3/pm/InstallSessionTracker.java +2 −3 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ import androidx.annotation.Nullable; import androidx.annotation.WorkerThread; import com.android.launcher3.Flags; import com.android.launcher3.logging.FileLog; import com.android.launcher3.util.PackageUserKey; import java.lang.ref.WeakReference; Loading Loading @@ -79,7 +78,7 @@ public class InstallSessionTracker extends PackageInstaller.SessionCallback { } SessionInfo sessionInfo = pushSessionDisplayToLauncher(sessionId, helper, callback); if (sessionInfo != null) { FileLog.d(TAG, "onCreated: Install session created for" Log.d(TAG, "onCreated: Install session created for" + " appPackageName=" + sessionInfo.getAppPackageName() + ", sessionId=" + sessionInfo.getSessionId() + ", appIcon=" + sessionInfo.getAppIcon() Loading Loading @@ -111,7 +110,7 @@ public class InstallSessionTracker extends PackageInstaller.SessionCallback { activeSessions.remove(sessionId); if (key != null && key.mPackageName != null) { FileLog.d(TAG, "onFinished: active install session finished for" Log.d(TAG, "onFinished: active install session finished for" + " appPackageName=" + key.mPackageName + ", sessionId=" + sessionId + ", success=" + success); Loading Loading
src/com/android/launcher3/SecondaryDropTarget.java +3 −2 Original line number Diff line number Diff line Loading @@ -303,10 +303,11 @@ public class SecondaryDropTarget extends ButtonDropTarget implements OnAlarmList .setData(Uri.fromParts("package", cn.getPackageName(), cn.getClassName())) .putExtra(Intent.EXTRA_USER, info.user); context.startActivity(i); FileLog.d(TAG, "start uninstall activity " + cn.getPackageName()); FileLog.d(TAG, "start uninstall activity from drop target " + cn.getPackageName()); return cn; } catch (URISyntaxException e) { Log.e(TAG, "Failed to parse intent to start uninstall activity for item=" + info); Log.e(TAG, "Failed to parse intent to start drop target uninstall activity for" + " item=" + info); return null; } } Loading
src/com/android/launcher3/SessionCommitReceiver.java +3 −2 Original line number Diff line number Diff line Loading @@ -73,7 +73,8 @@ public class SessionCommitReceiver extends BroadcastReceiver { || alreadyAddedPromiseIcon) { FileLog.d(LOG, String.format(Locale.ENGLISH, "Removing PromiseIcon for package: %s, install reason: %d," "Removing unneeded PromiseIcon for package: %s" + ", install reason: %d," + " alreadyAddedPromiseIcon: %s", info.getAppPackageName(), info.getInstallReason(), Loading
src/com/android/launcher3/model/LoaderTask.java +27 −23 Original line number Diff line number Diff line Loading @@ -246,7 +246,7 @@ public class LoaderTask implements Runnable { TraceHelper.INSTANCE.beginSection(TAG); LoaderMemoryLogger memoryLogger = new LoaderMemoryLogger(); mIsRestoreFromBackup = (Boolean) LauncherPrefs.get(mApp.getContext()).get(IS_FIRST_LOAD_AFTER_RESTORE); LauncherPrefs.get(mApp.getContext()).get(IS_FIRST_LOAD_AFTER_RESTORE); LauncherRestoreEventLogger restoreEventLogger = null; if (enableLauncherBrMetricsFixed()) { restoreEventLogger = LauncherRestoreEventLogger.Companion Loading @@ -266,21 +266,21 @@ public class LoaderTask implements Runnable { sanitizeFolders(mItemsDeleted); sanitizeAppPairs(); sanitizeWidgetsShortcutsAndPackages(); logASplit("sanitizeData"); logASplit("sanitizeData finished"); } verifyNotStopped(); mLauncherBinder.bindWorkspace(true /* incrementBindId */, /* isBindSync= */ false); logASplit("bindWorkspace"); logASplit("bindWorkspace finished"); mModelDelegate.workspaceLoadComplete(); // Notify the installer packages of packages with active installs on the first screen. sendFirstScreenActiveInstallsBroadcast(); logASplit("sendFirstScreenBroadcast"); logASplit("sendFirstScreenBroadcast finished"); // Take a break waitForIdle(); logASplit("step 1 complete"); logASplit("step 1 loading workspace complete"); verifyNotStopped(); // second step Loading @@ -291,11 +291,11 @@ public class LoaderTask implements Runnable { } finally { Trace.endSection(); } logASplit("loadAllApps"); logASplit("loadAllApps finished"); verifyNotStopped(); mLauncherBinder.bindAllApps(); logASplit("bindAllApps"); logASplit("bindAllApps finished"); verifyNotStopped(); IconCacheUpdateHandler updateHandler = mIconCache.getUpdateHandler(); Loading @@ -303,28 +303,28 @@ public class LoaderTask implements Runnable { updateHandler.updateIcons(allActivityList, LauncherActivityCachingLogic.INSTANCE, mApp.getModel()::onPackageIconsUpdated); logASplit("update icon cache"); logASplit("update AllApps icon cache finished"); verifyNotStopped(); logASplit("save shortcuts in icon cache"); logASplit("saving all shortcuts in icon cache"); updateHandler.updateIcons(allShortcuts, CacheableShortcutCachingLogic.INSTANCE, mApp.getModel()::onPackageIconsUpdated); // Take a break waitForIdle(); logASplit("step 2 complete"); logASplit("step 2 loading AllApps complete"); verifyNotStopped(); // third step List<ShortcutInfo> allDeepShortcuts = loadDeepShortcuts(); logASplit("loadDeepShortcuts"); logASplit("loadDeepShortcuts finished"); verifyNotStopped(); mLauncherBinder.bindDeepShortcuts(); logASplit("bindDeepShortcuts"); logASplit("bindDeepShortcuts finished"); verifyNotStopped(); logASplit("save deep shortcuts in icon cache"); logASplit("saving deep shortcuts in icon cache"); updateHandler.updateIcons( convertShortcutsToCacheableShortcuts(allDeepShortcuts, allActivityList), CacheableShortcutCachingLogic.INSTANCE, Loading @@ -332,7 +332,7 @@ public class LoaderTask implements Runnable { // Take a break waitForIdle(); logASplit("step 3 complete"); logASplit("step 3 loading all shortcuts complete"); verifyNotStopped(); // fourth step Loading @@ -345,11 +345,11 @@ public class LoaderTask implements Runnable { widgetsModel.updateWidgetFilters(mWidgetsFilterDataProvider); } List<CachedObject> allWidgetsList = widgetsModel.update(mApp, /*packageUser=*/null); logASplit("load widgets"); logASplit("load widgets finished"); verifyNotStopped(); mLauncherBinder.bindWidgets(); logASplit("bindWidgets"); logASplit("bindWidgets finished"); verifyNotStopped(); LauncherPrefs prefs = LauncherPrefs.get(mApp.getContext()); Loading @@ -357,7 +357,7 @@ public class LoaderTask implements Runnable { mLauncherBinder.bindSmartspaceWidget(); // Turn off pref. prefs.putSync(SHOULD_SHOW_SMARTSPACE.to(false)); logASplit("bindSmartspaceWidget"); logASplit("bindSmartspaceWidget finished"); verifyNotStopped(); } else if (!enableSmartspaceAsAWidget() && WIDGET_ON_FIRST_SCREEN && !prefs.get(LauncherPrefs.SHOULD_SHOW_SMARTSPACE)) { Loading @@ -365,10 +365,10 @@ public class LoaderTask implements Runnable { prefs.putSync(SHOULD_SHOW_SMARTSPACE.to(true)); } logASplit("saving all widgets in icon cache"); updateHandler.updateIcons(allWidgetsList, CachedObjectCachingLogic.INSTANCE, mApp.getModel()::onWidgetLabelsUpdated); logASplit("save widgets in icon cache"); // fifth step loadFolderNames(); Loading Loading @@ -414,7 +414,7 @@ public class LoaderTask implements Runnable { } finally { Trace.endSection(); } logASplit("loadWorkspace"); logASplit("loadWorkspace finished"); mBgDataModel.isFirstPagePinnedItemEnabled = FeatureFlags.QSB_ON_FIRST_SCREEN && (!enableSmartspaceRemovalToggle() || LauncherPrefs.getPrefs( Loading @@ -440,7 +440,7 @@ public class LoaderTask implements Runnable { } else { dbController.tryMigrateDB(restoreEventLogger); } Log.d(TAG, "loadWorkspace: loading default favorites"); Log.d(TAG, "loadWorkspace: loading default favorites if necessary"); dbController.loadDefaultFavoritesIfNecessary(); synchronized (mBgDataModel) { Loading @@ -453,7 +453,7 @@ public class LoaderTask implements Runnable { mInstallingPkgsCached = installingPkgs; } installingPkgs.forEach(mApp.getIconCache()::updateSessionCache); FileLog.d(TAG, "loadWorkspace: Packages with active install sessions: " FileLog.d(TAG, "loadWorkspace: Packages with active install/update sessions: " + installingPkgs.keySet().stream().map(info -> info.mPackageName).toList()); mFirstScreenBroadcast = new FirstScreenBroadcast(installingPkgs); Loading @@ -478,9 +478,13 @@ public class LoaderTask implements Runnable { widgetInflater, mPmHelper, iconRequestInfos, unlockedUsers, allDeepShortcuts); if (mStopped) { Log.w(TAG, "loadWorkspaceImpl: Loader stopped, skipping item processing"); } else { while (!mStopped && c.moveToNext()) { itemProcessor.processItem(); } } tryLoadWorkspaceIconsInBulk(iconRequestInfos); } finally { IOUtils.closeSilently(c); Loading
src/com/android/launcher3/pm/InstallSessionTracker.java +2 −3 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ import androidx.annotation.Nullable; import androidx.annotation.WorkerThread; import com.android.launcher3.Flags; import com.android.launcher3.logging.FileLog; import com.android.launcher3.util.PackageUserKey; import java.lang.ref.WeakReference; Loading Loading @@ -79,7 +78,7 @@ public class InstallSessionTracker extends PackageInstaller.SessionCallback { } SessionInfo sessionInfo = pushSessionDisplayToLauncher(sessionId, helper, callback); if (sessionInfo != null) { FileLog.d(TAG, "onCreated: Install session created for" Log.d(TAG, "onCreated: Install session created for" + " appPackageName=" + sessionInfo.getAppPackageName() + ", sessionId=" + sessionInfo.getSessionId() + ", appIcon=" + sessionInfo.getAppIcon() Loading Loading @@ -111,7 +110,7 @@ public class InstallSessionTracker extends PackageInstaller.SessionCallback { activeSessions.remove(sessionId); if (key != null && key.mPackageName != null) { FileLog.d(TAG, "onFinished: active install session finished for" Log.d(TAG, "onFinished: active install session finished for" + " appPackageName=" + key.mPackageName + ", sessionId=" + sessionId + ", success=" + success); Loading