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

Commit 8bdec2fb authored by kenshin's avatar kenshin Committed by Ricardo Cerqueira
Browse files

Add support for Caller Name Display

Copied relevant parts from CdmaConnection.java to get the information
as/if presented by network operator (Fido/Rogers in canada provide that
information, and it get displayed if there's no match in phonebook).

Change-Id: I95d90c96324502c217da84be2c5c3cd46c1c0c0f
parent 87ee134d
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.os.SystemClock;
import android.util.Log;
import android.telephony.PhoneNumberUtils;
import android.telephony.ServiceState;
import android.text.TextUtils;

import com.android.internal.telephony.*;

@@ -46,6 +47,7 @@ public class GsmConnection extends Connection {
    boolean isIncoming;
    boolean disconnected;

    String cnapName;
    int index;          // index in GsmCallTracker.connections[], -1 if unassigned
                        // The GSM index is 1 + this

@@ -72,6 +74,7 @@ public class GsmConnection extends Connection {
    DisconnectCause cause = DisconnectCause.NOT_DISCONNECTED;
    PostDialState postDialState = PostDialState.NOT_STARTED;
    int numberPresentation = Connection.PRESENTATION_ALLOWED;
    int cnapNamePresentation = Connection.PRESENTATION_ALLOWED;
    UUSInfo uusInfo;

    Handler h;
@@ -125,6 +128,8 @@ public class GsmConnection extends Connection {

        isIncoming = dc.isMT;
        createTime = System.currentTimeMillis();
        cnapName = dc.name;
        cnapNamePresentation = dc.namePresentation;
        numberPresentation = dc.numberPresentation;
        uusInfo = dc.uusInfo;

@@ -151,6 +156,9 @@ public class GsmConnection extends Connection {
        index = -1;

        isIncoming = false;
        cnapName = null;
        cnapNamePresentation = Connection.PRESENTATION_ALLOWED;
        numberPresentation = Connection.PRESENTATION_ALLOWED;
        createTime = System.currentTimeMillis();

        this.parent = parent;
@@ -189,6 +197,14 @@ public class GsmConnection extends Connection {
        return parent;
    }

    public String getCnapName() {
        return cnapName;
    }

    public int getCnapNamePresentation() {
        return cnapNamePresentation;
    }

    public long getCreateTime() {
        return createTime;
    }
@@ -437,6 +453,21 @@ public class GsmConnection extends Connection {
            changed = true;
        }

        // A null cnapName should be the same as ""
        if (TextUtils.isEmpty(dc.name)) {
            if (!TextUtils.isEmpty(cnapName)) {
                changed = true;
                cnapName = "";
            }
	} else if (!dc.name.equals(cnapName)) {
                changed = true;
                cnapName = dc.name;
        }

        if (Phone.DEBUG_PHONE) log("--dssds----"+cnapName);
        cnapNamePresentation = dc.namePresentation;
        numberPresentation = dc.numberPresentation;

        if (newParent != parent) {
            if (parent != null) {
                parent.detach(this);