From a2f88daae8db6b80afa9f24e15b1a6ec4ac6c71d Mon Sep 17 00:00:00 2001 From: Santiago Etchebehere Date: Tue, 12 May 2020 21:50:31 -0700 Subject: [PATCH] Improve compatibility of WallpaperCompat Don't use reference to the resource id as it might change in the framework. Also catch all exceptions when using scalePreview. Bug: 154783188 Test: manual Change-Id: I10a21d8a302c4b0d3fd9b1d64046ede22bd0d6b8 --- .../systemui/shared/system/WallpaperEngineCompat.java | 3 +-- .../systemui/shared/system/WallpaperManagerCompat.java | 6 +++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/WallpaperEngineCompat.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/WallpaperEngineCompat.java index 8a652cb22bb92..4d968f1763ca9 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/WallpaperEngineCompat.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/WallpaperEngineCompat.java @@ -16,7 +16,6 @@ package com.android.systemui.shared.system; import android.graphics.Rect; -import android.os.RemoteException; import android.service.wallpaper.IWallpaperEngine; import android.util.Log; @@ -39,7 +38,7 @@ public class WallpaperEngineCompat { public void scalePreview(Rect scaleToRect) { try { mWrappedEngine.scalePreview(scaleToRect); - } catch (RemoteException e) { + } catch (Exception e) { Log.i(TAG, "Couldn't call scalePreview method on WallpaperEngine", e); } } diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/WallpaperManagerCompat.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/WallpaperManagerCompat.java index af804837228ec..1f194eca816fe 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/WallpaperManagerCompat.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/WallpaperManagerCompat.java @@ -18,6 +18,7 @@ package com.android.systemui.shared.system; import android.app.WallpaperManager; import android.content.Context; +import android.content.res.Resources; import android.os.IBinder; /** @@ -42,6 +43,9 @@ public class WallpaperManagerCompat { */ public static float getWallpaperZoomOutMaxScale(Context context) { return context.getResources() - .getFloat(com.android.internal.R.dimen.config_wallpaperMaxScale); + .getFloat(Resources.getSystem().getIdentifier( + /* name= */ "config_wallpaperMaxScale", + /* defType= */ "dimen", + /* defPackage= */ "android")); } } \ No newline at end of file