summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/app/calllog/CallLogAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/app/calllog/CallLogAdapter.java')
-rw-r--r--java/com/android/dialer/app/calllog/CallLogAdapter.java36
1 files changed, 27 insertions, 9 deletions
diff --git a/java/com/android/dialer/app/calllog/CallLogAdapter.java b/java/com/android/dialer/app/calllog/CallLogAdapter.java
index d4872d5b3..2f8a58c8a 100644
--- a/java/com/android/dialer/app/calllog/CallLogAdapter.java
+++ b/java/com/android/dialer/app/calllog/CallLogAdapter.java
@@ -77,6 +77,7 @@ import com.android.dialer.enrichedcall.historyquery.proto.HistoryResult;
import com.android.dialer.lightbringer.Lightbringer;
import com.android.dialer.lightbringer.LightbringerComponent;
import com.android.dialer.lightbringer.LightbringerListener;
+import com.android.dialer.logging.ContactSource;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
import com.android.dialer.phonenumbercache.CallLogQuery;
@@ -107,6 +108,9 @@ public class CallLogAdapter extends GroupingListAdapter
public static final String LOAD_DATA_TASK_IDENTIFIER = "load_data";
+ public static final String ENABLE_CALL_LOG_MULTI_SELECT = "enable_call_log_multiselect";
+ public static final boolean ENABLE_CALL_LOG_MULTI_SELECT_FLAG = false;
+
protected final Activity mActivity;
protected final VoicemailPlaybackPresenter mVoicemailPlaybackPresenter;
/** Cache for repeated requests to Telecom/Telephony. */
@@ -177,13 +181,14 @@ public class CallLogAdapter extends GroupingListAdapter
}
};
+ // Todo (uabdullah): Use plurals http://b/37751831
private void showDeleteSelectedItemsDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
Assert.checkArgument(selectedItems.size() > 0);
String voicemailString =
selectedItems.size() == 1
? mActivity.getResources().getString(R.string.voicemailMultiSelectVoicemail)
- : mActivity.getResources().getString(R.string.voicemailMultiSelectVoicemail);
+ : mActivity.getResources().getString(R.string.voicemailMultiSelectVoicemails);
String deleteVoicemailTitle =
mActivity
.getResources()
@@ -226,16 +231,17 @@ public class CallLogAdapter extends GroupingListAdapter
@Override
public boolean onLongClick(View v) {
if (ConfigProviderBindings.get(v.getContext())
- .getBoolean("enable_call_log_multiselect", true)
+ .getBoolean(ENABLE_CALL_LOG_MULTI_SELECT, ENABLE_CALL_LOG_MULTI_SELECT_FLAG)
&& mVoicemailPlaybackPresenter != null) {
- if (v.getId() == R.id.primary_action_view) {
+ if (v.getId() == R.id.primary_action_view || v.getId() == R.id.quick_contact_photo) {
if (mActionMode == null) {
mActionMode = v.startActionMode(mActionModeCallback);
}
CallLogListItemViewHolder viewHolder = (CallLogListItemViewHolder) v.getTag();
viewHolder.quickContactView.setVisibility(View.GONE);
viewHolder.checkBoxView.setVisibility(View.VISIBLE);
- return false;
+ mExpandCollapseListener.onClick(v);
+ return true;
}
}
return true;
@@ -370,7 +376,7 @@ public class CallLogAdapter extends GroupingListAdapter
mContactInfoCache = contactInfoCache;
- if (!PermissionsUtil.hasContactsPermissions(activity)) {
+ if (!PermissionsUtil.hasContactsReadPermissions(activity)) {
mContactInfoCache.disableRequestProcessing();
}
@@ -522,6 +528,7 @@ public class CallLogAdapter extends GroupingListAdapter
viewHolder.callLogEntryView.setTag(viewHolder);
viewHolder.primaryActionView.setTag(viewHolder);
+ viewHolder.quickContactView.setTag(viewHolder);
return viewHolder;
}
@@ -630,7 +637,7 @@ public class CallLogAdapter extends GroupingListAdapter
@Override
protected Boolean doInBackground(Void... params) {
views.blockId =
- mFilteredNumberAsyncQueryHandler.getBlockedIdSynchronousForCalllogOnly(
+ mFilteredNumberAsyncQueryHandler.getBlockedIdSynchronous(
views.number, views.countryIso);
details.isBlocked = views.blockId != null;
if (isCancelled()) {
@@ -872,14 +879,25 @@ public class CallLogAdapter extends GroupingListAdapter
}
views.info = info;
- views.numberType =
- (String)
- Phone.getTypeLabel(mActivity.getResources(), details.numberType, details.numberLabel);
+ views.numberType = getNumberType(mActivity.getResources(), details);
mCallLogListItemHelper.updatePhoneCallDetails(details);
return true;
}
+ private static String getNumberType(Resources res, PhoneCallDetails details) {
+ // Label doesn't make much sense if the information is coming from CNAP or Cequint Caller ID.
+ if (details.sourceType == ContactSource.Type.SOURCE_TYPE_CNAP
+ || details.sourceType == ContactSource.Type.SOURCE_TYPE_CEQUINT_CALLER_ID) {
+ return "";
+ }
+ // Returns empty label instead of "custom" if the custom label is empty.
+ if (details.numberType == Phone.TYPE_CUSTOM && TextUtils.isEmpty(details.numberLabel)) {
+ return "";
+ }
+ return (String) Phone.getTypeLabel(res, details.numberType, details.numberLabel);
+ }
+
/**
* Render item view given position. This is running on UI thread so DO NOT put any expensive
* operation into it.