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

Commit 7523b829 authored by jimsun's avatar jimsun Committed by Jim Sun
Browse files

Use component info to bind Mock Modem Service

Bug: 223469565
Test: atest
Change-Id: I990a537c9df375b6f3c98dcaecaf259ddfea7bf4
parent 6c4163a1
Loading
Loading
Loading
Loading
+12 −10
Original line number Diff line number Diff line
@@ -27,13 +27,14 @@ import com.android.telephony.Rlog;
/** This class provides wrapper APIs for binding interfaces to mock service. */
public class MockModem {
    private static final String TAG = "MockModem";
    private static final String BIND_IRADIOMODEM = "android.telephony.cts.iradiomodem";
    private static final String BIND_IRADIOSIM = "android.telephony.cts.iradiosim";
    private static final String BIND_IRADIOMESSAGING = "android.telephony.cts.iradiomessaging";
    private static final String BIND_IRADIODATA = "android.telephony.cts.iradiodata";
    private static final String BIND_IRADIONETWORK = "android.telephony.cts.iradionetwork";
    private static final String BIND_IRADIOVOICE = "android.telephony.cts.iradiovoice";
    private static final String BIND_IRADIOCONFIG = "android.telephony.cts.iradioconfig";
    private static final String BIND_IRADIOMODEM = "android.telephony.mockmodem.iradiomodem";
    private static final String BIND_IRADIOSIM = "android.telephony.mockmodem.iradiosim";
    private static final String BIND_IRADIOMESSAGING =
            "android.telephony.mockmodem.iradiomessaging";
    private static final String BIND_IRADIODATA = "android.telephony.mockmodem.iradiodata";
    private static final String BIND_IRADIONETWORK = "android.telephony.mockmodem.iradionetwork";
    private static final String BIND_IRADIOVOICE = "android.telephony.mockmodem.iradiovoice";
    private static final String BIND_IRADIOCONFIG = "android.telephony.mockmodem.iradioconfig";
    private static final String PHONE_ID = "phone_id";

    private static final byte DEFAULT_PHONE_ID = 0x00;
@@ -71,8 +72,9 @@ public class MockModem {
    MockModem(Context context, String serviceName, int phoneId) {
        mPhoneId = (byte) phoneId;
        mContext = context;
        mServiceName = serviceName;
        mPackageName = serviceName.substring(0, serviceName.lastIndexOf('.'));
        String[] componentInfo = serviceName.split("/", 2);
        mPackageName = componentInfo[0];
        mServiceName = componentInfo[1];
    }

    private class MockModemConnection implements ServiceConnection {
@@ -135,7 +137,7 @@ public class MockModem {
        boolean status = false;

        Intent intent = new Intent();
        intent.setClassName(mPackageName, mServiceName);
        intent.setComponent(new ComponentName(mPackageName, mServiceName));
        intent.setAction(actionName);
        intent.putExtra(PHONE_ID, phoneId);

+0 −7
Original line number Diff line number Diff line
@@ -52,7 +52,6 @@ public class PhoneConfigurationManager {
    public static final String DSDS = "dsds";
    public static final String TSTS = "tsts";
    public static final String SSSS = "";
    public static final String CTS_MOCK_MODEM_SERVICE = "android.telephony.cts.MockModemService";
    private static final String LOG_TAG = "PhoneCfgMgr";
    private static final int EVENT_SWITCH_DSDS_CONFIG_DONE = 100;
    private static final int EVENT_GET_MODEM_STATUS = 101;
@@ -478,12 +477,6 @@ public class PhoneConfigurationManager {
        // Check for ALLOW_MOCK_MODEM_PROPERTY on user builds
        if (isAllowed || DEBUG) {
            if (serviceName != null) {
                // Only CTS mock modem service is allowed to swith.
                if (!serviceName.equals(CTS_MOCK_MODEM_SERVICE)) {
                    loge(serviceName + " is not allowed to switch");
                    return false;
                }

                statusRadioConfig = mRadioConfig.setModemService(serviceName);

                //TODO: consider multi-sim case (b/210073692)