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

Commit 7823d74e authored by kenshin's avatar kenshin
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 fb8fe400
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);