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

Commit 03aaf389 authored by Nancy Chen's avatar Nancy Chen
Browse files

Visual indicator that voicemail is unread.

Bold the text for unread voicemail messages.

Bug: 21086059

Change-Id: Ieb07c7fa22a91669faeb425dabb60b1176ec1091
parent af7d8bbd
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -19,12 +19,9 @@ package com.android.dialer;
import com.android.dialer.calllog.PhoneNumberDisplayUtil;

import android.content.Context;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.provider.CallLog.Calls;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.telecom.PhoneAccountHandle;
import android.text.TextUtils;

/**
 * The details of a phone call to be shown in the UI.
@@ -87,9 +84,18 @@ public class PhoneCallDetails {
    // Voicemail transcription
    public String transcription;

    // The display string for the number.
    public String displayNumber;

    // Whether the contact number is a voicemail number.
    public boolean isVoicemail;

    /**
     * If this is a voicemail, whether the message is read. For other types of calls, this defaults
     * to {@code true}.
     */
    public boolean isRead = true;

    /**
     * Constructor with required fields for the details of a call with a number associated with a
     * contact.
@@ -104,7 +110,6 @@ public class PhoneCallDetails {
        this.numberPresentation = numberPresentation;
        this.formattedNumber = formattedNumber;
        this.isVoicemail = isVoicemail;

        this.displayNumber = PhoneNumberDisplayUtil.getDisplayNumber(
                context,
                this.number,
+7 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.dialer;

import android.content.Context;
import android.content.res.Resources;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.provider.CallLog;
import android.provider.CallLog.Calls;
@@ -140,6 +141,12 @@ public class PhoneCallDetailsHelper {
            views.voicemailTranscriptionView.setText(null);
            views.voicemailTranscriptionView.setVisibility(View.GONE);
        }

        // Bold if not read
        Typeface typeface = details.isRead ? Typeface.SANS_SERIF : Typeface.DEFAULT_BOLD;
        views.nameView.setTypeface(typeface);
        views.voicemailTranscriptionView.setTypeface(typeface);
        views.callLocationAndDate.setTypeface(typeface);
    }

    /**
+4 −1
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.net.Uri;
import android.support.v7.widget.RecyclerView;
import android.os.Bundle;
import android.os.Trace;
import android.provider.CallLog;
import android.support.v7.widget.RecyclerView.ViewHolder;
import android.telecom.PhoneAccountHandle;
import android.telephony.PhoneNumberUtils;
@@ -289,7 +290,6 @@ public class CallLogAdapter extends GroupingListAdapter
    private ViewHolder createCallLogEntryViewHolder(ViewGroup parent) {
        LayoutInflater inflater = LayoutInflater.from(mContext);
        View view = inflater.inflate(R.layout.call_log_list_item, parent, false);

        CallLogListItemViewHolder viewHolder = CallLogListItemViewHolder.create(
                view,
                mContext,
@@ -358,6 +358,9 @@ public class CallLogAdapter extends GroupingListAdapter
        details.features = getCallFeatures(c, count);
        details.geocode = c.getString(CallLogQuery.GEOCODED_LOCATION);
        details.transcription = c.getString(CallLogQuery.TRANSCRIPTION);
        if (details.callTypes[0] == CallLog.Calls.VOICEMAIL_TYPE) {
            details.isRead = c.getInt(CallLogQuery.IS_READ) == 1;
        }

        if (!c.isNull(CallLogQuery.DATA_USAGE)) {
            details.dataUsage = c.getLong(CallLogQuery.DATA_USAGE);