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">
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+