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

Commit e5983474 authored by Chen Xu's avatar Chen Xu Committed by android-build-merger
Browse files

Merge "new API to notify ImsDisconnectCause" am: 9dd5f301

am: 5bb1b40d

Change-Id: Ife8917b822acb85a0c52cf1734f83fe01aaab012
parents bf28f6cf 5bb1b40d
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.internal.telephony;

import android.annotation.NonNull;
import android.net.LinkProperties;
import android.net.NetworkCapabilities;
import android.os.Bundle;
@@ -33,6 +34,7 @@ import android.telephony.ServiceState;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.telephony.data.ApnSetting;
import android.telephony.ims.ImsReasonInfo;

import java.util.List;

@@ -288,6 +290,15 @@ public class DefaultPhoneNotifier implements PhoneNotifier {
        }
    }

    @Override
    public void notifyImsDisconnectCause(@NonNull Phone sender, ImsReasonInfo imsReasonInfo) {
        try {
            mRegistry.notifyImsDisconnectCause(sender.getSubId(), imsReasonInfo);
        } catch (RemoteException ex) {
            // system process is dead
        }
    }

    public void notifyPreciseDataConnectionFailed(Phone sender, String apnType,
            String apn, @DataFailCause.FailCause int failCause) {
        // FIXME: subId?
+3 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.telephony.DataFailCause;
import android.telephony.PhoneCapability;
import android.telephony.PhysicalChannelConfig;
import android.telephony.TelephonyManager;
import android.telephony.ims.ImsReasonInfo;

import java.util.List;

@@ -61,6 +62,8 @@ public interface PhoneNotifier {

    void notifyDisconnectCause(int cause, int preciseCause);

    void notifyImsDisconnectCause(Phone sender, ImsReasonInfo imsReasonInfo);

    public void notifyPreciseDataConnectionFailed(Phone sender, String apnType, String apn,
                                                  @DataFailCause.FailCause int failCause);

+6 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import android.telephony.NetworkScanRequest;
import android.telephony.Rlog;
import android.telephony.ServiceState;
import android.telephony.SignalStrength;
import android.telephony.ims.ImsReasonInfo;
import android.util.Pair;

import com.android.internal.annotations.VisibleForTesting;
@@ -212,6 +213,11 @@ abstract class ImsPhoneBase extends Phone {

    public void notifyDisconnect(Connection cn) {
        mDisconnectRegistrants.notifyResult(cn);

    }

    public void notifyImsReason(ImsReasonInfo imsReasonInfo) {
        mNotifier.notifyImsDisconnectCause(this, imsReasonInfo);
    }

    void notifyUnknownConnection() {
+2 −0
Original line number Diff line number Diff line
@@ -2182,6 +2182,7 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {

            mMetrics.writeOnImsCallTerminated(mPhone.getPhoneId(), imsCall.getCallSession(),
                    reasonInfo);
            mPhone.notifyImsReason(reasonInfo);

            if (reasonInfo.getCode() == ImsReasonInfo.CODE_SIP_ALTERNATE_EMERGENCY_CALL
                    && mAutoRetryFailedWifiEmergencyCall) {
@@ -2942,6 +2943,7 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
        int cause = getDisconnectCauseFromReasonInfo(reasonInfo, callState);

        processCallStateChange(imsCall, ImsPhoneCall.State.DISCONNECTED, cause);
        mPhone.notifyImsReason(reasonInfo);
    }

    public ImsUtInterface getUtInterface() throws ImsException {
+6 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import android.telephony.PhysicalChannelConfig;
import android.telephony.ServiceState;
import android.telephony.SignalStrength;
import android.telephony.SubscriptionManager;
import android.telephony.ims.ImsReasonInfo;

import com.android.internal.telephony.IOnSubscriptionsChangedListener;
import com.android.internal.telephony.IPhoneStateListener;
@@ -433,4 +434,9 @@ public class TelephonyRegistryMock extends ITelephonyRegistry.Stub {
    public void notifyPreferredDataSubIdChanged(int subId) {
        throw new RuntimeException("Not implemented");
    }

    @Override
    public void notifyImsDisconnectCause(int subId, ImsReasonInfo imsReasonInfo)  {
        throw new RuntimeException("Not implemented");
    }
}