Migrate SyncStateSwitchPreference to SwitchPreferenceCompat

UI not changed in this cl, this cl helps UI switch in the future.

Bug: 306658427
Test: manual - on "Account sync" page
Test: manual - on "Turn screen on" detail page
Change-Id: Icd91bb69fdce302d9b9e92f501d1b1eaf2051960
This commit is contained in:
Chaohui Wang
2023-10-26 13:37:22 +08:00
parent ee5e1ceb03
commit b547927d26
4 changed files with 9 additions and 15 deletions

View File

@@ -38,11 +38,5 @@
android:layout_marginEnd="8dip" android:layout_marginEnd="8dip"
android:contentDescription="@string/sync_active" /> android:contentDescription="@string/sync_active" />
<Switch <include layout="@layout/preference_widget_switch_compat" />
android:id="@android:id/switch_widget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:focusable="false"
android:clickable="false" />
</LinearLayout> </LinearLayout>

View File

@@ -49,7 +49,7 @@
<item name="iconSpaceReserved">@bool/settingslib_config_icon_space_reserved</item> <item name="iconSpaceReserved">@bool/settingslib_config_icon_space_reserved</item>
</style> </style>
<style name="SyncSwitchPreference" parent="@style/SettingsSwitchPreference.SettingsLib"> <style name="SyncSwitchPreference" parent="@style/SettingsSwitchPreferenceCompat.SettingsLib">
<item name="android:widgetLayout">@layout/preference_widget_sync_toggle</item> <item name="android:widgetLayout">@layout/preference_widget_sync_toggle</item>
</style> </style>

View File

@@ -26,12 +26,12 @@ import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import androidx.preference.PreferenceViewHolder; import androidx.preference.PreferenceViewHolder;
import androidx.preference.SwitchPreference; import androidx.preference.SwitchPreferenceCompat;
import com.android.settings.R; import com.android.settings.R;
import com.android.settingslib.widget.AnimatedImageView; import com.android.settingslib.widget.AnimatedImageView;
public class SyncStateSwitchPreference extends SwitchPreference { public class SyncStateSwitchPreference extends SwitchPreferenceCompat {
private boolean mIsActive = false; private boolean mIsActive = false;
private boolean mIsPending = false; private boolean mIsPending = false;
@@ -84,7 +84,7 @@ public class SyncStateSwitchPreference extends SwitchPreference {
final boolean failedVisible = mFailed && !activeVisible; final boolean failedVisible = mFailed && !activeVisible;
syncFailedView.setVisibility(failedVisible ? View.VISIBLE : View.GONE); syncFailedView.setVisibility(failedVisible ? View.VISIBLE : View.GONE);
View switchView = view.findViewById(com.android.internal.R.id.switch_widget); View switchView = view.findViewById(androidx.preference.R.id.switchWidget);
if (mOneTimeSyncMode) { if (mOneTimeSyncMode) {
switchView.setVisibility(View.GONE); switchView.setVisibility(View.GONE);

View File

@@ -20,13 +20,13 @@ import android.util.AttributeSet;
import android.view.View; import android.view.View;
import androidx.preference.PreferenceViewHolder; import androidx.preference.PreferenceViewHolder;
import androidx.preference.SwitchPreference; import androidx.preference.SwitchPreferenceCompat;
/** /**
* This widget with enabled filterTouchesWhenObscured attribute use to replace * This widget with enabled filterTouchesWhenObscured attribute use to replace
* the {@link SwitchPreference} in the Special access app pages for security. * the {@link SwitchPreferenceCompat} in the Special access app pages for security.
*/ */
public class FilterTouchesSwitchPreference extends SwitchPreference { public class FilterTouchesSwitchPreference extends SwitchPreferenceCompat {
public FilterTouchesSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr, public FilterTouchesSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr,
int defStyleRes) { int defStyleRes) {
@@ -48,7 +48,7 @@ public class FilterTouchesSwitchPreference extends SwitchPreference {
@Override @Override
public void onBindViewHolder(PreferenceViewHolder holder) { public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder); super.onBindViewHolder(holder);
final View switchView = holder.findViewById(android.R.id.switch_widget); final View switchView = holder.findViewById(androidx.preference.R.id.switchWidget);
if (switchView != null) { if (switchView != null) {
final View rootView = switchView.getRootView(); final View rootView = switchView.getRootView();
rootView.setFilterTouchesWhenObscured(true); rootView.setFilterTouchesWhenObscured(true);