summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/calldetails
diff options
context:
space:
mode:
authorwangqi <wangqi@google.com>2018-04-19 11:44:38 -0700
committerCopybara-Service <copybara-piper@google.com>2018-04-19 12:24:45 -0700
commit455f0efd3c2c8ee682c5781fd4f13738f30d034e (patch)
tree6b2804eabb57f62b3cd4f9e34f8ee4a8f17cf7a3 /java/com/android/dialer/calldetails
parent168eecd46d139f52084bff66570f1b79cece0b9f (diff)
Change RttTransciptUtil methods to return ListenableFuture.
Bug: 70177426 Test: RttTranscriptUtilTest PiperOrigin-RevId: 193549902 Change-Id: Icb10e44edf32ef7913783628b38861465d0f6c93
Diffstat (limited to 'java/com/android/dialer/calldetails')
-rw-r--r--java/com/android/dialer/calldetails/CallDetailsActivityCommon.java39
1 files changed, 13 insertions, 26 deletions
diff --git a/java/com/android/dialer/calldetails/CallDetailsActivityCommon.java b/java/com/android/dialer/calldetails/CallDetailsActivityCommon.java
index dec1230bd..8f850ae25 100644
--- a/java/com/android/dialer/calldetails/CallDetailsActivityCommon.java
+++ b/java/com/android/dialer/calldetails/CallDetailsActivityCommon.java
@@ -30,7 +30,6 @@ import android.support.annotation.MainThread;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.RequiresPermission;
-import android.support.annotation.WorkerThread;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
@@ -65,7 +64,7 @@ import com.android.dialer.precall.PreCall;
import com.android.dialer.rtt.RttTranscriptActivity;
import com.android.dialer.rtt.RttTranscriptUtil;
import com.google.common.base.Preconditions;
-import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.collect.ImmutableSet;
import com.google.i18n.phonenumbers.NumberParseException;
import com.google.i18n.phonenumbers.PhoneNumberUtil;
import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
@@ -100,7 +99,7 @@ abstract class CallDetailsActivityCommon extends AppCompatActivity {
private CallDetailsAdapterCommon adapter;
private CallDetailsEntries callDetailsEntries;
- private UiListener<CallDetailsEntries> checkRttTranscriptAvailabilityListener;
+ private UiListener<ImmutableSet<String>> checkRttTranscriptAvailabilityListener;
/**
* Handles the intent that launches {@link OldCallDetailsActivity} or {@link CallDetailsActivity},
@@ -160,40 +159,28 @@ abstract class CallDetailsActivityCommon extends AppCompatActivity {
}
protected void loadRttTranscriptAvailability() {
+ ImmutableSet.Builder<String> builder = ImmutableSet.builder();
+ for (CallDetailsEntry entry : callDetailsEntries.getEntriesList()) {
+ builder.add(entry.getCallMappingId());
+ }
checkRttTranscriptAvailabilityListener.listen(
this,
- checkRttTranscriptAvailability(),
- this::setCallDetailsEntries,
+ RttTranscriptUtil.getAvailableRttTranscriptIds(this, builder.build()),
+ this::updateCallDetailsEntriesWithRttTranscriptAvailability,
throwable -> {
throw new RuntimeException(throwable);
});
}
- private ListenableFuture<CallDetailsEntries> checkRttTranscriptAvailability() {
- return DialerExecutorComponent.get(this)
- .backgroundExecutor()
- .submit(() -> checkRttTranscriptAvailabilityInBackground(callDetailsEntries));
- }
-
- /**
- * Check RTT transcript availability.
- *
- * @param input the original {@link CallDetailsEntries}
- * @return {@link CallDetailsEntries} with updated RTT transcript availability.
- */
- @WorkerThread
- private CallDetailsEntries checkRttTranscriptAvailabilityInBackground(
- @Nullable CallDetailsEntries input) {
- RttTranscriptUtil rttTranscriptUtil = new RttTranscriptUtil(this);
-
+ private void updateCallDetailsEntriesWithRttTranscriptAvailability(
+ ImmutableSet<String> availableTranscripIds) {
CallDetailsEntries.Builder mutableCallDetailsEntries = CallDetailsEntries.newBuilder();
- for (CallDetailsEntry entry : input.getEntriesList()) {
+ for (CallDetailsEntry entry : callDetailsEntries.getEntriesList()) {
CallDetailsEntry.Builder newEntry = CallDetailsEntry.newBuilder().mergeFrom(entry);
- newEntry.setHasRttTranscript(
- rttTranscriptUtil.checkRttTranscriptAvailability(String.valueOf(entry.getDate())));
+ newEntry.setHasRttTranscript(availableTranscripIds.contains(entry.getCallMappingId()));
mutableCallDetailsEntries.addEntries(newEntry.build());
}
- return mutableCallDetailsEntries.build();
+ setCallDetailsEntries(mutableCallDetailsEntries.build());
}
@Override