diff options
Diffstat (limited to 'src/com/android/dialer/callstats/CallStatsAdapter.java')
-rw-r--r-- | src/com/android/dialer/callstats/CallStatsAdapter.java | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/src/com/android/dialer/callstats/CallStatsAdapter.java b/src/com/android/dialer/callstats/CallStatsAdapter.java index fa59dd726..50d821b4f 100644 --- a/src/com/android/dialer/callstats/CallStatsAdapter.java +++ b/src/com/android/dialer/callstats/CallStatsAdapter.java @@ -20,6 +20,8 @@ package com.android.dialer.callstats; import android.content.Context; import android.content.res.Resources; import android.net.Uri; +import android.telecom.PhoneAccountHandle; +import android.telecom.TelecomManager; import android.telephony.SubscriptionManager; import android.text.TextUtils; import android.view.LayoutInflater; @@ -38,6 +40,7 @@ import com.android.dialer.calllog.ContactInfo; import com.android.dialer.calllog.ContactInfoHelper; import com.android.dialer.calllog.PhoneNumberDisplayHelper; import com.android.dialer.calllog.PhoneNumberUtilsWrapper; +import com.android.contacts.common.util.PhoneNumberHelper; import java.util.ArrayList; import java.util.Collections; @@ -70,6 +73,9 @@ class CallStatsAdapter extends ArrayAdapter<CallStatsDetails> private final CallLogAdapterHelper mAdapterHelper; private final CallStatsDetailHelper mCallStatsDetailHelper; + private final PhoneNumberDisplayHelper mPhoneNumberHelper; + private final ContactPhotoManager mContactPhotoManager; + private ArrayList<CallStatsDetails> mAllItems; private CallStatsDetails mTotalItem; private Map<ContactInfo, CallStatsDetails> mInfoLookup; @@ -79,8 +85,6 @@ class CallStatsAdapter extends ArrayAdapter<CallStatsDetails> private long mFilterTo; private boolean mSortByDuration; - private final ContactPhotoManager mContactPhotoManager; - private PhoneNumberDisplayHelper mPhoneNumberHelper; private final Comparator<CallStatsDetails> mDurationComparator = new Comparator<CallStatsDetails>() { @Override @@ -114,7 +118,8 @@ class CallStatsAdapter extends ArrayAdapter<CallStatsDetails> mInfoLookup = new ConcurrentHashMap<ContactInfo, CallStatsDetails>(); Resources resources = mContext.getResources(); - mPhoneNumberHelper = new PhoneNumberDisplayHelper(resources); + mPhoneNumberHelper = + new PhoneNumberDisplayHelper(mContext, resources); final String currentCountryIso = GeoUtil.getCurrentCountryIso(mContext); final ContactInfoHelper contactInfoHelper = @@ -123,8 +128,8 @@ class CallStatsAdapter extends ArrayAdapter<CallStatsDetails> mAdapterHelper = new CallLogAdapterHelper(mContext, this, contactInfoHelper, mPhoneNumberHelper); mContactPhotoManager = ContactPhotoManager.getInstance(mContext); - mCallStatsDetailHelper = new CallStatsDetailHelper(resources, - new PhoneNumberUtilsWrapper()); + mCallStatsDetailHelper = new CallStatsDetailHelper(mContext, resources, + new PhoneNumberUtilsWrapper(mContext)); } public void updateData(Map<ContactInfo, CallStatsDetails> calls, long from, long to) { @@ -136,11 +141,13 @@ class CallStatsAdapter extends ArrayAdapter<CallStatsDetails> mAllItems.clear(); mTotalItem.reset(); + PhoneAccountHandle accountHandle = getTelecomManager().getUserSelectedOutgoingPhoneAccount(); + for (Map.Entry<ContactInfo, CallStatsDetails> entry : calls.entrySet()) { final CallStatsDetails call = entry.getValue(); mAllItems.add(call); mTotalItem.mergeWith(call); - mAdapterHelper.lookupContact(call.number, call.numberPresentation, + mAdapterHelper.lookupContact(accountHandle, call.number, call.numberPresentation, call.countryIso, entry.getKey()); } } @@ -219,10 +226,13 @@ class CallStatsAdapter extends ArrayAdapter<CallStatsDetails> mCallStatsDetailHelper.setCallStatsDetails(views.callStatsDetailViews, details, first, mTotalItem, mType, mSortByDuration); + final PhoneAccountHandle accountHandle = + getTelecomManager().getUserSelectedOutgoingPhoneAccount(); + String nameForDefaultImage = null; if (TextUtils.isEmpty(details.name)) { nameForDefaultImage = mPhoneNumberHelper.getDisplayNumber( - SubscriptionManager.INVALID_SUBSCRIPTION_ID, details.number, + accountHandle, details.number, details.numberPresentation, details.formattedNumber).toString(); } else { nameForDefaultImage = details.name; @@ -266,4 +276,8 @@ class CallStatsAdapter extends ArrayAdapter<CallStatsDetails> details.updateFromInfo(updatedInfo); } } + + private TelecomManager getTelecomManager() { + return (TelecomManager) mContext.getSystemService(Context.TELECOM_SERVICE); + } } |