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

Commit 433df912 authored by Shuo Qian's avatar Shuo Qian Committed by Brad Ebinger
Browse files

Add Emergency Number Listener in Telephony

Integrate in PhoneNotifier;
Integrate it for outgoing emergency call flow.

Test: Manual
Bug: 135204580
Merged-In: I0e08a491088d5ef45d1496bde9fd9fde3c7bebfb
Change-Id: I0e08a491088d5ef45d1496bde9fd9fde3c7bebfb
parent 8f192f22
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import android.telephony.ServiceState;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.telephony.data.ApnSetting;
import android.telephony.emergency.EmergencyNumber;
import android.telephony.ims.ImsReasonInfo;

import java.util.List;
@@ -389,6 +390,30 @@ public class DefaultPhoneNotifier implements PhoneNotifier {
        }
    }

    @Override
    public void notifyOutgoingEmergencyCall(Phone sender, EmergencyNumber emergencyNumber) {
        try {
            if (mRegistry != null) {
                mRegistry.notifyOutgoingEmergencyCall(sender.getPhoneId(), sender.getSubId(),
                        emergencyNumber);
            }
        } catch (RemoteException ex) {
            // system process is dead
        }
    }

    @Override
    public void notifyOutgoingEmergencySms(Phone sender, EmergencyNumber emergencyNumber) {
        try {
            if (mRegistry != null) {
                mRegistry.notifyOutgoingEmergencySms(sender.getPhoneId(), sender.getSubId(),
                        emergencyNumber);
            }
        } catch (RemoteException ex) {
            // system process is dead
        }
    }

    @Override
    public void notifyCallQualityChanged(Phone sender, CallQuality callQuality,
            int callNetworkType) {
+10 −0
Original line number Diff line number Diff line
@@ -2402,6 +2402,16 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
        mNotifier.notifyEmergencyNumberList(this);
    }

    /** Notify the outgoing call {@link EmergencyNumber} changes. */
    public void notifyOutgoingEmergencyCall(EmergencyNumber emergencyNumber) {
        mNotifier.notifyOutgoingEmergencyCall(this, emergencyNumber);
    }

    /** Notify the outgoing Sms {@link EmergencyNumber} changes. */
    public void notifyOutgoingEmergencySms(EmergencyNumber emergencyNumber) {
        mNotifier.notifyOutgoingEmergencySms(this, emergencyNumber);
    }

    /**
     * @return true if a mobile originating emergency call is active
     */
+7 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.telephony.DataFailCause;
import android.telephony.PhoneCapability;
import android.telephony.PhysicalChannelConfig;
import android.telephony.TelephonyManager;
import android.telephony.emergency.EmergencyNumber;
import android.telephony.ims.ImsReasonInfo;

import java.util.List;
@@ -88,6 +89,12 @@ public interface PhoneNotifier {
    /** Notify of change to EmergencyNumberList. */
    void notifyEmergencyNumberList(Phone sender);

    /** Notify of a change for Outgoing Emergency Call. */
    void notifyOutgoingEmergencyCall(Phone sender, EmergencyNumber emergencyNumber);

    /** Notify of a change for Outgoing Emergency Sms. */
    void notifyOutgoingEmergencySms(Phone sender, EmergencyNumber emergencyNumber);

    /** Notify of a change to the call quality of an active foreground call. */
    void notifyCallQualityChanged(Phone sender, CallQuality callQuality, int callNetworkType);
}
+13 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.telephony.PhysicalChannelConfig;
import android.telephony.ServiceState;
import android.telephony.SignalStrength;
import android.telephony.SubscriptionManager;
import android.telephony.emergency.EmergencyNumber;
import android.telephony.ims.ImsReasonInfo;

import com.android.internal.telephony.IOnSubscriptionsChangedListener;
@@ -369,6 +370,18 @@ public class TelephonyRegistryMock extends ITelephonyRegistry.Stub {
        throw new RuntimeException("Not implemented");
    }

    @Override
    public void notifyOutgoingEmergencyCall(int phoneId, int subId,
            EmergencyNumber emergencyNumber) {
        throw new RuntimeException("Not implemented");
    }

    @Override
    public void notifyOutgoingEmergencySms(int phoneId, int subId,
            EmergencyNumber emergencyNumber) {
        throw new RuntimeException("Not implemented");
    }

    @Override
    public void notifyCallQualityChanged(CallQuality callQuality, int phoneId, int subId,
            int callNetworkType) {