Fix resetting FPS when switching to standard mode

Bug: b/216078953
Test: atest GameManagerServiceTests
      run game and switch between modes
Change-Id: I355cfaae595230eefe0a40cabe204849ff472146
This commit is contained in:
Andy Yu
2022-01-24 01:26:14 -08:00
parent 3b78298b16
commit 4ce951e446

View File

@@ -938,6 +938,19 @@ public final class GameManagerService extends IGameManagerService.Stub {
}
}
/**
* Remove frame rate override due to mode switch
*/
private void resetFps(String packageName, @UserIdInt int userId) {
try {
final float fps = 0.0f;
final int uid = mPackageManager.getPackageUidAsUser(packageName, userId);
nativeSetOverrideFrameRate(uid, fps);
} catch (PackageManager.NameNotFoundException e) {
return;
}
}
private void enableCompatScale(String packageName, long scaleId) {
final long uid = Binder.clearCallingIdentity();
try {
@@ -1030,6 +1043,7 @@ public final class GameManagerService extends IGameManagerService.Stub {
if (gameMode == GameManager.GAME_MODE_STANDARD
|| gameMode == GameManager.GAME_MODE_UNSUPPORTED) {
disableCompatScale(packageName);
resetFps(packageName, userId);
return;
}
GamePackageConfiguration packageConfig = null;