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

Commit 5ee782b1 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fixed the unit tests" into main

parents 49cef7dc 51a5fc02
Loading
Loading
Loading
Loading
+27 −53
Original line number Diff line number Diff line
@@ -25,10 +25,10 @@ import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.verify;

import android.os.AsyncResult;
import android.os.HandlerThread;
import android.os.PersistableBundle;
import android.telephony.AccessNetworkConstants;
import android.telephony.CarrierConfigManager;
import android.telephony.CarrierConfigManager.CarrierConfigChangeListener;
import android.telephony.CellIdentity;
import android.telephony.CellIdentityCdma;
import android.telephony.CellIdentityLte;
@@ -42,14 +42,11 @@ import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
import android.text.TextUtils;

import com.android.internal.telephony.flags.FeatureFlags;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Mockito;

import java.util.Collections;
import java.util.concurrent.Executor;
@@ -64,21 +61,20 @@ public class DisplayInfoControllerTest extends TelephonyTest {
    private static final String NETWORK = "TestNet";

    // Mocked classes
    private FeatureFlags mFeatureFlags;

    private DisplayInfoController mDic;
    private ServiceStateTracker mSst;
    private ServiceStateTrackerTestHandler mSstHandler;
    private PersistableBundle mBundle;
    private CarrierConfigManager.CarrierConfigChangeListener mCarrierConfigChangeListener;
    private CarrierConfigChangeListener mCarrierConfigChangeListener;

    private class ServiceStateTrackerTestHandler extends HandlerThread {
        private ServiceStateTrackerTestHandler(String name) {
            super(name);
        }
    @Before
    public void setUp() throws Exception {
        logd("DisplayInfoControllerTest setup!");
        super.setUp(getClass().getSimpleName());

        doReturn((Executor) Runnable::run).when(mContext).getMainExecutor();
        mBundle = mContextFixture.getCarrierConfigBundle();
        mBundle.putBoolean(CarrierConfigManager.KEY_SHOW_ROAMING_INDICATOR_BOOL, true);

        @Override
        public void onLooperPrepared() {
        SignalStrengthController ssc = new SignalStrengthController(mPhone);
        doReturn(ssc).when(mPhone).getSignalStrengthController();
        doReturn(new ServiceState()).when(mPhone).getServiceState();
@@ -88,42 +84,20 @@ public class DisplayInfoControllerTest extends TelephonyTest {
        // Capture listener registered for ServiceStateTracker to emulate the carrier config
        // change notification used later. In this test, it's the second one. The first one
        // comes from RatRatcheter.
            ArgumentCaptor<CarrierConfigManager.CarrierConfigChangeListener>
        ArgumentCaptor<CarrierConfigChangeListener>
                listenerArgumentCaptor = ArgumentCaptor.forClass(
                    CarrierConfigManager.CarrierConfigChangeListener.class);
                CarrierConfigChangeListener.class);
        mSst = new ServiceStateTracker(mPhone, mSimulatedCommands, mFeatureFlags);
        verify(mCarrierConfigManager, atLeast(2)).registerCarrierConfigChangeListener(any(),
                listenerArgumentCaptor.capture());
        mCarrierConfigChangeListener = listenerArgumentCaptor.getAllValues().get(1);
        doReturn(mSst).when(mPhone).getServiceStateTracker();
            setReady(true);
        }
    }

    @Before
    public void setUp() throws Exception {
        logd("DisplayInfoControllerTest setup!");
        super.setUp(getClass().getSimpleName());

        mFeatureFlags = Mockito.mock(FeatureFlags.class);
        doReturn((Executor) Runnable::run).when(mContext).getMainExecutor();
        mBundle = mContextFixture.getCarrierConfigBundle();
        mBundle.putBoolean(CarrierConfigManager.KEY_SHOW_ROAMING_INDICATOR_BOOL, true);
        mSstHandler = new ServiceStateTrackerTestHandler(getClass().getSimpleName());
        mSstHandler.start();
        waitUntilReady();
        waitForLastHandlerAction(mSstHandler.getThreadHandler());
        processAllMessages();
    }

    @After
    public void tearDown() throws Exception {
        mSst.removeCallbacksAndMessages(null);
        mSst = null;
        mSstHandler.quit();
        mSstHandler.join();
        mSstHandler = null;
        mBundle = null;
        mCarrierConfigChangeListener = null;
        super.tearDown();
    }

@@ -131,7 +105,7 @@ public class DisplayInfoControllerTest extends TelephonyTest {
        mCarrierConfigChangeListener.onCarrierConfigChanged(PHONE_ID,
                SubscriptionManager.INVALID_SUBSCRIPTION_ID, TelephonyManager.UNKNOWN_CARRIER_ID,
                TelephonyManager.UNKNOWN_CARRIER_ID);
        waitForLastHandlerAction(mSstHandler.getThreadHandler());
        processAllMessages();
    }

    private static String getPlmnFromCellIdentity(final CellIdentity ci) {
@@ -155,7 +129,7 @@ public class DisplayInfoControllerTest extends TelephonyTest {
                new LteVopsSupportInfo(
                        LteVopsSupportInfo.LTE_STATUS_SUPPORTED,
                        LteVopsSupportInfo.LTE_STATUS_SUPPORTED);
        waitForLastHandlerAction(mSstHandler.getThreadHandler());
        processAllMessages();
        NetworkRegistrationInfo dataResult = new NetworkRegistrationInfo(
                NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN,
                state, dataRat, 0, false, null, cid, getPlmnFromCellIdentity(cid), 1, false, false,
@@ -166,13 +140,13 @@ public class DisplayInfoControllerTest extends TelephonyTest {
                mSst.obtainMessage(
                        ServiceStateTracker.EVENT_POLL_STATE_OPERATOR,
                        new AsyncResult(mSst.mPollingContext, oldOpNamesResult, null)));
        waitForLastHandlerAction(mSstHandler.getThreadHandler());
        processAllMessages();
        // update data reg state to be in service
        mSst.sendMessage(
                mSst.obtainMessage(
                        ServiceStateTracker.EVENT_POLL_STATE_PS_CELLULAR_REGISTRATION,
                        new AsyncResult(mSst.mPollingContext, dataResult, null)));
        waitForLastHandlerAction(mSstHandler.getThreadHandler());
        processAllMessages();
        NetworkRegistrationInfo voiceResult = new NetworkRegistrationInfo(
                NetworkRegistrationInfo.DOMAIN_CS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN,
                state, voiceRat, 0, false, null, cid, getPlmnFromCellIdentity(cid), false, 0, 0, 0);
@@ -180,7 +154,7 @@ public class DisplayInfoControllerTest extends TelephonyTest {
                mSst.obtainMessage(
                        ServiceStateTracker.EVENT_POLL_STATE_CS_CELLULAR_REGISTRATION,
                        new AsyncResult(mSst.mPollingContext, voiceResult, null)));
        waitForLastHandlerAction(mSstHandler.getThreadHandler());
        processAllMessages();
    }

    @Test