Adding a few null checks.

1) During migration, if launcher2 has deleted user data,
migration oes not happen
  2) If Launcher3 does not has bind widget permission,
QSB would be null.

Bug: 18388507
Change-Id: Ief81f6f77ce154e7b3ecd4b77caf24239401e738
This commit is contained in:
Sunny Goyal
2014-11-14 11:59:57 -08:00
parent 06910a8844
commit 416541cc0e
3 changed files with 13 additions and 5 deletions
+3 -3
View File
@@ -3960,11 +3960,11 @@ public class Launcher extends Activity
SharedPreferences sp = getSharedPreferences(
LauncherAppState.getSharedPreferencesKey(), MODE_PRIVATE);
int widgetId = sp.getInt(QSB_WIDGET_ID, -1);
AppWidgetProviderInfo widgetInfo = mAppWidgetManager.getAppWidgetInfo(widgetId);
if (!searchProvider.provider.flattenToString().equals(
sp.getString(QSB_WIDGET_PROVIDER, null))
|| (widgetId == -1)
|| !mAppWidgetManager.getAppWidgetInfo(widgetId).provider
.equals(searchProvider.provider)) {
|| (widgetInfo == null)
|| !widgetInfo.provider.equals(searchProvider.provider)) {
// A valid widget is not already bound.
if (widgetId > -1) {
mAppWidgetHost.deleteAppWidgetId(widgetId);
@@ -1432,6 +1432,12 @@ public class LauncherProvider extends ContentProvider {
userHandle = UserHandleCompat.myUserHandle();
userSerialNumber = userManager.getSerialNumberForUser(userHandle);
}
if (userHandle == null) {
Launcher.addDumpLog(TAG, "skipping deleted user", true);
continue;
}
Launcher.addDumpLog(TAG, "migrating \""
+ c.getString(titleIndex) + "\" ("
+ cellX + "," + cellY + "@"
+4 -2
View File
@@ -2449,8 +2449,10 @@ public class Workspace extends SmoothPagedView
pageIndicator.setAlpha(finalHotseatAndPageIndicatorAlpha);
AlphaUpdateListener.updateVisibility(pageIndicator);
}
searchBar.setAlpha(finalSearchBarAlpha);
AlphaUpdateListener.updateVisibility(searchBar);
if (searchBar != null) {
searchBar.setAlpha(finalSearchBarAlpha);
AlphaUpdateListener.updateVisibility(searchBar);
}
updateCustomContentVisibility();
setScaleX(mNewScale);
setScaleY(mNewScale);