Merge "DisplayModeDirector: initialize min/max refresh rate" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
c11267f389
@@ -178,6 +178,8 @@ public class DisplayModeDirector {
|
|||||||
float maxRefreshRate = Float.POSITIVE_INFINITY;
|
float maxRefreshRate = Float.POSITIVE_INFINITY;
|
||||||
int lowestConsideredPriority = Vote.MIN_PRIORITY;
|
int lowestConsideredPriority = Vote.MIN_PRIORITY;
|
||||||
while (lowestConsideredPriority <= Vote.MAX_PRIORITY) {
|
while (lowestConsideredPriority <= Vote.MAX_PRIORITY) {
|
||||||
|
minRefreshRate = 0f;
|
||||||
|
maxRefreshRate = Float.POSITIVE_INFINITY;
|
||||||
int height = Vote.INVALID_SIZE;
|
int height = Vote.INVALID_SIZE;
|
||||||
int width = Vote.INVALID_SIZE;
|
int width = Vote.INVALID_SIZE;
|
||||||
|
|
||||||
|
|||||||
@@ -144,4 +144,49 @@ public class DisplayModeDirectorTest {
|
|||||||
Truth.assertThat(desiredSpecs.refreshRateRange.max).isWithin(FLOAT_TOLERANCE).of(60);
|
Truth.assertThat(desiredSpecs.refreshRateRange.max).isWithin(FLOAT_TOLERANCE).of(60);
|
||||||
Truth.assertThat(desiredSpecs.baseModeId).isEqualTo(60);
|
Truth.assertThat(desiredSpecs.baseModeId).isEqualTo(60);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testBrightnessHasLowerPriorityThanUser() {
|
||||||
|
assertTrue(Vote.PRIORITY_LOW_BRIGHTNESS < Vote.PRIORITY_APP_REQUEST_REFRESH_RATE);
|
||||||
|
assertTrue(Vote.PRIORITY_LOW_BRIGHTNESS < Vote.PRIORITY_APP_REQUEST_SIZE);
|
||||||
|
|
||||||
|
int displayId = 0;
|
||||||
|
DisplayModeDirector director = createDisplayModeDirectorWithDisplayFpsRange(60, 90);
|
||||||
|
SparseArray<Vote> votes = new SparseArray<>();
|
||||||
|
SparseArray<SparseArray<Vote>> votesByDisplay = new SparseArray<>();
|
||||||
|
votesByDisplay.put(displayId, votes);
|
||||||
|
votes.put(Vote.PRIORITY_APP_REQUEST_REFRESH_RATE, Vote.forRefreshRates(60, 90));
|
||||||
|
votes.put(Vote.PRIORITY_LOW_BRIGHTNESS, Vote.forRefreshRates(60, 60));
|
||||||
|
director.injectVotesByDisplay(votesByDisplay);
|
||||||
|
DesiredDisplayModeSpecs desiredSpecs = director.getDesiredDisplayModeSpecs(displayId);
|
||||||
|
Truth.assertThat(desiredSpecs.refreshRateRange.min).isWithin(FLOAT_TOLERANCE).of(60);
|
||||||
|
Truth.assertThat(desiredSpecs.refreshRateRange.max).isWithin(FLOAT_TOLERANCE).of(60);
|
||||||
|
|
||||||
|
votes.clear();
|
||||||
|
votes.put(Vote.PRIORITY_APP_REQUEST_REFRESH_RATE, Vote.forRefreshRates(60, 90));
|
||||||
|
votes.put(Vote.PRIORITY_LOW_BRIGHTNESS, Vote.forRefreshRates(90, 90));
|
||||||
|
director.injectVotesByDisplay(votesByDisplay);
|
||||||
|
desiredSpecs = director.getDesiredDisplayModeSpecs(displayId);
|
||||||
|
Truth.assertThat(desiredSpecs.refreshRateRange.min).isWithin(FLOAT_TOLERANCE).of(90);
|
||||||
|
Truth.assertThat(desiredSpecs.refreshRateRange.max).isWithin(FLOAT_TOLERANCE).of(90);
|
||||||
|
|
||||||
|
|
||||||
|
votes.clear();
|
||||||
|
votes.put(Vote.PRIORITY_APP_REQUEST_REFRESH_RATE, Vote.forRefreshRates(90, 90));
|
||||||
|
votes.put(Vote.PRIORITY_LOW_BRIGHTNESS, Vote.forRefreshRates(60, 60));
|
||||||
|
director.injectVotesByDisplay(votesByDisplay);
|
||||||
|
desiredSpecs = director.getDesiredDisplayModeSpecs(displayId);
|
||||||
|
Truth.assertThat(desiredSpecs.refreshRateRange.min).isWithin(FLOAT_TOLERANCE).of(90);
|
||||||
|
Truth.assertThat(desiredSpecs.refreshRateRange.max).isWithin(FLOAT_TOLERANCE).of(90);
|
||||||
|
|
||||||
|
votes.clear();
|
||||||
|
votes.put(Vote.PRIORITY_APP_REQUEST_REFRESH_RATE, Vote.forRefreshRates(60, 60));
|
||||||
|
votes.put(Vote.PRIORITY_LOW_BRIGHTNESS, Vote.forRefreshRates(90, 90));
|
||||||
|
director.injectVotesByDisplay(votesByDisplay);
|
||||||
|
desiredSpecs = director.getDesiredDisplayModeSpecs(displayId);
|
||||||
|
Truth.assertThat(desiredSpecs.refreshRateRange.min).isWithin(FLOAT_TOLERANCE).of(60);
|
||||||
|
Truth.assertThat(desiredSpecs.refreshRateRange.max).isWithin(FLOAT_TOLERANCE).of(60);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user