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
This commit is contained in:
Kurt Dresner
2020-11-09 09:38:23 -08:00
parent cd0710b086
commit 9993831106
3 changed files with 15 additions and 0 deletions

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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)