Check before suggesting default wallpaper dimensions

issue 14470153

Change-Id: Id00e9cb4bd2b769818ed61de65be8c1c0119e07d
This commit is contained in:
Adam Cohen
2014-05-21 15:03:34 -07:00
parent 73859adf80
commit ea90f83e24
3 changed files with 25 additions and 5 deletions
@@ -824,17 +824,28 @@ public class WallpaperCropActivity extends Activity {
editor.commit();
suggestWallpaperDimension(getResources(),
sp, getWindowManager(), WallpaperManager.getInstance(this));
sp, getWindowManager(), WallpaperManager.getInstance(this), true);
}
static public void suggestWallpaperDimension(Resources res,
final SharedPreferences sharedPrefs,
WindowManager windowManager,
final WallpaperManager wallpaperManager) {
final WallpaperManager wallpaperManager, boolean fallBackToDefaults) {
final Point defaultWallpaperSize = getDefaultWallpaperSize(res, windowManager);
// If we have saved a wallpaper width/height, use that instead
int savedWidth = sharedPrefs.getInt(WALLPAPER_WIDTH_KEY, defaultWallpaperSize.x);
int savedHeight = sharedPrefs.getInt(WALLPAPER_HEIGHT_KEY, defaultWallpaperSize.y);
int savedWidth = sharedPrefs.getInt(WALLPAPER_WIDTH_KEY, -1);
int savedHeight = sharedPrefs.getInt(WALLPAPER_HEIGHT_KEY, -1);
if (savedWidth == -1 || savedHeight == -1) {
if (!fallBackToDefaults) {
return;
} else {
savedWidth = defaultWallpaperSize.x;
savedHeight = defaultWallpaperSize.y;
}
}
if (savedWidth != wallpaperManager.getDesiredMinimumWidth() ||
savedHeight != wallpaperManager.getDesiredMinimumHeight()) {
wallpaperManager.suggestDesiredDimensions(savedWidth, savedHeight);
+8
View File
@@ -4434,6 +4434,14 @@ public class Launcher extends Activity
}
}
/**
* This method indicates whether or not we should suggest default wallpaper dimensions
* when our wallpaper cropper was not yet used to set a wallpaper.
*/
protected boolean overrideWallpaperDimensions() {
return true;
}
protected boolean shouldClingFocusHotseatApp() {
return false;
}
+2 -1
View File
@@ -1276,7 +1276,8 @@ public class Workspace extends SmoothPagedView
SharedPreferences sp =
mLauncher.getSharedPreferences(spKey, Context.MODE_MULTI_PROCESS);
LauncherWallpaperPickerActivity.suggestWallpaperDimension(mLauncher.getResources(),
sp, mLauncher.getWindowManager(), mWallpaperManager);
sp, mLauncher.getWindowManager(), mWallpaperManager,
mLauncher.overrideWallpaperDimensions());
return null;
}
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, (Void) null);