Loading src/java/com/android/internal/telephony/GsmCdmaPhone.java +0 −7 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading src/java/com/android/internal/telephony/IccSmsInterfaceManager.java +10 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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) { Loading @@ -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; Loading @@ -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 { Loading src/java/com/android/internal/telephony/InboundSmsHandler.java +12 −8 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -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) { Loading Loading @@ -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; } } Loading Loading @@ -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; Loading @@ -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()); Loading Loading @@ -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. * Loading src/java/com/android/internal/telephony/Phone.java +8 −1 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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. */ Loading src/java/com/android/internal/telephony/SMSDispatcher.java +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading
src/java/com/android/internal/telephony/GsmCdmaPhone.java +0 −7 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading
src/java/com/android/internal/telephony/IccSmsInterfaceManager.java +10 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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) { Loading @@ -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; Loading @@ -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 { Loading
src/java/com/android/internal/telephony/InboundSmsHandler.java +12 −8 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -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) { Loading Loading @@ -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; } } Loading Loading @@ -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; Loading @@ -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()); Loading Loading @@ -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. * Loading
src/java/com/android/internal/telephony/Phone.java +8 −1 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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. */ Loading
src/java/com/android/internal/telephony/SMSDispatcher.java +1 −1 Original line number Diff line number Diff line Loading @@ -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