Cleanup debug_allow_non_native_refresh_rate_override
This sysprop is defaulted to true, and there is no reason to keep the behavior for the false case. Bug: 251493618 Test: atest DisplayManagerServiceTest Change-Id: Idcebad6f34fc00215a1576dfb98273b00f5625ac
This commit is contained in:
@@ -105,7 +105,6 @@ import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.provider.DeviceConfig;
|
||||
import android.provider.Settings;
|
||||
import android.sysprop.DisplayProperties;
|
||||
import android.text.TextUtils;
|
||||
import android.util.ArraySet;
|
||||
import android.util.EventLog;
|
||||
@@ -451,8 +450,6 @@ public final class DisplayManagerService extends SystemService {
|
||||
}
|
||||
};
|
||||
|
||||
private final boolean mAllowNonNativeRefreshRateOverride;
|
||||
|
||||
private final BrightnessSynchronizer mBrightnessSynchronizer;
|
||||
|
||||
/**
|
||||
@@ -506,7 +503,6 @@ public final class DisplayManagerService extends SystemService {
|
||||
ColorSpace[] colorSpaces = SurfaceControl.getCompositionColorSpaces();
|
||||
mWideColorSpace = colorSpaces[1];
|
||||
mOverlayProperties = SurfaceControl.getOverlaySupport();
|
||||
mAllowNonNativeRefreshRateOverride = mInjector.getAllowNonNativeRefreshRateOverride();
|
||||
mSystemReady = false;
|
||||
}
|
||||
|
||||
@@ -930,24 +926,20 @@ public final class DisplayManagerService extends SystemService {
|
||||
}
|
||||
}
|
||||
|
||||
if (mAllowNonNativeRefreshRateOverride) {
|
||||
overriddenInfo.refreshRateOverride = frameRateHz;
|
||||
if (!CompatChanges.isChangeEnabled(DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE,
|
||||
callingUid)) {
|
||||
overriddenInfo.supportedModes = Arrays.copyOf(info.supportedModes,
|
||||
info.supportedModes.length + 1);
|
||||
overriddenInfo.supportedModes[overriddenInfo.supportedModes.length - 1] =
|
||||
new Display.Mode(Display.DISPLAY_MODE_ID_FOR_FRAME_RATE_OVERRIDE,
|
||||
currentMode.getPhysicalWidth(), currentMode.getPhysicalHeight(),
|
||||
overriddenInfo.refreshRateOverride);
|
||||
overriddenInfo.modeId =
|
||||
overriddenInfo.supportedModes[overriddenInfo.supportedModes.length - 1]
|
||||
.getModeId();
|
||||
}
|
||||
return overriddenInfo;
|
||||
overriddenInfo.refreshRateOverride = frameRateHz;
|
||||
if (!CompatChanges.isChangeEnabled(DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE,
|
||||
callingUid)) {
|
||||
overriddenInfo.supportedModes = Arrays.copyOf(info.supportedModes,
|
||||
info.supportedModes.length + 1);
|
||||
overriddenInfo.supportedModes[overriddenInfo.supportedModes.length - 1] =
|
||||
new Display.Mode(Display.DISPLAY_MODE_ID_FOR_FRAME_RATE_OVERRIDE,
|
||||
currentMode.getPhysicalWidth(), currentMode.getPhysicalHeight(),
|
||||
overriddenInfo.refreshRateOverride);
|
||||
overriddenInfo.modeId =
|
||||
overriddenInfo.supportedModes[overriddenInfo.supportedModes.length - 1]
|
||||
.getModeId();
|
||||
}
|
||||
|
||||
return info;
|
||||
return overriddenInfo;
|
||||
}
|
||||
|
||||
private DisplayInfo getDisplayInfoInternal(int displayId, int callingUid) {
|
||||
@@ -2602,11 +2594,6 @@ public final class DisplayManagerService extends SystemService {
|
||||
long getDefaultDisplayDelayTimeout() {
|
||||
return WAIT_FOR_DEFAULT_DISPLAY_TIMEOUT;
|
||||
}
|
||||
|
||||
boolean getAllowNonNativeRefreshRateOverride() {
|
||||
return DisplayProperties
|
||||
.debug_allow_non_native_refresh_rate_override().orElse(true);
|
||||
}
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
|
||||
@@ -171,22 +171,6 @@ public class DisplayManagerServiceTest {
|
||||
|
||||
private final DisplayManagerService.Injector mBasicInjector = new BasicInjector();
|
||||
|
||||
private final DisplayManagerService.Injector mAllowNonNativeRefreshRateOverrideInjector =
|
||||
new BasicInjector() {
|
||||
@Override
|
||||
boolean getAllowNonNativeRefreshRateOverride() {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
private final DisplayManagerService.Injector mDenyNonNativeRefreshRateOverrideInjector =
|
||||
new BasicInjector() {
|
||||
@Override
|
||||
boolean getAllowNonNativeRefreshRateOverride() {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
@Mock InputManagerInternal mMockInputManagerInternal;
|
||||
@Mock VirtualDeviceManagerInternal mMockVirtualDeviceManagerInternal;
|
||||
@Mock IVirtualDisplayCallback.Stub mMockAppToken;
|
||||
@@ -1044,13 +1028,32 @@ public class DisplayManagerServiceTest {
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the frame rate override is updated accordingly to the
|
||||
* allowNonNativeRefreshRateOverride policy.
|
||||
* Tests that the frame rate override is returning the correct value from
|
||||
* DisplayInfo#getRefreshRate
|
||||
*/
|
||||
@Test
|
||||
public void testDisplayInfoNonNativeFrameRateOverride() throws Exception {
|
||||
testDisplayInfoNonNativeFrameRateOverride(mDenyNonNativeRefreshRateOverrideInjector);
|
||||
testDisplayInfoNonNativeFrameRateOverride(mAllowNonNativeRefreshRateOverrideInjector);
|
||||
DisplayManagerService displayManager =
|
||||
new DisplayManagerService(mContext, mBasicInjector);
|
||||
DisplayManagerService.BinderService displayManagerBinderService =
|
||||
displayManager.new BinderService();
|
||||
registerDefaultDisplays(displayManager);
|
||||
displayManager.onBootPhase(SystemService.PHASE_WAIT_FOR_DEFAULT_DISPLAY);
|
||||
|
||||
FakeDisplayDevice displayDevice = createFakeDisplayDevice(displayManager,
|
||||
new float[]{60f});
|
||||
int displayId = getDisplayIdForDisplayDevice(displayManager, displayManagerBinderService,
|
||||
displayDevice);
|
||||
DisplayInfo displayInfo = displayManagerBinderService.getDisplayInfo(displayId);
|
||||
assertEquals(60f, displayInfo.getRefreshRate(), 0.01f);
|
||||
|
||||
updateFrameRateOverride(displayManager, displayDevice,
|
||||
new DisplayEventReceiver.FrameRateOverride[]{
|
||||
new DisplayEventReceiver.FrameRateOverride(
|
||||
Process.myUid(), 20f)
|
||||
});
|
||||
displayInfo = displayManagerBinderService.getDisplayInfo(displayId);
|
||||
assertEquals(20f, displayInfo.getRefreshRate(), 0.01f);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1078,10 +1081,7 @@ public class DisplayManagerServiceTest {
|
||||
@Test
|
||||
@DisableCompatChanges({DisplayManagerService.DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE})
|
||||
public void testDisplayInfoNonNativeFrameRateOverrideModeCompat() throws Exception {
|
||||
testDisplayInfoNonNativeFrameRateOverrideMode(mDenyNonNativeRefreshRateOverrideInjector,
|
||||
/*compatChangeEnabled*/ false);
|
||||
testDisplayInfoNonNativeFrameRateOverrideMode(mAllowNonNativeRefreshRateOverrideInjector,
|
||||
/*compatChangeEnabled*/ false);
|
||||
testDisplayInfoNonNativeFrameRateOverrideMode(/*compatChangeEnabled*/ false);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1090,10 +1090,7 @@ public class DisplayManagerServiceTest {
|
||||
@Test
|
||||
@EnableCompatChanges({DisplayManagerService.DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE})
|
||||
public void testDisplayInfoNonNativeFrameRateOverrideMode() throws Exception {
|
||||
testDisplayInfoNonNativeFrameRateOverrideMode(mDenyNonNativeRefreshRateOverrideInjector,
|
||||
/*compatChangeEnabled*/ true);
|
||||
testDisplayInfoNonNativeFrameRateOverrideMode(mAllowNonNativeRefreshRateOverrideInjector,
|
||||
/*compatChangeEnabled*/ true);
|
||||
testDisplayInfoNonNativeFrameRateOverrideMode(/*compatChangeEnabled*/ true);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1316,10 +1313,9 @@ public class DisplayManagerServiceTest {
|
||||
assertEquals(expectedMode, displayInfo.getMode());
|
||||
}
|
||||
|
||||
private void testDisplayInfoNonNativeFrameRateOverrideMode(
|
||||
DisplayManagerService.Injector injector, boolean compatChangeEnabled) {
|
||||
private void testDisplayInfoNonNativeFrameRateOverrideMode(boolean compatChangeEnabled) {
|
||||
DisplayManagerService displayManager =
|
||||
new DisplayManagerService(mContext, injector);
|
||||
new DisplayManagerService(mContext, mBasicInjector);
|
||||
DisplayManagerService.BinderService displayManagerBinderService =
|
||||
displayManager.new BinderService();
|
||||
registerDefaultDisplays(displayManager);
|
||||
@@ -1341,40 +1337,12 @@ public class DisplayManagerServiceTest {
|
||||
Display.Mode expectedMode;
|
||||
if (compatChangeEnabled) {
|
||||
expectedMode = new Display.Mode(1, 100, 200, 60f);
|
||||
} else if (injector.getAllowNonNativeRefreshRateOverride()) {
|
||||
expectedMode = new Display.Mode(255, 100, 200, 20f);
|
||||
} else {
|
||||
expectedMode = new Display.Mode(1, 100, 200, 60f);
|
||||
expectedMode = new Display.Mode(255, 100, 200, 20f);
|
||||
}
|
||||
assertEquals(expectedMode, displayInfo.getMode());
|
||||
}
|
||||
|
||||
private void testDisplayInfoNonNativeFrameRateOverride(
|
||||
DisplayManagerService.Injector injector) {
|
||||
DisplayManagerService displayManager =
|
||||
new DisplayManagerService(mContext, injector);
|
||||
DisplayManagerService.BinderService displayManagerBinderService =
|
||||
displayManager.new BinderService();
|
||||
registerDefaultDisplays(displayManager);
|
||||
displayManager.onBootPhase(SystemService.PHASE_WAIT_FOR_DEFAULT_DISPLAY);
|
||||
|
||||
FakeDisplayDevice displayDevice = createFakeDisplayDevice(displayManager,
|
||||
new float[]{60f});
|
||||
int displayId = getDisplayIdForDisplayDevice(displayManager, displayManagerBinderService,
|
||||
displayDevice);
|
||||
DisplayInfo displayInfo = displayManagerBinderService.getDisplayInfo(displayId);
|
||||
assertEquals(60f, displayInfo.getRefreshRate(), 0.01f);
|
||||
|
||||
updateFrameRateOverride(displayManager, displayDevice,
|
||||
new DisplayEventReceiver.FrameRateOverride[]{
|
||||
new DisplayEventReceiver.FrameRateOverride(
|
||||
Process.myUid(), 20f)
|
||||
});
|
||||
displayInfo = displayManagerBinderService.getDisplayInfo(displayId);
|
||||
float expectedRefreshRate = injector.getAllowNonNativeRefreshRateOverride() ? 20f : 60f;
|
||||
assertEquals(expectedRefreshRate, displayInfo.getRefreshRate(), 0.01f);
|
||||
}
|
||||
|
||||
private int getDisplayIdForDisplayDevice(
|
||||
DisplayManagerService displayManager,
|
||||
DisplayManagerService.BinderService displayManagerBinderService,
|
||||
|
||||
Reference in New Issue
Block a user