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();