diff --git a/src/com/android/settings/wifi/tether/WifiTetherMaximizeCompatibilityPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherMaximizeCompatibilityPreferenceController.java index bc87d5cc5d0..41532d00e70 100644 --- a/src/com/android/settings/wifi/tether/WifiTetherMaximizeCompatibilityPreferenceController.java +++ b/src/com/android/settings/wifi/tether/WifiTetherMaximizeCompatibilityPreferenceController.java @@ -86,7 +86,11 @@ public class WifiTetherMaximizeCompatibilityPreferenceController extends if (mWifiManager.isBridgedApConcurrencySupported()) { final boolean isEnabled = config.isBridgedModeOpportunisticShutdownEnabled(); Log.d(TAG, "isBridgedModeOpportunisticShutdownEnabled:" + isEnabled); - return isEnabled; + // Because the return value defined by the Wi-Fi framework API is opposite to the UI. + // Compatibility on: isBridgedModeOpportunisticShutdownEnabled() = false + // Compatibility off: isBridgedModeOpportunisticShutdownEnabled() = true + // Need to return the reverse value. + return !isEnabled; } // If the BridgedAp Concurrency is not supported in early Pixel devices (e.g. Pixel 2~5), @@ -112,7 +116,11 @@ public class WifiTetherMaximizeCompatibilityPreferenceController extends SoftApConfiguration.BAND_2GHZ | SoftApConfiguration.BAND_5GHZ}; builder.setBands(bands); Log.d(TAG, "setBridgedModeOpportunisticShutdownEnabled:" + enabled); - builder.setBridgedModeOpportunisticShutdownEnabled(enabled); + // Because the defined value by the Wi-Fi framework API is opposite to the UI. + // Compatibility on: setBridgedModeOpportunisticShutdownEnabled(false) + // Compatibility off: setBridgedModeOpportunisticShutdownEnabled(true) + // Need to set the reverse value. + builder.setBridgedModeOpportunisticShutdownEnabled(!enabled); } else { int band = enabled ? SoftApConfiguration.BAND_2GHZ | SoftApConfiguration.BAND_5GHZ diff --git a/tests/unit/src/com/android/settings/wifi/tether/WifiTetherMaximizeCompatibilityPreferenceControllerTest.java b/tests/unit/src/com/android/settings/wifi/tether/WifiTetherMaximizeCompatibilityPreferenceControllerTest.java index a2b99bf614a..072978040b9 100644 --- a/tests/unit/src/com/android/settings/wifi/tether/WifiTetherMaximizeCompatibilityPreferenceControllerTest.java +++ b/tests/unit/src/com/android/settings/wifi/tether/WifiTetherMaximizeCompatibilityPreferenceControllerTest.java @@ -121,20 +121,20 @@ public class WifiTetherMaximizeCompatibilityPreferenceControllerTest { } @Test - public void isMaximizeCompatibilityEnabled_concurrencySupportedAndEnabled_returnTure() { + public void isMaximizeCompatibilityEnabled_concurrencySupportedAndEnabled_returnFalse() { // The preconditions are ready in setup(). - assertThat(mController.isMaximizeCompatibilityEnabled()).isEqualTo(true); + assertThat(mController.isMaximizeCompatibilityEnabled()).isEqualTo(false); } @Test - public void isMaximizeCompatibilityEnabled_concurrencySupportedAndDisabled_returnFalse() { + public void isMaximizeCompatibilityEnabled_concurrencySupportedAndDisabled_returnTrue() { SoftApConfiguration config = new SoftApConfiguration.Builder() .setBridgedModeOpportunisticShutdownEnabled(false) .build(); doReturn(config).when(mWifiManager).getSoftApConfiguration(); - assertThat(mController.isMaximizeCompatibilityEnabled()).isEqualTo(false); + assertThat(mController.isMaximizeCompatibilityEnabled()).isEqualTo(true); } @Test @@ -171,25 +171,25 @@ public class WifiTetherMaximizeCompatibilityPreferenceControllerTest { } @Test - public void setupMaximizeCompatibility_concurrencySupportedAndDisabled_setDisabled() { + public void setupMaximizeCompatibility_concurrencySupportedAndDisabled_setEnabled() { // The precondition of the concurrency supported is ready in setup(). mController.onPreferenceChange(mPreference, false); SoftApConfiguration.Builder builder = new SoftApConfiguration.Builder(); mController.setupMaximizeCompatibility(builder); - assertThat(builder.build().isBridgedModeOpportunisticShutdownEnabled()).isEqualTo(false); + assertThat(builder.build().isBridgedModeOpportunisticShutdownEnabled()).isEqualTo(true); } @Test - public void setupMaximizeCompatibility_concurrencySupportedAndEnabled_setEnabled() { + public void setupMaximizeCompatibility_concurrencySupportedAndEnabled_setDisabled() { // The precondition of the concurrency supported is ready in setup(). mController.onPreferenceChange(mPreference, true); SoftApConfiguration.Builder builder = new SoftApConfiguration.Builder(); mController.setupMaximizeCompatibility(builder); - assertThat(builder.build().isBridgedModeOpportunisticShutdownEnabled()).isEqualTo(true); + assertThat(builder.build().isBridgedModeOpportunisticShutdownEnabled()).isEqualTo(false); } @Test