Loading packages/SettingsLib/MainSwitchPreference/AndroidManifest.xml +3 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.settingslib.widget"> <uses-sdk android:minSdkVersion="21" /> <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="31"/> </manifest> packages/SettingsLib/MainSwitchPreference/src/com/android/settingslib/widget/MainSwitchPreference.java +9 −4 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settingslib.widget; import android.content.Context; import android.content.res.TypedArray; import android.util.AttributeSet; import android.widget.Switch; import androidx.preference.PreferenceViewHolder; import androidx.preference.TwoStatePreference; Loading @@ -31,7 +32,7 @@ import java.util.List; * This component is used as the main switch of the page * to enable or disable the prefereces on the page. */ public class MainSwitchPreference extends TwoStatePreference { public class MainSwitchPreference extends TwoStatePreference implements OnMainSwitchChangeListener { private final List<OnMainSwitchChangeListener> mSwitchChangeListeners = new ArrayList<>(); Loading Loading @@ -73,7 +74,7 @@ public class MainSwitchPreference extends TwoStatePreference { private void init(Context context, AttributeSet attrs) { setLayoutResource(R.layout.settingslib_main_switch_layout); mSwitchChangeListeners.add(this); if (attrs != null) { final TypedArray a = context.obtainStyledAttributes(attrs, androidx.preference.R.styleable.Preference, 0 /*defStyleAttr*/, Loading @@ -88,7 +89,7 @@ public class MainSwitchPreference extends TwoStatePreference { @Override public void setChecked(boolean checked) { super.setChecked(checked); if (mMainSwitchBar != null) { if (mMainSwitchBar != null && mMainSwitchBar.isChecked() != checked) { mMainSwitchBar.setChecked(checked); } } Loading @@ -101,13 +102,17 @@ public class MainSwitchPreference extends TwoStatePreference { } } @Override public void onSwitchChanged(Switch switchView, boolean isChecked) { super.setChecked(isChecked); } /** * Update the switch status of preference */ public void updateStatus(boolean checked) { setChecked(checked); if (mMainSwitchBar != null) { mMainSwitchBar.setChecked(checked); mMainSwitchBar.setTitle(mTitle); mMainSwitchBar.show(); } Loading Loading
packages/SettingsLib/MainSwitchPreference/AndroidManifest.xml +3 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.settingslib.widget"> <uses-sdk android:minSdkVersion="21" /> <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="31"/> </manifest>
packages/SettingsLib/MainSwitchPreference/src/com/android/settingslib/widget/MainSwitchPreference.java +9 −4 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settingslib.widget; import android.content.Context; import android.content.res.TypedArray; import android.util.AttributeSet; import android.widget.Switch; import androidx.preference.PreferenceViewHolder; import androidx.preference.TwoStatePreference; Loading @@ -31,7 +32,7 @@ import java.util.List; * This component is used as the main switch of the page * to enable or disable the prefereces on the page. */ public class MainSwitchPreference extends TwoStatePreference { public class MainSwitchPreference extends TwoStatePreference implements OnMainSwitchChangeListener { private final List<OnMainSwitchChangeListener> mSwitchChangeListeners = new ArrayList<>(); Loading Loading @@ -73,7 +74,7 @@ public class MainSwitchPreference extends TwoStatePreference { private void init(Context context, AttributeSet attrs) { setLayoutResource(R.layout.settingslib_main_switch_layout); mSwitchChangeListeners.add(this); if (attrs != null) { final TypedArray a = context.obtainStyledAttributes(attrs, androidx.preference.R.styleable.Preference, 0 /*defStyleAttr*/, Loading @@ -88,7 +89,7 @@ public class MainSwitchPreference extends TwoStatePreference { @Override public void setChecked(boolean checked) { super.setChecked(checked); if (mMainSwitchBar != null) { if (mMainSwitchBar != null && mMainSwitchBar.isChecked() != checked) { mMainSwitchBar.setChecked(checked); } } Loading @@ -101,13 +102,17 @@ public class MainSwitchPreference extends TwoStatePreference { } } @Override public void onSwitchChanged(Switch switchView, boolean isChecked) { super.setChecked(isChecked); } /** * Update the switch status of preference */ public void updateStatus(boolean checked) { setChecked(checked); if (mMainSwitchBar != null) { mMainSwitchBar.setChecked(checked); mMainSwitchBar.setTitle(mTitle); mMainSwitchBar.show(); } Loading