Check before suggesting default wallpaper dimensions
issue 14470153 Change-Id: Id00e9cb4bd2b769818ed61de65be8c1c0119e07d
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user