Exit overview mode after setting wallpaper
Also, create method to exit overview mode without
an animation
Bug: 10332065
Change-Id: Iaade5ccb07aefa7d19be5f07db821a69762cb1bb
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 408f61a..0a92f35 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -660,9 +660,6 @@
completeAddAppWidget(appWidgetId, args.container, args.screenId, null, null);
result = true;
break;
- case REQUEST_PICK_WALLPAPER:
- // We just wanted the activity result here so we can clear mWaitingForResult
- break;
}
// Before adding this resetAddInfo(), after a shortcut was added to a workspace screen,
// if you turned the screen off and then back while in All Apps, Launcher would not
@@ -686,7 +683,13 @@
addAppWidgetImpl(appWidgetId, mPendingAddInfo, null, mPendingAddWidgetInfo);
}
return;
+ } else if (requestCode == REQUEST_PICK_WALLPAPER) {
+ if (resultCode == RESULT_OK && mWorkspace.isInOverviewMode()) {
+ mWorkspace.exitOverviewMode(false);
+ }
+ return;
}
+
boolean delayExitSpringLoadedMode = false;
boolean isWidgetDrop = (requestCode == REQUEST_PICK_APPWIDGET ||
requestCode == REQUEST_CREATE_APPWIDGET);
@@ -1631,7 +1634,7 @@
// If we are already on home, then just animate back to the workspace,
// otherwise, just wait until onResume to set the state back to Workspace
if (alreadyOnHome) {
- showWorkspace();
+ showWorkspaceAndExitOverviewMode();
} else {
mOnResumeState = State.WORKSPACE;
}
@@ -1665,10 +1668,10 @@
}
}
- protected void showWorkspace() {
+ protected void showWorkspaceAndExitOverviewMode() {
showWorkspace(true);
if (mWorkspace.isInOverviewMode()) {
- mWorkspace.exitOverviewMode();
+ mWorkspace.exitOverviewMode(true);
}
}
@@ -2128,7 +2131,7 @@
if (isAllAppsVisible()) {
showWorkspace(true);
} else if (mWorkspace.isInOverviewMode()) {
- mWorkspace.exitOverviewMode();
+ mWorkspace.exitOverviewMode(true);
} else if (mWorkspace.getOpenFolder() != null) {
Folder openFolder = mWorkspace.getOpenFolder();
if (openFolder.isEditingName()) {
@@ -2178,7 +2181,7 @@
if (v instanceof CellLayout) {
if (mWorkspace.isInOverviewMode()) {
- mWorkspace.exitOverviewMode(mWorkspace.indexOfChild(v));
+ mWorkspace.exitOverviewMode(mWorkspace.indexOfChild(v), true);
}
}