Merge "[Settings] Code refactor on MobileNetworkActivity" into rvc-dev
This commit is contained in:
@@ -103,7 +103,7 @@ public class MobileNetworkActivity extends SettingsBaseActivity
|
|||||||
actionBar.setDisplayHomeAsUpEnabled(true);
|
actionBar.setDisplayHomeAsUpEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
registerActiveSubscriptionsListener();
|
getProxySubscriptionManager().setLifecycle(getLifecycle());
|
||||||
|
|
||||||
final Intent startIntent = getIntent();
|
final Intent startIntent = getIntent();
|
||||||
validate(startIntent);
|
validate(startIntent);
|
||||||
@@ -116,13 +116,23 @@ public class MobileNetworkActivity extends SettingsBaseActivity
|
|||||||
final SubscriptionInfo subscription = getSubscription();
|
final SubscriptionInfo subscription = getSubscription();
|
||||||
updateTitleAndNavigation(subscription);
|
updateTitleAndNavigation(subscription);
|
||||||
maybeShowContactDiscoveryDialog(mCurSubscriptionId);
|
maybeShowContactDiscoveryDialog(mCurSubscriptionId);
|
||||||
|
|
||||||
|
// Since onChanged() will take place immediately when addActiveSubscriptionsListener(),
|
||||||
|
// perform registration after mCurSubscriptionId been configured.
|
||||||
|
registerActiveSubscriptionsListener();
|
||||||
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
ProxySubscriptionManager getProxySubscriptionManager() {
|
||||||
|
if (mProxySubscriptionMgr == null) {
|
||||||
|
mProxySubscriptionMgr = ProxySubscriptionManager.getInstance(this);
|
||||||
|
}
|
||||||
|
return mProxySubscriptionMgr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
void registerActiveSubscriptionsListener() {
|
void registerActiveSubscriptionsListener() {
|
||||||
mProxySubscriptionMgr = ProxySubscriptionManager.getInstance(this);
|
getProxySubscriptionManager().addActiveSubscriptionsListener(this);
|
||||||
mProxySubscriptionMgr.setLifecycle(getLifecycle());
|
|
||||||
mProxySubscriptionMgr.addActiveSubscriptionsListener(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -145,7 +155,7 @@ public class MobileNetworkActivity extends SettingsBaseActivity
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onStart() {
|
protected void onStart() {
|
||||||
mProxySubscriptionMgr.setLifecycle(getLifecycle());
|
getProxySubscriptionManager().setLifecycle(getLifecycle());
|
||||||
super.onStart();
|
super.onStart();
|
||||||
// updateSubscriptions doesn't need to be called, onChanged will always be called after we
|
// updateSubscriptions doesn't need to be called, onChanged will always be called after we
|
||||||
// register a listener.
|
// register a listener.
|
||||||
@@ -201,19 +211,22 @@ public class MobileNetworkActivity extends SettingsBaseActivity
|
|||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
SubscriptionInfo getSubscription() {
|
SubscriptionInfo getSubscription() {
|
||||||
if (mCurSubscriptionId != SUB_ID_NULL) {
|
if (mCurSubscriptionId != SUB_ID_NULL) {
|
||||||
final SubscriptionInfo subInfo = SubscriptionUtil.getAvailableSubscription(
|
return getSubscriptionForSubId(mCurSubscriptionId);
|
||||||
this, mProxySubscriptionMgr, mCurSubscriptionId);
|
|
||||||
if (subInfo != null) {
|
|
||||||
return subInfo;
|
|
||||||
}
|
}
|
||||||
}
|
final List<SubscriptionInfo> subInfos = getProxySubscriptionManager()
|
||||||
final List<SubscriptionInfo> subInfos = mProxySubscriptionMgr.getActiveSubscriptionsInfo();
|
.getActiveSubscriptionsInfo();
|
||||||
if (CollectionUtils.isEmpty(subInfos)) {
|
if (CollectionUtils.isEmpty(subInfos)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return subInfos.get(0);
|
return subInfos.get(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
SubscriptionInfo getSubscriptionForSubId(int subId) {
|
||||||
|
return SubscriptionUtil.getAvailableSubscription(this,
|
||||||
|
getProxySubscriptionManager(), subId);
|
||||||
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
void switchFragment(SubscriptionInfo subInfo) {
|
void switchFragment(SubscriptionInfo subInfo) {
|
||||||
final FragmentManager fragmentManager = getSupportFragmentManager();
|
final FragmentManager fragmentManager = getSupportFragmentManager();
|
||||||
|
@@ -112,8 +112,15 @@ public class MobileNetworkActivityTest {
|
|||||||
private SubscriptionInfo mSubscriptionInFragment;
|
private SubscriptionInfo mSubscriptionInFragment;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
void registerActiveSubscriptionsListener() {
|
ProxySubscriptionManager getProxySubscriptionManager() {
|
||||||
|
if (mProxySubscriptionMgr == null) {
|
||||||
mProxySubscriptionMgr = mock(ProxySubscriptionManager.class);
|
mProxySubscriptionMgr = mock(ProxySubscriptionManager.class);
|
||||||
|
}
|
||||||
|
return mProxySubscriptionMgr;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
void registerActiveSubscriptionsListener() {
|
||||||
onChanged();
|
onChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user