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

Commit daf24583 authored by Brad Ebinger's avatar Brad Ebinger Committed by Android (Google) Code Review
Browse files

Merge "Provide the user ID when running IMS related CTS tests" into main

parents cee28735 e8aff467
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -42,7 +42,6 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.database.SQLException;
import android.hardware.radio.modem.ImeiInfo;
import android.net.Uri;
@@ -470,12 +469,6 @@ public class GsmCdmaPhone extends Phone {
        }
    };

    private boolean hasCalling() {
        if (!TelephonyCapabilities.minimalTelephonyCdmCheck(mFeatureFlags)) return true;
        return mContext.getPackageManager().hasSystemFeature(
            PackageManager.FEATURE_TELEPHONY_CALLING);
    }

    private void initOnce(CommandsInterface ci) {
        if (ci instanceof SimulatedRadioControl) {
            mSimulatedRadioControl = (SimulatedRadioControl) ci;
+10 −4
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ import android.util.Log;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo;
import com.android.internal.telephony.emergency.EmergencyNumberTracker;
import com.android.internal.telephony.flags.FeatureFlags;
import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo;
import com.android.internal.telephony.uicc.IccConstants;
@@ -1511,8 +1512,7 @@ public class IccSmsInterfaceManager {
    @VisibleForTesting
    public void notifyIfOutgoingEmergencySms(String destAddr) {
        Phone[] allPhones = mPhoneFactoryProxy.getPhones();
        EmergencyNumber emergencyNumber = mPhone.getEmergencyNumberTracker().getEmergencyNumber(
                destAddr);
        EmergencyNumber emergencyNumber = getEmergencyNumber(mPhone, destAddr);
        if (emergencyNumber != null) {
            mPhone.notifyOutgoingEmergencySms(emergencyNumber);
        } else if (allPhones.length > 1) {
@@ -1522,8 +1522,7 @@ public class IccSmsInterfaceManager {
                if (phone.getPhoneId() == mPhone.getPhoneId()) {
                    continue;
                }
                emergencyNumber = phone.getEmergencyNumberTracker()
                        .getEmergencyNumber(destAddr);
                emergencyNumber = getEmergencyNumber(phone, destAddr);
                if (emergencyNumber != null) {
                    mPhone.notifyOutgoingEmergencySms(emergencyNumber);
                    break;
@@ -1532,6 +1531,13 @@ public class IccSmsInterfaceManager {
        }
    }

    private EmergencyNumber getEmergencyNumber(Phone phone, String number) {
        if (!phone.hasCalling()) return null;
        EmergencyNumberTracker tracker = phone.getEmergencyNumberTracker();
        if (tracker == null) return null;
        return tracker.getEmergencyNumber(number);
    }

    private void returnUnspecifiedFailure(PendingIntent pi) {
        if (pi != null) {
            try {
+12 −8
Original line number Diff line number Diff line
@@ -772,8 +772,7 @@ public abstract class InboundSmsHandler extends StateMachine {
        if (result != Intents.RESULT_SMS_HANDLED && result != Activity.RESULT_OK) {
            mMetrics.writeIncomingSmsError(mPhone.getPhoneId(), is3gpp2(), smsSource, result);
            mPhone.getSmsStats().onIncomingSmsError(is3gpp2(), smsSource, result,
                    TelephonyManager.from(mContext)
                            .isEmergencyNumber(smsb.getOriginatingAddress()));
                    isEmergencyNumber(smsb.getOriginatingAddress()));
            if (mPhone != null) {
                TelephonyAnalytics telephonyAnalytics = mPhone.getTelephonyAnalytics();
                if (telephonyAnalytics != null) {
@@ -1052,7 +1051,7 @@ public abstract class InboundSmsHandler extends StateMachine {
            logeWithLocalLog(errorMsg, tracker.getMessageId());
            mPhone.getSmsStats().onIncomingSmsError(
                    is3gpp2(), tracker.getSource(), RESULT_SMS_NULL_PDU,
                    TelephonyManager.from(mContext).isEmergencyNumber(tracker.getAddress()));
                    isEmergencyNumber(tracker.getAddress()));
            if (mPhone != null) {
                TelephonyAnalytics telephonyAnalytics = mPhone.getTelephonyAnalytics();
                if (telephonyAnalytics != null) {
@@ -1082,8 +1081,7 @@ public abstract class InboundSmsHandler extends StateMachine {
                                tracker.getMessageId());
                        mPhone.getSmsStats().onIncomingSmsWapPush(tracker.getSource(),
                                messageCount, RESULT_SMS_NULL_MESSAGE, tracker.getMessageId(),
                                TelephonyManager.from(mContext)
                                        .isEmergencyNumber(tracker.getAddress()));
                                isEmergencyNumber(tracker.getAddress()));
                        return false;
                    }
                }
@@ -1118,8 +1116,7 @@ public abstract class InboundSmsHandler extends StateMachine {
            mMetrics.writeIncomingWapPush(mPhone.getPhoneId(), tracker.getSource(),
                    format, timestamps, wapPushResult, tracker.getMessageId());
            mPhone.getSmsStats().onIncomingSmsWapPush(tracker.getSource(), messageCount,
                    result, tracker.getMessageId(), TelephonyManager.from(mContext)
                            .isEmergencyNumber(tracker.getAddress()));
                    result, tracker.getMessageId(), isEmergencyNumber(tracker.getAddress()));
            // result is Activity.RESULT_OK if an ordered broadcast was sent
            if (result == Activity.RESULT_OK) {
                return true;
@@ -1140,7 +1137,7 @@ public abstract class InboundSmsHandler extends StateMachine {
                format, timestamps, block, tracker.getMessageId());
        mPhone.getSmsStats().onIncomingSmsSuccess(is3gpp2(), tracker.getSource(),
                messageCount, block, tracker.getMessageId(),
                TelephonyManager.from(mContext).isEmergencyNumber(tracker.getAddress()));
                isEmergencyNumber(tracker.getAddress()));
        CarrierRoamingSatelliteSessionStats sessionStats =
                CarrierRoamingSatelliteSessionStats.getInstance(mPhone.getSubId());
        sessionStats.onIncomingSms(mPhone.getSubId());
@@ -1178,6 +1175,13 @@ public abstract class InboundSmsHandler extends StateMachine {
        return true;
    }

    private boolean isEmergencyNumber(String number) {
        if (!mPhone.hasCalling()) return false;
        TelephonyManager manager = TelephonyManager.from(mContext);
        if (manager == null) return false;
        return manager.isEmergencyNumber(number);
    }

    /**
     * Processes the message part while the credential-encrypted storage is still locked.
     *
+8 −1
Original line number Diff line number Diff line
@@ -661,7 +661,7 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
        mSmsStorageMonitor = mTelephonyComponentFactory.inject(SmsStorageMonitor.class.getName())
                .makeSmsStorageMonitor(this, mFeatureFlags);
        mSmsUsageMonitor = mTelephonyComponentFactory.inject(SmsUsageMonitor.class.getName())
                .makeSmsUsageMonitor(context);
                .makeSmsUsageMonitor(context, mFeatureFlags);
        mUiccController = UiccController.getInstance();
        mUiccController.registerForIccChanged(this, EVENT_ICC_CHANGED, null);
        mSimActivationTracker = mTelephonyComponentFactory
@@ -1966,6 +1966,13 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
                .contains(TelephonyManager.RADIO_POWER_REASON_THERMAL);
    }

    /**
     * @return true if this device supports calling, false otherwise.
     */
    public boolean hasCalling() {
        return TelephonyCapabilities.supportsTelephonyCalling(mFeatureFlags, mContext);
    }

    /**
     * Retrieves the EmergencyNumberTracker of the phone instance.
     */
+1 −1
Original line number Diff line number Diff line
@@ -2120,7 +2120,7 @@ public abstract class SMSDispatcher extends Handler {
            }
        }

        if (mTelephonyManager.isEmergencyNumber(trackers[0].mDestAddress)) {
        if (mPhone.hasCalling() && mTelephonyManager.isEmergencyNumber(trackers[0].mDestAddress)) {
            new AsyncEmergencyContactNotifier(mContext).execute();
        }
    }
Loading