Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0a139005 authored by Debashish Chatterjee's avatar Debashish Chatterjee
Browse files

Mark voicemail as read when call details page is opened.

Bug: 5059737
Change-Id: I875ae49f36af0bfe329dea26bb2e7ca2e9d2e709
parent e7ece73a
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -28,17 +28,20 @@ import android.app.ActionBar;
import android.app.ListActivity;
import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.database.Cursor;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.provider.CallLog;
import android.provider.CallLog.Calls;
import android.provider.Contacts.Intents.Insert;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.PhoneLookup;
import android.provider.VoicemailContract.Voicemails;
import android.telephony.PhoneNumberUtils;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
@@ -192,6 +195,7 @@ public class CallDetailActivity extends ListActivity implements
            getFragmentManager().beginTransaction()
                    .add(R.id.voicemail_container, playbackFragment).commit();
            mAsyncQueryHandler.startVoicemailStatusQuery(getVoicemailUri());
            markVoicemailAsRead(getVoicemailUri());
        } else {
            // No voicemail uri: hide the status view.
            mStatusMessageView.setVisibility(View.GONE);
@@ -206,6 +210,18 @@ public class CallDetailActivity extends ListActivity implements
        return getIntent().getParcelableExtra(EXTRA_VOICEMAIL_URI);
    }

    private void markVoicemailAsRead(final Uri voicemailUri) {
        new AsyncTask<Void, Void, Void>() {
            @Override
            protected Void doInBackground(Void... params) {
                ContentValues values = new ContentValues();
                values.put(Voicemails.IS_READ, true);
                getContentResolver().update(voicemailUri, values, null, null);
                return null;
            }
        }.execute();
    }

    /**
     * Returns the list of URIs to show.
     * <p>