summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/IconCache.java
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2016-10-07 09:46:49 -0700
committerSunny Goyal <sunnygoyal@google.com>2016-10-07 10:00:56 -0700
commitcaa52918f17158ac779b6faab1735e87f0702e48 (patch)
tree332d6025e1be65bc836747e58c2abc1bf74fc13c /src/com/android/launcher3/IconCache.java
parent70a421e2243fd0e89b694e888adf0a628a30c42d (diff)
downloadandroid_packages_apps_Trebuchet-caa52918f17158ac779b6faab1735e87f0702e48.tar.gz
android_packages_apps_Trebuchet-caa52918f17158ac779b6faab1735e87f0702e48.tar.bz2
android_packages_apps_Trebuchet-caa52918f17158ac779b6faab1735e87f0702e48.zip
Using add/replace instead of update when updating an entry.
Update operation was not including version and updateTime columns leading to a update operation getting called wheneven launcher loads. Bug: 32004297 Change-Id: I5f1793633ce3bb72d5641a82502b3ba8b9cdff7d
Diffstat (limited to 'src/com/android/launcher3/IconCache.java')
-rw-r--r--src/com/android/launcher3/IconCache.java16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/com/android/launcher3/IconCache.java b/src/com/android/launcher3/IconCache.java
index d3fb38ede..5c86b6b33 100644
--- a/src/com/android/launcher3/IconCache.java
+++ b/src/com/android/launcher3/IconCache.java
@@ -772,13 +772,15 @@ public class IconCache {
public void run() {
if (!mAppsToUpdate.isEmpty()) {
LauncherActivityInfoCompat app = mAppsToUpdate.pop();
- String cn = app.getComponentName().flattenToString();
- ContentValues values = updateCacheAndGetContentValues(app, true);
- mIconDb.update(values,
- IconDB.COLUMN_COMPONENT + " = ? AND " + IconDB.COLUMN_USER + " = ?",
- new String[]{cn, Long.toString(mUserSerial)});
- mUpdatedPackages.add(app.getComponentName().getPackageName());
-
+ String pkg = app.getComponentName().getPackageName();
+ PackageInfo info = mPkgInfoMap.get(pkg);
+ if (info != null) {
+ synchronized (IconCache.this) {
+ ContentValues values = updateCacheAndGetContentValues(app, true);
+ addIconToDB(values, app.getComponentName(), info, mUserSerial);
+ }
+ mUpdatedPackages.add(pkg);
+ }
if (mAppsToUpdate.isEmpty() && !mUpdatedPackages.isEmpty()) {
// No more app to update. Notify model.
LauncherAppState.getInstance().getModel().onPackageIconsUpdated(