summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/voicemail
diff options
context:
space:
mode:
authoruabdullah <uabdullah@google.com>2018-02-02 17:25:01 -0800
committerCopybara-Service <copybara-piper@google.com>2018-02-02 17:31:47 -0800
commit307dcdb474799e015e90b6afd87ea7d798cb9ed8 (patch)
tree1c1b97b310660dfa2da74d8825d60ff9ca7cc341 /java/com/android/dialer/voicemail
parent9232b28859f16b0ca1fe285b4dd3589d6a3dcbbc (diff)
Add phone account id and component name to NUI VM Pre-call.
Adds the support for NUI VM Tab to add phone account handle information to Pre-Call. This is used when making a call via the voicemail tab. Bug: 72449246 Test: existing unit test PiperOrigin-RevId: 184357841 Change-Id: Icc086c878c86cf5204511860d4524ff2ea1f8935
Diffstat (limited to 'java/com/android/dialer/voicemail')
-rw-r--r--java/com/android/dialer/voicemail/listui/NewVoicemailMediaPlayerView.java14
-rw-r--r--java/com/android/dialer/voicemail/listui/VoicemailCursorLoader.java8
-rw-r--r--java/com/android/dialer/voicemail/model/VoicemailEntry.java11
3 files changed, 30 insertions, 3 deletions
diff --git a/java/com/android/dialer/voicemail/listui/NewVoicemailMediaPlayerView.java b/java/com/android/dialer/voicemail/listui/NewVoicemailMediaPlayerView.java
index df4715974..52f3d0a48 100644
--- a/java/com/android/dialer/voicemail/listui/NewVoicemailMediaPlayerView.java
+++ b/java/com/android/dialer/voicemail/listui/NewVoicemailMediaPlayerView.java
@@ -46,6 +46,7 @@ import com.android.dialer.common.concurrent.DialerExecutor.SuccessListener;
import com.android.dialer.common.concurrent.DialerExecutor.Worker;
import com.android.dialer.common.concurrent.DialerExecutorComponent;
import com.android.dialer.precall.PreCall;
+import com.android.dialer.telecom.TelecomUtil;
import com.android.dialer.voicemail.listui.NewVoicemailViewHolder.NewVoicemailViewHolderListener;
import com.android.dialer.voicemail.model.VoicemailEntry;
import java.util.Locale;
@@ -68,6 +69,8 @@ public final class NewVoicemailMediaPlayerView extends LinearLayout {
private TextView voicemailLoadingStatusView;
private Uri voicemailUri;
private String numberVoicemailFrom;
+ private String phoneAccountId;
+ private String phoneAccountComponentName;
private FragmentManager fragmentManager;
private NewVoicemailViewHolder newVoicemailViewHolder;
private NewVoicemailMediaPlayer mediaPlayer;
@@ -122,6 +125,8 @@ public final class NewVoicemailMediaPlayerView extends LinearLayout {
voicemailUri = null;
voicemailLoadingStatusView.setVisibility(GONE);
numberVoicemailFrom = null;
+ phoneAccountId = null;
+ phoneAccountComponentName = null;
}
/**
@@ -152,6 +157,8 @@ public final class NewVoicemailMediaPlayerView extends LinearLayout {
Uri uri = Uri.parse(voicemailEntryFromAdapter.voicemailUri());
numberVoicemailFrom = voicemailEntryFromAdapter.number().getNormalizedNumber();
+ phoneAccountId = voicemailEntryFromAdapter.phoneAccountId();
+ phoneAccountComponentName = voicemailEntryFromAdapter.phoneAccountComponentName();
Assert.isNotNull(viewHolder);
Assert.isNotNull(uri);
@@ -510,7 +517,6 @@ public final class NewVoicemailMediaPlayerView extends LinearLayout {
}
};
- // TODO(uabdullah): Add phone account handle (a bug)
private final View.OnClickListener phoneButtonListener =
new View.OnClickListener() {
@Override
@@ -525,7 +531,11 @@ public final class NewVoicemailMediaPlayerView extends LinearLayout {
!TextUtils.isEmpty(numberVoicemailFrom),
"number cannot be empty:" + numberVoicemailFrom);
PreCall.start(
- getContext(), new CallIntentBuilder(numberVoicemailFrom, Type.VOICEMAIL_LOG));
+ getContext(),
+ new CallIntentBuilder(numberVoicemailFrom, Type.VOICEMAIL_LOG)
+ .setPhoneAccountHandle(
+ TelecomUtil.composePhoneAccountHandle(
+ phoneAccountComponentName, phoneAccountId)));
}
};
diff --git a/java/com/android/dialer/voicemail/listui/VoicemailCursorLoader.java b/java/com/android/dialer/voicemail/listui/VoicemailCursorLoader.java
index 11e788840..5f717cf0c 100644
--- a/java/com/android/dialer/voicemail/listui/VoicemailCursorLoader.java
+++ b/java/com/android/dialer/voicemail/listui/VoicemailCursorLoader.java
@@ -45,7 +45,9 @@ final class VoicemailCursorLoader extends CursorLoader {
AnnotatedCallLog.VOICEMAIL_URI,
AnnotatedCallLog.IS_READ,
AnnotatedCallLog.NUMBER_ATTRIBUTES,
- AnnotatedCallLog.TRANSCRIPTION_STATE
+ AnnotatedCallLog.TRANSCRIPTION_STATE,
+ AnnotatedCallLog.PHONE_ACCOUNT_COMPONENT_NAME,
+ AnnotatedCallLog.PHONE_ACCOUNT_ID,
};
// Indexes for VOICEMAIL_COLUMNS
@@ -61,6 +63,8 @@ final class VoicemailCursorLoader extends CursorLoader {
private static final int IS_READ = 9;
private static final int NUMBER_ATTRIBUTES = 10;
private static final int TRANSCRIPTION_STATE = 11;
+ private static final int PHONE_ACCOUNT_COMPONENT_NAME = 12;
+ private static final int PHONE_ACCOUNT_ID = 13;
// TODO(zachh): Optimize indexes
VoicemailCursorLoader(Context context) {
@@ -108,6 +112,8 @@ final class VoicemailCursorLoader extends CursorLoader {
.setIsRead(cursor.getInt(IS_READ))
.setNumberAttributes(numberAttributes)
.setTranscriptionState(cursor.getInt(TRANSCRIPTION_STATE))
+ .setPhoneAccountComponentName(cursor.getString(PHONE_ACCOUNT_COMPONENT_NAME))
+ .setPhoneAccountId(cursor.getString(PHONE_ACCOUNT_ID))
.build();
}
diff --git a/java/com/android/dialer/voicemail/model/VoicemailEntry.java b/java/com/android/dialer/voicemail/model/VoicemailEntry.java
index 5830fb17e..2f554b11f 100644
--- a/java/com/android/dialer/voicemail/model/VoicemailEntry.java
+++ b/java/com/android/dialer/voicemail/model/VoicemailEntry.java
@@ -68,6 +68,12 @@ public abstract class VoicemailEntry {
public abstract int transcriptionState();
+ @Nullable
+ public abstract String phoneAccountComponentName();
+
+ @Nullable
+ public abstract String phoneAccountId();
+
/** Builder for {@link VoicemailEntry}. */
@AutoValue.Builder
public abstract static class Builder {
@@ -96,6 +102,11 @@ public abstract class VoicemailEntry {
public abstract Builder setTranscriptionState(int transcriptionState);
+ public abstract Builder setPhoneAccountComponentName(
+ @Nullable String phoneAccountComponentName);
+
+ public abstract Builder setPhoneAccountId(@Nullable String phoneAccountId);
+
public abstract VoicemailEntry build();
}
}