Merge "Fix the availability of UseOpenWifiPreferenceController." into rvc-dev am: 4ebfaec3a3 am: 742cec9ad4 am: 5f0937286b am: acb2d24b80

Change-Id: I9d7c382c30de485c5530960c996775010e57c361
This commit is contained in:
Varun Anand
2020-03-19 22:05:53 +00:00
committed by Automerger Merge Worker
2 changed files with 17 additions and 1 deletions

View File

@@ -100,6 +100,10 @@ public class UseOpenWifiPreferenceController extends TogglePreferenceController
@Override
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;
}

View File

@@ -39,7 +39,6 @@ import android.net.NetworkScorerAppData;
import android.provider.Settings;
import androidx.fragment.app.Fragment;
import androidx.preference.Preference;
import androidx.preference.SwitchPreference;
import com.android.settings.R;
@@ -143,6 +142,19 @@ public class UseOpenWifiPreferenceControllerTest {
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
public void setChecked_withTrue_enableShouldStartEnableActivity() {
setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity));