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

Commit 49052a40 authored by Romain Hunault's avatar Romain Hunault 💻
Browse files

Merge remote-tracking branch 'origin/lineage-16.0' into v1-pie

parents ba79dff4 e4f75f0e
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
/*
 * Copyright (C) 2015 The CyanogenMod Project
 * Copyright (C) 2018 The LineageOS Project
 * Copyright (C) 2018-2019 The LineageOS Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
@@ -32,6 +32,7 @@ import android.os.UserHandle;
import android.provider.Settings;
import android.service.quicksettings.Tile;

import com.android.internal.app.ColorDisplayController;
import com.android.internal.util.ArrayUtils;
import com.android.systemui.plugins.qs.QSTile.LiveDisplayState;
import com.android.systemui.qs.QSHost;
@@ -103,6 +104,11 @@ public class LiveDisplayTile extends QSTileImpl<LiveDisplayState> {
        mValues = res.getStringArray(R.array.live_display_values);
    }

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

    @Override
    public LiveDisplayState newTileState() {
        return new LiveDisplayState();
+22 −1
Original line number Diff line number Diff line
@@ -135,6 +135,7 @@ import android.widget.ImageView;
import android.widget.TextView;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.app.ColorDisplayController;
import com.android.internal.colorextraction.ColorExtractor;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -569,6 +570,8 @@ public class StatusBar extends SystemUI implements DemoMode, TunerService.Tunabl
    private boolean mKeyguardShowingMedia;
    private boolean mShowMediaMetadata;

    private ColorDisplayController mColorDisplayController;

    private BroadcastReceiver mWallpaperChangedReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
@@ -1075,6 +1078,9 @@ public class StatusBar extends SystemUI implements DemoMode, TunerService.Tunabl

        mVisualizerView = (VisualizerView) mStatusBarWindow.findViewById(R.id.visualizerview);

        mColorDisplayController = new ColorDisplayController(mContext,
                ActivityManager.getCurrentUser());

        // Other icons
        mVolumeComponent = getComponent(VolumeComponent.class);

@@ -2225,6 +2231,21 @@ public class StatusBar extends SystemUI implements DemoMode, TunerService.Tunabl
        return false;
    }

    private boolean isAospNightModeOn() {
        // SystemUI is initialized before ColorDisplayService, so the service may not
        // be ready when this is called the first time
        if (!mColorDisplayController.isAvailable(mContext)) {
            return false;
        }
        try {
            return mColorDisplayController.isActivated();
        } catch (NullPointerException e) {
            Log.w(TAG, e.getMessage());
        }
        return false;
    }


    private String getDarkOverlay() {
        return LineageSettings.System.getString(mContext.getContentResolver(),
                LineageSettings.System.BERRY_DARK_OVERLAY,
@@ -4154,7 +4175,7 @@ public class StatusBar extends SystemUI implements DemoMode, TunerService.Tunabl

        switch (globalStyleSetting) {
            case 1:
                useDarkTheme = isLiveDisplayNightModeOn();
                useDarkTheme = isLiveDisplayNightModeOn() || isAospNightModeOn();
                break;
            case 2:
                useDarkTheme = false;