[Do NOT MERGE] Fixing AppWidgetInfo not initialized with proper user

Bug: 21673750
Change-Id: I1e03c3cb10a87e394e963cc2001c9c1c293eb2ca
This commit is contained in:
Sunny Goyal
2015-07-15 17:20:54 -07:00
parent 469fea0b39
commit 7fb55d25e3
+8 -1
View File
@@ -2215,6 +2215,12 @@ public class LauncherModel extends BroadcastReceiver
int appWidgetId = c.getInt(appWidgetIdIndex);
serialNumber= c.getLong(profileIdIndex);
user = mUserManager.getUserForSerialNumber(serialNumber);
if (user == null) {
// User has been deleted remove the item.
itemsToRemove.add(id);
continue;
}
String savedProvider = c.getString(appWidgetProviderIndex);
id = c.getLong(idIndex);
final ComponentName component =
@@ -2230,7 +2236,7 @@ public class LauncherModel extends BroadcastReceiver
final LauncherAppWidgetProviderInfo provider =
LauncherModel.getProviderInfo(context,
ComponentName.unflattenFromString(savedProvider),
mUserManager.getUserForSerialNumber(serialNumber));
user);
final boolean isProviderReady = isValidProvider(provider);
if (!isSafeMode && !customWidget &&
@@ -2295,6 +2301,7 @@ public class LauncherModel extends BroadcastReceiver
appWidgetInfo.cellY = c.getInt(cellYIndex);
appWidgetInfo.spanX = c.getInt(spanXIndex);
appWidgetInfo.spanY = c.getInt(spanYIndex);
appWidgetInfo.user = user;
if (!customWidget) {
int[] minSpan = Launcher.getMinSpanForWidget(context, provider);