Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4c8c3274 authored by Lucas Dupin's avatar Lucas Dupin
Browse files

Ambient wallpaper API feedback

Making this api a @SystemApi, protecting it with a permission and
changing boolean animation parameter to a long.

Change-Id: Ife6aac2806a5590288a801751f22d85c3cfd4622
Fixes: 116117810
Test: atest DozeWallpaperStateTest
Test: atest WallpaperServiceTest
Test: set image wallpaper
Test: set AOD wallpaper that holds permission
Test: set AOD wallpaper that doesn't hold permission
parent 4d20bac0
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -1312,7 +1312,6 @@ package android {
    field public static final int summaryColumn = 16843426; // 0x10102a2
    field public static final int summaryOff = 16843248; // 0x10101f0
    field public static final int summaryOn = 16843247; // 0x10101ef
    field public static final int supportsAmbientMode = 16844173; // 0x101058d
    field public static final int supportsAssist = 16844016; // 0x10104f0
    field public static final int supportsLaunchVoiceAssistFromKeyguard = 16844017; // 0x10104f1
    field public static final int supportsLocalInteraction = 16844047; // 0x101050f
@@ -6352,7 +6351,6 @@ package android.app {
    method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
    method public java.lang.CharSequence loadLabel(android.content.pm.PackageManager);
    method public android.graphics.drawable.Drawable loadThumbnail(android.content.pm.PackageManager);
    method public boolean supportsAmbientMode();
    method public boolean supportsMultipleDisplays();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.app.WallpaperInfo> CREATOR;
@@ -40896,11 +40894,9 @@ package android.service.wallpaper {
    method public int getDesiredMinimumHeight();
    method public int getDesiredMinimumWidth();
    method public android.view.SurfaceHolder getSurfaceHolder();
    method public boolean isInAmbientMode();
    method public boolean isPreview();
    method public boolean isVisible();
    method public void notifyColorsChanged();
    method public void onAmbientModeChanged(boolean, boolean);
    method public void onApplyWindowInsets(android.view.WindowInsets);
    method public android.os.Bundle onCommand(java.lang.String, int, int, int, android.os.Bundle, boolean);
    method public android.app.WallpaperColors onComputeColors();
+15 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ package android {
    field public static final java.lang.String ACTIVITY_EMBEDDING = "android.permission.ACTIVITY_EMBEDDING";
    field public static final java.lang.String ALLOCATE_AGGRESSIVE = "android.permission.ALLOCATE_AGGRESSIVE";
    field public static final java.lang.String ALLOW_ANY_CODEC_FOR_PLAYBACK = "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK";
    field public static final java.lang.String AMBIENT_WALLPAPER = "android.permission.AMBIENT_WALLPAPER";
    field public static final java.lang.String BACKUP = "android.permission.BACKUP";
    field public static final java.lang.String BATTERY_STATS = "android.permission.BATTERY_STATS";
    field public static final java.lang.String BIND_APPWIDGET = "android.permission.BIND_APPWIDGET";
@@ -224,6 +225,7 @@ package android {
    field public static final int isVrOnly = 16844152; // 0x1010578
    field public static final int requiredSystemPropertyName = 16844133; // 0x1010565
    field public static final int requiredSystemPropertyValue = 16844134; // 0x1010566
    field public static final int supportsAmbientMode = 16844173; // 0x101058d
    field public static final int userRestriction = 16844164; // 0x1010584
  }

@@ -555,6 +557,10 @@ package android.app {
    method public void onVrStateChanged(boolean);
  }

  public final class WallpaperInfo implements android.os.Parcelable {
    method public boolean supportsAmbientMode();
  }

  public class WallpaperManager {
    method public void clearWallpaper(int, int);
    method public void setDisplayOffset(android.os.IBinder, int, int);
@@ -5334,6 +5340,15 @@ package android.service.trust {

}

package android.service.wallpaper {

  public class WallpaperService.Engine {
    method public boolean isInAmbientMode();
    method public void onAmbientModeChanged(boolean, long);
  }

}

package android.telecom {

  public deprecated class AudioState implements android.os.Parcelable {
+1 −1
Original line number Diff line number Diff line
@@ -159,5 +159,5 @@ interface IWallpaperManager {
    /**
     * Called from SystemUI when it shows the AoD UI.
     */
    oneway void setInAmbientMode(boolean inAmbientMode, boolean animated);
    oneway void setInAmbientMode(boolean inAmbientMode, long animationDuration);
}
+3 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package android.app;

import android.annotation.SystemApi;
import android.app.slice.Slice;
import android.content.ComponentName;
import android.content.Context;
@@ -330,7 +331,9 @@ public final class WallpaperInfo implements Parcelable {
     * @see WallpaperService.Engine#onAmbientModeChanged(boolean, boolean)
     * @see WallpaperService.Engine#isInAmbientMode()
     * @return {@code true} if wallpaper can draw when in ambient mode.
     * @hide
     */
    @SystemApi
    public boolean supportsAmbientMode() {
        return mSupportsAmbientMode;
    }
+1 −1
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ oneway interface IWallpaperEngine {
    void setDesiredSize(int width, int height);
    void setDisplayPadding(in Rect padding);
    void setVisibility(boolean visible);
    void setInAmbientMode(boolean inAmbientDisplay, boolean animated);
    void setInAmbientMode(boolean inAmbientDisplay, long animationDuration);
    void dispatchPointer(in MotionEvent event);
    void dispatchWallpaperCommand(String action, int x, int y,
            int z, in Bundle extras);
Loading