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

Commit 3e7f3174 authored by Brad Ebinger's avatar Brad Ebinger Committed by android-build-merger
Browse files

Merge "Callbacks into phone for IMS feature state should be on main thread"

am: 67a66e26

Change-Id: I9bb3ef1a49486d24d7dfd390f61949da2856c112
parents 3c3a53f2 67a66e26
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -113,6 +113,7 @@ import java.util.List;
import java.util.Map;
import java.util.Queue;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executor;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.regex.Pattern;
@@ -499,8 +500,12 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {


    //***** Constructors

    public ImsPhoneCallTracker(ImsPhone phone) {
        this(phone, phone.getContext().getMainExecutor());
    }

    @VisibleForTesting
    public ImsPhoneCallTracker(ImsPhone phone, Executor executor) {
        this.mPhone = phone;

        mMetrics = TelephonyMetrics.getInstance();
@@ -523,6 +528,7 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
        mVtDataUsageSnapshot = new NetworkStats(currentTime, 1);
        mVtDataUsageUidSnapshot = new NetworkStats(currentTime, 1);

        // Allow the executor to be specified for testing.
        mImsManagerConnector = new ImsManager.Connector(phone.getContext(), phone.getPhoneId(),
                new ImsManager.Connector.Listener() {
                    @Override
@@ -535,7 +541,7 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
                    public void connectionUnavailable() {
                        stopListeningForCalls();
                    }
                });
                }, executor);
        mImsManagerConnector.connect();
    }

+7 −1
Original line number Diff line number Diff line
@@ -34,7 +34,9 @@ import android.telephony.SubscriptionManager;
import android.telephony.ims.ImsMmTelManager;
import android.telephony.ims.ProvisioningManager;
import android.telephony.ims.stub.ImsConfigImplBase;
import android.test.suitebuilder.annotation.SmallTest;

import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;

import com.android.ims.ImsConfig;
import com.android.ims.ImsManager;
@@ -44,10 +46,12 @@ import com.android.internal.telephony.TelephonyTest;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;

import java.util.Hashtable;

@RunWith(AndroidJUnit4.class)
public class ImsManagerTest extends TelephonyTest {
    private static final String UNSET_PROVISIONED_STRING = "unset";
    private static final boolean ENHANCED_4G_MODE_DEFAULT_VAL = true;
@@ -78,6 +82,8 @@ public class ImsManagerTest extends TelephonyTest {
        super.setUp("ImsManagerTest");
        mPhoneId = mPhone.getPhoneId();
        mBundle = mContextFixture.getCarrierConfigBundle();
        // Force MmTelFeatureConnection to create an executor using Looper.myLooper().
        doReturn(null).when(mContext).getMainLooper();

        doReturn(mSubId).when(mSubscriptionController).getSubId(mPhoneId);

+1 −1
Original line number Diff line number Diff line
@@ -110,7 +110,7 @@ public class ImsPhoneCallTrackerTest extends TelephonyTest {
        }
        @Override
        public void onLooperPrepared() {
            mCTUT = new ImsPhoneCallTracker(mImsPhone);
            mCTUT = new ImsPhoneCallTracker(mImsPhone, Runnable::run);
            mCTUT.addReasonCodeRemapping(null, "Wifi signal lost.", ImsReasonInfo.CODE_WIFI_LOST);
            mCTUT.addReasonCodeRemapping(501, "Call answered elsewhere.",
                    ImsReasonInfo.CODE_ANSWERED_ELSEWHERE);