Convert dataDuringCall to autoDataSWitch
The feature is enabled via TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH. The feature only applies to non-DDS. If enabled, we automatically switch to the non-DDS for data traffic when it has better availability than the DDS. The UI change are(as required by b/247880971): 1. data during call is replaced by auto data switch, and moved under mobile data toggle. 2. Network & internet and Internet page now show the currently active subscription, instead of the defalut subscription. If the currently active sub is not the default, it's reflected in summary as "temporarily". Test: manual Bug: 244064524 Change-Id: Ica1eba99cee0d4af528d58f1c7bd1439400bfa66
This commit is contained in:
@@ -22,6 +22,7 @@ import static com.android.settings.network.InternetUpdater.INTERNET_WIFI;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.times;
|
||||
@@ -37,6 +38,7 @@ import android.net.NetworkScoreManager;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.telephony.SubscriptionInfo;
|
||||
import android.telephony.SubscriptionManager;
|
||||
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
@@ -46,6 +48,8 @@ import androidx.preference.PreferenceScreen;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.android.settings.testutils.ResourcesUtils;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
@@ -145,7 +149,31 @@ public class InternetPreferenceControllerTest {
|
||||
final SubscriptionManager subscriptionManager = mock(SubscriptionManager.class);
|
||||
when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(subscriptionManager);
|
||||
when(subscriptionManager.getDefaultDataSubscriptionInfo()).thenReturn(null);
|
||||
when(subscriptionManager.getActiveSubscriptionInfo(anyInt())).thenReturn(null);
|
||||
|
||||
mController.updateCellularSummary();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateCellularSummary_getActiveSubscriptionInfo_cbrs() {
|
||||
mController.displayPreference(mScreen);
|
||||
final SubscriptionManager subscriptionManager = mock(SubscriptionManager.class);
|
||||
final SubscriptionInfo defaultSubInfo = mock(SubscriptionInfo.class);
|
||||
final SubscriptionInfo activeSubInfo = mock(SubscriptionInfo.class);
|
||||
final String expectedSummary =
|
||||
ResourcesUtils.getResourcesString(mContext, "mobile_data_temp_using", "");
|
||||
|
||||
when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(subscriptionManager);
|
||||
when(subscriptionManager.getDefaultDataSubscriptionInfo()).thenReturn(defaultSubInfo);
|
||||
|
||||
when(subscriptionManager.getActiveSubscriptionInfo(anyInt())).thenReturn(activeSubInfo);
|
||||
when(subscriptionManager.isSubscriptionVisible(activeSubInfo)).thenReturn(false);
|
||||
|
||||
mController.updateCellularSummary();
|
||||
assertThat(mPreference.getSummary()).isEqualTo("");
|
||||
|
||||
when(subscriptionManager.isSubscriptionVisible(activeSubInfo)).thenReturn(true);
|
||||
mController.updateCellularSummary();
|
||||
assertThat(mPreference.getSummary()).isEqualTo(expectedSummary);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user