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

Commit 08e9c4b4 authored by Shriram Ganesh's avatar Shriram Ganesh Committed by Etan Cohen
Browse files

MWI,phantom call,Suppl services

1. IMS MWI Feature
- Add new API to update waiting
voice message count, for UI
propagation based on RFC 3842

2. phantom call support

Supplementary services

4.Unsol supplementary service notification
- send unsol supplementary notification to UI
- add call history info

5. Add Error message in commandexception

6. Add getExtras method

Miscellaneous:

7. IMS: Update Connect time for dialing/incoming SRVCC calls

Connect time (mConnectTimeReal) will be updated only for ACTIVE calls
and it's not updated for calls which are transferred from DIALING/ALERTING/
INCOMING/WAITING to ACTIVE as part of SRVCC. Due to this once call is
ended call duration will not be updated properly in connection.

Update Connect time properly for DIALING/ALERTING/INCOMING/WAITING to
ACTIVE SRVCC calls.

Change-Id: I551e63840b6a63e0cbd97919d4b03d2a68334dbd
parent ecf99da5
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -61,6 +61,11 @@ public class CommandException extends RuntimeException {
        mError = e;
        mError = e;
    }
    }


    public CommandException(Error e, String errString) {
        super(errString);
        mError = e;
    }

    public static CommandException
    public static CommandException
    fromRilErrno(int ril_errno) {
    fromRilErrno(int ril_errno) {
        switch(ril_errno) {
        switch(ril_errno) {
+10 −0
Original line number Original line Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.internal.telephony;
package com.android.internal.telephony;


import android.net.Uri;
import android.net.Uri;
import android.os.Bundle;
import android.os.SystemClock;
import android.os.SystemClock;
import android.telecom.ConferenceParticipant;
import android.telecom.ConferenceParticipant;
import android.telephony.Rlog;
import android.telephony.Rlog;
@@ -300,6 +301,15 @@ public abstract class Connection {
        return mPreHandoverState;
        return mPreHandoverState;
   }
   }


   /**
     * getExtras returns the extras associated with a connection.
     * @return null. Subclasses of Connection that support call extras need
     * to override this method to return the extras.
     */
    public Bundle getExtras() {
        return null;
    }

    /**
    /**
     * Get the details of conference participants. Expected to be
     * Get the details of conference participants. Expected to be
     * overwritten by the Connection subclasses.
     * overwritten by the Connection subclasses.
+6 −0
Original line number Original line Diff line number Diff line
@@ -1890,6 +1890,12 @@ public abstract class PhoneBase extends Handler implements Phone {
        mNewRingingConnectionRegistrants.notifyRegistrants(ar);
        mNewRingingConnectionRegistrants.notifyRegistrants(ar);
    }
    }


    /**
     * Notify registrants of a new unknown connection.
     */
    public void notifyUnknownConnectionP(Connection cn) {
        mUnknownConnectionRegistrants.notifyResult(cn);
    }


    /**
    /**
     * Notify registrants if phone is video capable.
     * Notify registrants if phone is video capable.
+1 −1
Original line number Original line Diff line number Diff line
@@ -1063,7 +1063,7 @@ public class CDMAPhone extends PhoneBase {
    }
    }


    void notifyUnknownConnection(Connection connection) {
    void notifyUnknownConnection(Connection connection) {
        mUnknownConnectionRegistrants.notifyResult(connection);
        super.notifyUnknownConnectionP(connection);
    }
    }


    @Override
    @Override
+7 −0
Original line number Original line Diff line number Diff line
@@ -583,6 +583,13 @@ public final class CdmaCallTracker extends CallTracker {
                    if (hoConnection != null) {
                    if (hoConnection != null) {
                        // Single Radio Voice Call Continuity (SRVCC) completed
                        // Single Radio Voice Call Continuity (SRVCC) completed
                        mConnections[i].migrateFrom(hoConnection);
                        mConnections[i].migrateFrom(hoConnection);
                        // Updating connect time for silent redial cases (ex: Calls are transferred
                        // from DIALING/ALERTING/INCOMING/WAITING to ACTIVE)
                        if (hoConnection.mPreHandoverState != CdmaCall.State.ACTIVE &&
                                hoConnection.mPreHandoverState != CdmaCall.State.HOLDING) {
                            mConnections[i].onConnectedInOrOut();
                        }

                        mHandoverConnections.remove(hoConnection);
                        mHandoverConnections.remove(hoConnection);
                        mPhone.notifyHandoverStateChanged(mConnections[i]);
                        mPhone.notifyHandoverStateChanged(mConnections[i]);
                    } else {
                    } else {
Loading