Removing 'override' from nav bar mode APIs.
Bug: 217668440 Test: StatusBarManagerTest.java, StatusBarManagerServiceTest.java Change-Id: I1c5fa5f5d564a78e3abaf1457a105d5e8c6402b9
This commit is contained in:
@@ -915,10 +915,10 @@ package android.app {
|
||||
|
||||
public class StatusBarManager {
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.STATUS_BAR) public android.app.StatusBarManager.DisableInfo getDisableInfo();
|
||||
method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public int getNavBarModeOverride();
|
||||
method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public int getNavBarMode();
|
||||
method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void registerNearbyMediaDevicesProvider(@NonNull android.media.NearbyMediaDevicesProvider);
|
||||
method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setDisabledForSetup(boolean);
|
||||
method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setNavBarModeOverride(int);
|
||||
method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setNavBarMode(int);
|
||||
method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void unregisterNearbyMediaDevicesProvider(@NonNull android.media.NearbyMediaDevicesProvider);
|
||||
method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void updateMediaTapToTransferReceiverDisplay(int, @NonNull android.media.MediaRoute2Info, @Nullable android.graphics.drawable.Icon, @Nullable CharSequence);
|
||||
method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void updateMediaTapToTransferSenderDisplay(int, @NonNull android.media.MediaRoute2Info, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
|
||||
@@ -933,8 +933,8 @@ package android.app {
|
||||
field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_FAILED = 7; // 0x7
|
||||
field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_SUCCEEDED = 5; // 0x5
|
||||
field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_TRIGGERED = 3; // 0x3
|
||||
field public static final int NAV_BAR_MODE_OVERRIDE_KIDS = 1; // 0x1
|
||||
field public static final int NAV_BAR_MODE_OVERRIDE_NONE = 0; // 0x0
|
||||
field public static final int NAV_BAR_MODE_DEFAULT = 0; // 0x0
|
||||
field public static final int NAV_BAR_MODE_KIDS = 1; // 0x1
|
||||
}
|
||||
|
||||
public static final class StatusBarManager.DisableInfo {
|
||||
|
||||
@@ -324,15 +324,15 @@ public class StatusBarManager {
|
||||
public @interface RequestResult {}
|
||||
|
||||
/**
|
||||
* Constant for {@link #setNavBarModeOverride(int)} indicating the default navbar mode.
|
||||
* Constant for {@link #setNavBarMode(int)} indicating the default navbar mode.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int NAV_BAR_MODE_OVERRIDE_NONE = 0;
|
||||
public static final int NAV_BAR_MODE_DEFAULT = 0;
|
||||
|
||||
/**
|
||||
* Constant for {@link #setNavBarModeOverride(int)} indicating kids navbar mode.
|
||||
* Constant for {@link #setNavBarMode(int)} indicating kids navbar mode.
|
||||
*
|
||||
* <p>When used, back and home icons will change drawables and layout, recents will be hidden,
|
||||
* and the navbar will remain visible when apps are in immersive mode.
|
||||
@@ -340,15 +340,15 @@ public class StatusBarManager {
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int NAV_BAR_MODE_OVERRIDE_KIDS = 1;
|
||||
public static final int NAV_BAR_MODE_KIDS = 1;
|
||||
|
||||
/** @hide */
|
||||
@IntDef(prefix = {"NAV_BAR_MODE_OVERRIDE_"}, value = {
|
||||
NAV_BAR_MODE_OVERRIDE_NONE,
|
||||
NAV_BAR_MODE_OVERRIDE_KIDS
|
||||
@IntDef(prefix = {"NAV_BAR_MODE_"}, value = {
|
||||
NAV_BAR_MODE_DEFAULT,
|
||||
NAV_BAR_MODE_KIDS
|
||||
})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface NavBarModeOverride {}
|
||||
public @interface NavBarMode {}
|
||||
|
||||
/**
|
||||
* State indicating that this sender device is close to a receiver device, so the user can
|
||||
@@ -926,25 +926,23 @@ public class StatusBarManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets or removes the navigation bar mode override.
|
||||
* Sets or removes the navigation bar mode.
|
||||
*
|
||||
* @param navBarModeOverride the mode of the navigation bar override to be set.
|
||||
* @param navBarMode the mode of the navigation bar to be set.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.STATUS_BAR)
|
||||
public void setNavBarModeOverride(@NavBarModeOverride int navBarModeOverride) {
|
||||
if (navBarModeOverride != NAV_BAR_MODE_OVERRIDE_NONE
|
||||
&& navBarModeOverride != NAV_BAR_MODE_OVERRIDE_KIDS) {
|
||||
throw new IllegalArgumentException(
|
||||
"Supplied navBarModeOverride not supported: " + navBarModeOverride);
|
||||
public void setNavBarMode(@NavBarMode int navBarMode) {
|
||||
if (navBarMode != NAV_BAR_MODE_DEFAULT && navBarMode != NAV_BAR_MODE_KIDS) {
|
||||
throw new IllegalArgumentException("Supplied navBarMode not supported: " + navBarMode);
|
||||
}
|
||||
|
||||
try {
|
||||
final IStatusBarService svc = getService();
|
||||
if (svc != null) {
|
||||
svc.setNavBarModeOverride(navBarModeOverride);
|
||||
svc.setNavBarMode(navBarMode);
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
@@ -952,23 +950,23 @@ public class StatusBarManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the navigation bar mode override. Returns default value if no override is set.
|
||||
* Gets the navigation bar mode. Returns default value if no mode is set.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.STATUS_BAR)
|
||||
public @NavBarModeOverride int getNavBarModeOverride() {
|
||||
int navBarModeOverride = NAV_BAR_MODE_OVERRIDE_NONE;
|
||||
public @NavBarMode int getNavBarMode() {
|
||||
int navBarMode = NAV_BAR_MODE_DEFAULT;
|
||||
try {
|
||||
final IStatusBarService svc = getService();
|
||||
if (svc != null) {
|
||||
navBarModeOverride = svc.getNavBarModeOverride();
|
||||
navBarMode = svc.getNavBarMode();
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
return navBarModeOverride;
|
||||
return navBarMode;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -175,20 +175,20 @@ interface IStatusBarService
|
||||
void cancelRequestAddTile(in String packageName);
|
||||
|
||||
/**
|
||||
* Overrides the navigation bar mode.
|
||||
* Sets the navigation bar mode.
|
||||
*
|
||||
* @param navBarModeOverride the mode of the navigation bar override to be set.
|
||||
* @param navBarMode the mode of the navigation bar to be set.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
void setNavBarModeOverride(int navBarModeOverride);
|
||||
void setNavBarMode(int navBarMode);
|
||||
|
||||
/**
|
||||
* Gets the navigation bar mode override.
|
||||
* Gets the navigation bar mode.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
int getNavBarModeOverride();
|
||||
int getNavBarMode();
|
||||
|
||||
/**
|
||||
* Register a listener for certain sessions. Each session may be guarded by its own permission.
|
||||
|
||||
@@ -18,9 +18,9 @@ package com.android.server.statusbar;
|
||||
|
||||
import static android.app.StatusBarManager.DISABLE2_GLOBAL_ACTIONS;
|
||||
import static android.app.StatusBarManager.DISABLE2_NOTIFICATION_SHADE;
|
||||
import static android.app.StatusBarManager.NAV_BAR_MODE_OVERRIDE_KIDS;
|
||||
import static android.app.StatusBarManager.NAV_BAR_MODE_OVERRIDE_NONE;
|
||||
import static android.app.StatusBarManager.NavBarModeOverride;
|
||||
import static android.app.StatusBarManager.NAV_BAR_MODE_DEFAULT;
|
||||
import static android.app.StatusBarManager.NAV_BAR_MODE_KIDS;
|
||||
import static android.app.StatusBarManager.NavBarMode;
|
||||
import static android.app.StatusBarManager.SessionFlags;
|
||||
import static android.view.Display.DEFAULT_DISPLAY;
|
||||
import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_3BUTTON_OVERLAY;
|
||||
@@ -1945,26 +1945,25 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets or removes the navigation bar mode override.
|
||||
* Sets or removes the navigation bar mode.
|
||||
*
|
||||
* @param navBarModeOverride the mode of the navigation bar override to be set.
|
||||
* @param navBarMode the mode of the navigation bar to be set.
|
||||
*/
|
||||
public void setNavBarModeOverride(@NavBarModeOverride int navBarModeOverride) {
|
||||
public void setNavBarMode(@NavBarMode int navBarMode) {
|
||||
enforceStatusBar();
|
||||
if (navBarModeOverride != NAV_BAR_MODE_OVERRIDE_NONE
|
||||
&& navBarModeOverride != NAV_BAR_MODE_OVERRIDE_KIDS) {
|
||||
if (navBarMode != NAV_BAR_MODE_DEFAULT && navBarMode != NAV_BAR_MODE_KIDS) {
|
||||
throw new UnsupportedOperationException(
|
||||
"Supplied navBarModeOverride not supported: " + navBarModeOverride);
|
||||
"Supplied navBarMode not supported: " + navBarMode);
|
||||
}
|
||||
|
||||
final int userId = mCurrentUserId;
|
||||
final long userIdentity = Binder.clearCallingIdentity();
|
||||
try {
|
||||
Settings.Secure.putIntForUser(mContext.getContentResolver(),
|
||||
Settings.Secure.NAV_BAR_KIDS_MODE, navBarModeOverride, userId);
|
||||
Settings.Secure.NAV_BAR_KIDS_MODE, navBarMode, userId);
|
||||
|
||||
IOverlayManager overlayManager = getOverlayManager();
|
||||
if (overlayManager != null && navBarModeOverride == NAV_BAR_MODE_OVERRIDE_KIDS
|
||||
if (overlayManager != null && navBarMode == NAV_BAR_MODE_KIDS
|
||||
&& isPackageSupported(NAV_BAR_MODE_3BUTTON_OVERLAY)) {
|
||||
overlayManager.setEnabledExclusiveInCategory(NAV_BAR_MODE_3BUTTON_OVERLAY, userId);
|
||||
}
|
||||
@@ -1976,14 +1975,14 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the navigation bar mode override. Returns default value if no override is set.
|
||||
* Gets the navigation bar mode. Returns default value if no mode is set.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public @NavBarModeOverride int getNavBarModeOverride() {
|
||||
public @NavBarMode int getNavBarMode() {
|
||||
enforceStatusBar();
|
||||
|
||||
int navBarKidsMode = NAV_BAR_MODE_OVERRIDE_NONE;
|
||||
int navBarKidsMode = NAV_BAR_MODE_DEFAULT;
|
||||
final int userId = mCurrentUserId;
|
||||
final long userIdentity = Binder.clearCallingIdentity();
|
||||
try {
|
||||
|
||||
@@ -584,55 +584,55 @@ public class StatusBarManagerServiceTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetNavBarModeOverride_setsOverrideModeKids() throws RemoteException {
|
||||
int navBarModeOverrideKids = StatusBarManager.NAV_BAR_MODE_OVERRIDE_KIDS;
|
||||
public void testSetNavBarMode_setsModeKids() throws RemoteException {
|
||||
int navBarModeKids = StatusBarManager.NAV_BAR_MODE_KIDS;
|
||||
|
||||
mStatusBarManagerService.setNavBarModeOverride(navBarModeOverrideKids);
|
||||
mStatusBarManagerService.setNavBarMode(navBarModeKids);
|
||||
|
||||
assertEquals(navBarModeOverrideKids, mStatusBarManagerService.getNavBarModeOverride());
|
||||
assertEquals(navBarModeKids, mStatusBarManagerService.getNavBarMode());
|
||||
verify(mOverlayManager).setEnabledExclusiveInCategory(anyString(), anyInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetNavBarModeOverride_setsOverrideModeNone() throws RemoteException {
|
||||
int navBarModeOverrideNone = StatusBarManager.NAV_BAR_MODE_OVERRIDE_NONE;
|
||||
public void testSetNavBarMode_setsModeNone() throws RemoteException {
|
||||
int navBarModeNone = StatusBarManager.NAV_BAR_MODE_DEFAULT;
|
||||
|
||||
mStatusBarManagerService.setNavBarModeOverride(navBarModeOverrideNone);
|
||||
mStatusBarManagerService.setNavBarMode(navBarModeNone);
|
||||
|
||||
assertEquals(navBarModeOverrideNone, mStatusBarManagerService.getNavBarModeOverride());
|
||||
assertEquals(navBarModeNone, mStatusBarManagerService.getNavBarMode());
|
||||
verify(mOverlayManager, never()).setEnabledExclusiveInCategory(anyString(), anyInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetNavBarModeOverride_invalidInputThrowsError() throws RemoteException {
|
||||
int navBarModeOverrideInvalid = -1;
|
||||
public void testSetNavBarMode_invalidInputThrowsError() throws RemoteException {
|
||||
int navBarModeInvalid = -1;
|
||||
|
||||
assertThrows(UnsupportedOperationException.class,
|
||||
() -> mStatusBarManagerService.setNavBarModeOverride(navBarModeOverrideInvalid));
|
||||
() -> mStatusBarManagerService.setNavBarMode(navBarModeInvalid));
|
||||
verify(mOverlayManager, never()).setEnabledExclusiveInCategory(anyString(), anyInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetNavBarModeOverride_noOverlayManagerDoesNotEnable() throws RemoteException {
|
||||
public void testSetNavBarMode_noOverlayManagerDoesNotEnable() throws RemoteException {
|
||||
mOverlayManager = null;
|
||||
int navBarModeOverrideKids = StatusBarManager.NAV_BAR_MODE_OVERRIDE_KIDS;
|
||||
int navBarModeKids = StatusBarManager.NAV_BAR_MODE_KIDS;
|
||||
|
||||
mStatusBarManagerService.setNavBarModeOverride(navBarModeOverrideKids);
|
||||
mStatusBarManagerService.setNavBarMode(navBarModeKids);
|
||||
|
||||
assertEquals(navBarModeOverrideKids, mStatusBarManagerService.getNavBarModeOverride());
|
||||
assertEquals(navBarModeKids, mStatusBarManagerService.getNavBarMode());
|
||||
verify(mOverlayManager, never()).setEnabledExclusiveInCategory(anyString(), anyInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetNavBarModeOverride_noPackageDoesNotEnable() throws Exception {
|
||||
public void testSetNavBarMode_noPackageDoesNotEnable() throws Exception {
|
||||
mContext.setMockPackageManager(mPackageManager);
|
||||
when(mPackageManager.getPackageInfo(anyString(),
|
||||
any(PackageManager.PackageInfoFlags.class))).thenReturn(null);
|
||||
int navBarModeOverrideKids = StatusBarManager.NAV_BAR_MODE_OVERRIDE_KIDS;
|
||||
int navBarModeKids = StatusBarManager.NAV_BAR_MODE_KIDS;
|
||||
|
||||
mStatusBarManagerService.setNavBarModeOverride(navBarModeOverrideKids);
|
||||
mStatusBarManagerService.setNavBarMode(navBarModeKids);
|
||||
|
||||
assertEquals(navBarModeOverrideKids, mStatusBarManagerService.getNavBarModeOverride());
|
||||
assertEquals(navBarModeKids, mStatusBarManagerService.getNavBarMode());
|
||||
verify(mOverlayManager, never()).setEnabledExclusiveInCategory(anyString(), anyInt());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user