Add via number to CallLog Account entry

Call Log now provides the phone number that an incoming call was
received on if that number is different than the SIM subscription
number. This "via number" is appended to the Phone Account of the Call
Log entry in Dialer if it exists.

Screenshots:
    - One PhoneAccount: http://screen/HuCSL0U6jU6.png
    - Multiple PhoneAccounts: http://screen/pDg8F9zpMei.png

Bug: 25594198
Change-Id: I8c05ea98409e54d20493fbdb20096bf851480719
diff --git a/src/com/android/dialer/CallDetailActivity.java b/src/com/android/dialer/CallDetailActivity.java
index 42bee1e..94c2f00 100644
--- a/src/com/android/dialer/CallDetailActivity.java
+++ b/src/com/android/dialer/CallDetailActivity.java
@@ -142,10 +142,23 @@
                 }
             }
 
-            String accountLabel =
-                    PhoneAccountUtils.getAccountLabel(mContext, mDetails.accountHandle);
+            CharSequence accountLabel = PhoneAccountUtils.getAccountLabel(mContext,
+                    mDetails.accountHandle);
+            CharSequence accountContentDescription =
+                    PhoneCallDetails.createAccountLabelDescription(mResources, mDetails.viaNumber,
+                            accountLabel);
+            if (!TextUtils.isEmpty(mDetails.viaNumber)) {
+                if (!TextUtils.isEmpty(accountLabel)) {
+                    accountLabel = mResources.getString(R.string.call_log_via_number_phone_account,
+                            accountLabel, mDetails.viaNumber);
+                } else {
+                    accountLabel = mResources.getString(R.string.call_log_via_number,
+                            mDetails.viaNumber);
+                }
+            }
             if (!TextUtils.isEmpty(accountLabel)) {
                 mAccountLabel.setText(accountLabel);
+                mAccountLabel.setContentDescription(accountContentDescription);
                 mAccountLabel.setVisibility(View.VISIBLE);
             } else {
                 mAccountLabel.setVisibility(View.GONE);