Copied over latest changes to VoicemailContract api.

In addition, modified VoicemailProviderHelpers to use "source_package" uri
parameter instead of deprecated /source/ path for source specific uri
and stop using other deprecated fields.

Change-Id: Ia9570de2d9823ea27d57f7d602348d2a2826f2e8
This commit is contained in:
Debashish Chatterjee
2011-07-04 11:05:04 +01:00
parent 5250126200
commit 4534229ae8
2 changed files with 132 additions and 15 deletions

View File

@@ -16,7 +16,6 @@
package com.example.android.voicemail.common.core;
import com.example.android.provider.VoicemailContract;
import com.example.android.provider.VoicemailContract.Voicemails;
import com.example.android.voicemail.common.logging.Logger;
import com.example.android.voicemail.common.utils.CloseUtils;
@@ -76,8 +75,7 @@ public final class VoicemailProviderHelpers implements VoicemailProviderHelper {
* <code>com.android.providers.voicemail.permission.READ_WRITE_OWN_VOICEMAIL</code>.
*/
public static VoicemailProviderHelper createFullVoicemailProvider(Context context) {
return new VoicemailProviderHelpers(VoicemailContract.CONTENT_URI,
context.getContentResolver());
return new VoicemailProviderHelpers(Voicemails.CONTENT_URI, context.getContentResolver());
}
/**
@@ -88,9 +86,8 @@ public final class VoicemailProviderHelpers implements VoicemailProviderHelper {
* <code>com.android.providers.voicemail.permission.READ_WRITE_OWN_VOICEMAIL</code>.
*/
public static VoicemailProviderHelper createPackageScopedVoicemailProvider(Context context) {
Uri providerUri = Uri.withAppendedPath(VoicemailContract.CONTENT_URI_SOURCE,
context.getPackageName());
return new VoicemailProviderHelpers(providerUri, context.getContentResolver());
return new VoicemailProviderHelpers(Voicemails.buildSourceUri(context.getPackageName()),
context.getContentResolver());
}
@Override
@@ -241,8 +238,6 @@ public final class VoicemailProviderHelpers implements VoicemailProviderHelper {
long id = cursor.getLong(cursor.getColumnIndexOrThrow(Voicemails._ID));
String sourcePackage = cursor.getString(
cursor.getColumnIndexOrThrow(Voicemails.SOURCE_PACKAGE));
Uri voicemailUri = ContentUris.withAppendedId(
Uri.withAppendedPath(VoicemailContract.CONTENT_URI_SOURCE, sourcePackage), id);
VoicemailImpl voicemail = VoicemailImpl
.createEmptyBuilder()
.setTimestamp(cursor.getLong(cursor.getColumnIndexOrThrow(Voicemails.DATE)))
@@ -252,7 +247,7 @@ public final class VoicemailProviderHelpers implements VoicemailProviderHelper {
.setSourcePackage(sourcePackage)
.setSourceData(cursor.getString(
cursor.getColumnIndexOrThrow(Voicemails.SOURCE_DATA)))
.setUri(voicemailUri)
.setUri(buildUriWithSourcePackage(id, sourcePackage))
.setHasContent(cursor.getInt(
cursor.getColumnIndexOrThrow(Voicemails.HAS_CONTENT)) == 1)
.setIsRead(cursor.getInt(cursor.getColumnIndexOrThrow(Voicemails.NEW)) == 1)
@@ -262,6 +257,10 @@ public final class VoicemailProviderHelpers implements VoicemailProviderHelper {
return voicemail;
}
private Uri buildUriWithSourcePackage(long id, String sourcePackage) {
return ContentUris.withAppendedId(Voicemails.buildSourceUri(sourcePackage), id);
}
private Voicemail.Mailbox mapValueToMailBoxEnum(int value) {
for (Voicemail.Mailbox mailbox : Voicemail.Mailbox.values()) {
if (mailbox.getValue() == value) {