summaryrefslogtreecommitdiffstats
path: root/src/com/android/dialer/callstats/CallStatsAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/dialer/callstats/CallStatsAdapter.java')
-rw-r--r--src/com/android/dialer/callstats/CallStatsAdapter.java28
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);
+ }
}