[Provider Model] Internal cleanup - remove Provider Model flag and deprecated legacy UI
Test: atest NetworkProviderCallsSmsFragmentTest, SubscriptionsPreferenceControllerTest Bug: 197066557 Change-Id: I55e0fa2ca7317cd8c9d1bce7c229b8344f43cc92
This commit is contained in:
@@ -13,7 +13,8 @@
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
|
<!-- @deprecated This class will be removed in Android U, use {@link network_provider_internet.xml}
|
||||||
|
instead.-->
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:settings="http://schemas.android.com/apk/res-auto"
|
xmlns:settings="http://schemas.android.com/apk/res-auto"
|
||||||
|
@@ -126,22 +126,13 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController
|
|||||||
}
|
}
|
||||||
return mContext.getString(R.string.mobile_network_tap_to_activate, displayName);
|
return mContext.getString(R.string.mobile_network_tap_to_activate, displayName);
|
||||||
} else {
|
} else {
|
||||||
if (com.android.settings.Utils.isProviderModelEnabled(mContext)) {
|
return subs.stream()
|
||||||
return getSummaryForProviderModel(subs);
|
.mapToInt(SubscriptionAnnotation::getSubscriptionId)
|
||||||
}
|
.mapToObj(subId -> mStatusCache.getDisplayName(subId))
|
||||||
final int count = subs.size();
|
.collect(Collectors.joining(", "));
|
||||||
return mContext.getResources().getQuantityString(R.plurals.mobile_network_summary_count,
|
|
||||||
count, count);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private CharSequence getSummaryForProviderModel(List<SubscriptionAnnotation> subs) {
|
|
||||||
return subs.stream()
|
|
||||||
.mapToInt(SubscriptionAnnotation::getSubscriptionId)
|
|
||||||
.mapToObj(subId -> mStatusCache.getDisplayName(subId))
|
|
||||||
.collect(Collectors.joining(", "));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void logPreferenceClick(Preference preference) {
|
private void logPreferenceClick(Preference preference) {
|
||||||
mMetricsFeatureProvider.logClickedPreference(preference,
|
mMetricsFeatureProvider.logClickedPreference(preference,
|
||||||
preference.getExtras().getInt(DashboardFragment.CATEGORY));
|
preference.getExtras().getInt(DashboardFragment.CATEGORY));
|
||||||
|
@@ -32,9 +32,9 @@ import com.android.settingslib.core.lifecycle.Lifecycle;
|
|||||||
* are two or more active mobile subscriptions. It shows an overview of available network
|
* are two or more active mobile subscriptions. It shows an overview of available network
|
||||||
* connections with an entry for wifi (if connected) and an entry for each subscription.
|
* connections with an entry for wifi (if connected) and an entry for each subscription.
|
||||||
*
|
*
|
||||||
* TODO(tomhsu) when provider model is completed, this class will be replaced
|
* @deprecated This class will be removed in Android U, there is no networks header anymore.
|
||||||
* by {@link NetworkMobileProviderController}
|
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public class MultiNetworkHeaderController extends BasePreferenceController implements
|
public class MultiNetworkHeaderController extends BasePreferenceController implements
|
||||||
WifiConnectionPreferenceController.UpdateListener,
|
WifiConnectionPreferenceController.UpdateListener,
|
||||||
SubscriptionsPreferenceController.UpdateListener {
|
SubscriptionsPreferenceController.UpdateListener {
|
||||||
|
@@ -100,8 +100,7 @@ public class NetworkProviderCallsSmsFragment extends DashboardFragment {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean isPageSearchEnabled(Context context) {
|
protected boolean isPageSearchEnabled(Context context) {
|
||||||
return Utils.isProviderModelEnabled(context) &&
|
return context.getSystemService(UserManager.class).isAdminUser();
|
||||||
context.getSystemService(UserManager.class).isAdminUser();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -74,15 +74,8 @@ import java.util.Map;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If the provider model is not enabled, this controller manages a set of Preferences it places into
|
* This controller manages preference with data subscription information and make its state
|
||||||
* a PreferenceGroup owned by some parent
|
* display on preference.
|
||||||
* controller class - one for each available subscription. This controller is only considered
|
|
||||||
* available if there are 2 or more subscriptions.
|
|
||||||
*
|
|
||||||
* If the provider model is enabled, this controller manages preference with data subscription
|
|
||||||
* information and make its state display on preference.
|
|
||||||
* TODO this class will clean up the multiple subscriptions functionality after the provider
|
|
||||||
* model is released.
|
|
||||||
*/
|
*/
|
||||||
public class SubscriptionsPreferenceController extends AbstractPreferenceController implements
|
public class SubscriptionsPreferenceController extends AbstractPreferenceController implements
|
||||||
LifecycleObserver, SubscriptionsChangeListener.SubscriptionsChangeListenerClient,
|
LifecycleObserver, SubscriptionsChangeListener.SubscriptionsChangeListenerClient,
|
||||||
@@ -228,14 +221,6 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mSubsPrefCtrlInjector.isProviderModelEnabled(mContext)) {
|
|
||||||
updateForProvider();
|
|
||||||
} else {
|
|
||||||
updateForBase();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void updateForProvider() {
|
|
||||||
SubscriptionInfo subInfo = mSubscriptionManager.getDefaultDataSubscriptionInfo();
|
SubscriptionInfo subInfo = mSubscriptionManager.getDefaultDataSubscriptionInfo();
|
||||||
if (subInfo == null) {
|
if (subInfo == null) {
|
||||||
mPreferenceGroup.removeAll();
|
mPreferenceGroup.removeAll();
|
||||||
@@ -349,50 +334,6 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
|
|||||||
mSubsGearPref.setSummary("");
|
mSubsGearPref.setSummary("");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateForBase() {
|
|
||||||
final Map<Integer, Preference> existingPrefs = mSubscriptionPreferences;
|
|
||||||
mSubscriptionPreferences = new ArrayMap<>();
|
|
||||||
|
|
||||||
int order = mStartOrder;
|
|
||||||
final Set<Integer> activeSubIds = new ArraySet<>();
|
|
||||||
final int dataDefaultSubId = mSubsPrefCtrlInjector.getDefaultDataSubscriptionId();
|
|
||||||
for (SubscriptionInfo info :
|
|
||||||
SubscriptionUtil.getActiveSubscriptions(mSubscriptionManager)) {
|
|
||||||
final int subId = info.getSubscriptionId();
|
|
||||||
// Avoid from showing subscription(SIM)s which has been marked as hidden
|
|
||||||
// For example, only one subscription will be shown when there're multiple
|
|
||||||
// subscriptions with same group UUID.
|
|
||||||
if (!mSubsPrefCtrlInjector.canSubscriptionBeDisplayed(mContext, subId)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
activeSubIds.add(subId);
|
|
||||||
Preference pref = existingPrefs.remove(subId);
|
|
||||||
if (pref == null) {
|
|
||||||
pref = new Preference(mPreferenceGroup.getContext());
|
|
||||||
mPreferenceGroup.addPreference(pref);
|
|
||||||
}
|
|
||||||
pref.setTitle(SubscriptionUtil.getUniqueSubscriptionDisplayName(info, mContext));
|
|
||||||
final boolean isDefaultForData = (subId == dataDefaultSubId);
|
|
||||||
pref.setSummary(getSummary(subId, isDefaultForData));
|
|
||||||
setIcon(pref, subId, isDefaultForData);
|
|
||||||
pref.setOrder(order++);
|
|
||||||
|
|
||||||
pref.setOnPreferenceClickListener(clickedPref -> {
|
|
||||||
startMobileNetworkActivity(mContext, subId);
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
|
|
||||||
mSubscriptionPreferences.put(subId, pref);
|
|
||||||
}
|
|
||||||
mSignalStrengthListener.updateSubscriptionIds(activeSubIds);
|
|
||||||
|
|
||||||
// Remove any old preferences that no longer map to a subscription.
|
|
||||||
for (Preference pref : existingPrefs.values()) {
|
|
||||||
mPreferenceGroup.removePreference(pref);
|
|
||||||
}
|
|
||||||
mUpdateListener.onChildrenUpdated();
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void startMobileNetworkActivity(Context context, int subId) {
|
private static void startMobileNetworkActivity(Context context, int subId) {
|
||||||
final Intent intent = new Intent(context, MobileNetworkActivity.class);
|
final Intent intent = new Intent(context, MobileNetworkActivity.class);
|
||||||
intent.putExtra(Settings.EXTRA_SUB_ID, subId);
|
intent.putExtra(Settings.EXTRA_SUB_ID, subId);
|
||||||
@@ -472,8 +413,7 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return true if there are at least 2 available subscriptions,
|
* @return true if there is at least 1 available subscription.
|
||||||
* or if there is at least 1 available subscription for provider model.
|
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean isAvailable() {
|
public boolean isAvailable() {
|
||||||
@@ -492,7 +432,7 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
|
|||||||
.filter(subInfo ->
|
.filter(subInfo ->
|
||||||
mSubsPrefCtrlInjector.canSubscriptionBeDisplayed(mContext,
|
mSubsPrefCtrlInjector.canSubscriptionBeDisplayed(mContext,
|
||||||
subInfo.getSubscriptionId()))
|
subInfo.getSubscriptionId()))
|
||||||
.count() >= (mSubsPrefCtrlInjector.isProviderModelEnabled(mContext) ? 1 : 2);
|
.count() >= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -537,12 +477,6 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
|
|||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
|
||||||
boolean canSubscriptionBeDisplayed(Context context, int subId) {
|
|
||||||
return (SubscriptionUtil.getAvailableSubscription(context,
|
|
||||||
ProxySubscriptionManager.getInstance(context), subId) != null);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setWifiPickerTrackerHelper(WifiPickerTrackerHelper helper) {
|
public void setWifiPickerTrackerHelper(WifiPickerTrackerHelper helper) {
|
||||||
mWifiPickerTrackerHelper = helper;
|
mWifiPickerTrackerHelper = helper;
|
||||||
}
|
}
|
||||||
@@ -602,13 +536,6 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
|
|||||||
return MobileNetworkUtils.activeNetworkIsCellular(context);
|
return MobileNetworkUtils.activeNetworkIsCellular(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Confirms the flag of Provider Model switch is turned on or not.
|
|
||||||
*/
|
|
||||||
public boolean isProviderModelEnabled(Context context) {
|
|
||||||
return Utils.isProviderModelEnabled(context);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets config for carrier customization.
|
* Gets config for carrier customization.
|
||||||
*/
|
*/
|
||||||
|
@@ -20,30 +20,24 @@ import static com.google.common.truth.Truth.assertThat;
|
|||||||
|
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
|
|
||||||
import android.app.Instrumentation;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
import android.provider.SearchIndexableResource;
|
|
||||||
import android.util.FeatureFlagUtils;
|
|
||||||
|
|
||||||
import androidx.test.annotation.UiThreadTest;
|
import androidx.test.annotation.UiThreadTest;
|
||||||
import androidx.test.core.app.ApplicationProvider;
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
import androidx.test.platform.app.InstrumentationRegistry;
|
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public class NetworkProviderCallsSmsFragmentTest {
|
public class NetworkProviderCallsSmsFragmentTest {
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private NetworkProviderCallsSmsFragment mNetworkProviderCallsSmsFragment;
|
|
||||||
private List<String> mPreferenceKeyList;
|
private List<String> mPreferenceKeyList;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
@@ -55,14 +49,11 @@ public class NetworkProviderCallsSmsFragmentTest {
|
|||||||
if (Looper.myLooper() == null) {
|
if (Looper.myLooper() == null) {
|
||||||
Looper.prepare();
|
Looper.prepare();
|
||||||
}
|
}
|
||||||
|
|
||||||
mNetworkProviderCallsSmsFragment = new NetworkProviderCallsSmsFragment();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void isPageSearchEnabled_providerModelEnable_shouldIncludeFragmentXml() {
|
public void isPageSearchEnabled_shouldIncludeFragmentXml() {
|
||||||
FeatureFlagUtils.setEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL, true);
|
|
||||||
mPreferenceKeyList =
|
mPreferenceKeyList =
|
||||||
NetworkProviderCallsSmsFragment.SEARCH_INDEX_DATA_PROVIDER
|
NetworkProviderCallsSmsFragment.SEARCH_INDEX_DATA_PROVIDER
|
||||||
.getNonIndexableKeys(mContext);
|
.getNonIndexableKeys(mContext);
|
||||||
@@ -71,17 +62,4 @@ public class NetworkProviderCallsSmsFragmentTest {
|
|||||||
assertThat(mPreferenceKeyList).doesNotContain(
|
assertThat(mPreferenceKeyList).doesNotContain(
|
||||||
NetworkProviderCallsSmsFragment.KEY_PREFERENCE_SMS);
|
NetworkProviderCallsSmsFragment.KEY_PREFERENCE_SMS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
@UiThreadTest
|
|
||||||
public void isPageSearchEnabled_providerModelDisable_shouldNotIncludeFragmentXml() {
|
|
||||||
FeatureFlagUtils.setEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL, false);
|
|
||||||
mPreferenceKeyList =
|
|
||||||
NetworkProviderCallsSmsFragment.SEARCH_INDEX_DATA_PROVIDER
|
|
||||||
.getNonIndexableKeys(mContext);
|
|
||||||
assertThat(mPreferenceKeyList).contains(NetworkProviderCallsSmsFragment
|
|
||||||
.KEY_PREFERENCE_CALLS);
|
|
||||||
assertThat(mPreferenceKeyList).contains(NetworkProviderCallsSmsFragment
|
|
||||||
.KEY_PREFERENCE_SMS);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -146,7 +146,6 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
mUpdateListener = () -> mOnChildUpdatedCount++;
|
mUpdateListener = () -> mOnChildUpdatedCount++;
|
||||||
|
|
||||||
sInjector = spy(new SubsPrefCtrlInjector());
|
sInjector = spy(new SubsPrefCtrlInjector());
|
||||||
initializeMethod(true, 1, 1, 1, false, false);
|
|
||||||
mController = new FakeSubscriptionsPreferenceController(mContext, mLifecycle,
|
mController = new FakeSubscriptionsPreferenceController(mContext, mLifecycle,
|
||||||
mUpdateListener, KEY, 5);
|
mUpdateListener, KEY, 5);
|
||||||
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0);
|
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0);
|
||||||
@@ -157,31 +156,15 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(null);
|
SubscriptionUtil.setActiveSubscriptionsForTesting(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void isAvailable_oneSubscription_availableFalse() {
|
|
||||||
setupMockSubscriptions(1);
|
|
||||||
|
|
||||||
assertThat(mController.isAvailable()).isFalse();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isAvailable_oneSubAndProviderOn_availableTrue() {
|
public void isAvailable_oneSubAndProviderOn_availableTrue() {
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
|
||||||
setupMockSubscriptions(1);
|
setupMockSubscriptions(1);
|
||||||
|
|
||||||
assertThat(mController.isAvailable()).isTrue();
|
assertThat(mController.isAvailable()).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void isAvailable_twoSubscriptions_availableTrue() {
|
|
||||||
setupMockSubscriptions(2);
|
|
||||||
|
|
||||||
assertThat(mController.isAvailable()).isTrue();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isAvailable_fiveSubscriptions_availableTrue() {
|
public void isAvailable_fiveSubscriptions_availableTrue() {
|
||||||
doReturn(true).when(sInjector).canSubscriptionBeDisplayed(mContext, 0);
|
|
||||||
setupMockSubscriptions(5);
|
setupMockSubscriptions(5);
|
||||||
|
|
||||||
assertThat(mController.isAvailable()).isTrue();
|
assertThat(mController.isAvailable()).isTrue();
|
||||||
@@ -198,205 +181,10 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
assertThat(mController.isAvailable()).isFalse();
|
assertThat(mController.isAvailable()).isFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
@UiThreadTest
|
|
||||||
public void onAirplaneModeChanged_airplaneModeTurnedOn_eventFired() {
|
|
||||||
setupMockSubscriptions(2);
|
|
||||||
|
|
||||||
mController.onResume();
|
|
||||||
mController.displayPreference(mPreferenceScreen);
|
|
||||||
|
|
||||||
assertThat(mController.isAvailable()).isTrue();
|
|
||||||
|
|
||||||
final int updateCountBeforeModeChange = mOnChildUpdatedCount;
|
|
||||||
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 1);
|
|
||||||
|
|
||||||
mController.onAirplaneModeChanged(true);
|
|
||||||
|
|
||||||
assertThat(mController.isAvailable()).isFalse();
|
|
||||||
assertThat(mOnChildUpdatedCount).isEqualTo(updateCountBeforeModeChange + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@UiThreadTest
|
|
||||||
public void onAirplaneModeChanged_airplaneModeTurnedOff_eventFired() {
|
|
||||||
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 1);
|
|
||||||
setupMockSubscriptions(2);
|
|
||||||
|
|
||||||
mController.onResume();
|
|
||||||
mController.displayPreference(mPreferenceScreen);
|
|
||||||
assertThat(mController.isAvailable()).isFalse();
|
|
||||||
|
|
||||||
final int updateCountBeforeModeChange = mOnChildUpdatedCount;
|
|
||||||
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0);
|
|
||||||
|
|
||||||
mController.onAirplaneModeChanged(true);
|
|
||||||
|
|
||||||
assertThat(mController.isAvailable()).isTrue();
|
|
||||||
assertThat(mOnChildUpdatedCount).isEqualTo(updateCountBeforeModeChange + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@UiThreadTest
|
|
||||||
public void onSubscriptionsChanged_countBecameTwo_eventFired() {
|
|
||||||
final List<SubscriptionInfo> subs = setupMockSubscriptions(2);
|
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(subs.subList(0, 1));
|
|
||||||
|
|
||||||
mController.onResume();
|
|
||||||
mController.displayPreference(mPreferenceScreen);
|
|
||||||
|
|
||||||
assertThat(mController.isAvailable()).isFalse();
|
|
||||||
|
|
||||||
final int updateCountBeforeSubscriptionChange = mOnChildUpdatedCount;
|
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(subs);
|
|
||||||
|
|
||||||
mController.onSubscriptionsChanged();
|
|
||||||
|
|
||||||
assertThat(mController.isAvailable()).isTrue();
|
|
||||||
assertThat(mOnChildUpdatedCount).isEqualTo(updateCountBeforeSubscriptionChange + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@UiThreadTest
|
|
||||||
public void onSubscriptionsChanged_countBecameOne_eventFiredAndPrefsRemoved() {
|
|
||||||
final List<SubscriptionInfo> subs = setupMockSubscriptions(2);
|
|
||||||
|
|
||||||
mController.onResume();
|
|
||||||
mController.displayPreference(mPreferenceScreen);
|
|
||||||
|
|
||||||
assertThat(mController.isAvailable()).isTrue();
|
|
||||||
assertThat(mPreferenceCategory.getPreferenceCount()).isEqualTo(2);
|
|
||||||
|
|
||||||
final int updateCountBeforeSubscriptionChange = mOnChildUpdatedCount;
|
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(subs.subList(0, 1));
|
|
||||||
|
|
||||||
mController.onSubscriptionsChanged();
|
|
||||||
|
|
||||||
assertThat(mController.isAvailable()).isFalse();
|
|
||||||
assertThat(mOnChildUpdatedCount).isEqualTo(updateCountBeforeSubscriptionChange + 1);
|
|
||||||
assertThat(mPreferenceCategory.getPreferenceCount()).isEqualTo(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@UiThreadTest
|
|
||||||
public void onSubscriptionsChanged_subscriptionReplaced_preferencesChanged() {
|
|
||||||
final List<SubscriptionInfo> subs = setupMockSubscriptions(3);
|
|
||||||
doReturn(subs).when(mSubscriptionManager).getAvailableSubscriptionInfoList();
|
|
||||||
|
|
||||||
// Start out with only sub1 and sub2.
|
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(subs.subList(0, 2));
|
|
||||||
mController.onResume();
|
|
||||||
mController.displayPreference(mPreferenceScreen);
|
|
||||||
|
|
||||||
assertThat(mPreferenceCategory.getPreferenceCount()).isEqualTo(2);
|
|
||||||
assertThat(mPreferenceCategory.getPreference(0).getTitle()).isEqualTo("sub2");
|
|
||||||
assertThat(mPreferenceCategory.getPreference(1).getTitle()).isEqualTo("sub1");
|
|
||||||
|
|
||||||
// Now replace sub2 with sub3, and make sure the old preference was removed and the new
|
|
||||||
// preference was added.
|
|
||||||
final int updateCountBeforeSubscriptionChange = mOnChildUpdatedCount;
|
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(subs.get(0), subs.get(2)));
|
|
||||||
mController.onSubscriptionsChanged();
|
|
||||||
|
|
||||||
assertThat(mController.isAvailable()).isTrue();
|
|
||||||
assertThat(mOnChildUpdatedCount).isEqualTo(updateCountBeforeSubscriptionChange + 1);
|
|
||||||
assertThat(mPreferenceCategory.getPreferenceCount()).isEqualTo(2);
|
|
||||||
assertThat(mPreferenceCategory.getPreference(0).getTitle()).isEqualTo("sub3");
|
|
||||||
assertThat(mPreferenceCategory.getPreference(1).getTitle()).isEqualTo("sub1");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void getSummary_twoSubsOneDefaultForEverythingDataActive() {
|
|
||||||
setupMockSubscriptions(2);
|
|
||||||
|
|
||||||
doReturn(11).when(sInjector).getDefaultSmsSubscriptionId();
|
|
||||||
doReturn(11).when(sInjector).getDefaultVoiceSubscriptionId();
|
|
||||||
when(mTelephonyManager.isDataEnabled()).thenReturn(true);
|
|
||||||
doReturn(true).when(sInjector).isActiveCellularNetwork(mContext);
|
|
||||||
|
|
||||||
assertThat(mController.getSummary(11, true)).isEqualTo(
|
|
||||||
ResourcesUtils.getResourcesString(mContext, "default_for_calls_and_sms")
|
|
||||||
+ System.lineSeparator()
|
|
||||||
+ ResourcesUtils.getResourcesString(mContext, "mobile_data_active"));
|
|
||||||
|
|
||||||
assertThat(mController.getSummary(22, false)).isEqualTo(
|
|
||||||
ResourcesUtils.getResourcesString(mContext, "subscription_available"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void getSummary_twoSubsOneDefaultForEverythingDataNotActive() {
|
|
||||||
setupMockSubscriptions(2, 1, true);
|
|
||||||
|
|
||||||
doReturn(1).when(sInjector).getDefaultSmsSubscriptionId();
|
|
||||||
doReturn(1).when(sInjector).getDefaultVoiceSubscriptionId();
|
|
||||||
|
|
||||||
assertThat(mController.getSummary(1, true)).isEqualTo(
|
|
||||||
ResourcesUtils.getResourcesString(mContext, "default_for_calls_and_sms")
|
|
||||||
+ System.lineSeparator()
|
|
||||||
+ ResourcesUtils.getResourcesString(mContext, "default_for_mobile_data"));
|
|
||||||
|
|
||||||
assertThat(mController.getSummary(2, false)).isEqualTo(
|
|
||||||
ResourcesUtils.getResourcesString(mContext, "subscription_available"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void getSummary_twoSubsOneDefaultForEverythingDataDisabled() {
|
|
||||||
setupMockSubscriptions(2);
|
|
||||||
|
|
||||||
doReturn(1).when(sInjector).getDefaultSmsSubscriptionId();
|
|
||||||
doReturn(1).when(sInjector).getDefaultVoiceSubscriptionId();
|
|
||||||
|
|
||||||
assertThat(mController.getSummary(1, true)).isEqualTo(
|
|
||||||
ResourcesUtils.getResourcesString(mContext, "default_for_calls_and_sms")
|
|
||||||
+ System.lineSeparator()
|
|
||||||
+ ResourcesUtils.getResourcesString(mContext, "mobile_data_off"));
|
|
||||||
|
|
||||||
assertThat(mController.getSummary(2, false)).isEqualTo(
|
|
||||||
ResourcesUtils.getResourcesString(mContext, "subscription_available"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void getSummary_twoSubsOneForCallsAndDataOneForSms() {
|
|
||||||
setupMockSubscriptions(2, 1, true);
|
|
||||||
|
|
||||||
doReturn(2).when(sInjector).getDefaultSmsSubscriptionId();
|
|
||||||
doReturn(1).when(sInjector).getDefaultVoiceSubscriptionId();
|
|
||||||
|
|
||||||
assertThat(mController.getSummary(1, true)).isEqualTo(
|
|
||||||
ResourcesUtils.getResourcesString(mContext, "default_for_calls")
|
|
||||||
+ System.lineSeparator()
|
|
||||||
+ ResourcesUtils.getResourcesString(mContext, "default_for_mobile_data"));
|
|
||||||
|
|
||||||
assertThat(mController.getSummary(2, false)).isEqualTo(
|
|
||||||
ResourcesUtils.getResourcesString(mContext, "default_for_sms"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@UiThreadTest
|
|
||||||
public void setIcon_greatSignal_correctLevels() {
|
|
||||||
final List<SubscriptionInfo> subs = setupMockSubscriptions(2, 1, true);
|
|
||||||
setMockSubSignalStrength(subs, 0, SIGNAL_STRENGTH_GREAT);
|
|
||||||
setMockSubSignalStrength(subs, 1, SIGNAL_STRENGTH_GREAT);
|
|
||||||
final Preference pref = new Preference(mContext);
|
|
||||||
final Drawable greatDrawWithoutCutOff = mock(Drawable.class);
|
|
||||||
doReturn(greatDrawWithoutCutOff).when(sInjector)
|
|
||||||
.getIcon(any(), anyInt(), anyInt(), anyBoolean());
|
|
||||||
|
|
||||||
mController.setIcon(pref, 1, true /* isDefaultForData */);
|
|
||||||
assertThat(pref.getIcon()).isEqualTo(greatDrawWithoutCutOff);
|
|
||||||
|
|
||||||
final Drawable greatDrawWithCutOff = mock(Drawable.class);
|
|
||||||
doReturn(greatDrawWithCutOff).when(sInjector)
|
|
||||||
.getIcon(any(), anyInt(), anyInt(), anyBoolean());
|
|
||||||
mController.setIcon(pref, 2, false /* isDefaultForData */);
|
|
||||||
assertThat(pref.getIcon()).isEqualTo(greatDrawWithCutOff);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void displayPreference_providerAndHasSim_showPreference() {
|
public void displayPreference_providerAndHasSim_showPreference() {
|
||||||
final List<SubscriptionInfo> sub = setupMockSubscriptions(1);
|
final List<SubscriptionInfo> sub = setupMockSubscriptions(1);
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
|
||||||
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
doReturn(sub).when(mSubscriptionManager).getAvailableSubscriptionInfoList();
|
doReturn(sub).when(mSubscriptionManager).getAvailableSubscriptionInfoList();
|
||||||
|
|
||||||
@@ -411,7 +199,6 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void displayPreference_providerAndHasMultiSim_showDataSubPreference() {
|
public void displayPreference_providerAndHasMultiSim_showDataSubPreference() {
|
||||||
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
|
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
|
||||||
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
doReturn(sub).when(mSubscriptionManager).getAvailableSubscriptionInfoList();
|
doReturn(sub).when(mSubscriptionManager).getAvailableSubscriptionInfoList();
|
||||||
|
|
||||||
@@ -429,7 +216,6 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
Html.fromHtml("Connected / 5G", Html.FROM_HTML_MODE_LEGACY);
|
Html.fromHtml("Connected / 5G", Html.FROM_HTML_MODE_LEGACY);
|
||||||
final String networkType = "5G";
|
final String networkType = "5G";
|
||||||
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
|
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
|
||||||
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
setupGetIconConditions(sub.get(0).getSubscriptionId(), true, true,
|
setupGetIconConditions(sub.get(0).getSubscriptionId(), true, true,
|
||||||
true, ServiceState.STATE_IN_SERVICE);
|
true, ServiceState.STATE_IN_SERVICE);
|
||||||
@@ -450,7 +236,6 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
Html.fromHtml("Connected / W+", Html.FROM_HTML_MODE_LEGACY);
|
Html.fromHtml("Connected / W+", Html.FROM_HTML_MODE_LEGACY);
|
||||||
final String networkType = "W+";
|
final String networkType = "W+";
|
||||||
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
|
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
|
||||||
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
setupGetIconConditions(sub.get(0).getSubscriptionId(), false, true,
|
setupGetIconConditions(sub.get(0).getSubscriptionId(), false, true,
|
||||||
true, ServiceState.STATE_IN_SERVICE);
|
true, ServiceState.STATE_IN_SERVICE);
|
||||||
@@ -475,7 +260,6 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
Html.fromHtml(dataOffSummary, Html.FROM_HTML_MODE_LEGACY);
|
Html.fromHtml(dataOffSummary, Html.FROM_HTML_MODE_LEGACY);
|
||||||
final String networkType = "5G";
|
final String networkType = "5G";
|
||||||
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
|
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
|
||||||
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
setupGetIconConditions(sub.get(0).getSubscriptionId(), false, false,
|
setupGetIconConditions(sub.get(0).getSubscriptionId(), false, false,
|
||||||
true, ServiceState.STATE_IN_SERVICE);
|
true, ServiceState.STATE_IN_SERVICE);
|
||||||
@@ -495,7 +279,6 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
final CharSequence expectedSummary = Html.fromHtml("5G", Html.FROM_HTML_MODE_LEGACY);
|
final CharSequence expectedSummary = Html.fromHtml("5G", Html.FROM_HTML_MODE_LEGACY);
|
||||||
final String networkType = "5G";
|
final String networkType = "5G";
|
||||||
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
|
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
|
||||||
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
setupGetIconConditions(sub.get(0).getSubscriptionId(), false, true,
|
setupGetIconConditions(sub.get(0).getSubscriptionId(), false, true,
|
||||||
true, ServiceState.STATE_IN_SERVICE);
|
true, ServiceState.STATE_IN_SERVICE);
|
||||||
@@ -512,7 +295,6 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void displayPreference_providerAndNoSim_noPreference() {
|
public void displayPreference_providerAndNoSim_noPreference() {
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
|
||||||
doReturn(null).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(null).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
|
|
||||||
mController.onResume();
|
mController.onResume();
|
||||||
@@ -531,7 +313,6 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
final TelephonyDisplayInfo telephonyDisplayInfo =
|
final TelephonyDisplayInfo telephonyDisplayInfo =
|
||||||
new TelephonyDisplayInfo(TelephonyManager.NETWORK_TYPE_UNKNOWN,
|
new TelephonyDisplayInfo(TelephonyManager.NETWORK_TYPE_UNKNOWN,
|
||||||
TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE);
|
TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE);
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
|
||||||
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
setupGetIconConditions(sub.get(0).getSubscriptionId(), true, true,
|
setupGetIconConditions(sub.get(0).getSubscriptionId(), true, true,
|
||||||
true, ServiceState.STATE_IN_SERVICE);
|
true, ServiceState.STATE_IN_SERVICE);
|
||||||
@@ -557,7 +338,6 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
final TelephonyDisplayInfo telephonyDisplayInfo =
|
final TelephonyDisplayInfo telephonyDisplayInfo =
|
||||||
new TelephonyDisplayInfo(TelephonyManager.NETWORK_TYPE_UNKNOWN,
|
new TelephonyDisplayInfo(TelephonyManager.NETWORK_TYPE_UNKNOWN,
|
||||||
TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE);
|
TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE);
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
|
||||||
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
setupGetIconConditions(sub.get(0).getSubscriptionId(), false, true,
|
setupGetIconConditions(sub.get(0).getSubscriptionId(), false, true,
|
||||||
true, ServiceState.STATE_IN_SERVICE);
|
true, ServiceState.STATE_IN_SERVICE);
|
||||||
@@ -584,7 +364,6 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
final TelephonyDisplayInfo telephonyDisplayInfo =
|
final TelephonyDisplayInfo telephonyDisplayInfo =
|
||||||
new TelephonyDisplayInfo(TelephonyManager.NETWORK_TYPE_UNKNOWN,
|
new TelephonyDisplayInfo(TelephonyManager.NETWORK_TYPE_UNKNOWN,
|
||||||
TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE);
|
TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE);
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
|
||||||
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
setupGetIconConditions(sub.get(0).getSubscriptionId(), false, true,
|
setupGetIconConditions(sub.get(0).getSubscriptionId(), false, true,
|
||||||
false, ServiceState.STATE_OUT_OF_SERVICE);
|
false, ServiceState.STATE_OUT_OF_SERVICE);
|
||||||
@@ -603,7 +382,6 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void onAirplaneModeChanged_providerAndHasSim_noPreference() {
|
public void onAirplaneModeChanged_providerAndHasSim_noPreference() {
|
||||||
setupMockSubscriptions(1);
|
setupMockSubscriptions(1);
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
|
||||||
mController.onResume();
|
mController.onResume();
|
||||||
mController.displayPreference(mPreferenceScreen);
|
mController.displayPreference(mPreferenceScreen);
|
||||||
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 1);
|
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 1);
|
||||||
@@ -618,7 +396,6 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void dataSubscriptionChanged_providerAndHasMultiSim_showSubId1Preference() {
|
public void dataSubscriptionChanged_providerAndHasMultiSim_showSubId1Preference() {
|
||||||
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
|
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
|
||||||
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
doReturn(sub).when(mSubscriptionManager).getAvailableSubscriptionInfoList();
|
doReturn(sub).when(mSubscriptionManager).getAvailableSubscriptionInfoList();
|
||||||
Intent intent = new Intent(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
|
Intent intent = new Intent(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
|
||||||
@@ -637,7 +414,6 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
public void dataSubscriptionChanged_providerAndHasMultiSim_showSubId2Preference() {
|
public void dataSubscriptionChanged_providerAndHasMultiSim_showSubId2Preference() {
|
||||||
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
|
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
|
||||||
final int subId = sub.get(0).getSubscriptionId();
|
final int subId = sub.get(0).getSubscriptionId();
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
|
||||||
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
doReturn(sub).when(mSubscriptionManager).getAvailableSubscriptionInfoList();
|
doReturn(sub).when(mSubscriptionManager).getAvailableSubscriptionInfoList();
|
||||||
Intent intent = new Intent(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
|
Intent intent = new Intent(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
|
||||||
@@ -662,7 +438,6 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void getIcon_cellularIsActive_iconColorIsAccentDefaultColor() {
|
public void getIcon_cellularIsActive_iconColorIsAccentDefaultColor() {
|
||||||
final List<SubscriptionInfo> sub = setupMockSubscriptions(1);
|
final List<SubscriptionInfo> sub = setupMockSubscriptions(1);
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
|
||||||
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
Drawable icon = mock(Drawable.class);
|
Drawable icon = mock(Drawable.class);
|
||||||
when(mTelephonyManager.isDataEnabled()).thenReturn(true);
|
when(mTelephonyManager.isDataEnabled()).thenReturn(true);
|
||||||
@@ -681,7 +456,6 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
public void getIcon_dataStateConnectedAndMobileDataOn_iconIsSignalIcon() {
|
public void getIcon_dataStateConnectedAndMobileDataOn_iconIsSignalIcon() {
|
||||||
final List<SubscriptionInfo> subs = setupMockSubscriptions(1);
|
final List<SubscriptionInfo> subs = setupMockSubscriptions(1);
|
||||||
final int subId = subs.get(0).getSubscriptionId();
|
final int subId = subs.get(0).getSubscriptionId();
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
|
||||||
doReturn(subs.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(subs.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
Drawable icon = mock(Drawable.class);
|
Drawable icon = mock(Drawable.class);
|
||||||
when(mTelephonyManager.isDataEnabled()).thenReturn(true);
|
when(mTelephonyManager.isDataEnabled()).thenReturn(true);
|
||||||
@@ -700,7 +474,6 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
public void getIcon_voiceInServiceAndMobileDataOff_iconIsSignalIcon() {
|
public void getIcon_voiceInServiceAndMobileDataOff_iconIsSignalIcon() {
|
||||||
final List<SubscriptionInfo> subs = setupMockSubscriptions(1);
|
final List<SubscriptionInfo> subs = setupMockSubscriptions(1);
|
||||||
final int subId = subs.get(0).getSubscriptionId();
|
final int subId = subs.get(0).getSubscriptionId();
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
|
||||||
doReturn(subs.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(subs.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
Drawable icon = mock(Drawable.class);
|
Drawable icon = mock(Drawable.class);
|
||||||
when(mTelephonyManager.isDataEnabled()).thenReturn(false);
|
when(mTelephonyManager.isDataEnabled()).thenReturn(false);
|
||||||
@@ -807,40 +580,6 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
return infos;
|
return infos;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Helper method to set the signal strength returned for a mock subscription
|
|
||||||
* @param subs The list of subscriptions
|
|
||||||
* @param index The index in of the subscription in |subs| to change
|
|
||||||
* @param level The signal strength level to return for the subscription. Pass -1 to force
|
|
||||||
* return of a null SignalStrength object for the subscription.
|
|
||||||
*/
|
|
||||||
private void setMockSubSignalStrength(List<SubscriptionInfo> subs, int index, int level) {
|
|
||||||
final int subId = subs.get(index).getSubscriptionId();
|
|
||||||
doReturn(mTelephonyManagerForSub).when(mTelephonyManager).createForSubscriptionId(subId);
|
|
||||||
if (level == -1) {
|
|
||||||
when(mTelephonyManagerForSub.getSignalStrength()).thenReturn(null);
|
|
||||||
} else {
|
|
||||||
final SignalStrength signalStrength = mock(SignalStrength.class);
|
|
||||||
doReturn(signalStrength).when(mTelephonyManagerForSub).getSignalStrength();
|
|
||||||
when(signalStrength.getLevel()).thenReturn(level);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void initializeMethod(boolean isSubscriptionCanBeDisplayed,
|
|
||||||
int defaultSmsSubscriptionId, int defaultVoiceSubscriptionId,
|
|
||||||
int defaultDataSubscriptionId, boolean isActiveCellularNetwork,
|
|
||||||
boolean isProviderModelEnabled) {
|
|
||||||
doReturn(isSubscriptionCanBeDisplayed)
|
|
||||||
.when(sInjector).canSubscriptionBeDisplayed(mContext, eq(anyInt()));
|
|
||||||
doReturn(defaultSmsSubscriptionId).when(sInjector).getDefaultSmsSubscriptionId();
|
|
||||||
doReturn(defaultVoiceSubscriptionId).when(sInjector).getDefaultVoiceSubscriptionId();
|
|
||||||
doReturn(defaultDataSubscriptionId).when(sInjector).getDefaultDataSubscriptionId();
|
|
||||||
doReturn(isActiveCellularNetwork).when(sInjector).isActiveCellularNetwork(mContext);
|
|
||||||
doReturn(isProviderModelEnabled).when(sInjector).isProviderModelEnabled(mContext);
|
|
||||||
doReturn(mock(Drawable.class))
|
|
||||||
.when(sInjector).getIcon(any(), anyInt(), anyInt(), eq(false));
|
|
||||||
}
|
|
||||||
|
|
||||||
private static class FakeSubscriptionsPreferenceController
|
private static class FakeSubscriptionsPreferenceController
|
||||||
extends SubscriptionsPreferenceController {
|
extends SubscriptionsPreferenceController {
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user