From 76c81b4a4c078a7096b3d643d3c0afc197229ee7 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 | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) (limited to 'src/com') diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index c2ae5a1cb..7b880430b 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -4595,11 +4595,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 64912682a..dd2f48b18 100644 --- a/src/com/android/launcher3/LauncherProvider.java +++ b/src/com/android/launcher3/LauncherProvider.java @@ -1512,6 +1512,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 96be50235..3c6ab317a 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -2637,7 +2637,7 @@ public class Workspace extends SmoothPagedView AlphaUpdateListener.updateVisibility(pageIndicator); } - if (mShowSearchBar && !mLauncher.getDragController().isDragging()) { + if (searchBar != null && mShowSearchBar && !mLauncher.getDragController().isDragging()) { searchBar.setAlpha(finalSearchBarAlpha); AlphaUpdateListener.updateVisibility(searchBar); } -- cgit v1.2.3