summaryrefslogtreecommitdiff
path: root/src/com/android/dialer/list
diff options
context:
space:
mode:
authorAndrew Lee <anwlee@google.com>2014-07-02 11:05:53 -0700
committerAndrew Lee <anwlee@google.com>2014-07-02 14:50:30 -0700
commitfc1fed72d6adf5158be271646655056b14d1ccf2 (patch)
tree135e0794df62b9a958bcf4991b6364b06c8250f1 /src/com/android/dialer/list
parent6806b66ab7ca9821fe3e1123bf02faefa4781fa0 (diff)
Add "Make video call" button to search fragments.
= Add new "make video call" shortcut type, and "handle" its click in SearchFragment. = Enable "make video call" shortcut for regular and smart dial search fragments. For now, this shortcut does nothing. = Enable "add contact" shortcut for smart dial search fragment. = Changed the bounds of the shortcut items to fill to the edges. = Convert shortcut click handling to use switch/case block. = TODO: Enable/disable the shortcuts depending on whether video calling has been enabled, once the option is available. = TODO: Handle dispatching a video call intent, once that intent extra is provided. Bug: 16013180 Change-Id: I7563d1f2939e27c4b13ed966b73cd4badd9d9fa7
Diffstat (limited to 'src/com/android/dialer/list')
-rw-r--r--src/com/android/dialer/list/DialerPhoneNumberListAdapter.java8
-rw-r--r--src/com/android/dialer/list/RegularSearchListAdapter.java3
-rw-r--r--src/com/android/dialer/list/SearchFragment.java40
-rw-r--r--src/com/android/dialer/list/SmartDialNumberListAdapter.java11
4 files changed, 46 insertions, 16 deletions
diff --git a/src/com/android/dialer/list/DialerPhoneNumberListAdapter.java b/src/com/android/dialer/list/DialerPhoneNumberListAdapter.java
index abceda407..9fb223903 100644
--- a/src/com/android/dialer/list/DialerPhoneNumberListAdapter.java
+++ b/src/com/android/dialer/list/DialerPhoneNumberListAdapter.java
@@ -28,8 +28,9 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter {
public final static int SHORTCUT_INVALID = -1;
public final static int SHORTCUT_DIRECT_CALL = 0;
public final static int SHORTCUT_ADD_NUMBER_TO_CONTACTS = 1;
+ public final static int SHORTCUT_MAKE_VIDEO_CALL = 2;
- public final static int SHORTCUT_COUNT = 2;
+ public final static int SHORTCUT_COUNT = 3;
private final boolean[] mShortcutEnabled = new boolean[SHORTCUT_COUNT];
@@ -145,12 +146,17 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter {
text = resources.getString(R.string.search_shortcut_add_to_contacts);
drawableId = R.drawable.ic_search_add_contact;
break;
+ case SHORTCUT_MAKE_VIDEO_CALL:
+ text = resources.getString(R.string.search_shortcut_make_video_call);
+ drawableId = R.drawable.ic_videocam;
+ break;
default:
throw new IllegalArgumentException("Invalid shortcut type");
}
v.setDrawableResource(R.drawable.search_shortcut_background, drawableId);
v.setDisplayName(text);
v.setPhotoPosition(super.getPhotoPosition());
+ v.setAdjustSelectionBoundsEnabled(false);
}
public void setShortcutEnabled(int shortcutType, boolean visible) {
diff --git a/src/com/android/dialer/list/RegularSearchListAdapter.java b/src/com/android/dialer/list/RegularSearchListAdapter.java
index d0617b7dc..2bceaf9ed 100644
--- a/src/com/android/dialer/list/RegularSearchListAdapter.java
+++ b/src/com/android/dialer/list/RegularSearchListAdapter.java
@@ -73,6 +73,9 @@ public class RegularSearchListAdapter extends DialerPhoneNumberListAdapter {
// a dialable number, then clicking add to contact should add it as a number.
// Otherwise, it should add it to a new contact as a name.
setShortcutEnabled(SHORTCUT_ADD_NUMBER_TO_CONTACTS, showNumberShortcuts);
+ // TODO: Write utility method to check subscriptions and settings, and use it to determine
+ // whether to enable or disable video call shortcut.
+ setShortcutEnabled(SHORTCUT_MAKE_VIDEO_CALL, showNumberShortcuts);
super.setQueryString(queryString);
}
}
diff --git a/src/com/android/dialer/list/SearchFragment.java b/src/com/android/dialer/list/SearchFragment.java
index 03d22429c..e2cea418f 100644
--- a/src/com/android/dialer/list/SearchFragment.java
+++ b/src/com/android/dialer/list/SearchFragment.java
@@ -147,21 +147,31 @@ public class SearchFragment extends PhoneNumberPickerFragment {
protected void onItemClick(int position, long id) {
final DialerPhoneNumberListAdapter adapter = (DialerPhoneNumberListAdapter) getAdapter();
final int shortcutType = adapter.getShortcutTypeFromPosition(position);
-
- if (shortcutType == DialerPhoneNumberListAdapter.SHORTCUT_INVALID) {
- super.onItemClick(position, id);
- } else if (shortcutType == DialerPhoneNumberListAdapter.SHORTCUT_DIRECT_CALL) {
- final OnPhoneNumberPickerActionListener listener =
- getOnPhoneNumberPickerListener();
- if (listener != null) {
- listener.onCallNumberDirectly(getQueryString());
- }
- } else if (shortcutType == DialerPhoneNumberListAdapter.SHORTCUT_ADD_NUMBER_TO_CONTACTS) {
- final String number = TextUtils.isEmpty(mAddToContactNumber) ?
- adapter.getFormattedQueryString() : mAddToContactNumber;
- final Intent intent = DialtactsActivity.getAddNumberToContactIntent(number);
- DialerUtils.startActivityWithErrorToast(getActivity(), intent,
- R.string.add_contact_not_available);
+ final OnPhoneNumberPickerActionListener listener;
+
+ switch (shortcutType) {
+ case DialerPhoneNumberListAdapter.SHORTCUT_INVALID:
+ super.onItemClick(position, id);
+ break;
+ case DialerPhoneNumberListAdapter.SHORTCUT_DIRECT_CALL:
+ listener = getOnPhoneNumberPickerListener();
+ if (listener != null) {
+ listener.onCallNumberDirectly(getQueryString());
+ }
+ break;
+ case DialerPhoneNumberListAdapter.SHORTCUT_ADD_NUMBER_TO_CONTACTS:
+ final String number = TextUtils.isEmpty(mAddToContactNumber) ?
+ adapter.getFormattedQueryString() : mAddToContactNumber;
+ final Intent intent = DialtactsActivity.getAddNumberToContactIntent(number);
+ DialerUtils.startActivityWithErrorToast(getActivity(), intent,
+ R.string.add_contact_not_available);
+ break;
+ case DialerPhoneNumberListAdapter.SHORTCUT_MAKE_VIDEO_CALL:
+ listener = getOnPhoneNumberPickerListener();
+ if (listener != null) {
+ listener.onCallNumberDirectly(getQueryString(), true /* isVideoCall */);
+ }
+ break;
}
}
diff --git a/src/com/android/dialer/list/SmartDialNumberListAdapter.java b/src/com/android/dialer/list/SmartDialNumberListAdapter.java
index 25d442e0c..d9aa84674 100644
--- a/src/com/android/dialer/list/SmartDialNumberListAdapter.java
+++ b/src/com/android/dialer/list/SmartDialNumberListAdapter.java
@@ -22,6 +22,7 @@ import android.net.Uri;
import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds.Callable;
import android.telephony.PhoneNumberUtils;
+import android.text.TextUtils;
import android.util.Log;
import com.android.contacts.common.list.ContactListItemView;
@@ -112,4 +113,14 @@ public class SmartDialNumberListAdapter extends DialerPhoneNumberListAdapter {
return null;
}
}
+
+ @Override
+ public void setQueryString(String queryString) {
+ final boolean showNumberShortcuts = !TextUtils.isEmpty(getFormattedQueryString());
+ setShortcutEnabled(SHORTCUT_ADD_NUMBER_TO_CONTACTS, showNumberShortcuts);
+ // TODO: Write utility method to check subscriptions and settings, and use it to determine
+ // whether to enable or disable video call shortcut.
+ setShortcutEnabled(SHORTCUT_MAKE_VIDEO_CALL, showNumberShortcuts);
+ super.setQueryString(queryString);
+ }
}