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

Commit 9af2d687 authored by Amit Mahajan's avatar Amit Mahajan Committed by Android Partner Code Review
Browse files

Merge "Change to move postDial related info up to parent Connection class." into mm-wireless-dev

parents 01d7b953 032d73c1
Loading
Loading
Loading
Loading
+25 −3
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.net.Uri;
import android.os.Bundle;
import android.os.SystemClock;
import android.telecom.ConferenceParticipant;
import android.telephony.DisconnectCause;
import android.telephony.Rlog;
import android.util.Log;

@@ -153,6 +154,12 @@ public abstract class Connection {
    protected boolean mNumberConverted = false;
    protected String mConvertedNumber;

    protected String mPostDialString;      // outgoing calls only
    protected int mNextPostDialChar;       // index into postDialString

    protected int mCause = DisconnectCause.NOT_DISCONNECTED;
    protected PostDialState mPostDialState = PostDialState.NOT_STARTED;

    private static String LOG_TAG = "Connection";

    Object mUserData;
@@ -314,7 +321,9 @@ public abstract class Connection {
     * {@link android.telephony.DisconnectCause}. If the call is not yet
     * disconnected, NOT_DISCONNECTED is returned.
     */
    public abstract int getDisconnectCause();
    public int getDisconnectCause() {
        return mCause;
    }

    /**
     * Returns a string disconnect cause which is from vendor.
@@ -472,13 +481,24 @@ public abstract class Connection {
        }
    }

    public abstract PostDialState getPostDialState();
    public PostDialState getPostDialState() {
        return mPostDialState;
    }

    /**
     * Returns the portion of the post dial string that has not
     * yet been dialed, or "" if none
     */
    public abstract String getRemainingPostDialString();
    public String getRemainingPostDialString() {
        if (mPostDialState == PostDialState.CANCELLED
                || mPostDialState == PostDialState.COMPLETE
                || mPostDialString == null
                || mPostDialString.length() <= mNextPostDialChar) {
            return "";
        }

        return mPostDialString.substring(mNextPostDialChar);
    }

    /**
     * See Phone.setOnPostDialWaitCharacter()
@@ -565,6 +585,8 @@ public abstract class Connection {
        mConnectTimeReal = c.getConnectTimeReal();
        mHoldingStartTime = c.getHoldingStartTime();
        mOrigConnection = c.getOrigConnection();
        mPostDialString = c.mPostDialString;
        mNextPostDialChar = c.mNextPostDialChar;
    }

    /**
+9 −33
Original line number Diff line number Diff line
@@ -50,7 +50,6 @@ public class GsmCdmaConnection extends Connection {
    GsmCdmaCallTracker mOwner;
    GsmCdmaCall mParent;

    String mPostDialString;      // outgoing calls only
    boolean mDisconnected;

    int mIndex;          // index in GsmCdmaCallTracker.connections[], -1 if unassigned
@@ -62,10 +61,6 @@ public class GsmCdmaConnection extends Connection {
     */
    long mDisconnectTime;

    int mNextPostDialChar;       // index into postDialString

    int mCause = DisconnectCause.NOT_DISCONNECTED;
    PostDialState mPostDialState = PostDialState.NOT_STARTED;
    UUSInfo mUusInfo;
    int mPreciseCause = 0;
    String mVendorCause;
@@ -330,11 +325,6 @@ public class GsmCdmaConnection extends Connection {
        }
    }

    @Override
    public int getDisconnectCause() {
        return mCause;
    }

    @Override
    public GsmCdmaCall.State getState() {
        if (mDisconnected) {
@@ -362,11 +352,6 @@ public class GsmCdmaConnection extends Connection {
        }
    }

    @Override
    public PostDialState getPostDialState() {
        return mPostDialState;
    }

    @Override
    public void proceedAfterWaitChar() {
        if (mPostDialState != PostDialState.WAIT) {
@@ -784,16 +769,8 @@ public class GsmCdmaConnection extends Connection {
    @Override
    public String
    getRemainingPostDialString() {
        if (mPostDialState == PostDialState.CANCELLED
            || mPostDialState == PostDialState.COMPLETE
            || mPostDialString == null
            || mPostDialString.length() <= mNextPostDialChar) {
            return "";
        }

        String subStr = mPostDialString.substring(mNextPostDialChar);
        if (!isPhoneTypeGsm()) {
            if (subStr != null) {
        String subStr = super.getRemainingPostDialString();
        if (!isPhoneTypeGsm() && !TextUtils.isEmpty(subStr)) {
            int wIndex = subStr.indexOf(PhoneNumberUtils.WAIT);
            int pIndex = subStr.indexOf(PhoneNumberUtils.PAUSE);

@@ -803,7 +780,6 @@ public class GsmCdmaConnection extends Connection {
                subStr = subStr.substring(0, pIndex);
            }
        }
        }
        return subStr;
    }

+1 −31
Original line number Diff line number Diff line
@@ -62,7 +62,6 @@ public class ImsPhoneConnection extends Connection {
    private ImsCall mImsCall;
    private Bundle mExtras = new Bundle();

    private String mPostDialString;      // outgoing calls only
    private boolean mDisconnected;

    /*
@@ -76,10 +75,6 @@ public class ImsPhoneConnection extends Connection {
     */
    private long mDisconnectTime;

    private int mNextPostDialChar;       // index into postDialString

    private int mCause = DisconnectCause.NOT_DISCONNECTED;
    private PostDialState mPostDialState = PostDialState.NOT_STARTED;
    private UUSInfo mUusInfo;
    private Handler mHandler;

@@ -303,11 +298,6 @@ public class ImsPhoneConnection extends Connection {
        }
    }

    @Override
    public int getDisconnectCause() {
        return mCause;
    }

    public void setDisconnectCause(int cause) {
        mCause = cause;
    }
@@ -344,11 +334,6 @@ public class ImsPhoneConnection extends Connection {
        throw new CallStateException ("not supported");
    }

    @Override
    public PostDialState getPostDialState() {
        return mPostDialState;
    }

    @Override
    public void proceedAfterWaitChar() {
        if (mPostDialState != PostDialState.WAIT) {
@@ -493,22 +478,7 @@ public class ImsPhoneConnection extends Connection {
    }

    @Override
    public String
    getRemainingPostDialString() {
        if (mPostDialState == PostDialState.CANCELLED
            || mPostDialState == PostDialState.COMPLETE
            || mPostDialString == null
            || mPostDialString.length() <= mNextPostDialChar
        ) {
            return "";
        }

        return mPostDialString.substring(mNextPostDialChar);
    }

    @Override
    protected void finalize()
    {
    protected void finalize() {
        releaseWakeLock();
    }

+0 −30
Original line number Diff line number Diff line
@@ -32,8 +32,6 @@ abstract class SipConnectionBase extends Connection {
    private static final boolean DBG = true;
    private static final boolean VDBG = false; // STOPSHIP if true

    private String mPostDialString;      // outgoing calls only
    private int mNextPostDialChar;       // index into postDialString
    /*
     * These time/timespan values are based on System.currentTimeMillis(),
     * i.e., "wall clock" time.
@@ -52,9 +50,6 @@ abstract class SipConnectionBase extends Connection {
    private long mHoldingStartTime;  // The time when the Connection last transitioned
                            // into HOLDING

    private int mCause = DisconnectCause.NOT_DISCONNECTED;
    private PostDialState mPostDialState = PostDialState.NOT_STARTED;

    SipConnectionBase(String dialString) {
        super(PhoneConstants.PHONE_TYPE_SIP);
        if (DBG) log("SipConnectionBase: ctor dialString=" + dialString);
@@ -130,12 +125,6 @@ abstract class SipConnectionBase extends Connection {
        return dur;
    }

    @Override
    public int getDisconnectCause() {
        if (VDBG) log("getDisconnectCause: ret=" + mCause);
        return mCause;
    }

    void setDisconnectCause(int cause) {
        if (DBG) log("setDisconnectCause: prev=" + mCause + " new=" + cause);
        mCause = cause;
@@ -146,12 +135,6 @@ abstract class SipConnectionBase extends Connection {
      return null;
    }

    @Override
    public PostDialState getPostDialState() {
        if (VDBG) log("getPostDialState: ret=" + mPostDialState);
        return mPostDialState;
    }

    @Override
    public void proceedAfterWaitChar() {
        if (DBG) log("proceedAfterWaitChar: ignore");
@@ -169,19 +152,6 @@ abstract class SipConnectionBase extends Connection {

    protected abstract Phone getPhone();

    @Override
    public String getRemainingPostDialString() {
        if (mPostDialState == PostDialState.CANCELLED
            || mPostDialState == PostDialState.COMPLETE
            || mPostDialString == null
            || mPostDialString.length() <= mNextPostDialChar) {
            if (DBG) log("getRemaingPostDialString: ret empty string");
            return "";
        }

        return mPostDialString.substring(mNextPostDialChar);
    }

    private void log(String msg) {
        Rlog.d(LOG_TAG, msg);
    }