diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java index 7ce96c0e31bdf..6917fb215365b 100644 --- a/core/java/android/service/wallpaper/WallpaperService.java +++ b/core/java/android/service/wallpaper/WallpaperService.java @@ -140,6 +140,7 @@ public abstract class WallpaperService extends Service { boolean mIsCreating; boolean mDrawingAllowed; boolean mOffsetsChanged; + boolean mFixedSizeAllowed; int mWidth; int mHeight; int mFormat; @@ -211,7 +212,7 @@ public abstract class WallpaperService extends Service { @Override public void setFixedSize(int width, int height) { - if (Process.myUid() != Process.SYSTEM_UID) { + if (!mFixedSizeAllowed) { // Regular apps can't do this. It can only work for // certain designs of window animations, so you can't // rely on it. @@ -385,7 +386,12 @@ public abstract class WallpaperService extends Service { updateSurface(false, false, false); } } - + + /** {@hide} */ + public void setFixedSizeAllowed(boolean allowed) { + mFixedSizeAllowed = allowed; + } + /** * Called once to initialize the engine. After returning, the * engine's surface will be created by the framework. diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index f5c0f8f83c2d7..b7ee2ecd04254 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -737,6 +737,14 @@ android:label="@string/permlab_removeTasks" android:description="@string/permdesc_removeTasks" /> + + + + + start any activity + + Allows the app to start any activity, regardless of permission protection or exported state. + set screen compatibility diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml index e937587c62eb2..39fb2b4b1bb64 100644 --- a/packages/SystemUI/AndroidManifest.xml +++ b/packages/SystemUI/AndroidManifest.xml @@ -1,15 +1,44 @@ + coreApp="true"> + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + +