diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2016-10-07 09:46:49 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2016-10-07 10:00:56 -0700 |
commit | caa52918f17158ac779b6faab1735e87f0702e48 (patch) | |
tree | 332d6025e1be65bc836747e58c2abc1bf74fc13c /src/com/android/launcher3/IconCache.java | |
parent | 70a421e2243fd0e89b694e888adf0a628a30c42d (diff) | |
download | android_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.java | 16 |
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( |