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();
|
editor.commit();
|
||||||
|
|
||||||
suggestWallpaperDimension(getResources(),
|
suggestWallpaperDimension(getResources(),
|
||||||
sp, getWindowManager(), WallpaperManager.getInstance(this));
|
sp, getWindowManager(), WallpaperManager.getInstance(this), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
static public void suggestWallpaperDimension(Resources res,
|
static public void suggestWallpaperDimension(Resources res,
|
||||||
final SharedPreferences sharedPrefs,
|
final SharedPreferences sharedPrefs,
|
||||||
WindowManager windowManager,
|
WindowManager windowManager,
|
||||||
final WallpaperManager wallpaperManager) {
|
final WallpaperManager wallpaperManager, boolean fallBackToDefaults) {
|
||||||
final Point defaultWallpaperSize = getDefaultWallpaperSize(res, windowManager);
|
final Point defaultWallpaperSize = getDefaultWallpaperSize(res, windowManager);
|
||||||
// If we have saved a wallpaper width/height, use that instead
|
// 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() ||
|
if (savedWidth != wallpaperManager.getDesiredMinimumWidth() ||
|
||||||
savedHeight != wallpaperManager.getDesiredMinimumHeight()) {
|
savedHeight != wallpaperManager.getDesiredMinimumHeight()) {
|
||||||
wallpaperManager.suggestDesiredDimensions(savedWidth, savedHeight);
|
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() {
|
protected boolean shouldClingFocusHotseatApp() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1276,7 +1276,8 @@ public class Workspace extends SmoothPagedView
|
|||||||
SharedPreferences sp =
|
SharedPreferences sp =
|
||||||
mLauncher.getSharedPreferences(spKey, Context.MODE_MULTI_PROCESS);
|
mLauncher.getSharedPreferences(spKey, Context.MODE_MULTI_PROCESS);
|
||||||
LauncherWallpaperPickerActivity.suggestWallpaperDimension(mLauncher.getResources(),
|
LauncherWallpaperPickerActivity.suggestWallpaperDimension(mLauncher.getResources(),
|
||||||
sp, mLauncher.getWindowManager(), mWallpaperManager);
|
sp, mLauncher.getWindowManager(), mWallpaperManager,
|
||||||
|
mLauncher.overrideWallpaperDimensions());
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, (Void) null);
|
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, (Void) null);
|
||||||
|
|||||||
Reference in New Issue
Block a user