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 0000000000000..c8037c85c8509 --- /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 d0c2d0b5937dd..59ae1221ddd35 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 6d5615dfe52fe..383bf8eaf2e73 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();