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

Commit 073f483d authored by Bonian Chen's avatar Bonian Chen
Browse files

[Settings] Replacing SubscriptionManager#addOnSubscriptionsChangedListener API

Replace SubscriptionManager#addOnSubscriptionsChangedListener API in
order to compatible with legacy design.

Bug: 151838951
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=SubscriptionsChangeListenerTest
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=ActiveSubsciptionsListenerTest
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=SimStatusDialogControllerTest
Change-Id: Ib98ce0dcbf18b6f48a6f267dd9e7be017d571157
parent a3fccb9c
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -268,7 +268,8 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
                PhoneStateListener.LISTEN_DATA_CONNECTION_STATE
                        | PhoneStateListener.LISTEN_SIGNAL_STRENGTHS
                        | PhoneStateListener.LISTEN_SERVICE_STATE);
        mSubscriptionManager.addOnSubscriptionsChangedListener(mOnSubscriptionsChangedListener);
        mSubscriptionManager.addOnSubscriptionsChangedListener(
                mContext.getMainExecutor(), mOnSubscriptionsChangedListener);
        registerImsRegistrationCallback(mSubscriptionInfo.getSubscriptionId());

        if (mShowLatestAreaInfo) {
+7 −1
Original line number Diff line number Diff line
@@ -266,6 +266,12 @@ public abstract class ActiveSubsciptionsListener
        mCachedActiveSubscriptionInfo = null;
    }

    @VisibleForTesting
    void registerForSubscriptionsChange() {
        getSubscriptionManager().addOnSubscriptionsChangedListener(
                mContext.getMainExecutor(), this);
    }

    private void monitorSubscriptionsChange(boolean on) {
        if (on) {
            if (!mCacheState.compareAndSet(STATE_NOT_LISTENING, STATE_PREPARING)) {
@@ -277,7 +283,7 @@ public abstract class ActiveSubsciptionsListener
            }
            mContext.registerReceiver(mSubscriptionChangeReceiver,
                    mSubscriptionChangeIntentFilter, null, new Handler(mLooper));
            getSubscriptionManager().addOnSubscriptionsChangedListener(this);
            registerForSubscriptionsChange();
            mCacheState.compareAndSet(STATE_PREPARING, STATE_LISTENING);
            return;
        }
+2 −1
Original line number Diff line number Diff line
@@ -67,7 +67,8 @@ public class SubscriptionsChangeListener extends ContentObserver {
    }

    public void start() {
        mSubscriptionManager.addOnSubscriptionsChangedListener(mSubscriptionsChangedListener);
        mSubscriptionManager.addOnSubscriptionsChangedListener(
                mContext.getMainExecutor(), mSubscriptionsChangedListener);
        mContext.getContentResolver()
                .registerContentObserver(mAirplaneModeSettingUri, false, this);
        final IntentFilter radioTechnologyChangedFilter = new IntentFilter(
+4 −0
Original line number Diff line number Diff line
@@ -108,6 +108,10 @@ public class ActiveSubsciptionsListenerTest {
        private ActiveSubsciptionsListenerImpl(Looper looper, Context context) {
            super(looper, context);
        }

        @Override
        void registerForSubscriptionsChange() {}

        public void onChanged() {}
    }

+2 −2
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ public class SubscriptionsChangeListenerTest {
        initListener(false);
        verify(contentResolver, never()).registerContentObserver(any(Uri.class), anyBoolean(),
                any(ContentObserver.class));
        verify(mSubscriptionManager, never()).addOnSubscriptionsChangedListener(any());
        verify(mSubscriptionManager, never()).addOnSubscriptionsChangedListener(any(), any());
        verify(mContext, never()).registerReceiver(any(), any());
    }

@@ -92,7 +92,7 @@ public class SubscriptionsChangeListenerTest {
        initListener(true);
        final ArgumentCaptor<SubscriptionManager.OnSubscriptionsChangedListener> captor =
                ArgumentCaptor.forClass(SubscriptionManager.OnSubscriptionsChangedListener.class);
        verify(mSubscriptionManager).addOnSubscriptionsChangedListener(captor.capture());
        verify(mSubscriptionManager).addOnSubscriptionsChangedListener(any(), captor.capture());
        captor.getValue().onSubscriptionsChanged();
        verify(mClient).onSubscriptionsChanged();
    }