Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 44d47c54 authored by Aurélien Pomini's avatar Aurélien Pomini Committed by Automerger Merge Worker
Browse files

Merge "Let the contrast API support multiple users" into udc-dev am: ff92cb0d

parents 0924e433 ff92cb0d
Loading
Loading
Loading
Loading
+11 −5
Original line number Original line Diff line number Diff line
@@ -28,6 +28,7 @@ import static android.app.UiModeManager.MODE_NIGHT_YES;
import static android.app.UiModeManager.PROJECTION_TYPE_AUTOMOTIVE;
import static android.app.UiModeManager.PROJECTION_TYPE_AUTOMOTIVE;
import static android.app.UiModeManager.PROJECTION_TYPE_NONE;
import static android.app.UiModeManager.PROJECTION_TYPE_NONE;
import static android.os.UserHandle.USER_SYSTEM;
import static android.os.UserHandle.USER_SYSTEM;
import static android.os.UserHandle.getCallingUserId;
import static android.provider.Settings.Secure.CONTRAST_LEVEL;
import static android.provider.Settings.Secure.CONTRAST_LEVEL;
import static android.util.TimeUtils.isTimeBetween;
import static android.util.TimeUtils.isTimeBetween;


@@ -199,8 +200,8 @@ final class UiModeManagerService extends SystemService {
    private PowerManagerInternal mLocalPowerManager;
    private PowerManagerInternal mLocalPowerManager;


    @GuardedBy("mLock")
    @GuardedBy("mLock")
    private final RemoteCallbackList<IUiModeManagerCallback> mUiModeManagerCallbacks =
    private final SparseArray<RemoteCallbackList<IUiModeManagerCallback>> mUiModeManagerCallbacks =
            new RemoteCallbackList<IUiModeManagerCallback>();
            new SparseArray<>();


    @GuardedBy("mLock")
    @GuardedBy("mLock")
    @Nullable
    @Nullable
@@ -371,8 +372,9 @@ final class UiModeManagerService extends SystemService {
            synchronized (mLock) {
            synchronized (mLock) {
                if (updateContrastLocked()) {
                if (updateContrastLocked()) {
                    float contrast = getContrastLocked();
                    float contrast = getContrastLocked();
                    mUiModeManagerCallbacks.broadcast(ignoreRemoteException(callback ->
                    mUiModeManagerCallbacks.get(mCurrentUser, new RemoteCallbackList<>())
                            callback.notifyContrastChanged(contrast)));
                            .broadcast(ignoreRemoteException(
                                    callback -> callback.notifyContrastChanged(contrast)));
                }
                }
            }
            }
        }
        }
@@ -664,8 +666,12 @@ final class UiModeManagerService extends SystemService {
    private final IUiModeManager.Stub mService = new IUiModeManager.Stub() {
    private final IUiModeManager.Stub mService = new IUiModeManager.Stub() {
        @Override
        @Override
        public void addCallback(IUiModeManagerCallback callback) {
        public void addCallback(IUiModeManagerCallback callback) {
            int userId = getCallingUserId();
            synchronized (mLock) {
            synchronized (mLock) {
                mUiModeManagerCallbacks.register(callback);
                if (!mUiModeManagerCallbacks.contains(userId)) {
                    mUiModeManagerCallbacks.put(userId, new RemoteCallbackList<>());
                }
                mUiModeManagerCallbacks.get(userId).register(callback);
            }
            }
        }
        }