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

Commit 9d42c48c authored by Michael W's avatar Michael W Committed by Luca Stefani
Browse files

SystemUI: Brightness slider: Always show the brightness icon

* Right now, we reserve the space for the icon but it's not displayed
  (reserved space is there so the slider doesn't jump)
* Always display the icon (if automatic brightness is available)
  so it's more consistent
* This also reverts the changes made in
  Ifb85643db669ee8d7473d3c48e7e4733428a77d6

Change-Id: I5238dc6aad51407349a8d42fae840ea76841dc3d
parent e952e58a
Loading
Loading
Loading
Loading
+0 −15
Original line number Diff line number Diff line
@@ -104,7 +104,6 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
    private Record mDetailRecord;

    private BrightnessMirrorController mBrightnessMirrorController;
    private ImageView mMirrorAutoBrightnessView;
    private View mDivider;

    public QSPanel(Context context) {
@@ -233,7 +232,6 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
            updateViewVisibilityForTuningValue(mAutoBrightnessView, newValue);
        } else if (QS_SHOW_BRIGHTNESS_SLIDER.equals(key)) {
            updateViewVisibilityForTuningValue(mBrightnessView, newValue);
            updateViewVisibilityForBrightnessMirrorIcon(newValue);
        }
    }

@@ -241,18 +239,6 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
        view.setVisibility(TunerService.parseIntegerSwitch(newValue, true) ? VISIBLE : GONE);
    }

    private void updateViewVisibilityForBrightnessMirrorIcon(@Nullable String newValue) {
        if (mMirrorAutoBrightnessView != null) {
            mMirrorAutoBrightnessView.setVisibility(
                    TunerService.parseIntegerSwitch(newValue, true) ? INVISIBLE : GONE);
        } else if (mBrightnessMirrorController != null) {
            mMirrorAutoBrightnessView = mBrightnessMirrorController.getMirror()
                    .findViewById(R.id.brightness_icon);
            mMirrorAutoBrightnessView.setVisibility(mAutoBrightnessView.getVisibility()
                    == VISIBLE ? INVISIBLE : GONE);
        }
    }

    public void openDetails(String subPanel) {
        QSTile tile = getTile(subPanel);
        // If there's no tile with that name (as defined in QSFactoryImpl or other QSFactory),
@@ -280,7 +266,6 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
            mBrightnessMirrorController.addCallback(this);
        }
        updateBrightnessMirror();
        updateViewVisibilityForBrightnessMirrorIcon(null);
    }

    @Override
+22 −0
Original line number Diff line number Diff line
@@ -18,10 +18,13 @@ package com.android.systemui.statusbar.policy;

import android.annotation.NonNull;
import android.content.res.Resources;
import android.os.UserHandle;
import android.provider.Settings;
import android.util.ArraySet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;

import com.android.internal.util.Preconditions;
import com.android.systemui.R;
@@ -58,6 +61,7 @@ public class BrightnessMirrorController
        mBrightnessMirror.setVisibility(View.VISIBLE);
        mVisibilityCallback.accept(true);
        mNotificationPanel.setPanelAlpha(0, true /* animate */);
        updateIcon();
    }

    public void hideMirror() {
@@ -133,4 +137,22 @@ public class BrightnessMirrorController
    public interface BrightnessMirrorListener {
        void onBrightnessMirrorReinflated(View brightnessMirror);
    }

    private void updateIcon() {
        ImageView iv = mBrightnessMirror.findViewById(R.id.brightness_icon);
        boolean autoBrightnessAvailable = mBrightnessMirror.getContext().getResources().getBoolean(
                com.android.internal.R.bool.config_automatic_brightness_available);
        if (autoBrightnessAvailable) {
            int automatic = Settings.System.getIntForUser(mBrightnessMirror.getContext()
                            .getContentResolver(),
                    Settings.System.SCREEN_BRIGHTNESS_MODE,
                    Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL,
                    UserHandle.USER_CURRENT);
            boolean isAutomatic = automatic != Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL;
            iv.setImageResource(isAutomatic
                    ? com.android.systemui.R.drawable.ic_qs_brightness_auto_on
                    : com.android.systemui.R.drawable.ic_qs_brightness_auto_off);
            iv.setVisibility(View.VISIBLE);
        }
    }
}