diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2014-11-14 11:59:57 -0800 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2014-11-14 12:36:13 -0800 |
commit | 416541cc0e03ccd919d5669f0d06ef42a3b7ff21 (patch) | |
tree | f830811a9730cc8183384dc74fc46b03242511b0 /src | |
parent | 06910a88445c46fb95c9ad5ff83793e37b6af692 (diff) | |
download | android_packages_apps_Trebuchet-416541cc0e03ccd919d5669f0d06ef42a3b7ff21.tar.gz android_packages_apps_Trebuchet-416541cc0e03ccd919d5669f0d06ef42a3b7ff21.tar.bz2 android_packages_apps_Trebuchet-416541cc0e03ccd919d5669f0d06ef42a3b7ff21.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
Diffstat (limited to 'src')
-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 | 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); |