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

Commit 6b5c6f33 authored by Danesh M's avatar Danesh M Committed by Gerrit Code Review
Browse files

Move keyDisabled and gamma to service

This allows us to keep track of user changes, and
update preferences.

CYNGNOS-1166

Change-Id: I8809c346c748e39e5d64b9e56a2b7623a0d0131b
parent 9552ddcf
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
@@ -52,11 +52,13 @@ import cyanogenmod.providers.CMSettings;
import cyanogenmod.util.ColorUtils;

import java.io.PrintWriter;
import java.util.List;

public class LiveDisplayController {

    private static final String TAG = "LiveDisplay";

    private static final String DELIMITER = "|";
    private static final long TWILIGHT_ADJUSTMENT_TIME = DateUtils.HOUR_IN_MILLIS * 1;

    private static final int OFF_TEMPERATURE = 6500;
@@ -214,6 +216,30 @@ public class LiveDisplayController {
        }

        updateLiveDisplay(mCurrentLux);
        updateGamma();
    }

    private void updateGamma() {
        if (!mHardware.isSupported(CMHardwareManager.FEATURE_DISPLAY_GAMMA_CALIBRATION)) {
            return;
        }
        ContentResolver contentResolver = mContext.getContentResolver();
        for (int i = 0; i < mHardware.getNumGammaControls(); i++) {
            List<String> gammaValue = CMSettings.Secure.getDelimitedStringAsList(
                    contentResolver, DELIMITER,
                    CMSettings.Secure.DISPLAY_GAMMA_CALIBRATION_PREFIX + i);
            if (gammaValue != null) {
                mHardware.setDisplayGammaCalibration(i, stringArrayToIntArray(gammaValue));
            }
        }
    }

    private int[] stringArrayToIntArray(List<String> value) {
        int[] result = new int[value.size()];
        for (int i = 0; i < value.size(); i++) {
            result[i] = Integer.parseInt(value.get(i));
        }
        return result;
    }

    private final class SettingsObserver extends UserContentObserver {
@@ -245,6 +271,13 @@ public class LiveDisplayController {
                cr.registerContentObserver(DISPLAY_LOW_POWER_URI, false, this, UserHandle.USER_ALL);
                cr.registerContentObserver(DISPLAY_COLOR_ENHANCE_URI, false, this, UserHandle.USER_ALL);
                cr.registerContentObserver(DISPLAY_COLOR_ADJUSTMENT_URI, false, this, UserHandle.USER_ALL);
                if (mHardware.isSupported(CMHardwareManager.FEATURE_DISPLAY_GAMMA_CALIBRATION)) {
                    for (int i = 0; i < mHardware.getNumGammaControls(); i++) {
                        Uri gammaUri = CMSettings.Secure.getUriFor(
                                CMSettings.Secure.DISPLAY_GAMMA_CALIBRATION_PREFIX + i);
                        cr.registerContentObserver(gammaUri, false, this, UserHandle.USER_ALL);
                    }
                }
                observe();
            } else {
                cr.unregisterContentObserver(this);
+11 −1
Original line number Diff line number Diff line
@@ -86,6 +86,8 @@ import android.telecom.TelecomManager;
import com.android.internal.os.DeviceKeyHandler;

import com.android.internal.util.cm.ActionUtils;

import cyanogenmod.hardware.CMHardwareManager;
import cyanogenmod.providers.CMSettings;
import dalvik.system.DexClassLoader;
import android.util.DisplayMetrics;
@@ -746,6 +748,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    private boolean mHasPermanentMenuKey;
    private boolean mClearedBecauseOfForceShow;
    private boolean mTopWindowIsKeyguard;
    private CMHardwareManager mCMHardware;

    private class PolicyHandler extends Handler {
        @Override
@@ -1611,7 +1614,6 @@ public class PhoneWindowManager implements WindowManagerPolicy {
            mOrientationListener.setCurrentRotation(windowManager.getRotation());
        } catch (RemoteException ex) { }
        mSettingsObserver = new SettingsObserver(mHandler);
        mSettingsObserver.observe();
        mShortcutManager = new ShortcutManager(context);
        mUiMode = context.getResources().getInteger(
                com.android.internal.R.integer.config_defaultUiModeType);
@@ -2124,6 +2126,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                    CMSettings.Secure.DEV_FORCE_SHOW_NAVBAR, 0, UserHandle.USER_CURRENT) == 1;
            if (devForceNavbar != mDevForceNavbar) {
                mDevForceNavbar = devForceNavbar;
                if (mCMHardware.isSupported(CMHardwareManager.FEATURE_KEY_DISABLE)) {
                    mCMHardware.set(CMHardwareManager.FEATURE_KEY_DISABLE, mDevForceNavbar);
                }
            }

            mNavigationBarLeftInLandscape = CMSettings.System.getIntForUser(resolver,
@@ -6890,6 +6895,11 @@ public class PhoneWindowManager implements WindowManagerPolicy {
        mKeyguardDelegate = new KeyguardServiceDelegate(mContext);
        mKeyguardDelegate.onSystemReady();

        mCMHardware = CMHardwareManager.getInstance(mContext);
        // Ensure observe happens in systemReady() since we need
        // CMHardwareService to be up and running
        mSettingsObserver.observe();

        readCameraLensCoverState();
        updateUiMode();
        boolean bindKeyguardNow;
+11 −2
Original line number Diff line number Diff line
@@ -524,6 +524,7 @@ public final class PowerManagerService extends SystemService
    private boolean mProximityWakeSupported;
    android.os.PowerManager.WakeLock mProximityWakeLock;
    SensorEventListener mProximityListener;
    private boolean mForceNavbar;

    private PerformanceManagerInternal mPerf;

@@ -698,6 +699,9 @@ public final class PowerManagerService extends SystemService
            resolver.registerContentObserver(CMSettings.Global.getUriFor(
                    CMSettings.Global.WAKE_WHEN_PLUGGED_OR_UNPLUGGED),
                    false, mSettingsObserver, UserHandle.USER_ALL);
            resolver.registerContentObserver(CMSettings.Secure.getUriFor(
                    CMSettings.Secure.DEV_FORCE_SHOW_NAVBAR),
                    false, mSettingsObserver, UserHandle.USER_ALL);

            // Go.
            readConfigurationLocked();
@@ -842,7 +846,8 @@ public final class PowerManagerService extends SystemService
        mKeyboardBrightness = CMSettings.Secure.getIntForUser(resolver,
                CMSettings.Secure.KEYBOARD_BRIGHTNESS, mKeyboardBrightnessSettingDefault,
                UserHandle.USER_CURRENT);

        mForceNavbar = CMSettings.Secure.getIntForUser(resolver,
                CMSettings.Secure.DEV_FORCE_SHOW_NAVBAR, 0, UserHandle.USER_CURRENT) == 1;
        mDirty |= DIRTY_SETTINGS;
    }

@@ -1700,7 +1705,11 @@ public final class PowerManagerService extends SystemService
                                buttonBrightness = mButtonBrightnessOverrideFromWindowManager;
                                keyboardBrightness = mButtonBrightnessOverrideFromWindowManager;
                            } else {
                                if (!mForceNavbar) {
                                    buttonBrightness = mButtonBrightness;
                                } else {
                                    buttonBrightness = 0;
                                }
                                keyboardBrightness = mKeyboardBrightness;
                            }