diff options
author | Danny Baumann <dannybaumann@web.de> | 2016-09-14 14:46:40 +0200 |
---|---|---|
committer | Michael Bestas <mikeioannina@gmail.com> | 2017-01-07 01:31:37 +0200 |
commit | 765faad61f38b7de37ecd7f88155e80a77ac1f29 (patch) | |
tree | e58141e98b108877ae5aa25be4ebbfd726ea2877 /src | |
parent | 0db0c90a4d5d8cdf8610741c69bb798ab1ded8be (diff) | |
download | android_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.java | 2 | ||||
-rw-r--r-- | src/com/android/dialer/calllog/SpinnerContent.java | 42 |
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)); } |