diff options
Diffstat (limited to 'java/com/android/dialer/voicemail/listui/NewVoicemailAdapter.java')
-rw-r--r-- | java/com/android/dialer/voicemail/listui/NewVoicemailAdapter.java | 41 |
1 files changed, 14 insertions, 27 deletions
diff --git a/java/com/android/dialer/voicemail/listui/NewVoicemailAdapter.java b/java/com/android/dialer/voicemail/listui/NewVoicemailAdapter.java index 05a3bc951..044d8df6d 100644 --- a/java/com/android/dialer/voicemail/listui/NewVoicemailAdapter.java +++ b/java/com/android/dialer/voicemail/listui/NewVoicemailAdapter.java @@ -25,7 +25,6 @@ import android.media.MediaPlayer.OnPreparedListener; import android.net.Uri; import android.support.annotation.IntDef; import android.support.annotation.Nullable; -import android.support.annotation.VisibleForTesting; import android.support.annotation.WorkerThread; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; @@ -49,10 +48,9 @@ import com.android.dialer.voicemail.listui.error.VoicemailErrorMessage; import com.android.dialer.voicemail.listui.error.VoicemailErrorMessageCreator; import com.android.dialer.voicemail.listui.error.VoicemailStatus; import com.android.dialer.voicemail.model.VoicemailEntry; +import com.google.common.collect.ImmutableList; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; -import java.util.ArrayList; -import java.util.List; import java.util.Locale; import java.util.Objects; import java.util.Set; @@ -74,7 +72,6 @@ final class NewVoicemailAdapter extends RecyclerView.Adapter<ViewHolder> } private Cursor cursor; - private Cursor voicemailStatusCursor; private final Clock clock; private final GlidePhotoManager glidePhotoManager; @@ -880,6 +877,7 @@ final class NewVoicemailAdapter extends RecyclerView.Adapter<ViewHolder> new OnErrorListener() { @Override public boolean onError(MediaPlayer mp, int what, int extra) { + LogUtil.e("NewVoicemailAdapter.onError", "onError, what:%d, extra:%d", what, extra); Assert.checkArgument( mediaPlayer.getMediaPlayer().equals(mp), "there should always only be one instance of the media player"); @@ -1009,36 +1007,24 @@ final class NewVoicemailAdapter extends RecyclerView.Adapter<ViewHolder> } } - @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE) - public void setVoicemailStatusCursor(Cursor voicemailStatusCursor) { - this.voicemailStatusCursor = voicemailStatusCursor; - } + /** + * Updates the voicemail alert message to reflect the state of the {@link VoicemailStatus} table. + * TODO(uabdullah): Handle ToS properly (a bug) + */ + public void updateVoicemailAlertWithMostRecentStatus( + Context context, ImmutableList<VoicemailStatus> voicemailStatuses) { - // TODO(uabdullah): Handle ToS properly - public void updateAlert(Context context) { - if (voicemailStatusCursor == null) { - LogUtil.i("NewVoicemailAdapter.updateAlert", "status cursor was null"); + if (voicemailStatuses.isEmpty()) { + LogUtil.i( + "NewVoicemailAdapter.updateVoicemailAlertWithMostRecentStatus", + "voicemailStatuses was empty"); return; } - LogUtil.i( - "NewVoicemailAdapter.updateAlert", - "status cursor size was " + voicemailStatusCursor.getCount()); - - List<VoicemailStatus> statuses = new ArrayList<>(); - - while (voicemailStatusCursor.moveToNext()) { - VoicemailStatus status = new VoicemailStatus(context, voicemailStatusCursor); - if (status.isActive()) { - statuses.add(status); - // TODO(uabdullah): addServiceStateListener - } - } - voicemailErrorMessage = null; VoicemailErrorMessageCreator messageCreator = new VoicemailErrorMessageCreator(); - for (VoicemailStatus status : statuses) { + for (VoicemailStatus status : voicemailStatuses) { voicemailErrorMessage = messageCreator.create(context, status, null); if (voicemailErrorMessage != null) { break; @@ -1046,6 +1032,7 @@ final class NewVoicemailAdapter extends RecyclerView.Adapter<ViewHolder> } if (voicemailErrorMessage != null) { + LogUtil.i("NewVoicemailAdapter.updateVoicemailAlertWithMostRecentStatus", "showing alert"); voicemailAlertPosition = 0; updateHeaderPositions(); notifyItemChanged(0); |