diff options
author | Sudheer Shanka <sudheersai@google.com> | 2015-06-30 20:28:13 +0100 |
---|---|---|
committer | Sudheer Shanka <sudheersai@google.com> | 2015-06-30 21:33:55 +0100 |
commit | 1d48d5a992c32d37bc9535686d96569680639cfa (patch) | |
tree | fba3e42b89838327d7b96ed05fecb1f7d25c6983 | |
parent | 41f8def240346c6e65af7f31fce2628d802dd880 (diff) | |
download | ContactsProvider-1d48d5a992c32d37bc9535686d96569680639cfa.tar.gz |
Copy ringtone uri when rewriting cursor from corp profile.
This will make it possible to change ringtone of a contact
in the corp profile to any internal system sound. But if it
is set to a custom sound, then it will be ignored.
Bug: 21754741
Change-Id: I7f510dd3a8ddce4587f3728cbe36ef5a1f386bdc
-rw-r--r-- | src/com/android/providers/contacts/ContactsProvider2.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/com/android/providers/contacts/ContactsProvider2.java b/src/com/android/providers/contacts/ContactsProvider2.java index a7595e40..02e9c521 100644 --- a/src/com/android/providers/contacts/ContactsProvider2.java +++ b/src/com/android/providers/contacts/ContactsProvider2.java @@ -104,6 +104,8 @@ import android.provider.ContactsContract.Settings; import android.provider.ContactsContract.StatusUpdates; import android.provider.ContactsContract.StreamItemPhotos; import android.provider.ContactsContract.StreamItems; +import android.provider.MediaStore; +import android.provider.MediaStore.Audio.Media; import android.provider.OpenableColumns; import android.provider.Settings.Global; import android.provider.SyncStateContract; @@ -6728,9 +6730,19 @@ public class ContactsProvider2 extends AbstractContactsProvider break; case Data.PHOTO_FILE_ID: case Data.PHOTO_ID: - case Data.CUSTOM_RINGTONE: builder.add(null); break; + case Data.CUSTOM_RINGTONE: + String ringtoneUri = original.getString(originalColumnIndex); + // TODO: Remove this conditional block once accessing sounds in corp + // profile becomes possible. + if (ringtoneUri != null + && !Uri.parse(ringtoneUri).isPathPrefixMatch( + MediaStore.Audio.Media.INTERNAL_CONTENT_URI)) { + ringtoneUri = null; + } + builder.add(ringtoneUri); + break; case Contacts.LOOKUP_KEY: final String lookupKey = original.getString(originalColumnIndex); if (TextUtils.isEmpty(lookupKey)) { |