Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e86ab5e1 authored by John Spurlock's avatar John Spurlock Committed by Android Git Automerger
Browse files

am 79033da8: am 7d667ee2: Merge "Ensure wallpaper hint is at least as large as...

am 79033da8: am 7d667ee2: Merge "Ensure wallpaper hint is at least as large as the display." into klp-dev

* commit '79033da8':
  Ensure wallpaper hint is at least as large as the display.
parents f7400aa1 79033da8
Loading
Loading
Loading
Loading
+15 −4
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ import android.content.pm.ServiceInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.UserInfo;
import android.content.res.Resources;
import android.graphics.Point;
import android.os.Binder;
import android.os.Bundle;
import android.os.Environment;
@@ -637,6 +638,16 @@ class WallpaperManagerService extends IWallpaperManager.Stub {
        return false;
    }

    private Point getDefaultDisplaySize() {
        Point p = new Point();
        try {
            mIWindowManager.getInitialDisplaySize(Display.DEFAULT_DISPLAY, p);
        } catch (RemoteException e) {
            // not remote
        }
        return p;
    }

    public void setDimensionHints(int width, int height) throws RemoteException {
        checkPermission(android.Manifest.permission.SET_WALLPAPER_HINTS);
        synchronized (mLock) {
@@ -648,10 +659,10 @@ class WallpaperManagerService extends IWallpaperManager.Stub {
            if (width <= 0 || height <= 0) {
                throw new IllegalArgumentException("width and height must be > 0");
            }
            // Make sure it is at least as large as the display's maximum size.
            int maxSizeDimension = getMaximumSizeDimension();
            width = Math.max(width, maxSizeDimension);
            height = Math.max(height, maxSizeDimension);
            // Make sure it is at least as large as the display.
            Point displaySize = getDefaultDisplaySize();
            width = Math.max(width, displaySize.x);
            height = Math.max(height, displaySize.y);

            if (width != wallpaper.width || height != wallpaper.height) {
                wallpaper.width = width;