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

Commit af525e99 authored by Tao Bao's avatar Tao Bao Committed by android-build-merger
Browse files

Merge "Set persist.sys.theme based on darktheme" into qt-dev

am: 344083c3

Change-Id: I8e1eedf4e219655dfd233b2b20034eb7d338c726
parents 41d9e7ca 344083c3
Loading
Loading
Loading
Loading
+16 −2
Original line number Diff line number Diff line
@@ -46,7 +46,9 @@ import android.os.ResultReceiver;
import android.os.ServiceManager;
import android.os.ShellCallback;
import android.os.ShellCommand;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings.Secure;
import android.service.dreams.Sandman;
import android.service.vr.IVrManager;
@@ -64,6 +66,7 @@ import com.android.server.twilight.TwilightState;

import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.Objects;

final class UiModeManagerService extends SystemService {
    private static final String TAG = UiModeManager.class.getSimpleName();
@@ -71,6 +74,7 @@ final class UiModeManagerService extends SystemService {

    // Enable launching of applications when entering the dock.
    private static final boolean ENABLE_LAUNCH_DESK_DOCK_APP = true;
    private static final String SYSTEM_PROPERTY_DEVICE_THEME = "persist.sys.theme";

    final Object mLock = new Object();
    private int mDockState = Intent.EXTRA_DOCK_STATE_UNDOCKED;
@@ -330,8 +334,13 @@ final class UiModeManagerService extends SystemService {
            mNightMode = defaultNightMode;
        }

        // false if night mode stayed the same, true otherwise.
        return !(oldNightMode == mNightMode);
        if (UserManager.get(context).isPrimaryUser()) {
            final String newTheme = Integer.toString(mNightMode);
            if (!Objects.equals(SystemProperties.get(SYSTEM_PROPERTY_DEVICE_THEME), mNightMode)) {
                SystemProperties.set(SYSTEM_PROPERTY_DEVICE_THEME, newTheme);
            }
        }
        return oldNightMode != mNightMode;
    }

    private final IUiModeManager.Stub mService = new IUiModeManager.Stub() {
@@ -411,6 +420,11 @@ final class UiModeManagerService extends SystemService {
            try {
                synchronized (mLock) {
                    if (mNightMode != mode) {
                        if (UserManager.get(getContext()).isPrimaryUser()) {
                            SystemProperties.set(SYSTEM_PROPERTY_DEVICE_THEME,
                                    Integer.toString(mode));
                        }

                        // Only persist setting if not in car mode
                        if (!mCarModeEnabled) {
                            Secure.putIntForUser(getContext().getContentResolver(),