diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2014-11-14 11:59:57 -0800 |
---|---|---|
committer | Danesh M <daneshm90@gmail.com> | 2015-09-27 21:04:20 -0700 |
commit | 76c81b4a4c078a7096b3d643d3c0afc197229ee7 (patch) | |
tree | 5f3bb805e08408d488efadac41d7f76ddda458bb | |
parent | e05f05dd78ca156f9937814e5f6ca5ec85f5dcdd (diff) | |
download | android_packages_apps_Trebuchet-76c81b4a4c078a7096b3d643d3c0afc197229ee7.tar.gz android_packages_apps_Trebuchet-76c81b4a4c078a7096b3d643d3c0afc197229ee7.tar.bz2 android_packages_apps_Trebuchet-76c81b4a4c078a7096b3d643d3c0afc197229ee7.zip |
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
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 6 | ||||
-rw-r--r-- | src/com/android/launcher3/LauncherProvider.java | 6 | ||||
-rw-r--r-- | src/com/android/launcher3/Workspace.java | 2 |
3 files changed, 10 insertions, 4 deletions
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); } |