summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2016-09-14 14:46:40 +0200
committerMichael Bestas <mikeioannina@gmail.com>2017-01-07 01:31:37 +0200
commit765faad61f38b7de37ecd7f88155e80a77ac1f29 (patch)
treee58141e98b108877ae5aa25be4ebbfd726ea2877 /src
parent0db0c90a4d5d8cdf8610741c69bb798ab1ded8be (diff)
downloadandroid_packages_apps_Dialer-765faad61f38b7de37ecd7f88155e80a77ac1f29.tar.gz
android_packages_apps_Dialer-765faad61f38b7de37ecd7f88155e80a77ac1f29.tar.bz2
android_packages_apps_Dialer-765faad61f38b7de37ecd7f88155e80a77ac1f29.zip
Update SpinnerContent class from CM 13.
Change-Id: I5743da53e8e140131c3cfcb1ac23a363252d45ad
Diffstat (limited to 'src')
-rw-r--r--src/com/android/dialer/calllog/MSimCallLogFragment.java2
-rw-r--r--src/com/android/dialer/calllog/SpinnerContent.java42
2 files changed, 26 insertions, 18 deletions
diff --git a/src/com/android/dialer/calllog/MSimCallLogFragment.java b/src/com/android/dialer/calllog/MSimCallLogFragment.java
index 1eefe53ab..d94f5c247 100644
--- a/src/com/android/dialer/calllog/MSimCallLogFragment.java
+++ b/src/com/android/dialer/calllog/MSimCallLogFragment.java
@@ -630,7 +630,7 @@ public class MSimCallLogFragment extends Fragment implements CallLogQueryHandler
// Update the status filter's content.
ArrayAdapter<SpinnerContent> filterStatusAdapter = new ArrayAdapter<SpinnerContent>(
getActivity(), R.layout.msim_call_log_spinner_item,
- SpinnerContent.setupStatusFilterContent(getActivity()));
+ SpinnerContent.setupStatusFilterContent(getActivity(), false));
mFilterStatusSpinnerView.setAdapter(filterStatusAdapter);
mFilterStatusSpinnerView.setOnItemSelectedListener(mStatusSelectedListener);
SpinnerContent.setSpinnerContentValue(mFilterStatusSpinnerView, mCallTypeFilter);
diff --git a/src/com/android/dialer/calllog/SpinnerContent.java b/src/com/android/dialer/calllog/SpinnerContent.java
index 43bdbbb7a..f8d1f3f78 100644
--- a/src/com/android/dialer/calllog/SpinnerContent.java
+++ b/src/com/android/dialer/calllog/SpinnerContent.java
@@ -1,6 +1,4 @@
/*
- * Copyright (c) 2016, The Linux Foundation. All rights reserved
- * Not a Contribution.
* Copyright (C) 2014 The CyanogenMod Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,11 +17,10 @@ package com.android.dialer.calllog;
import android.content.Context;
import android.provider.CallLog;
-import android.telephony.TelephonyManager;
+import android.telecom.PhoneAccountHandle;
import android.text.TextUtils;
import android.util.Log;
import android.widget.Spinner;
-import android.telecom.PhoneAccountHandle;
import com.android.contacts.common.MoreContactUtils;
import com.android.dialer.R;
@@ -35,15 +32,18 @@ import java.util.List;
* To save the spinner content.
*/
public class SpinnerContent {
- private static String TAG = "SpinnerContent";
+ private static String TAG = SpinnerContent.class.getSimpleName();
public final int value;
- private final String label;
+ public final String label;
+
// The index for call type spinner.
private static final int INDEX_CALL_TYPE_ALL = 0;
private static final int INDEX_CALL_TYPE_INCOMING = 1;
private static final int INDEX_CALL_TYPE_OUTGOING = 2;
private static final int INDEX_CALL_TYPE_MISSED = 3;
+ private static final int INDEX_CALL_TYPE_BLOCKED = 4;
+ private static final int INDEX_CALL_TYPE_VOICEMAIL = 5;
public static void setSpinnerContentValue(Spinner spinner, int value) {
for (int i = 0, count = spinner.getCount(); i < count; i++) {
@@ -70,20 +70,17 @@ public class SpinnerContent {
* @return the spinner contents for the different sims (all, sim0, sim1 etc)
*/
public static List<SpinnerContent> setupSubFilterContent(Context context) {
- TelephonyManager telephonyManager =
- (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
- int count = telephonyManager.getPhoneCount();
+ List<PhoneAccountHandle> accountHandles =
+ PhoneAccountUtils.getSubscriptionPhoneAccounts(context);
+ int count = accountHandles.size();
// Update the filter sub content.
ArrayList<SpinnerContent> values = new ArrayList<SpinnerContent>(count + 1);
values.add(new SpinnerContent(CallLogQueryHandler.CALL_SUB_ALL,
context.getString(R.string.call_log_show_all_slots)));
-
- List<PhoneAccountHandle> mPhoneAccountHandle =
- PhoneAccountUtils.getSubscriptionPhoneAccounts(context);
- for (int i = 0; i < mPhoneAccountHandle.size(); i++) {
+ for (int i = 0; i < count; i++) {
String subDisplayName = PhoneAccountUtils.getAccountLabel(context,
- mPhoneAccountHandle.get(i));
- if (!TextUtils.isEmpty(subDisplayName) && subDisplayName.indexOf("Unknown") == -1) {
+ accountHandles.get(i));
+ if (!TextUtils.isEmpty(subDisplayName)) {
values.add(new SpinnerContent(i, subDisplayName));
}
}
@@ -91,10 +88,13 @@ public class SpinnerContent {
}
/**
+ * @param voicemailAvailable true if voicemail should be included in the return values
* @return the spinner contents for the different call types (incoming, outgoing etc)
*/
- public static List<SpinnerContent> setupStatusFilterContent(Context context) {
- int statusCount = 4;
+ public static List<SpinnerContent> setupStatusFilterContent(Context context,
+ boolean voicemailAvailable) {
+ // Didn't show the voice mail item if not available.
+ int statusCount = voicemailAvailable ? 6 : 5;
ArrayList<SpinnerContent> values = new ArrayList<SpinnerContent>(statusCount);
for (int i = 0; i < statusCount; i++) {
int value = CallLogQueryHandler.CALL_TYPE_ALL;
@@ -116,6 +116,14 @@ public class SpinnerContent {
value = CallLog.Calls.MISSED_TYPE;
label = context.getString(R.string.call_log_missed_header);
break;
+ case INDEX_CALL_TYPE_BLOCKED:
+ value = CallLog.Calls.BLOCKED_TYPE;
+ label = context.getString(R.string.call_log_blacklist_header);
+ break;
+ case INDEX_CALL_TYPE_VOICEMAIL:
+ value = CallLog.Calls.VOICEMAIL_TYPE;
+ label = context.getString(R.string.call_log_voicemail_header);
+ break;
}
values.add(new SpinnerContent(value, label));
}