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

Commit 2b619e47 authored by Danny Baumann's avatar Danny Baumann
Browse files

Re-add auto brightness configuration UI (1/2)

- Add a button into the new brightness dialog that allows opening the
  auto brightness setup
- Enable auto-brightness adjustment (setting for general brighter/darker
  adjustment) and twilight adjustment

Change-Id: I7fd11ddaa112396dcb7508692aacb93bfe3da256
parent 664587a9
Loading
Loading
Loading
Loading
+18 −1
Original line number Diff line number Diff line
@@ -24,16 +24,33 @@
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:paddingStart="8dp"
        android:paddingEnd="10dp"
        android:src="@drawable/ic_qs_brightness_auto_off"
        />
    <com.android.systemui.settings.ToggleSlider
        android:id="@+id/brightness_slider"
        android:layout_width="0dp"
        android:layout_height="40dp"
        android:layout_height="48dp"
        android:layout_weight="1"
        android:layout_marginEnd="2dp"
        android:layout_gravity="center_vertical"
        systemui:text="@string/status_bar_settings_auto_brightness_label"
        />
    <ImageView
        android:id="@+id/brightness_setup_button_divider"
        android:src="?android:attr/dividerVertical"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:scaleType="fitXY"
        />
    <ImageView
        android:id="@+id/brightness_setup_button"
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:layout_gravity="center_vertical"
        android:scaleType="center"
        android:src="@drawable/ic_qs_settings"
        android:background="?android:attr/selectableItemBackground"
        />
</LinearLayout>
+2 −1
Original line number Diff line number Diff line
@@ -132,7 +132,8 @@
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_marginLeft">8dp</item>
        <item name="android:layout_marginRight">8dp</item>
        <item name="android:padding">16dp</item>
        <item name="android:paddingTop">16dp</item>
        <item name="android:paddingBottom">16dp</item>
    </style>
    <style name="BrightnessDialogContainer" parent="@style/BaseBrightnessDialogContainer" />

+32 −3
Original line number Diff line number Diff line
@@ -18,9 +18,11 @@ package com.android.systemui.settings;

import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
@@ -37,6 +39,9 @@ public class BrightnessDialog extends Dialog implements
    protected Handler mHandler = new Handler();

    private BrightnessController mBrightnessController;
    private ToggleSlider mSlider;
    private View mSetupButtonDivider;
    private ImageView mSetupButton;
    private final int mBrightnessDialogLongTimeout;
    private final int mBrightnessDialogShortTimeout;

@@ -75,17 +80,34 @@ public class BrightnessDialog extends Dialog implements

        setContentView(R.layout.quick_settings_brightness_dialog);
        setCanceledOnTouchOutside(true);
    }

        mSlider = (ToggleSlider) findViewById(R.id.brightness_slider);
        mSetupButtonDivider = findViewById(R.id.brightness_setup_button_divider);
        mSetupButton = (ImageView) findViewById(R.id.brightness_setup_button);
        mSetupButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent();
                intent.setClassName("com.android.settings",
                        "com.android.settings.cyanogenmod.AutoBrightnessSetup");
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
                        | Intent.FLAG_ACTIVITY_SINGLE_TOP
                        | Intent.FLAG_ACTIVITY_CLEAR_TOP
                        | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
                getContext().startActivity(intent);
                dismissBrightnessDialog(0);
            }
        });
    }

    @Override
    protected void onStart() {
        super.onStart();
        mBrightnessController = new BrightnessController(getContext(),
                (ImageView) findViewById(R.id.brightness_icon),
                (ToggleSlider) findViewById(R.id.brightness_slider));
                (ImageView) findViewById(R.id.brightness_icon), mSlider);
        dismissBrightnessDialog(mBrightnessDialogLongTimeout);
        mBrightnessController.addStateChangedCallback(this);
        updateSetupButtonVisibility();
    }

    @Override
@@ -97,6 +119,13 @@ public class BrightnessDialog extends Dialog implements

    public void onBrightnessLevelChanged() {
        dismissBrightnessDialog(mBrightnessDialogShortTimeout);
        updateSetupButtonVisibility();
    }

    private void updateSetupButtonVisibility() {
        boolean isAuto = mSlider.isChecked();
        mSetupButtonDivider.setVisibility(isAuto ? View.VISIBLE : View.GONE);
        mSetupButton.setVisibility(isAuto ? View.VISIBLE : View.GONE);
    }

    private void dismissBrightnessDialog(int timeout) {