Loading services/core/java/com/android/server/app/GameManagerService.java +12 −16 Original line number Original line Diff line number Diff line Loading @@ -142,8 +142,8 @@ public final class GameManagerService extends IGameManagerService.Stub { static final int WRITE_GAME_MODE_INTERVENTION_LIST_FILE = 6; static final int WRITE_GAME_MODE_INTERVENTION_LIST_FILE = 6; static final int WRITE_DELAY_MILLIS = 10 * 1000; // 10 seconds static final int WRITE_DELAY_MILLIS = 10 * 1000; // 10 seconds static final int LOADING_BOOST_MAX_DURATION = 5 * 1000; // 5 seconds static final int LOADING_BOOST_MAX_DURATION = 5 * 1000; // 5 seconds static final String PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED = static final String PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED = "persist.graphics.game_default_frame_rate.enabled"; "debug.graphics.game_default_frame_rate.disabled"; static final String PROPERTY_RO_SURFACEFLINGER_GAME_DEFAULT_FRAME_RATE = static final String PROPERTY_RO_SURFACEFLINGER_GAME_DEFAULT_FRAME_RATE = "ro.surface_flinger.game_default_frame_rate_override"; "ro.surface_flinger.game_default_frame_rate_override"; Loading Loading @@ -2211,17 +2211,10 @@ public final class GameManagerService extends IGameManagerService.Stub { nativeSetGameDefaultFrameRateOverride(uid, frameRate); nativeSetGameDefaultFrameRateOverride(uid, frameRate); } } private float getGameDefaultFrameRate() { private float getGameDefaultFrameRate(boolean isEnabled) { final boolean isGameDefaultFrameRateEnabled; float gameDefaultFrameRate = 0.0f; float gameDefaultFrameRate = 0.0f; synchronized (mLock) { isGameDefaultFrameRateEnabled = mSysProps.getBoolean( PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED, true); } if (gameDefaultFrameRate()) { if (gameDefaultFrameRate()) { gameDefaultFrameRate = isGameDefaultFrameRateEnabled gameDefaultFrameRate = isEnabled ? mGameDefaultFrameRateValue : 0.0f; ? mGameDefaultFrameRateValue : 0.0f; } } return gameDefaultFrameRate; return gameDefaultFrameRate; } } Loading @@ -2237,24 +2230,23 @@ public final class GameManagerService extends IGameManagerService.Stub { } } private void toggleGameDefaultFrameRateUnchecked(boolean isEnabled) { private void toggleGameDefaultFrameRateUnchecked(boolean isEnabled) { // Update system properties. // Here we only need to immediately update games that are in the foreground. // Here we only need to immediately update games that are in the foreground. // We will update game default frame rate when a game comes into foreground in // We will update game default frame rate when a game comes into foreground in // MyUidObserver. // MyUidObserver. synchronized (mLock) { synchronized (mLock) { if (isEnabled) { if (isEnabled) { mSysProps.set( mSysProps.set( PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED, "true"); PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED, "false"); } else { } else { mSysProps.set( mSysProps.set( PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED, "false"); PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED, "true"); } } } } // Update all foreground games' frame rate. // Update all foreground games' frame rate. synchronized (mUidObserverLock) { synchronized (mUidObserverLock) { for (int uid : mForegroundGameUids) { for (int uid : mForegroundGameUids) { setGameDefaultFrameRateOverride(uid, getGameDefaultFrameRate()); setGameDefaultFrameRateOverride(uid, getGameDefaultFrameRate(isEnabled)); } } } } } } Loading Loading @@ -2296,7 +2288,11 @@ public final class GameManagerService extends IGameManagerService.Stub { Slog.v(TAG, "Game power mode ON (process state was changed to foreground)"); Slog.v(TAG, "Game power mode ON (process state was changed to foreground)"); mPowerManagerInternal.setPowerMode(Mode.GAME, true); mPowerManagerInternal.setPowerMode(Mode.GAME, true); } } setGameDefaultFrameRateOverride(uid, getGameDefaultFrameRate()); final boolean isGameDefaultFrameRateDisabled = mSysProps.getBoolean( PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED, false); setGameDefaultFrameRateOverride(uid, getGameDefaultFrameRate(!isGameDefaultFrameRateDisabled)); mForegroundGameUids.add(uid); mForegroundGameUids.add(uid); } } } } Loading services/tests/mockingservicestests/src/com/android/server/app/GameManagerServiceTests.java +7 −32 Original line number Original line Diff line number Diff line Loading @@ -20,7 +20,7 @@ import static com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSess import static com.android.server.app.GameManagerService.CANCEL_GAME_LOADING_MODE; import static com.android.server.app.GameManagerService.CANCEL_GAME_LOADING_MODE; import static com.android.server.app.GameManagerService.Injector; import static com.android.server.app.GameManagerService.Injector; import static com.android.server.app.GameManagerService.LOADING_BOOST_MAX_DURATION; import static com.android.server.app.GameManagerService.LOADING_BOOST_MAX_DURATION; import static com.android.server.app.GameManagerService.PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED; import static com.android.server.app.GameManagerService.PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED; import static com.android.server.app.GameManagerService.PROPERTY_RO_SURFACEFLINGER_GAME_DEFAULT_FRAME_RATE; import static com.android.server.app.GameManagerService.PROPERTY_RO_SURFACEFLINGER_GAME_DEFAULT_FRAME_RATE; import static com.android.server.app.GameManagerService.SET_GAME_STATE; import static com.android.server.app.GameManagerService.SET_GAME_STATE; import static com.android.server.app.GameManagerService.WRITE_DELAY_MILLIS; import static com.android.server.app.GameManagerService.WRITE_DELAY_MILLIS; Loading Loading @@ -2427,8 +2427,8 @@ public class GameManagerServiceTests { ArgumentMatchers.eq(PROPERTY_RO_SURFACEFLINGER_GAME_DEFAULT_FRAME_RATE), ArgumentMatchers.eq(PROPERTY_RO_SURFACEFLINGER_GAME_DEFAULT_FRAME_RATE), anyInt())).thenReturn(60); anyInt())).thenReturn(60); when(mSysPropsMock.getBoolean( when(mSysPropsMock.getBoolean( ArgumentMatchers.eq(PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED), ArgumentMatchers.eq(PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED), ArgumentMatchers.eq(true))).thenReturn(true); ArgumentMatchers.eq(false))).thenReturn(false); gameManagerService.onBootCompleted(); gameManagerService.onBootCompleted(); // Set up a game in the foreground. // Set up a game in the foreground. Loading @@ -2441,11 +2441,7 @@ public class GameManagerServiceTests { gameManagerService.toggleGameDefaultFrameRate(true); gameManagerService.toggleGameDefaultFrameRate(true); // Verify that: // Verify that: // 1) The system property is set correctly // setDefaultFrameRateOverride is called with correct arguments // 2) setDefaultFrameRateOverride is called with correct arguments Mockito.verify(mSysPropsMock).set( ArgumentMatchers.eq(PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED), ArgumentMatchers.eq("true")); Mockito.verify(gameManagerService, times(1)) Mockito.verify(gameManagerService, times(1)) .setGameDefaultFrameRateOverride(ArgumentMatchers.eq(DEFAULT_PACKAGE_UID), .setGameDefaultFrameRateOverride(ArgumentMatchers.eq(DEFAULT_PACKAGE_UID), ArgumentMatchers.eq(60.0f)); ArgumentMatchers.eq(60.0f)); Loading @@ -2461,17 +2457,10 @@ public class GameManagerServiceTests { somePackageId, ActivityManager.PROCESS_STATE_TOP, 0, 0); somePackageId, ActivityManager.PROCESS_STATE_TOP, 0, 0); // Toggle game default frame rate off. // Toggle game default frame rate off. when(mSysPropsMock.getBoolean( ArgumentMatchers.eq(PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED), ArgumentMatchers.eq(true))).thenReturn(false); gameManagerService.toggleGameDefaultFrameRate(false); gameManagerService.toggleGameDefaultFrameRate(false); // Verify that: // Verify that: // 1) The system property is set correctly // setDefaultFrameRateOverride is called with correct arguments // 2) setDefaultFrameRateOverride is called with correct arguments Mockito.verify(mSysPropsMock).set( ArgumentMatchers.eq(PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED), ArgumentMatchers.eq("false")); Mockito.verify(gameManagerService).setGameDefaultFrameRateOverride( Mockito.verify(gameManagerService).setGameDefaultFrameRateOverride( ArgumentMatchers.eq(DEFAULT_PACKAGE_UID), ArgumentMatchers.eq(0.0f)); ArgumentMatchers.eq(DEFAULT_PACKAGE_UID), ArgumentMatchers.eq(0.0f)); Mockito.verify(gameManagerService).setGameDefaultFrameRateOverride( Mockito.verify(gameManagerService).setGameDefaultFrameRateOverride( Loading Loading @@ -2504,18 +2493,11 @@ public class GameManagerServiceTests { when(mSysPropsMock.getInt( when(mSysPropsMock.getInt( ArgumentMatchers.eq(PROPERTY_RO_SURFACEFLINGER_GAME_DEFAULT_FRAME_RATE), ArgumentMatchers.eq(PROPERTY_RO_SURFACEFLINGER_GAME_DEFAULT_FRAME_RATE), anyInt())).thenReturn(60); anyInt())).thenReturn(60); when(mSysPropsMock.getBoolean( ArgumentMatchers.eq(PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED), ArgumentMatchers.eq(true))).thenReturn(true); gameManagerService.toggleGameDefaultFrameRate(true); gameManagerService.toggleGameDefaultFrameRate(true); // Verify that: // Verify that: // 1) System property is never set // setGameDefaultFrameRateOverride() should never be called if the flag is disabled. // 2) setGameDefaultFrameRateOverride() should never be called if the flag is disabled. Mockito.verify(mSysPropsMock, never()).set( ArgumentMatchers.eq(PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED), anyString()); Mockito.verify(gameManagerService, never()) Mockito.verify(gameManagerService, never()) .setGameDefaultFrameRateOverride(anyInt(), anyFloat()); .setGameDefaultFrameRateOverride(anyInt(), anyFloat()); Loading @@ -2529,17 +2511,10 @@ public class GameManagerServiceTests { somePackageId, ActivityManager.PROCESS_STATE_TOP, 0, 0); somePackageId, ActivityManager.PROCESS_STATE_TOP, 0, 0); gameManagerService.mUidObserver.onUidStateChanged( gameManagerService.mUidObserver.onUidStateChanged( somePackageId, ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE, 0, 0); somePackageId, ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE, 0, 0); when(mSysPropsMock.getBoolean( ArgumentMatchers.eq(PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED), ArgumentMatchers.eq(true))).thenReturn(false); gameManagerService.toggleGameDefaultFrameRate(false); gameManagerService.toggleGameDefaultFrameRate(false); // Verify that: // Verify that: // 1) System property is never set // setGameDefaultFrameRateOverride() should never be called if the flag is disabled. // 2) setGameDefaultFrameRateOverride() should never be called if the flag is disabled. Mockito.verify(mSysPropsMock, never()).set( ArgumentMatchers.eq(PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED), anyString()); Mockito.verify(gameManagerService, never()) Mockito.verify(gameManagerService, never()) .setGameDefaultFrameRateOverride(anyInt(), anyFloat()); .setGameDefaultFrameRateOverride(anyInt(), anyFloat()); } } Loading Loading
services/core/java/com/android/server/app/GameManagerService.java +12 −16 Original line number Original line Diff line number Diff line Loading @@ -142,8 +142,8 @@ public final class GameManagerService extends IGameManagerService.Stub { static final int WRITE_GAME_MODE_INTERVENTION_LIST_FILE = 6; static final int WRITE_GAME_MODE_INTERVENTION_LIST_FILE = 6; static final int WRITE_DELAY_MILLIS = 10 * 1000; // 10 seconds static final int WRITE_DELAY_MILLIS = 10 * 1000; // 10 seconds static final int LOADING_BOOST_MAX_DURATION = 5 * 1000; // 5 seconds static final int LOADING_BOOST_MAX_DURATION = 5 * 1000; // 5 seconds static final String PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED = static final String PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED = "persist.graphics.game_default_frame_rate.enabled"; "debug.graphics.game_default_frame_rate.disabled"; static final String PROPERTY_RO_SURFACEFLINGER_GAME_DEFAULT_FRAME_RATE = static final String PROPERTY_RO_SURFACEFLINGER_GAME_DEFAULT_FRAME_RATE = "ro.surface_flinger.game_default_frame_rate_override"; "ro.surface_flinger.game_default_frame_rate_override"; Loading Loading @@ -2211,17 +2211,10 @@ public final class GameManagerService extends IGameManagerService.Stub { nativeSetGameDefaultFrameRateOverride(uid, frameRate); nativeSetGameDefaultFrameRateOverride(uid, frameRate); } } private float getGameDefaultFrameRate() { private float getGameDefaultFrameRate(boolean isEnabled) { final boolean isGameDefaultFrameRateEnabled; float gameDefaultFrameRate = 0.0f; float gameDefaultFrameRate = 0.0f; synchronized (mLock) { isGameDefaultFrameRateEnabled = mSysProps.getBoolean( PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED, true); } if (gameDefaultFrameRate()) { if (gameDefaultFrameRate()) { gameDefaultFrameRate = isGameDefaultFrameRateEnabled gameDefaultFrameRate = isEnabled ? mGameDefaultFrameRateValue : 0.0f; ? mGameDefaultFrameRateValue : 0.0f; } } return gameDefaultFrameRate; return gameDefaultFrameRate; } } Loading @@ -2237,24 +2230,23 @@ public final class GameManagerService extends IGameManagerService.Stub { } } private void toggleGameDefaultFrameRateUnchecked(boolean isEnabled) { private void toggleGameDefaultFrameRateUnchecked(boolean isEnabled) { // Update system properties. // Here we only need to immediately update games that are in the foreground. // Here we only need to immediately update games that are in the foreground. // We will update game default frame rate when a game comes into foreground in // We will update game default frame rate when a game comes into foreground in // MyUidObserver. // MyUidObserver. synchronized (mLock) { synchronized (mLock) { if (isEnabled) { if (isEnabled) { mSysProps.set( mSysProps.set( PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED, "true"); PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED, "false"); } else { } else { mSysProps.set( mSysProps.set( PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED, "false"); PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED, "true"); } } } } // Update all foreground games' frame rate. // Update all foreground games' frame rate. synchronized (mUidObserverLock) { synchronized (mUidObserverLock) { for (int uid : mForegroundGameUids) { for (int uid : mForegroundGameUids) { setGameDefaultFrameRateOverride(uid, getGameDefaultFrameRate()); setGameDefaultFrameRateOverride(uid, getGameDefaultFrameRate(isEnabled)); } } } } } } Loading Loading @@ -2296,7 +2288,11 @@ public final class GameManagerService extends IGameManagerService.Stub { Slog.v(TAG, "Game power mode ON (process state was changed to foreground)"); Slog.v(TAG, "Game power mode ON (process state was changed to foreground)"); mPowerManagerInternal.setPowerMode(Mode.GAME, true); mPowerManagerInternal.setPowerMode(Mode.GAME, true); } } setGameDefaultFrameRateOverride(uid, getGameDefaultFrameRate()); final boolean isGameDefaultFrameRateDisabled = mSysProps.getBoolean( PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED, false); setGameDefaultFrameRateOverride(uid, getGameDefaultFrameRate(!isGameDefaultFrameRateDisabled)); mForegroundGameUids.add(uid); mForegroundGameUids.add(uid); } } } } Loading
services/tests/mockingservicestests/src/com/android/server/app/GameManagerServiceTests.java +7 −32 Original line number Original line Diff line number Diff line Loading @@ -20,7 +20,7 @@ import static com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSess import static com.android.server.app.GameManagerService.CANCEL_GAME_LOADING_MODE; import static com.android.server.app.GameManagerService.CANCEL_GAME_LOADING_MODE; import static com.android.server.app.GameManagerService.Injector; import static com.android.server.app.GameManagerService.Injector; import static com.android.server.app.GameManagerService.LOADING_BOOST_MAX_DURATION; import static com.android.server.app.GameManagerService.LOADING_BOOST_MAX_DURATION; import static com.android.server.app.GameManagerService.PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED; import static com.android.server.app.GameManagerService.PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED; import static com.android.server.app.GameManagerService.PROPERTY_RO_SURFACEFLINGER_GAME_DEFAULT_FRAME_RATE; import static com.android.server.app.GameManagerService.PROPERTY_RO_SURFACEFLINGER_GAME_DEFAULT_FRAME_RATE; import static com.android.server.app.GameManagerService.SET_GAME_STATE; import static com.android.server.app.GameManagerService.SET_GAME_STATE; import static com.android.server.app.GameManagerService.WRITE_DELAY_MILLIS; import static com.android.server.app.GameManagerService.WRITE_DELAY_MILLIS; Loading Loading @@ -2427,8 +2427,8 @@ public class GameManagerServiceTests { ArgumentMatchers.eq(PROPERTY_RO_SURFACEFLINGER_GAME_DEFAULT_FRAME_RATE), ArgumentMatchers.eq(PROPERTY_RO_SURFACEFLINGER_GAME_DEFAULT_FRAME_RATE), anyInt())).thenReturn(60); anyInt())).thenReturn(60); when(mSysPropsMock.getBoolean( when(mSysPropsMock.getBoolean( ArgumentMatchers.eq(PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED), ArgumentMatchers.eq(PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED), ArgumentMatchers.eq(true))).thenReturn(true); ArgumentMatchers.eq(false))).thenReturn(false); gameManagerService.onBootCompleted(); gameManagerService.onBootCompleted(); // Set up a game in the foreground. // Set up a game in the foreground. Loading @@ -2441,11 +2441,7 @@ public class GameManagerServiceTests { gameManagerService.toggleGameDefaultFrameRate(true); gameManagerService.toggleGameDefaultFrameRate(true); // Verify that: // Verify that: // 1) The system property is set correctly // setDefaultFrameRateOverride is called with correct arguments // 2) setDefaultFrameRateOverride is called with correct arguments Mockito.verify(mSysPropsMock).set( ArgumentMatchers.eq(PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED), ArgumentMatchers.eq("true")); Mockito.verify(gameManagerService, times(1)) Mockito.verify(gameManagerService, times(1)) .setGameDefaultFrameRateOverride(ArgumentMatchers.eq(DEFAULT_PACKAGE_UID), .setGameDefaultFrameRateOverride(ArgumentMatchers.eq(DEFAULT_PACKAGE_UID), ArgumentMatchers.eq(60.0f)); ArgumentMatchers.eq(60.0f)); Loading @@ -2461,17 +2457,10 @@ public class GameManagerServiceTests { somePackageId, ActivityManager.PROCESS_STATE_TOP, 0, 0); somePackageId, ActivityManager.PROCESS_STATE_TOP, 0, 0); // Toggle game default frame rate off. // Toggle game default frame rate off. when(mSysPropsMock.getBoolean( ArgumentMatchers.eq(PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED), ArgumentMatchers.eq(true))).thenReturn(false); gameManagerService.toggleGameDefaultFrameRate(false); gameManagerService.toggleGameDefaultFrameRate(false); // Verify that: // Verify that: // 1) The system property is set correctly // setDefaultFrameRateOverride is called with correct arguments // 2) setDefaultFrameRateOverride is called with correct arguments Mockito.verify(mSysPropsMock).set( ArgumentMatchers.eq(PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED), ArgumentMatchers.eq("false")); Mockito.verify(gameManagerService).setGameDefaultFrameRateOverride( Mockito.verify(gameManagerService).setGameDefaultFrameRateOverride( ArgumentMatchers.eq(DEFAULT_PACKAGE_UID), ArgumentMatchers.eq(0.0f)); ArgumentMatchers.eq(DEFAULT_PACKAGE_UID), ArgumentMatchers.eq(0.0f)); Mockito.verify(gameManagerService).setGameDefaultFrameRateOverride( Mockito.verify(gameManagerService).setGameDefaultFrameRateOverride( Loading Loading @@ -2504,18 +2493,11 @@ public class GameManagerServiceTests { when(mSysPropsMock.getInt( when(mSysPropsMock.getInt( ArgumentMatchers.eq(PROPERTY_RO_SURFACEFLINGER_GAME_DEFAULT_FRAME_RATE), ArgumentMatchers.eq(PROPERTY_RO_SURFACEFLINGER_GAME_DEFAULT_FRAME_RATE), anyInt())).thenReturn(60); anyInt())).thenReturn(60); when(mSysPropsMock.getBoolean( ArgumentMatchers.eq(PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED), ArgumentMatchers.eq(true))).thenReturn(true); gameManagerService.toggleGameDefaultFrameRate(true); gameManagerService.toggleGameDefaultFrameRate(true); // Verify that: // Verify that: // 1) System property is never set // setGameDefaultFrameRateOverride() should never be called if the flag is disabled. // 2) setGameDefaultFrameRateOverride() should never be called if the flag is disabled. Mockito.verify(mSysPropsMock, never()).set( ArgumentMatchers.eq(PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED), anyString()); Mockito.verify(gameManagerService, never()) Mockito.verify(gameManagerService, never()) .setGameDefaultFrameRateOverride(anyInt(), anyFloat()); .setGameDefaultFrameRateOverride(anyInt(), anyFloat()); Loading @@ -2529,17 +2511,10 @@ public class GameManagerServiceTests { somePackageId, ActivityManager.PROCESS_STATE_TOP, 0, 0); somePackageId, ActivityManager.PROCESS_STATE_TOP, 0, 0); gameManagerService.mUidObserver.onUidStateChanged( gameManagerService.mUidObserver.onUidStateChanged( somePackageId, ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE, 0, 0); somePackageId, ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE, 0, 0); when(mSysPropsMock.getBoolean( ArgumentMatchers.eq(PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED), ArgumentMatchers.eq(true))).thenReturn(false); gameManagerService.toggleGameDefaultFrameRate(false); gameManagerService.toggleGameDefaultFrameRate(false); // Verify that: // Verify that: // 1) System property is never set // setGameDefaultFrameRateOverride() should never be called if the flag is disabled. // 2) setGameDefaultFrameRateOverride() should never be called if the flag is disabled. Mockito.verify(mSysPropsMock, never()).set( ArgumentMatchers.eq(PROPERTY_PERSISTENT_GFX_GAME_DEFAULT_FRAME_RATE_ENABLED), anyString()); Mockito.verify(gameManagerService, never()) Mockito.verify(gameManagerService, never()) .setGameDefaultFrameRateOverride(anyInt(), anyFloat()); .setGameDefaultFrameRateOverride(anyInt(), anyFloat()); } } Loading