summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/rtt
diff options
context:
space:
mode:
authorwangqi <wangqi@google.com>2018-04-19 11:06:19 -0700
committerCopybara-Service <copybara-piper@google.com>2018-04-19 12:23:53 -0700
commit168eecd46d139f52084bff66570f1b79cece0b9f (patch)
tree86515522771353274586e7ccc5d7bef11f1c154b /java/com/android/dialer/rtt
parentaf2757a2c3d7922b4a8bf107b6337f6d70dec939 (diff)
Update RTT transcript screen.
1. default to show first message 2. fix bug that first timestamp is not full format when it's grouped with previous messages Bug: 70177426 Test: RttTranscriptAdapterTest PiperOrigin-RevId: 193542992 Change-Id: Ic7a00f1fad8a9305b6fc1111783d589cc7956d58
Diffstat (limited to 'java/com/android/dialer/rtt')
-rw-r--r--java/com/android/dialer/rtt/RttTranscriptActivity.java1
-rw-r--r--java/com/android/dialer/rtt/RttTranscriptAdapter.java26
2 files changed, 25 insertions, 2 deletions
diff --git a/java/com/android/dialer/rtt/RttTranscriptActivity.java b/java/com/android/dialer/rtt/RttTranscriptActivity.java
index 2087250b3..a87852000 100644
--- a/java/com/android/dialer/rtt/RttTranscriptActivity.java
+++ b/java/com/android/dialer/rtt/RttTranscriptActivity.java
@@ -61,7 +61,6 @@ public class RttTranscriptActivity extends AppCompatActivity {
RecyclerView recyclerView = findViewById(R.id.rtt_recycler_view);
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
- layoutManager.setStackFromEnd(true);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setHasFixedSize(true);
adapter = new RttTranscriptAdapter(this);
diff --git a/java/com/android/dialer/rtt/RttTranscriptAdapter.java b/java/com/android/dialer/rtt/RttTranscriptAdapter.java
index 6e030349d..52f9d84bb 100644
--- a/java/com/android/dialer/rtt/RttTranscriptAdapter.java
+++ b/java/com/android/dialer/rtt/RttTranscriptAdapter.java
@@ -21,6 +21,7 @@ import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import com.android.dialer.common.LogUtil;
import com.android.dialer.glidephotomanager.PhotoInfo;
/** Adapter class for holding RTT chat data. */
@@ -30,6 +31,7 @@ public class RttTranscriptAdapter extends RecyclerView.Adapter<RttTranscriptMess
private final Context context;
private RttTranscript rttTranscript;
+ private int firstPositionToShowTimestamp;
RttTranscriptAdapter(Context context) {
this.context = context;
@@ -65,7 +67,9 @@ public class RttTranscriptAdapter extends RecyclerView.Adapter<RttTranscriptMess
rttChatMessageViewHolder.hideTimestamp();
} else {
rttChatMessageViewHolder.showTimestamp(
- rttTranscriptMessage.getTimestamp(), rttTranscriptMessage.getIsRemote(), i == 0);
+ rttTranscriptMessage.getTimestamp(),
+ rttTranscriptMessage.getIsRemote(),
+ i == firstPositionToShowTimestamp);
}
}
@@ -78,10 +82,30 @@ public class RttTranscriptAdapter extends RecyclerView.Adapter<RttTranscriptMess
}
void setRttTranscript(RttTranscript rttTranscript) {
+ if (rttTranscript == null) {
+ LogUtil.w("RttTranscriptAdapter.setRttTranscript", "null RttTranscript");
+ return;
+ }
this.rttTranscript = rttTranscript;
+ firstPositionToShowTimestamp = findFirstPositionToShowTimestamp(rttTranscript);
+
notifyDataSetChanged();
}
+ /**
+ * Returns first position of message that should show time stamp. This is usually the last one of
+ * first grouped messages.
+ */
+ protected static int findFirstPositionToShowTimestamp(RttTranscript rttTranscript) {
+ int i = 0;
+ while (i + 1 < rttTranscript.getMessagesCount()
+ && rttTranscript.getMessages(i).getIsRemote()
+ == rttTranscript.getMessages(i + 1).getIsRemote()) {
+ i++;
+ }
+ return i;
+ }
+
void setPhotoInfo(PhotoInfo photoInfo) {
this.photoInfo = photoInfo;
}