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

Commit 359919c3 authored by Stanley Wang's avatar Stanley Wang Committed by Android (Google) Code Review
Browse files

Merge "Update MainSwitch widget." into sc-dev

parents 78220278 85852786
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:background="?android:attr/colorBackground"
    android:orientation="vertical">

    <LinearLayout
+14 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.settingslib.widget;

import android.content.Context;
import android.content.res.TypedArray;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.AttributeSet;
@@ -29,6 +30,7 @@ import android.widget.Switch;
import android.widget.TextView;

import androidx.annotation.VisibleForTesting;
import androidx.core.content.res.TypedArrayUtils;

import com.android.settingslib.RestrictedLockUtils;

@@ -88,6 +90,17 @@ public class MainSwitchBar extends LinearLayout implements CompoundButton.OnChec
        });

        setChecked(mSwitch.isChecked());

        if (attrs != null) {
            final TypedArray a = context.obtainStyledAttributes(attrs,
                    androidx.preference.R.styleable.Preference, 0 /*defStyleAttr*/,
                    0 /*defStyleRes*/);
            final CharSequence title = TypedArrayUtils.getText(a,
                    androidx.preference.R.styleable.Preference_title,
                    androidx.preference.R.styleable.Preference_android_title);
            setTitle(title);
            a.recycle();
        }
    }

    @Override
@@ -126,7 +139,7 @@ public class MainSwitchBar extends LinearLayout implements CompoundButton.OnChec
    /**
     * Set the title text
     */
    public void setTitle(String text) {
    public void setTitle(CharSequence text) {
        if (mTextView != null) {
            mTextView.setText(text);
        }
+14 −11
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.settingslib.widget;

import android.content.Context;
import android.content.res.TypedArray;
import android.text.TextUtils;
import android.util.AttributeSet;

import androidx.core.content.res.TypedArrayUtils;
@@ -40,7 +39,7 @@ public class MainSwitchPreference extends TwoStatePreference {
    private final List<OnMainSwitchChangeListener> mSwitchChangeListeners = new ArrayList<>();

    private MainSwitchBar mMainSwitchBar;
    private String mTitle;
    private CharSequence mTitle;

    private RestrictedLockUtils.EnforcedAdmin mEnforcedAdmin;

@@ -81,24 +80,28 @@ public class MainSwitchPreference extends TwoStatePreference {
        setLayoutResource(R.layout.main_switch_layout);

        if (attrs != null) {
            TypedArray a = context.obtainStyledAttributes(attrs,
            final TypedArray a = context.obtainStyledAttributes(attrs,
                    androidx.preference.R.styleable.Preference, 0 /*defStyleAttr*/,
                    0 /*defStyleRes*/);
            final CharSequence title = TypedArrayUtils.getText(a,
                    androidx.preference.R.styleable.Preference_title,
                    androidx.preference.R.styleable.Preference_android_title);
            if (!TextUtils.isEmpty(title)) {
                setTitle(title.toString());
            }
            setTitle(title);
            a.recycle();
        }
    }

    /**
     * Set the preference title text
     */
    public void setTitle(String text) {
        mTitle = text;
    @Override
    public void setChecked(boolean checked) {
        super.setChecked(checked);
        if (mMainSwitchBar != null) {
            mMainSwitchBar.setChecked(checked);
        }
    }

    @Override
    public void setTitle(CharSequence title) {
        mTitle = title;
        if (mMainSwitchBar != null) {
            mMainSwitchBar.setTitle(mTitle);
        }