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

Commit 99938311 authored by Kurt Dresner's avatar Kurt Dresner
Browse files

Expand visibility of projection state API so Android Auto can access it.

The PROJECTION_TYPE_* constants and re{quest,lease}Projection APIs were originally marked @TestApi and @hide, but Android Auto needs them to be part of the @SystemApi to be able to use them.

Bug: 134997071
Bug: 169702986
Test: Unit tests, tested against Android Auto
Change-Id: Id8f3fb8697726ba20ea5a2843026c2083c0bec92
parent cd0710b0
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -802,12 +802,17 @@ package android.app {
    method @RequiresPermission(android.Manifest.permission.ENTER_CAR_MODE_PRIORITIZED) public void enableCarMode(@IntRange(from=0) int, int);
    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public int getActiveProjectionTypes();
    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public java.util.Set<java.lang.String> getProjectingPackages(int);
    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean releaseProjection(int);
    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void removeOnProjectionStateChangeListener(@NonNull android.app.UiModeManager.OnProjectionStateChangeListener);
    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean requestProjection(int);
    field public static final String ACTION_ENTER_CAR_MODE_PRIORITIZED = "android.app.action.ENTER_CAR_MODE_PRIORITIZED";
    field public static final String ACTION_EXIT_CAR_MODE_PRIORITIZED = "android.app.action.EXIT_CAR_MODE_PRIORITIZED";
    field public static final int DEFAULT_PRIORITY = 0; // 0x0
    field public static final String EXTRA_CALLING_PACKAGE = "android.app.extra.CALLING_PACKAGE";
    field public static final String EXTRA_PRIORITY = "android.app.extra.PRIORITY";
    field public static final int PROJECTION_TYPE_ALL = 65535; // 0xffff
    field public static final int PROJECTION_TYPE_AUTOMOTIVE = 1; // 0x1
    field public static final int PROJECTION_TYPE_NONE = 0; // 0x0
  }
  public static interface UiModeManager.OnProjectionStateChangeListener {
+5 −0
Original line number Diff line number Diff line
@@ -750,12 +750,17 @@ package android.app {
    method @RequiresPermission(android.Manifest.permission.ENTER_CAR_MODE_PRIORITIZED) public void enableCarMode(@IntRange(from=0) int, int);
    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public int getActiveProjectionTypes();
    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public java.util.Set<java.lang.String> getProjectingPackages(int);
    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean releaseProjection(int);
    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void removeOnProjectionStateChangeListener(@NonNull android.app.UiModeManager.OnProjectionStateChangeListener);
    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean requestProjection(int);
    field public static final String ACTION_ENTER_CAR_MODE_PRIORITIZED = "android.app.action.ENTER_CAR_MODE_PRIORITIZED";
    field public static final String ACTION_EXIT_CAR_MODE_PRIORITIZED = "android.app.action.EXIT_CAR_MODE_PRIORITIZED";
    field public static final int DEFAULT_PRIORITY = 0; // 0x0
    field public static final String EXTRA_CALLING_PACKAGE = "android.app.extra.CALLING_PACKAGE";
    field public static final String EXTRA_PRIORITY = "android.app.extra.PRIORITY";
    field public static final int PROJECTION_TYPE_ALL = 65535; // 0xffff
    field public static final int PROJECTION_TYPE_AUTOMOTIVE = 1; // 0x1
    field public static final int PROJECTION_TYPE_NONE = 0; // 0x0
  }
  public static interface UiModeManager.OnProjectionStateChangeListener {
+5 −0
Original line number Diff line number Diff line
@@ -651,6 +651,7 @@ public class UiModeManager {
     *
     * @hide
     */
    @SystemApi
    @TestApi
    public static final int PROJECTION_TYPE_NONE = 0x0000;
    /**
@@ -660,6 +661,7 @@ public class UiModeManager {
     *
     * @hide
     */
    @SystemApi
    @TestApi
    public static final int PROJECTION_TYPE_AUTOMOTIVE = 0x0001;
    /**
@@ -669,6 +671,7 @@ public class UiModeManager {
     *
     * @hide
     */
    @SystemApi
    @TestApi
    public static final int PROJECTION_TYPE_ALL = 0xffff;

@@ -695,6 +698,7 @@ public class UiModeManager {
     *
     * @hide
     */
    @SystemApi
    @TestApi
    @RequiresPermission(value = android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION,
            conditional = true)
@@ -723,6 +727,7 @@ public class UiModeManager {
     *
     * @hide
     */
    @SystemApi
    @TestApi
    @RequiresPermission(value = android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION,
            conditional = true)