diff --git a/api/system-current.txt b/api/system-current.txt index 222fb1755c506..3321677918f97 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -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 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 { diff --git a/core/api/system-current.txt b/core/api/system-current.txt index ac4b36976921a..ede08d547bc35 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -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 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 { diff --git a/core/java/android/app/UiModeManager.java b/core/java/android/app/UiModeManager.java index 8a6871fdf3f05..e1c262caf44f9 100644 --- a/core/java/android/app/UiModeManager.java +++ b/core/java/android/app/UiModeManager.java @@ -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)