summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStephen Bird <sbird@cyngn.com>2016-01-21 19:35:56 -0800
committerRichard MacGregor <rmacgregor@cyngn.com>2016-03-25 11:42:18 -0700
commitf80c6d3d5c38a685180f011f0c70acdd9eb40be0 (patch)
treed3cfbdc39f10e7f7be56395d521fc0b0069c6c8c /src
parent64356db4b1a7a7105d8124ff18e7de6137a1676c (diff)
downloadandroid_packages_apps_ContactsCommon-f80c6d3d5c38a685180f011f0c70acdd9eb40be0.tar.gz
android_packages_apps_ContactsCommon-f80c6d3d5c38a685180f011f0c70acdd9eb40be0.tar.bz2
android_packages_apps_ContactsCommon-f80c6d3d5c38a685180f011f0c70acdd9eb40be0.zip
Fix mimetype lookup for incall plugins
Change-Id: Ib8334a672c626bc33ebbbe8672145f10d0aa51d4
Diffstat (limited to 'src')
-rw-r--r--src/com/android/contacts/common/ContactTileLoaderFactory.java6
-rw-r--r--src/com/android/contacts/common/list/ContactEntry.java1
-rw-r--r--src/com/android/contacts/common/list/ContactTilePhoneFrequentView.java7
-rw-r--r--src/com/android/contacts/common/list/ContactTileView.java2
-rw-r--r--src/com/android/contacts/common/list/OnPhoneNumberPickerActionListener.java5
-rw-r--r--src/com/android/contacts/common/list/PhoneNumberListAdapter.java8
6 files changed, 26 insertions, 3 deletions
diff --git a/src/com/android/contacts/common/ContactTileLoaderFactory.java b/src/com/android/contacts/common/ContactTileLoaderFactory.java
index 1ee69ccd..39a4fc5f 100644
--- a/src/com/android/contacts/common/ContactTileLoaderFactory.java
+++ b/src/com/android/contacts/common/ContactTileLoaderFactory.java
@@ -55,6 +55,9 @@ public final class ContactTileLoaderFactory {
// contact id for strequent items, we thus have to use Phone.contact_id instead.
public final static int CONTACT_ID_FOR_DATA = 12;
+ public final static int PHONE_NUMBER_MIMETYPE = 13;
+
+
private static final String[] COLUMNS = new String[] {
Contacts._ID, // ..........................................0
Contacts.DISPLAY_NAME, // .................................1
@@ -88,7 +91,8 @@ public final class ContactTileLoaderFactory {
Phone.LABEL, // ............................................9
Phone.IS_SUPER_PRIMARY, //.................................10
Contacts.PINNED, // .......................................11
- Phone.CONTACT_ID //........................................12
+ Phone.CONTACT_ID, //.......................................12
+ Phone.MIMETYPE //..........................................13
};
private static final String STARRED_ORDER = Contacts.DISPLAY_NAME+" COLLATE NOCASE ASC";
diff --git a/src/com/android/contacts/common/list/ContactEntry.java b/src/com/android/contacts/common/list/ContactEntry.java
index 66ae50d1..c04411fa 100644
--- a/src/com/android/contacts/common/list/ContactEntry.java
+++ b/src/com/android/contacts/common/list/ContactEntry.java
@@ -38,6 +38,7 @@ public class ContactEntry {
public boolean isFavorite = false;
public boolean isDefaultNumber = false;
public Account account;
+ public String mimeType;
public static final ContactEntry BLANK_ENTRY = new ContactEntry();
} \ No newline at end of file
diff --git a/src/com/android/contacts/common/list/ContactTilePhoneFrequentView.java b/src/com/android/contacts/common/list/ContactTilePhoneFrequentView.java
index aec93aba..603904b5 100644
--- a/src/com/android/contacts/common/list/ContactTilePhoneFrequentView.java
+++ b/src/com/android/contacts/common/list/ContactTilePhoneFrequentView.java
@@ -31,6 +31,7 @@ import com.android.contacts.common.util.ViewUtil;
*/
public class ContactTilePhoneFrequentView extends ContactTileView {
private String mPhoneNumberString;
+ private String mPhoneNumberMimeTypeString;
public ContactTilePhoneFrequentView(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -50,9 +51,13 @@ public class ContactTilePhoneFrequentView extends ContactTileView {
public void loadFromContact(ContactEntry entry) {
super.loadFromContact(entry);
mPhoneNumberString = null; // ... in case we're reusing the view
+ mPhoneNumberMimeTypeString = null; // ... in case we're reusing the view
+
if (entry != null) {
// Grab the phone-number to call directly... see {@link onClick()}
mPhoneNumberString = entry.phoneNumber;
+ mPhoneNumberMimeTypeString = entry.mimeType;
+
}
}
@@ -71,7 +76,7 @@ public class ContactTilePhoneFrequentView extends ContactTileView {
// call them at the number that you usually talk to them
// at (i.e. the one displayed in the UI), regardless of
// whether that's their default number.
- mListener.onCallNumberDirectly(mPhoneNumberString);
+ mListener.onCallNumberDirectly(mPhoneNumberString, mPhoneNumberMimeTypeString);
}
}
};
diff --git a/src/com/android/contacts/common/list/ContactTileView.java b/src/com/android/contacts/common/list/ContactTileView.java
index b42ab7bf..4bd95148 100644
--- a/src/com/android/contacts/common/list/ContactTileView.java
+++ b/src/com/android/contacts/common/list/ContactTileView.java
@@ -232,7 +232,7 @@ public abstract class ContactTileView extends FrameLayout {
/**
* Notification that the specified number is to be called.
*/
- void onCallNumberDirectly(String phoneNumber);
+ void onCallNumberDirectly(String phoneNumber, String mimeType);
/**
* @return The width of each tile. This doesn't have to be a precise number (e.g. paddings
* can be ignored), but is used to load the correct picture size from the database
diff --git a/src/com/android/contacts/common/list/OnPhoneNumberPickerActionListener.java b/src/com/android/contacts/common/list/OnPhoneNumberPickerActionListener.java
index f69df9dd..37231452 100644
--- a/src/com/android/contacts/common/list/OnPhoneNumberPickerActionListener.java
+++ b/src/com/android/contacts/common/list/OnPhoneNumberPickerActionListener.java
@@ -40,6 +40,11 @@ public interface OnPhoneNumberPickerActionListener {
void onCallNumberDirectly(String phoneNumber, boolean isVideoCall);
/**
+ * Calls the specified phone number, either as an audio or video call.
+ */
+ void onCallNumberDirectly(String phoneNumber, boolean isVideoCall, String mimeType);
+
+ /**
* Returns the selected number as a shortcut intent.
*/
void onShortcutIntentCreated(Intent intent);
diff --git a/src/com/android/contacts/common/list/PhoneNumberListAdapter.java b/src/com/android/contacts/common/list/PhoneNumberListAdapter.java
index 750f030e..01d33b8b 100644
--- a/src/com/android/contacts/common/list/PhoneNumberListAdapter.java
+++ b/src/com/android/contacts/common/list/PhoneNumberListAdapter.java
@@ -102,6 +102,7 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter {
Phone.PHOTO_THUMBNAIL_URI, // 8
RawContacts.ACCOUNT_TYPE, // 9
RawContacts.ACCOUNT_NAME, // 10
+ Phone.MIMETYPE, // 11
};
public static final String[] PROJECTION_ALTERNATIVE = new String[] {
@@ -116,6 +117,7 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter {
Phone.PHOTO_THUMBNAIL_URI, // 8
RawContacts.ACCOUNT_TYPE, // 9
RawContacts.ACCOUNT_NAME, // 10
+ Phone.MIMETYPE, // 11
};
public static final int PHONE_ID = 0;
@@ -129,6 +131,7 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter {
public static final int PHOTO_URI = 8;
public static final int PHONE_ACCOUNT_TYPE = 9;
public static final int PHONE_ACCOUNT_NAME = 10;
+ public static final int PHONE_MIME_TYPE = 11;
}
private static final String IGNORE_NUMBER_TOO_LONG_CLAUSE =
@@ -305,6 +308,11 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter {
return item != null ? item.getString(PhoneQuery.PHONE_NUMBER) : null;
}
+ public String getMimeType(int position) {
+ final Cursor item = (Cursor)getItem(position);
+ return item != null ? item.getString(PhoneQuery.PHONE_MIME_TYPE) : null;
+ }
+
/**
* Builds a {@link Data#CONTENT_URI} for the given cursor position.
*