summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/launcher3/IconCache.java16
-rw-r--r--src/com/android/launcher3/util/SQLiteCacheHelper.java16
2 files changed, 9 insertions, 23 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(
diff --git a/src/com/android/launcher3/util/SQLiteCacheHelper.java b/src/com/android/launcher3/util/SQLiteCacheHelper.java
index c455791b3..d1cfe4264 100644
--- a/src/com/android/launcher3/util/SQLiteCacheHelper.java
+++ b/src/com/android/launcher3/util/SQLiteCacheHelper.java
@@ -29,22 +29,6 @@ public abstract class SQLiteCacheHelper {
}
/**
- * @see SQLiteDatabase#update(String, ContentValues, String, String[])
- */
- public void update(ContentValues values, String whereClause, String[] whereArgs) {
- if (mIgnoreWrites) {
- return;
- }
- try {
- mOpenHelper.getWritableDatabase().update(mTableName, values, whereClause, whereArgs);
- } catch (SQLiteFullException e) {
- onDiskFull(e);
- } catch (SQLiteException e) {
- Log.d(TAG, "Ignoring sqlite exception", e);
- }
- }
-
- /**
* @see SQLiteDatabase#delete(String, String, String[])
*/
public void delete(String whereClause, String[] whereArgs) {