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

Commit ae578639 authored by Roman Birg's avatar Roman Birg Committed by Gerrit Code Review
Browse files

SystemUI: dismiss brightness slider on screen off



REF: CYNGNOS-265
Change-Id: Id6d6406ede9640aa25372122c62f9043a7ce12db
Signed-off-by: default avatarRoman Birg <roman@cyngn.com>
parent f3fbf880
Loading
Loading
Loading
Loading
+36 −14
Original line number Diff line number Diff line
@@ -28,6 +28,8 @@ import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;

import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.systemui.R;
import com.android.systemui.statusbar.policy.BrightnessMirrorController;

@@ -47,6 +49,13 @@ public class ToggleSlider extends RelativeLayout {
    private ToggleSlider mMirror;
    private BrightnessMirrorController mMirrorController;

    private KeyguardUpdateMonitorCallback mCallback = new KeyguardUpdateMonitorCallback() {
        @Override
        public void onScreenTurnedOff(int why) {
            reset();
        }
    };

    public ToggleSlider(Context context) {
        this(context, null);
    }
@@ -95,6 +104,13 @@ public class ToggleSlider extends RelativeLayout {
        if (mListener != null) {
            mListener.onInit(this);
        }
        KeyguardUpdateMonitor.getInstance(getContext()).registerCallback(mCallback);
    }

    @Override
    protected void onDetachedFromWindow() {
        KeyguardUpdateMonitor.getInstance(getContext()).removeCallback(mCallback);
        super.onDetachedFromWindow();
    }

    public void setOnChangedListener(Listener l) {
@@ -123,6 +139,25 @@ public class ToggleSlider extends RelativeLayout {
        }
    }

    private void reset() {
        if (mTracking) {
            mTracking = false;

            if (mListener != null) {
                mListener.onChanged(
                        ToggleSlider.this, mTracking, mToggle.isChecked(), mSlider.getProgress());
            }

            if (mMirror != null) {
                mMirror.mSlider.setPressed(false);
            }

            if (mMirrorController != null) {
                mMirrorController.hideMirror();
            }
        }
    }

    private final OnCheckedChangeListener mCheckListener = new OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton toggle, boolean checked) {
@@ -175,20 +210,7 @@ public class ToggleSlider extends RelativeLayout {

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            mTracking = false;

            if (mListener != null) {
                mListener.onChanged(
                        ToggleSlider.this, mTracking, mToggle.isChecked(), mSlider.getProgress());
            }

            if (mMirror != null) {
                mMirror.mSlider.setPressed(false);
            }

            if (mMirrorController != null) {
                mMirrorController.hideMirror();
            }
            reset();
        }
    };
}