Loading services/core/java/com/android/server/display/DisplayModeDirector.java +19 −14 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ import android.view.Display; import android.view.DisplayInfo; import com.android.internal.R; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.os.BackgroundThread; import com.android.server.LocalServices; Loading Loading @@ -2127,7 +2128,7 @@ public class DisplayModeDirector { } } private final class SensorObserver implements ProximityActiveListener, private static final class SensorObserver implements ProximityActiveListener, DisplayManager.DisplayListener { private final String mProximitySensorName = null; private final String mProximitySensorType = Sensor.STRING_TYPE_PROXIMITY; Loading @@ -2135,22 +2136,24 @@ public class DisplayModeDirector { private final BallotBox mBallotBox; private final Context mContext; private final Injector mInjector; @GuardedBy("mSensorObserverLock") private final SparseBooleanArray mDozeStateByDisplay = new SparseBooleanArray(); private final Object mSensorObserverLock = new Object(); private DisplayManager mDisplayManager; private DisplayManagerInternal mDisplayManagerInternal; @GuardedBy("mSensorObserverLock") private boolean mIsProxActive = false; private final SparseBooleanArray mDozeStateByDisplay; SensorObserver(Context context, BallotBox ballotBox, Injector injector) { mContext = context; mBallotBox = ballotBox; mInjector = injector; mDozeStateByDisplay = new SparseBooleanArray(); } @Override public void onProximityActive(boolean isActive) { synchronized (mLock) { synchronized (mSensorObserverLock) { if (mIsProxActive != isActive) { mIsProxActive = isActive; recalculateVotesLocked(); Loading @@ -2166,7 +2169,7 @@ public class DisplayModeDirector { LocalServices.getService(SensorManagerInternal.class); sensorManager.addProximityActiveListener(BackgroundThread.getExecutor(), this); synchronized (mLock) { synchronized (mSensorObserverLock) { for (Display d : mDisplayManager.getDisplays()) { mDozeStateByDisplay.put(d.getDisplayId(), mInjector.isDozeState(d)); } Loading Loading @@ -2196,6 +2199,7 @@ public class DisplayModeDirector { void dumpLocked(PrintWriter pw) { pw.println(" SensorObserver"); synchronized (mSensorObserverLock) { pw.println(" mIsProxActive=" + mIsProxActive); pw.println(" mDozeStateByDisplay:"); for (int i = 0; i < mDozeStateByDisplay.size(); i++) { Loading @@ -2204,11 +2208,12 @@ public class DisplayModeDirector { pw.println(" " + id + " -> " + dozed); } } } @Override public void onDisplayAdded(int displayId) { boolean isDozeState = mInjector.isDozeState(mDisplayManager.getDisplay(displayId)); synchronized (mLock) { synchronized (mSensorObserverLock) { mDozeStateByDisplay.put(displayId, isDozeState); recalculateVotesLocked(); } Loading @@ -2217,7 +2222,7 @@ public class DisplayModeDirector { @Override public void onDisplayChanged(int displayId) { boolean wasDozeState = mDozeStateByDisplay.get(displayId); synchronized (mLock) { synchronized (mSensorObserverLock) { mDozeStateByDisplay.put(displayId, mInjector.isDozeState(mDisplayManager.getDisplay(displayId))); if (wasDozeState != mDozeStateByDisplay.get(displayId)) { Loading @@ -2228,7 +2233,7 @@ public class DisplayModeDirector { @Override public void onDisplayRemoved(int displayId) { synchronized (mLock) { synchronized (mSensorObserverLock) { mDozeStateByDisplay.delete(displayId); recalculateVotesLocked(); } Loading Loading
services/core/java/com/android/server/display/DisplayModeDirector.java +19 −14 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ import android.view.Display; import android.view.DisplayInfo; import com.android.internal.R; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.os.BackgroundThread; import com.android.server.LocalServices; Loading Loading @@ -2127,7 +2128,7 @@ public class DisplayModeDirector { } } private final class SensorObserver implements ProximityActiveListener, private static final class SensorObserver implements ProximityActiveListener, DisplayManager.DisplayListener { private final String mProximitySensorName = null; private final String mProximitySensorType = Sensor.STRING_TYPE_PROXIMITY; Loading @@ -2135,22 +2136,24 @@ public class DisplayModeDirector { private final BallotBox mBallotBox; private final Context mContext; private final Injector mInjector; @GuardedBy("mSensorObserverLock") private final SparseBooleanArray mDozeStateByDisplay = new SparseBooleanArray(); private final Object mSensorObserverLock = new Object(); private DisplayManager mDisplayManager; private DisplayManagerInternal mDisplayManagerInternal; @GuardedBy("mSensorObserverLock") private boolean mIsProxActive = false; private final SparseBooleanArray mDozeStateByDisplay; SensorObserver(Context context, BallotBox ballotBox, Injector injector) { mContext = context; mBallotBox = ballotBox; mInjector = injector; mDozeStateByDisplay = new SparseBooleanArray(); } @Override public void onProximityActive(boolean isActive) { synchronized (mLock) { synchronized (mSensorObserverLock) { if (mIsProxActive != isActive) { mIsProxActive = isActive; recalculateVotesLocked(); Loading @@ -2166,7 +2169,7 @@ public class DisplayModeDirector { LocalServices.getService(SensorManagerInternal.class); sensorManager.addProximityActiveListener(BackgroundThread.getExecutor(), this); synchronized (mLock) { synchronized (mSensorObserverLock) { for (Display d : mDisplayManager.getDisplays()) { mDozeStateByDisplay.put(d.getDisplayId(), mInjector.isDozeState(d)); } Loading Loading @@ -2196,6 +2199,7 @@ public class DisplayModeDirector { void dumpLocked(PrintWriter pw) { pw.println(" SensorObserver"); synchronized (mSensorObserverLock) { pw.println(" mIsProxActive=" + mIsProxActive); pw.println(" mDozeStateByDisplay:"); for (int i = 0; i < mDozeStateByDisplay.size(); i++) { Loading @@ -2204,11 +2208,12 @@ public class DisplayModeDirector { pw.println(" " + id + " -> " + dozed); } } } @Override public void onDisplayAdded(int displayId) { boolean isDozeState = mInjector.isDozeState(mDisplayManager.getDisplay(displayId)); synchronized (mLock) { synchronized (mSensorObserverLock) { mDozeStateByDisplay.put(displayId, isDozeState); recalculateVotesLocked(); } Loading @@ -2217,7 +2222,7 @@ public class DisplayModeDirector { @Override public void onDisplayChanged(int displayId) { boolean wasDozeState = mDozeStateByDisplay.get(displayId); synchronized (mLock) { synchronized (mSensorObserverLock) { mDozeStateByDisplay.put(displayId, mInjector.isDozeState(mDisplayManager.getDisplay(displayId))); if (wasDozeState != mDozeStateByDisplay.get(displayId)) { Loading @@ -2228,7 +2233,7 @@ public class DisplayModeDirector { @Override public void onDisplayRemoved(int displayId) { synchronized (mLock) { synchronized (mSensorObserverLock) { mDozeStateByDisplay.delete(displayId); recalculateVotesLocked(); } Loading