Merge "Don't request traversals when updating display brightness." into mnc-dev
This commit is contained in:
@@ -346,6 +346,8 @@ public final class DisplayManagerService extends SystemService {
|
|||||||
synchronized (mTempDisplayStateWorkQueue) {
|
synchronized (mTempDisplayStateWorkQueue) {
|
||||||
try {
|
try {
|
||||||
// Update the display state within the lock.
|
// Update the display state within the lock.
|
||||||
|
// Note that we do not need to schedule traversals here although it
|
||||||
|
// may happen as a side-effect of displays changing state.
|
||||||
synchronized (mSyncRoot) {
|
synchronized (mSyncRoot) {
|
||||||
if (mGlobalDisplayState == state
|
if (mGlobalDisplayState == state
|
||||||
&& mGlobalDisplayBrightness == brightness) {
|
&& mGlobalDisplayBrightness == brightness) {
|
||||||
@@ -357,8 +359,7 @@ public final class DisplayManagerService extends SystemService {
|
|||||||
+ ", brightness=" + brightness + ")");
|
+ ", brightness=" + brightness + ")");
|
||||||
mGlobalDisplayState = state;
|
mGlobalDisplayState = state;
|
||||||
mGlobalDisplayBrightness = brightness;
|
mGlobalDisplayBrightness = brightness;
|
||||||
updateGlobalDisplayStateLocked(mTempDisplayStateWorkQueue);
|
applyGlobalDisplayStateLocked(mTempDisplayStateWorkQueue);
|
||||||
scheduleTraversalLocked(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Setting the display power state can take hundreds of milliseconds
|
// Setting the display power state can take hundreds of milliseconds
|
||||||
@@ -715,6 +716,7 @@ public final class DisplayManagerService extends SystemService {
|
|||||||
handleDisplayDeviceRemovedLocked(device);
|
handleDisplayDeviceRemovedLocked(device);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleDisplayDeviceRemovedLocked(DisplayDevice device) {
|
private void handleDisplayDeviceRemovedLocked(DisplayDevice device) {
|
||||||
DisplayDeviceInfo info = device.getDisplayDeviceInfoLocked();
|
DisplayDeviceInfo info = device.getDisplayDeviceInfoLocked();
|
||||||
if (!mDisplayDevices.remove(device)) {
|
if (!mDisplayDevices.remove(device)) {
|
||||||
@@ -729,7 +731,7 @@ public final class DisplayManagerService extends SystemService {
|
|||||||
scheduleTraversalLocked(false);
|
scheduleTraversalLocked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateGlobalDisplayStateLocked(List<Runnable> workQueue) {
|
private void applyGlobalDisplayStateLocked(List<Runnable> workQueue) {
|
||||||
final int count = mDisplayDevices.size();
|
final int count = mDisplayDevices.size();
|
||||||
for (int i = 0; i < count; i++) {
|
for (int i = 0; i < count; i++) {
|
||||||
DisplayDevice device = mDisplayDevices.get(i);
|
DisplayDevice device = mDisplayDevices.get(i);
|
||||||
|
|||||||
Reference in New Issue
Block a user