diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 6ffcf20ddea42..3298e42c9aceb 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -4125,6 +4125,10 @@ --> com.android.wallpapercropper + + false + true diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 96ba3d4dd257e..956c1f3c7a017 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -3247,6 +3247,7 @@ + diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java index 25a0a527cd0c4..799643444b3c3 100644 --- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java +++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java @@ -3629,10 +3629,15 @@ public class WallpaperManagerService extends IWallpaperManager.Stub intent.putExtra(Intent.EXTRA_CLIENT_LABEL, com.android.internal.R.string.wallpaper_binding_label); intent.putExtra(Intent.EXTRA_CLIENT_INTENT, clientIntent); - boolean bindSuccess = mContext.bindServiceAsUser(intent, newConn, - Context.BIND_AUTO_CREATE | Context.BIND_SHOWING_UI + int bindFlags = Context.BIND_AUTO_CREATE | Context.BIND_SHOWING_UI | Context.BIND_FOREGROUND_SERVICE_WHILE_AWAKE - | Context.BIND_INCLUDE_CAPABILITIES, + | Context.BIND_INCLUDE_CAPABILITIES; + + if (mContext.getResources().getBoolean( + com.android.internal.R.bool.config_wallpaperTopApp)) { + bindFlags |= Context.BIND_SCHEDULE_LIKE_TOP_APP; + } + boolean bindSuccess = mContext.bindServiceAsUser(intent, newConn, bindFlags, new UserHandle(serviceUserId)); if (!bindSuccess) { String msg = "Unable to bind service: " + componentName;