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

Commit 4b1337e5 authored by Steve Kondik's avatar Steve Kondik
Browse files

livedisplay: Fix outdoor mode detection

 * Query CmHardware to determine if outdoor mode is available for the
   QS tile.

Change-Id: I0d6e0f160d25feac86133ded6bccad945d546bbd
parent b1d1b1a4
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -138,6 +138,9 @@
    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />

    <!-- LiveDisplay -->
    <uses-permission android:name="android.permission.HARDWARE_ABSTRACTION_ACCESS" />

    <application
        android:name=".SystemUIApplication"
        android:persistent="true"
+7 −3
Original line number Diff line number Diff line
@@ -16,10 +16,12 @@

package com.android.systemui.qs.tiles;

import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.database.ContentObserver;
import android.hardware.CmHardwareManager;
import android.os.Handler;
import android.os.UserHandle;
import android.provider.Settings;
@@ -69,9 +71,11 @@ public class LiveDisplayTile extends QSTile<LiveDisplayTile.LiveDisplayState> {
        mAnnouncementEntries = res.getStringArray(R.array.live_display_announcement);
        mValues = res.getStringArray(com.android.internal.R.array.live_display_values);

        mOutdoorModeAvailable = Settings.System.getIntForUser(mContext.getContentResolver(),
                Settings.System.DISPLAY_AUTO_OUTDOOR_MODE,
                -1, UserHandle.USER_CURRENT) > -1;
        final CmHardwareManager hardware =
                (CmHardwareManager) mContext.getSystemService(Context.CMHW_SERVICE);

        mOutdoorModeAvailable =
                hardware.isSupported(CmHardwareManager.FEATURE_SUNLIGHT_ENHANCEMENT);

        mDefaultDayTemperature = mContext.getResources().getInteger(
                com.android.internal.R.integer.config_dayColorTemperature);
+1 −9
Original line number Diff line number Diff line
@@ -119,10 +119,8 @@ public class LiveDisplayController {
        mTwilightManager = LocalServices.getService(TwilightManager.class);
        mTwilightManager.registerListener(mTwilightListener, mHandler);

        final boolean sunlightEnhancementSupported =
                mCmHardwareManager.isSupported(CmHardwareManager.FEATURE_SUNLIGHT_ENHANCEMENT);

        if (sunlightEnhancementSupported) {
        if (mCmHardwareManager.isSupported(CmHardwareManager.FEATURE_SUNLIGHT_ENHANCEMENT)) {
            mOutdoorMode = mCmHardwareManager.get(CmHardwareManager.FEATURE_SUNLIGHT_ENHANCEMENT);
        }

@@ -149,12 +147,6 @@ public class LiveDisplayController {
                -3,
                UserHandle.USER_CURRENT);

        // Workaround for CMHW - remove once the new patches are merged
        if (!sunlightEnhancementSupported) {
            Settings.System.putIntForUser(mContext.getContentResolver(),
                    Settings.System.DISPLAY_AUTO_OUTDOOR_MODE,
                    -1, UserHandle.USER_CURRENT);
        }
        updateSettings();
        mObserver.register(true);