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
diff --git a/res/layout/preference_widget_sync_toggle.xml b/res/layout/preference_widget_sync_toggle.xml
index c12b9f6..ae1e6f3 100644
--- a/res/layout/preference_widget_sync_toggle.xml
+++ b/res/layout/preference_widget_sync_toggle.xml
@@ -38,11 +38,5 @@
         android:layout_marginEnd="8dip"
         android:contentDescription="@string/sync_active" />
 
-    <Switch
-        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" />
+    <include layout="@layout/preference_widget_switch_compat" />
 </LinearLayout>
diff --git a/res/values/styles_preference.xml b/res/values/styles_preference.xml
index 10c7e69..ec0a747 100644
--- a/res/values/styles_preference.xml
+++ b/res/values/styles_preference.xml
@@ -49,7 +49,7 @@
         <item name="iconSpaceReserved">@bool/settingslib_config_icon_space_reserved</item>
     </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>
     </style>
 
diff --git a/src/com/android/settings/accounts/SyncStateSwitchPreference.java b/src/com/android/settings/accounts/SyncStateSwitchPreference.java
index 9c7f739..2f92d56 100644
--- a/src/com/android/settings/accounts/SyncStateSwitchPreference.java
+++ b/src/com/android/settings/accounts/SyncStateSwitchPreference.java
@@ -26,12 +26,12 @@
 import android.widget.TextView;
 
 import androidx.preference.PreferenceViewHolder;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
 
 import com.android.settings.R;
 import com.android.settingslib.widget.AnimatedImageView;
 
-public class SyncStateSwitchPreference extends SwitchPreference {
+public class SyncStateSwitchPreference extends SwitchPreferenceCompat {
 
     private boolean mIsActive = false;
     private boolean mIsPending = false;
@@ -84,7 +84,7 @@
         final boolean failedVisible = mFailed && !activeVisible;
         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) {
             switchView.setVisibility(View.GONE);
 
diff --git a/src/com/android/settings/widget/FilterTouchesSwitchPreference.java b/src/com/android/settings/widget/FilterTouchesSwitchPreference.java
index 1b4d681..af625b2 100644
--- a/src/com/android/settings/widget/FilterTouchesSwitchPreference.java
+++ b/src/com/android/settings/widget/FilterTouchesSwitchPreference.java
@@ -20,13 +20,13 @@
 import android.view.View;
 
 import androidx.preference.PreferenceViewHolder;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
 
 /**
  *  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,
             int defStyleRes) {
@@ -48,7 +48,7 @@
     @Override
     public void onBindViewHolder(PreferenceViewHolder 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) {
             final View rootView = switchView.getRootView();
             rootView.setFilterTouchesWhenObscured(true);