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

Commit e1dc2bae authored by Pauyl l Berman's avatar Pauyl l Berman Committed by Wink Saville
Browse files

Fix CNAP-related NullPointerException

This will fix a CNAP-related bug where missing a call from a party with an
"Unknown" number presentation and then trying to log that call will cause
a NullPointerException to be thrown
parent 8f779f3b
Loading
Loading
Loading
Loading
+8 −22
Original line number Diff line number Diff line
@@ -151,34 +151,20 @@ public class CallLog {
                int presentation, int callType, long start, int duration) {
            final ContentResolver resolver = context.getContentResolver();

            // TODO(Moto): Which is correct: original code, this only changes the
            // number if the number is empty and never changes the caller info name.
        if (false) {
            if (TextUtils.isEmpty(number)) {
                if (presentation == Connection.PRESENTATION_RESTRICTED) {
                    number = CallerInfo.PRIVATE_NUMBER;
                } else if (presentation == Connection.PRESENTATION_PAYPHONE) {
                    number = CallerInfo.PAYPHONE_NUMBER;
                } else {
                    number = CallerInfo.UNKNOWN_NUMBER;
                }
            }
        } else {
            // NEWCODE: From Motorola

            // If this is a private number then set the number to Private, otherwise check
            // if the number field is empty and set the number to Unavailable
            if (presentation == Connection.PRESENTATION_RESTRICTED) {
                number = CallerInfo.PRIVATE_NUMBER;
                ci.name = "";
                if (ci != null) ci.name = "";
            } else if (presentation == Connection.PRESENTATION_PAYPHONE) {
                number = CallerInfo.PAYPHONE_NUMBER;
                ci.name = "";
            } else if (TextUtils.isEmpty(number) || presentation == Connection.PRESENTATION_UNKNOWN) {
                if (ci != null) ci.name = "";
            } else if (TextUtils.isEmpty(number)
                    || presentation == Connection.PRESENTATION_UNKNOWN) {
                number = CallerInfo.UNKNOWN_NUMBER;
                ci.name = "";
            }
                if (ci != null) ci.name = "";
            }

            ContentValues values = new ContentValues(5);

            values.put(NUMBER, number);