Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f9bb3b4d authored by Bonian Chen's avatar Bonian Chen Committed by Android (Google) Code Review
Browse files

Merge "[Settings] Code refactor on MobileNetworkActivity" into rvc-dev

parents d33b6630 806c9d52
Loading
Loading
Loading
Loading
+24 −11
Original line number Original line Diff line number Diff line
@@ -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
    @VisibleForTesting
    void registerActiveSubscriptionsListener() {
    ProxySubscriptionManager getProxySubscriptionManager() {
        if (mProxySubscriptionMgr == null) {
            mProxySubscriptionMgr = ProxySubscriptionManager.getInstance(this);
            mProxySubscriptionMgr = ProxySubscriptionManager.getInstance(this);
        mProxySubscriptionMgr.setLifecycle(getLifecycle());
        }
        mProxySubscriptionMgr.addActiveSubscriptionsListener(this);
        return mProxySubscriptionMgr;
    }

    @VisibleForTesting
    void registerActiveSubscriptionsListener() {
        getProxySubscriptionManager().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 = mProxySubscriptionMgr.getActiveSubscriptionsInfo();
        final List<SubscriptionInfo> subInfos = getProxySubscriptionManager()
                .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();
+8 −1
Original line number Original line Diff line number Diff line
@@ -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();
        }
        }