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

Commit 74a6ffaa authored by SongFerngWang's avatar SongFerngWang
Browse files

Let network mode UI refresh when network type with carrier group changed

Bug: 193432269
Test: atest AllowedNetworkTypesListenerTest (pass)
atest EnabledNetworkModePreferenceControllerTest (pass)

Change-Id: Icae727887b2e913479a241bb9f014607b8ec826c
parent 29da5abc
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -34,7 +34,6 @@ public class AllowedNetworkTypesListener extends TelephonyCallback implements

    @VisibleForTesting
    OnAllowedNetworkTypesListener mListener;
    private long mAllowedNetworkType = -1;
    private Executor mExecutor;

    public AllowedNetworkTypesListener(Executor executor) {
@@ -70,14 +69,14 @@ public class AllowedNetworkTypesListener extends TelephonyCallback implements

    @Override
    public void onAllowedNetworkTypesChanged(int reason, long newAllowedNetworkType) {
        if (reason != TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER) {
        if (reason != TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER
                && reason != TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_CARRIER) {
            return;
        }
        if (mListener != null && mAllowedNetworkType != newAllowedNetworkType) {
        if (mListener != null) {
            mListener.onAllowedNetworkTypesChanged();
            Log.d(LOG_TAG, "onAllowedNetworkChanged: " + mAllowedNetworkType);
            Log.d(LOG_TAG, "onAllowedNetworkChanged: " + newAllowedNetworkType);
        }
        mAllowedNetworkType = newAllowedNetworkType;
    }

    /**
+4 −1
Original line number Diff line number Diff line
@@ -152,7 +152,10 @@ public class EnabledNetworkModePreferenceController extends
            mAllowedNetworkTypesListener = new AllowedNetworkTypesListener(
                    mContext.getMainExecutor());
            mAllowedNetworkTypesListener.setAllowedNetworkTypesListener(
                    () -> updatePreference());
                    () -> {
                        mBuilder.updateConfig();
                        updatePreference();
                    });
        }

        lifecycle.addObserver(this);
+13 −1
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ public class AllowedNetworkTypesListenerTest {
    }

    @Test
    public void onChange_shouldCallListener() {
    public void onChange_userReasonChanged_shouldCallListener() {
        mAllowedNetworkTypesListener.mListener = mListener;
        long networkType = (long) RadioAccessFamily.getRafFromNetworkType(
                TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO);
@@ -79,6 +79,18 @@ public class AllowedNetworkTypesListenerTest {
        verify(mListener).onAllowedNetworkTypesChanged();
    }

    @Test
    public void onChange_carrierReasonChanged_shouldCallListener() {
        mAllowedNetworkTypesListener.mListener = mListener;
        long networkType = (long) RadioAccessFamily.getRafFromNetworkType(
                TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO);

        mAllowedNetworkTypesListener.onAllowedNetworkTypesChanged(
                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_CARRIER, networkType);

        verify(mListener).onAllowedNetworkTypesChanged();
    }

    @Test
    public void register_shouldRegisterContentObserver() {
        mAllowedNetworkTypesListener.register(mContext, SUB_ID);