diff options
author | Chris Wren <cwren@android.com> | 2013-09-18 19:04:23 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-09-18 19:04:23 +0000 |
commit | 5029f1bc83ca4bc896346ad737ce50affa4d9353 (patch) | |
tree | 5f2d83649d417310a0155aaeda6ec98f1858fb3b | |
parent | 2c38e70acd92372669cf93c2049ad162650a43ba (diff) | |
parent | c3919c0e994309982efc8779af57e2bc78dcac43 (diff) | |
download | android_packages_apps_Trebuchet-5029f1bc83ca4bc896346ad737ce50affa4d9353.tar.gz android_packages_apps_Trebuchet-5029f1bc83ca4bc896346ad737ce50affa4d9353.tar.bz2 android_packages_apps_Trebuchet-5029f1bc83ca4bc896346ad737ce50affa4d9353.zip |
Merge "fixup missing providers on load." into jb-ub-now-indigo-rose
-rw-r--r-- | src/com/android/launcher3/LauncherModel.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index 179c8aa76..aaa901ac1 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -39,6 +39,7 @@ import android.os.Parcelable; import android.os.Process; import android.os.RemoteException; import android.os.SystemClock; +import android.provider.BaseColumns; import android.util.Log; import android.util.Pair; import com.android.launcher3.InstallWidgetReceiver.WidgetMimeTypeHandlerData; @@ -1696,6 +1697,8 @@ public class LauncherModel extends BroadcastReceiver { LauncherSettings.Favorites.ITEM_TYPE); final int appWidgetIdIndex = c.getColumnIndexOrThrow( LauncherSettings.Favorites.APPWIDGET_ID); + final int appWidgetProviderIndex = c.getColumnIndexOrThrow( + LauncherSettings.Favorites.APPWIDGET_PROVIDER); final int screenIndex = c.getColumnIndexOrThrow( LauncherSettings.Favorites.SCREEN); final int cellXIndex = c.getColumnIndexOrThrow @@ -1856,6 +1859,8 @@ public class LauncherModel extends BroadcastReceiver { case LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET: // Read all Launcher-specific widget details int appWidgetId = c.getInt(appWidgetIdIndex); + String savedProvider = c.getString(appWidgetProviderIndex); + id = c.getLong(idIndex); final AppWidgetProviderInfo provider = @@ -1901,6 +1906,15 @@ public class LauncherModel extends BroadcastReceiver { if (!checkItemPlacement(occupied, appWidgetInfo)) { break; } + String providerName = provider.provider.flattenToString(); + if (!providerName.equals(savedProvider)) { + ContentValues values = new ContentValues(); + values.put(LauncherSettings.Favorites.APPWIDGET_PROVIDER, + providerName); + String where = BaseColumns._ID + "= ?"; + String[] args = {Integer.toString(c.getInt(idIndex))}; + contentResolver.update(contentUri, values, where, args); + } sBgItemsIdMap.put(appWidgetInfo.id, appWidgetInfo); sBgAppWidgets.add(appWidgetInfo); } |