[Wi-Fi] Check default data SIM instead of all active subscriptions for
'Switch to mobile data automatically' setting To align with framework design. Bug: 138956509 Test: CellularFallbackPreferenceControllerTest manual test: 1. Insert feature supported SIM and check UI. 2. Remove feature supported SIM and check UI. 3. Turn airplane mode on and check 1. and 2.. Change-Id: If10616c9b47fae490521479c5abc99c5df87f409
This commit is contained in:
@@ -19,7 +19,6 @@ package com.android.settings.wifi;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.provider.Settings;
|
||||
import android.telephony.SubscriptionInfo;
|
||||
import android.telephony.SubscriptionManager;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
@@ -37,7 +36,7 @@ public class CellularFallbackPreferenceController extends TogglePreferenceContro
|
||||
|
||||
@Override
|
||||
public int getAvailabilityStatus() {
|
||||
return !avoidBadWifiConfig() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
|
||||
return avoidBadWifiConfig() ? UNSUPPORTED_ON_DEVICE : AVAILABLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -53,20 +52,18 @@ public class CellularFallbackPreferenceController extends TogglePreferenceContro
|
||||
}
|
||||
|
||||
private boolean avoidBadWifiConfig() {
|
||||
boolean avoidBadWifiConfig = true;
|
||||
final SubscriptionManager subscriptionManager =
|
||||
mContext.getSystemService(SubscriptionManager.class);
|
||||
|
||||
for (SubscriptionInfo subscriptionInfo :
|
||||
subscriptionManager.getActiveSubscriptionInfoList()) {
|
||||
final Resources resources = getResourcesForSubId(subscriptionInfo.getSubscriptionId());
|
||||
if (resources.getInteger(
|
||||
com.android.internal.R.integer.config_networkAvoidBadWifi) == 0) {
|
||||
avoidBadWifiConfig = false;
|
||||
break;
|
||||
}
|
||||
final int activeDataSubscriptionId = getActiveDataSubscriptionId();
|
||||
if (activeDataSubscriptionId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
|
||||
return true;
|
||||
}
|
||||
return avoidBadWifiConfig;
|
||||
|
||||
final Resources resources = getResourcesForSubId(activeDataSubscriptionId);
|
||||
return resources.getInteger(com.android.internal.R.integer.config_networkAvoidBadWifi) == 1;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
int getActiveDataSubscriptionId() {
|
||||
return SubscriptionManager.getActiveDataSubscriptionId();
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
|
Reference in New Issue
Block a user