Merge "Set persist.sys.theme based on darktheme" into qt-dev
am: 344083c3d9
Change-Id: I8e1eedf4e219655dfd233b2b20034eb7d338c726
This commit is contained in:
@@ -46,7 +46,9 @@ import android.os.ResultReceiver;
|
|||||||
import android.os.ServiceManager;
|
import android.os.ServiceManager;
|
||||||
import android.os.ShellCallback;
|
import android.os.ShellCallback;
|
||||||
import android.os.ShellCommand;
|
import android.os.ShellCommand;
|
||||||
|
import android.os.SystemProperties;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
|
import android.os.UserManager;
|
||||||
import android.provider.Settings.Secure;
|
import android.provider.Settings.Secure;
|
||||||
import android.service.dreams.Sandman;
|
import android.service.dreams.Sandman;
|
||||||
import android.service.vr.IVrManager;
|
import android.service.vr.IVrManager;
|
||||||
@@ -64,6 +66,7 @@ import com.android.server.twilight.TwilightState;
|
|||||||
|
|
||||||
import java.io.FileDescriptor;
|
import java.io.FileDescriptor;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
final class UiModeManagerService extends SystemService {
|
final class UiModeManagerService extends SystemService {
|
||||||
private static final String TAG = UiModeManager.class.getSimpleName();
|
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.
|
// Enable launching of applications when entering the dock.
|
||||||
private static final boolean ENABLE_LAUNCH_DESK_DOCK_APP = true;
|
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();
|
final Object mLock = new Object();
|
||||||
private int mDockState = Intent.EXTRA_DOCK_STATE_UNDOCKED;
|
private int mDockState = Intent.EXTRA_DOCK_STATE_UNDOCKED;
|
||||||
@@ -330,8 +334,13 @@ final class UiModeManagerService extends SystemService {
|
|||||||
mNightMode = defaultNightMode;
|
mNightMode = defaultNightMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
// false if night mode stayed the same, true otherwise.
|
if (UserManager.get(context).isPrimaryUser()) {
|
||||||
return !(oldNightMode == mNightMode);
|
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() {
|
private final IUiModeManager.Stub mService = new IUiModeManager.Stub() {
|
||||||
@@ -411,6 +420,11 @@ final class UiModeManagerService extends SystemService {
|
|||||||
try {
|
try {
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
if (mNightMode != mode) {
|
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
|
// Only persist setting if not in car mode
|
||||||
if (!mCarModeEnabled) {
|
if (!mCarModeEnabled) {
|
||||||
Secure.putIntForUser(getContext().getContentResolver(),
|
Secure.putIntForUser(getContext().getContentResolver(),
|
||||||
|
|||||||
Reference in New Issue
Block a user