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

Commit 3aafeec8 authored by dianlujitao's avatar dianlujitao Committed by Michael Bestas
Browse files

LiveDisplayTile: Enable for outdoor mode and skip night display on HWC2

Change-Id: I00ab654033827388f8063eafb98a89315cb47aa9
parent d1a8aade
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ package com.android.systemui.qs.tiles;
import static lineageos.hardware.LiveDisplayManager.FEATURE_MANAGED_OUTDOOR_MODE;
import static lineageos.hardware.LiveDisplayManager.MODE_AUTO;
import static lineageos.hardware.LiveDisplayManager.MODE_DAY;
import static lineageos.hardware.LiveDisplayManager.MODE_NIGHT;
import static lineageos.hardware.LiveDisplayManager.MODE_OFF;
import static lineageos.hardware.LiveDisplayManager.MODE_OUTDOOR;

@@ -29,7 +30,6 @@ import android.content.res.TypedArray;
import android.database.ContentObserver;
import android.os.Handler;
import android.os.UserHandle;
import android.provider.Settings;
import android.service.quicksettings.Tile;

import com.android.internal.app.ColorDisplayController;
@@ -62,6 +62,7 @@ public class LiveDisplayTile extends QSTileImpl<LiveDisplayState> {

    private int mDayTemperature;

    private final boolean mNightDisplayAvailable;
    private final boolean mOutdoorModeAvailable;

    private final LiveDisplayManager mLiveDisplay;
@@ -70,6 +71,7 @@ public class LiveDisplayTile extends QSTileImpl<LiveDisplayState> {

    public LiveDisplayTile(QSHost host) {
        super(host);
        mNightDisplayAvailable = ColorDisplayController.isAvailable(mContext);

        Resources res = mContext.getResources();
        TypedArray typedArray = res.obtainTypedArray(R.array.live_display_drawables);
@@ -106,7 +108,7 @@ public class LiveDisplayTile extends QSTileImpl<LiveDisplayState> {

    @Override
    public boolean isAvailable() {
        return !ColorDisplayController.isAvailable(mContext);
        return !mNightDisplayAvailable || mOutdoorModeAvailable;
    }

    @Override
@@ -184,10 +186,12 @@ public class LiveDisplayTile extends QSTileImpl<LiveDisplayState> {

        while (true) {
            nextMode = Integer.valueOf(mValues[next]);
            // Skip outdoor mode if it's unsupported, and skip the day setting
            // if it's the same as the off setting
            // Skip outdoor mode if it's unsupported, skip the day setting
            // if it's the same as the off setting, and skip night display
            // on HWC2
            if ((!mOutdoorModeAvailable && nextMode == MODE_OUTDOOR) ||
                    (mDayTemperature == OFF_TEMPERATURE && nextMode == MODE_DAY)) {
                    (mDayTemperature == OFF_TEMPERATURE && nextMode == MODE_DAY) ||
                    (mNightDisplayAvailable && (nextMode == MODE_DAY || nextMode == MODE_NIGHT))) {
                next++;
                if (next >= mValues.length) {
                    next = 0;