summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/app/WallpaperManager.java9
-rw-r--r--services/core/java/com/android/server/wallpaper/WallpaperCropper.java2
2 files changed, 9 insertions, 2 deletions
diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java
index 7f1870bd2d87..e8d2e2871ef2 100644
--- a/core/java/android/app/WallpaperManager.java
+++ b/core/java/android/app/WallpaperManager.java
@@ -20,6 +20,7 @@ import static android.Manifest.permission.MANAGE_EXTERNAL_STORAGE;
import static android.Manifest.permission.READ_WALLPAPER_INTERNAL;
import static android.Manifest.permission.SET_WALLPAPER_DIM_AMOUNT;
import static android.app.Flags.FLAG_LIVE_WALLPAPER_CONTENT_HANDLING;
+import static android.app.Flags.enableConnectedDisplaysWallpaper;
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
import static android.os.ParcelFileDescriptor.MODE_READ_ONLY;
@@ -874,7 +875,13 @@ public class WallpaperManager {
return null;
}
try (InputStream is = new ParcelFileDescriptor.AutoCloseInputStream(pfd)) {
- ImageDecoder.Source src = ImageDecoder.createSource(context.getResources(), is);
+ ImageDecoder.Source src;
+ if (enableConnectedDisplaysWallpaper()) {
+ src = ImageDecoder.createSource(context.getResources(), is,
+ /* density= */ 0);
+ } else {
+ src = ImageDecoder.createSource(context.getResources(), is);
+ }
return ImageDecoder.decodeBitmap(src, ((decoder, info, source) -> {
// Mutable and hardware config can't be set at the same time.
decoder.setMutableRequired(!hardware);
diff --git a/services/core/java/com/android/server/wallpaper/WallpaperCropper.java b/services/core/java/com/android/server/wallpaper/WallpaperCropper.java
index 424439df3c4b..e22bc7d0719e 100644
--- a/services/core/java/com/android/server/wallpaper/WallpaperCropper.java
+++ b/services/core/java/com/android/server/wallpaper/WallpaperCropper.java
@@ -863,7 +863,7 @@ public class WallpaperCropper {
double maxDisplayToImageRatio = Math.max((double) displaySize.x / croppedImageBound.width(),
(double) displaySize.y / croppedImageBound.height());
- if (maxDisplayToImageRatio > 1.3) {
+ if (maxDisplayToImageRatio > 1.5) {
return false;
}