From 416541cc0e03ccd919d5669f0d06ef42a3b7ff21 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Fri, 14 Nov 2014 11:59:57 -0800 Subject: 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 --- src/com/android/launcher3/Launcher.java | 6 +++--- src/com/android/launcher3/LauncherProvider.java | 6 ++++++ src/com/android/launcher3/Workspace.java | 6 ++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index f5e3bc65c..22db3ac4d 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -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); diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java index cadc06eef..1715b02bf 100644 --- a/src/com/android/launcher3/LauncherProvider.java +++ b/src/com/android/launcher3/LauncherProvider.java @@ -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 + "@" diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index c24e27177..2b520c5f4 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -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); -- cgit v1.2.3