Merge "GameManagerService: Only apply game mode when the service is on the TOP" into udc-d1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
c7d8595248
@@ -2166,7 +2166,7 @@ public final class GameManagerService extends IGameManagerService.Stub {
|
|||||||
@Override
|
@Override
|
||||||
public void onUidStateChanged(int uid, int procState, long procStateSeq, int capability) {
|
public void onUidStateChanged(int uid, int procState, long procStateSeq, int capability) {
|
||||||
synchronized (mUidObserverLock) {
|
synchronized (mUidObserverLock) {
|
||||||
if (ActivityManager.isProcStateBackground(procState)) {
|
if (procState != ActivityManager.PROCESS_STATE_TOP) {
|
||||||
disableGameMode(uid);
|
disableGameMode(uid);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2221,7 +2221,7 @@ public class GameManagerServiceTests {
|
|||||||
String[] packages = {mPackageName};
|
String[] packages = {mPackageName};
|
||||||
when(mMockPackageManager.getPackagesForUid(DEFAULT_PACKAGE_UID)).thenReturn(packages);
|
when(mMockPackageManager.getPackagesForUid(DEFAULT_PACKAGE_UID)).thenReturn(packages);
|
||||||
gameManagerService.mUidObserver.onUidStateChanged(
|
gameManagerService.mUidObserver.onUidStateChanged(
|
||||||
DEFAULT_PACKAGE_UID, ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE, 0, 0);
|
DEFAULT_PACKAGE_UID, ActivityManager.PROCESS_STATE_TOP, 0, 0);
|
||||||
verify(mMockPowerManager, times(1)).setPowerMode(Mode.GAME, true);
|
verify(mMockPowerManager, times(1)).setPowerMode(Mode.GAME, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2238,12 +2238,12 @@ public class GameManagerServiceTests {
|
|||||||
doAnswer(inv -> powerState.put(inv.getArgument(0), inv.getArgument(1)))
|
doAnswer(inv -> powerState.put(inv.getArgument(0), inv.getArgument(1)))
|
||||||
.when(mMockPowerManager).setPowerMode(anyInt(), anyBoolean());
|
.when(mMockPowerManager).setPowerMode(anyInt(), anyBoolean());
|
||||||
gameManagerService.mUidObserver.onUidStateChanged(
|
gameManagerService.mUidObserver.onUidStateChanged(
|
||||||
DEFAULT_PACKAGE_UID, ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE, 0, 0);
|
DEFAULT_PACKAGE_UID, ActivityManager.PROCESS_STATE_TOP, 0, 0);
|
||||||
assertTrue(powerState.get(Mode.GAME));
|
assertTrue(powerState.get(Mode.GAME));
|
||||||
gameManagerService.mUidObserver.onUidStateChanged(
|
gameManagerService.mUidObserver.onUidStateChanged(
|
||||||
DEFAULT_PACKAGE_UID, ActivityManager.PROCESS_STATE_TRANSIENT_BACKGROUND, 0, 0);
|
DEFAULT_PACKAGE_UID, ActivityManager.PROCESS_STATE_TRANSIENT_BACKGROUND, 0, 0);
|
||||||
gameManagerService.mUidObserver.onUidStateChanged(
|
gameManagerService.mUidObserver.onUidStateChanged(
|
||||||
somePackageId, ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE, 0, 0);
|
somePackageId, ActivityManager.PROCESS_STATE_TOP, 0, 0);
|
||||||
assertTrue(powerState.get(Mode.GAME));
|
assertTrue(powerState.get(Mode.GAME));
|
||||||
gameManagerService.mUidObserver.onUidStateChanged(
|
gameManagerService.mUidObserver.onUidStateChanged(
|
||||||
somePackageId, ActivityManager.PROCESS_STATE_TRANSIENT_BACKGROUND, 0, 0);
|
somePackageId, ActivityManager.PROCESS_STATE_TRANSIENT_BACKGROUND, 0, 0);
|
||||||
@@ -2259,14 +2259,14 @@ public class GameManagerServiceTests {
|
|||||||
String[] packages2 = {someGamePkg};
|
String[] packages2 = {someGamePkg};
|
||||||
int somePackageId = DEFAULT_PACKAGE_UID + 1;
|
int somePackageId = DEFAULT_PACKAGE_UID + 1;
|
||||||
when(mMockPackageManager.getPackagesForUid(somePackageId)).thenReturn(packages2);
|
when(mMockPackageManager.getPackagesForUid(somePackageId)).thenReturn(packages2);
|
||||||
|
gameManagerService.mUidObserver.onUidStateChanged(
|
||||||
|
DEFAULT_PACKAGE_UID, ActivityManager.PROCESS_STATE_TOP, 0, 0);
|
||||||
|
gameManagerService.mUidObserver.onUidStateChanged(
|
||||||
|
somePackageId, ActivityManager.PROCESS_STATE_TOP, 0, 0);
|
||||||
gameManagerService.mUidObserver.onUidStateChanged(
|
gameManagerService.mUidObserver.onUidStateChanged(
|
||||||
DEFAULT_PACKAGE_UID, ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE, 0, 0);
|
DEFAULT_PACKAGE_UID, ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE, 0, 0);
|
||||||
gameManagerService.mUidObserver.onUidStateChanged(
|
gameManagerService.mUidObserver.onUidStateChanged(
|
||||||
somePackageId, ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE, 0, 0);
|
somePackageId, ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE, 0, 0);
|
||||||
gameManagerService.mUidObserver.onUidStateChanged(
|
|
||||||
DEFAULT_PACKAGE_UID, ActivityManager.PROCESS_STATE_TRANSIENT_BACKGROUND, 0, 0);
|
|
||||||
gameManagerService.mUidObserver.onUidStateChanged(
|
|
||||||
somePackageId, ActivityManager.PROCESS_STATE_TRANSIENT_BACKGROUND, 0, 0);
|
|
||||||
verify(mMockPowerManager, times(1)).setPowerMode(Mode.GAME, true);
|
verify(mMockPowerManager, times(1)).setPowerMode(Mode.GAME, true);
|
||||||
verify(mMockPowerManager, times(1)).setPowerMode(Mode.GAME, false);
|
verify(mMockPowerManager, times(1)).setPowerMode(Mode.GAME, false);
|
||||||
}
|
}
|
||||||
@@ -2277,9 +2277,9 @@ public class GameManagerServiceTests {
|
|||||||
String[] packages = {mPackageName};
|
String[] packages = {mPackageName};
|
||||||
when(mMockPackageManager.getPackagesForUid(DEFAULT_PACKAGE_UID)).thenReturn(packages);
|
when(mMockPackageManager.getPackagesForUid(DEFAULT_PACKAGE_UID)).thenReturn(packages);
|
||||||
gameManagerService.mUidObserver.onUidStateChanged(
|
gameManagerService.mUidObserver.onUidStateChanged(
|
||||||
DEFAULT_PACKAGE_UID, ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE, 0, 0);
|
DEFAULT_PACKAGE_UID, ActivityManager.PROCESS_STATE_TOP, 0, 0);
|
||||||
gameManagerService.mUidObserver.onUidStateChanged(
|
gameManagerService.mUidObserver.onUidStateChanged(
|
||||||
DEFAULT_PACKAGE_UID, ActivityManager.PROCESS_STATE_TRANSIENT_BACKGROUND, 0, 0);
|
DEFAULT_PACKAGE_UID, ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE, 0, 0);
|
||||||
verify(mMockPowerManager, times(1)).setPowerMode(Mode.GAME, false);
|
verify(mMockPowerManager, times(1)).setPowerMode(Mode.GAME, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user