From caad2bc4560b80000f131e07cf85ceaa3f462d24 Mon Sep 17 00:00:00 2001 From: Edgar Wang Date: Thu, 23 Dec 2021 21:36:20 +0800 Subject: MainSwitchPreference minor fix - Change the material switch because the oncheckchangelistener and onclicklistener is not register correctly - Fix mis-used private resource in android P(28) Bug: 198286931 Test: robotest & manual Change-Id: If7e9c5edceb3523e84aa72ae319f8ff2b3c12812 --- .../res/drawable/settingslib_ic_info.xml | 26 ++++++++++++++++++++++ .../res/layout/settingslib_main_switch_bar.xml | 4 +++- .../android/settingslib/widget/MainSwitchBar.java | 11 +++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 packages/SettingsLib/MainSwitchPreference/res/drawable/settingslib_ic_info.xml diff --git a/packages/SettingsLib/MainSwitchPreference/res/drawable/settingslib_ic_info.xml b/packages/SettingsLib/MainSwitchPreference/res/drawable/settingslib_ic_info.xml new file mode 100644 index 000000000000..c8037c85c850 --- /dev/null +++ b/packages/SettingsLib/MainSwitchPreference/res/drawable/settingslib_ic_info.xml @@ -0,0 +1,26 @@ + + + + + \ No newline at end of file diff --git a/packages/SettingsLib/MainSwitchPreference/res/layout/settingslib_main_switch_bar.xml b/packages/SettingsLib/MainSwitchPreference/res/layout/settingslib_main_switch_bar.xml index d0c2d0b5937d..59ae1221ddd3 100644 --- a/packages/SettingsLib/MainSwitchPreference/res/layout/settingslib_main_switch_bar.xml +++ b/packages/SettingsLib/MainSwitchPreference/res/layout/settingslib_main_switch_bar.xml @@ -42,7 +42,7 @@ android:theme="@android:style/Theme.Material" android:layout_gravity="center_vertical" android:layout_marginEnd="@dimen/settingslib_restricted_icon_margin_end" - android:src="@android:drawable/ic_info" + android:src="@drawable/settingslib_ic_info" android:visibility="gone"/> diff --git a/packages/SettingsLib/MainSwitchPreference/src/com/android/settingslib/widget/MainSwitchBar.java b/packages/SettingsLib/MainSwitchPreference/src/com/android/settingslib/widget/MainSwitchBar.java index 6d5615dfe52f..383bf8eaf2e7 100644 --- a/packages/SettingsLib/MainSwitchPreference/src/com/android/settingslib/widget/MainSwitchBar.java +++ b/packages/SettingsLib/MainSwitchPreference/src/com/android/settingslib/widget/MainSwitchBar.java @@ -30,6 +30,7 @@ import android.widget.Switch; import android.widget.TextView; import androidx.annotation.ColorInt; +import androidx.annotation.Nullable; import com.android.settingslib.utils.BuildCompatUtils; @@ -97,6 +98,10 @@ public class MainSwitchBar extends LinearLayout implements CompoundButton.OnChec } addOnSwitchChangeListener((switchView, isChecked) -> setChecked(isChecked)); + if (mSwitch.getVisibility() == VISIBLE) { + mSwitch.setOnCheckedChangeListener(this); + } + setChecked(mSwitch.isChecked()); if (attrs != null) { @@ -117,6 +122,12 @@ public class MainSwitchBar extends LinearLayout implements CompoundButton.OnChec propagateChecked(isChecked); } + @Override + public void setOnClickListener(@Nullable OnClickListener l) { + super.setOnClickListener(l); + mSwitch.setOnClickListener(l); + } + @Override public boolean performClick() { return mSwitch.performClick(); -- cgit v1.2.3-59-g8ed1b