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
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 8a652cb..4d968f1 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 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 af80483..1f194eca 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 @@
import android.app.WallpaperManager;
import android.content.Context;
+import android.content.res.Resources;
import android.os.IBinder;
/**
@@ -42,6 +43,9 @@
*/
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