Merge "Fix the availability of UseOpenWifiPreferenceController." into rvc-dev

This commit is contained in:
Varun Anand
2020-03-19 21:21:22 +00:00
committed by Android (Google) Code Review
2 changed files with 17 additions and 1 deletions

View File

@@ -100,6 +100,10 @@ public class UseOpenWifiPreferenceController extends TogglePreferenceController
@Override @Override
public int getAvailabilityStatus() { public int getAvailabilityStatus() {
// It is possible that mEnableUseWifiComponentName is no longer enabled by
// USE_OPEN_WIFI_PACKAGE. So update this component to reflect correct availability.
updateEnableUseWifiComponentName();
checkForFeatureSupportedScorers();
return mDoFeatureSupportedScorersExist ? AVAILABLE : CONDITIONALLY_UNAVAILABLE; return mDoFeatureSupportedScorersExist ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
} }

View File

@@ -39,7 +39,6 @@ import android.net.NetworkScorerAppData;
import android.provider.Settings; import android.provider.Settings;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.preference.Preference;
import androidx.preference.SwitchPreference; import androidx.preference.SwitchPreference;
import com.android.settings.R; import com.android.settings.R;
@@ -143,6 +142,19 @@ public class UseOpenWifiPreferenceControllerTest {
assertThat(mController.isAvailable()).isTrue(); assertThat(mController.isAvailable()).isTrue();
} }
@Test
public void isAvailable_disableUseOpenWifiComponentBetweenCalls_returnsTrueThenReturnsFalse() {
setupScorers(Lists.newArrayList(sAppData));
createController();
assertThat(mController.isAvailable()).isTrue();
// Update NetworkScorerAppData so that it no longer has openWifiActivity.
setupScorers(Lists.newArrayList(sAppDataNoActivity));
assertThat(mController.isAvailable()).isFalse();
}
@Test @Test
public void setChecked_withTrue_enableShouldStartEnableActivity() { public void setChecked_withTrue_enableShouldStartEnableActivity() {
setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity)); setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity));