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;
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
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 =
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);
}