diff options
author | Stephen Bird <sbird@cyngn.com> | 2016-01-21 19:35:56 -0800 |
---|---|---|
committer | Richard MacGregor <rmacgregor@cyngn.com> | 2016-03-25 11:42:18 -0700 |
commit | f80c6d3d5c38a685180f011f0c70acdd9eb40be0 (patch) | |
tree | d3cfbdc39f10e7f7be56395d521fc0b0069c6c8c /src | |
parent | 64356db4b1a7a7105d8124ff18e7de6137a1676c (diff) | |
download | android_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')
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. * |