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:
@@ -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 + "@"
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user