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

Commit cc5b481c authored by minz's avatar minz Committed by Rashed Abdel-Tawab
Browse files

SystemUI: [RJIL new function] AutoBrightness

Add AutoBrightness in QSPanel,which can turn on
and off the Adaptive brightness function similar
with seetings->display->Adaptive brightness.

Change-Id: Ib247978d48a0fc8a459152278586304bf3c783f5
CRs-Fixed: 1055285
parent dc364ad5
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -41,4 +41,12 @@
        android:importantForAccessibility="no"
        systemui:text="@string/status_bar_settings_auto_brightness_label" />

    <CheckBox
        android:id="@+id/brightness_auto"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:text="@string/status_bar_settings_auto_brightness_label"
        android:visibility="gone"/>

</LinearLayout>
+3 −0
Original line number Diff line number Diff line
@@ -293,4 +293,7 @@

    <bool name="config_show4gForIWlan">false</bool>
    <bool name="config_showSignalForIWlan">false</bool>

    <!-- When true,show the AutoBrightness checkbox -->
    <bool name="config_show_auto_brightness">false</bool>
</resources>
+6 −1
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.provider.Settings;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.android.internal.logging.MetricsLogger;
@@ -100,7 +101,8 @@ public class QSPanel extends LinearLayout implements Tunable, Callback {

        mBrightnessController = new BrightnessController(getContext(),
                (ImageView) findViewById(R.id.brightness_icon),
                (ToggleSlider) findViewById(R.id.brightness_slider));
                (ToggleSlider) findViewById(R.id.brightness_slider),
                (CheckBox) findViewById(R.id.brightness_auto));

    }

@@ -109,6 +111,9 @@ public class QSPanel extends LinearLayout implements Tunable, Callback {
                R.layout.qs_paged_tile_layout, this, false);
        mTileLayout.setListening(mListening);
        addView((View) mTileLayout);
        if (getResources().getBoolean(R.bool.config_show_auto_brightness)) {
            ((CheckBox) findViewById(R.id.brightness_auto)).setVisibility(View.VISIBLE);
        }
    }

    public boolean isShowingCustomize() {
+34 −0
Original line number Diff line number Diff line
@@ -33,7 +33,14 @@ import android.provider.Settings;
import android.service.vr.IVrManager;
import android.service.vr.IVrStateCallbacks;
import android.util.Log;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE;
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL;

import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsProto.MetricsEvent;
@@ -65,6 +72,7 @@ public class BrightnessController implements ToggleSlider.Listener {
    private final Context mContext;
    private final ImageView mIcon;
    private final ToggleSlider mControl;
    private CheckBox mAutoBrightness;
    private final boolean mAutomaticAvailable;
    private final IPowerManager mPower;
    private final CurrentUserTracker mUserTracker;
@@ -196,6 +204,12 @@ public class BrightnessController implements ToggleSlider.Listener {
                mHandler.obtainMessage(MSG_SET_CHECKED, 0).sendToTarget();
                mHandler.obtainMessage(MSG_UPDATE_ICON, 0 /* automatic */).sendToTarget();
            }
            if (mAutoBrightness != null) {
                mAutoBrightness.setChecked(Settings.System.getInt(
                    mContext.getContentResolver(),
                    SCREEN_BRIGHTNESS_MODE,
                    SCREEN_BRIGHTNESS_MODE_MANUAL) != SCREEN_BRIGHTNESS_MODE_MANUAL);
            }
        }
    };

@@ -276,6 +290,7 @@ public class BrightnessController implements ToggleSlider.Listener {
        mContext = context;
        mIcon = icon;
        mControl = control;
        mAutoBrightness = null;
        mBackgroundHandler = new Handler(Looper.getMainLooper());
        mUserTracker = new CurrentUserTracker(mContext) {
            @Override
@@ -298,6 +313,25 @@ public class BrightnessController implements ToggleSlider.Listener {
        mVrManager = IVrManager.Stub.asInterface(ServiceManager.getService("vrmanager"));
    }

    public BrightnessController(Context context, ImageView icon,
            ToggleSlider control, CheckBox autoBrightness) {
        this(context, icon, control);
        mAutoBrightness = autoBrightness;
        mAutoBrightness.setChecked(Settings.System.getInt(
            mContext.getContentResolver(), SCREEN_BRIGHTNESS_MODE,
            SCREEN_BRIGHTNESS_MODE_MANUAL) != SCREEN_BRIGHTNESS_MODE_MANUAL);
        mAutoBrightness.setOnCheckedChangeListener(new OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView,
                boolean isChecked) {
                Settings.System.putInt(mContext.getContentResolver(),
                    SCREEN_BRIGHTNESS_MODE,
                    isChecked ? SCREEN_BRIGHTNESS_MODE_AUTOMATIC :
                    SCREEN_BRIGHTNESS_MODE_MANUAL);
                    }
                });
    }

    public void setBackgroundLooper(Looper backgroundLooper) {
        mBackgroundHandler = new Handler(backgroundLooper);
    }