Not call MainSwitchBar.getSwitch()

This is private implement details, will be removed in future.

Should call MainSwitchBar's isChecked() and setChecked() to ensure
main switch bar's style is set correctly.

Bug: 306658427
Test: manual - on wifi tether
Test: manual - on developer options
Test: m RunSettingsRoboTests
Change-Id: I292ffbcf73da0721fc206e3dac7610a0aeb20047
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java
index f2a332b..1400720 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java
@@ -33,13 +33,11 @@
 
     private final Context mContext;
     private final SettingsMainSwitchBar mSwitchBar;
-    private final Switch mSwitch;
 
     AudioSharingSwitchBarController(Context context, SettingsMainSwitchBar switchBar) {
         mContext = context;
         mSwitchBar = switchBar;
-        mSwitch = mSwitchBar.getSwitch();
-        mSwitch.setChecked(false);
+        mSwitchBar.setChecked(false);
     }
 
     @Override
diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
index f0cf59a..b88c345 100644
--- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
+++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
@@ -334,9 +334,6 @@
 
     @Override
     public void onSwitchChanged(Switch switchView, boolean isChecked) {
-        if (switchView != mSwitchBar.getSwitch()) {
-            return;
-        }
         final boolean developmentEnabledState =
                 DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(getContext());
         if (isChecked != developmentEnabledState) {
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java b/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
index d6ca524..75a3789 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
@@ -54,7 +54,6 @@
 
     private final Context mContext;
     private final SettingsMainSwitchBar mSwitchBar;
-    private final Switch mSwitch;
     private final ConnectivityManager mConnectivityManager;
     private final WifiManager mWifiManager;
 
@@ -78,7 +77,6 @@
     WifiTetherSwitchBarController(Context context, SettingsMainSwitchBar switchBar) {
         mContext = context;
         mSwitchBar = switchBar;
-        mSwitch = mSwitchBar.getSwitch();
         mDataSaverBackend = new DataSaverBackend(context);
         mConnectivityManager =
                 (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
@@ -153,8 +151,8 @@
         if (state == WIFI_AP_STATE_ENABLING || state == WIFI_AP_STATE_DISABLING) return;
 
         final boolean shouldBeChecked = (state == WIFI_AP_STATE_ENABLED);
-        if (mSwitch.isChecked() != shouldBeChecked) {
-            mSwitch.setChecked(shouldBeChecked);
+        if (mSwitchBar.isChecked() != shouldBeChecked) {
+            mSwitchBar.setChecked(shouldBeChecked);
         }
         updateWifiSwitch();
     }
diff --git a/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
index fca338d..3189b47 100644
--- a/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
@@ -27,7 +27,6 @@
 import android.content.Context;
 import android.provider.SearchIndexableResource;
 import android.provider.Settings;
-import android.widget.Switch;
 
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.FragmentActivity;
@@ -65,7 +64,6 @@
 })
 public class DevelopmentSettingsDashboardFragmentTest {
 
-    private Switch mSwitch;
     private Context mContext;
     private ShadowUserManager mShadowUserManager;
     private DevelopmentSettingsDashboardFragment mDashboard;
@@ -75,7 +73,6 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         SettingsMainSwitchBar switchBar = new SettingsMainSwitchBar(mContext);
-        mSwitch = switchBar.getSwitch();
         mDashboard = spy(new DevelopmentSettingsDashboardFragment());
         ReflectionHelpers.setField(mDashboard, "mSwitchBar", switchBar);
         mShadowUserManager = Shadow.extract(mContext.getSystemService(Context.USER_SERVICE));
@@ -163,7 +160,7 @@
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
 
-        mDashboard.onSwitchChanged(mSwitch, false /* isChecked */);
+        mDashboard.onSwitchChanged(null, false /* isChecked */);
         assertThat(ShadowEnableDevelopmentSettingWarningDialog.mShown).isFalse();
     }
 
@@ -175,7 +172,7 @@
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
 
-        mDashboard.onSwitchChanged(mSwitch, true /* isChecked */);
+        mDashboard.onSwitchChanged(null, true /* isChecked */);
         assertThat(ShadowEnableDevelopmentSettingWarningDialog.mShown).isTrue();
     }
 
@@ -187,7 +184,7 @@
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
 
-        mDashboard.onSwitchChanged(mSwitch, false /* isChecked */);
+        mDashboard.onSwitchChanged(null, false /* isChecked */);
 
         assertThat(ShadowEnableDevelopmentSettingWarningDialog.mShown).isFalse();
         assertThat(DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)).isFalse();
@@ -206,7 +203,7 @@
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
 
-        mDashboard.onSwitchChanged(mSwitch, false /* isChecked */);
+        mDashboard.onSwitchChanged(null, false /* isChecked */);
 
         AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(dialog).isNotNull();
diff --git a/tests/robotests/src/com/android/settings/widget/SettingsMainSwitchBarTest.java b/tests/robotests/src/com/android/settings/widget/SettingsMainSwitchBarTest.java
index 49b7840..2b7f462 100644
--- a/tests/robotests/src/com/android/settings/widget/SettingsMainSwitchBarTest.java
+++ b/tests/robotests/src/com/android/settings/widget/SettingsMainSwitchBarTest.java
@@ -19,45 +19,42 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
+import android.widget.CompoundButton;
 import android.widget.TextView;
 
-import com.android.settings.R;
-import com.android.settingslib.RestrictedLockUtils;
+import androidx.test.core.app.ApplicationProvider;
 
-import org.junit.Before;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.widget.mainswitch.R;
+
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 
 @RunWith(RobolectricTestRunner.class)
 public class SettingsMainSwitchBarTest {
 
-    private SettingsMainSwitchBar mMainSwitchBar;
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private final SettingsMainSwitchBar mMainSwitchBar = new SettingsMainSwitchBar(mContext);
 
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        final Context context = RuntimeEnvironment.application;
-        mMainSwitchBar = new SettingsMainSwitchBar(context);
-    }
+    private final TextView mTitle = mMainSwitchBar.findViewById(R.id.switch_text);
+
+    private final CompoundButton mSwitchWidget =
+            mMainSwitchBar.findViewById(android.R.id.switch_widget);
 
     @Test
     public void disabledByAdmin_shouldBeDisabled() {
         mMainSwitchBar.setDisabledByAdmin(new RestrictedLockUtils.EnforcedAdmin());
 
-        TextView title = (TextView) mMainSwitchBar.findViewById(R.id.switch_text);
-        assertThat(title.isEnabled()).isFalse();
-        assertThat(mMainSwitchBar.getSwitch().isEnabled()).isFalse();
+        assertThat(mTitle.isEnabled()).isFalse();
+        assertThat(mSwitchWidget.isEnabled()).isFalse();
     }
 
     @Test
     public void disabledByAdmin_setNull_shouldBeEnabled() {
         mMainSwitchBar.setDisabledByAdmin(null);
 
-        TextView title = (TextView) mMainSwitchBar.findViewById(R.id.switch_text);
-        assertThat(title.isEnabled()).isTrue();
-        assertThat(mMainSwitchBar.getSwitch().isEnabled()).isTrue();
+        assertThat(mTitle.isEnabled()).isTrue();
+        assertThat(mSwitchWidget.isEnabled()).isTrue();
     }
 }