From 7b627bb427035a46470ca4fb107c4548bb321a64 Mon Sep 17 00:00:00 2001 From: Torsten Grote <t@grobox.de> Date: Thu, 27 Oct 2016 08:22:52 -0200 Subject: [PATCH] Remove PartialItem interface and the need for casting ConversationItems --- .../android/contact/ConversationActivity.java | 7 +++--- .../android/contact/ConversationItem.java | 23 ++++++++----------- .../contact/ConversationItemViewHolder.java | 4 ++-- .../contact/ConversationMessageInItem.java | 8 +------ .../contact/ConversationMessageOutItem.java | 8 +------ 5 files changed, 16 insertions(+), 34 deletions(-) diff --git a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java index 311bcd1c85..bbb93f8f63 100644 --- a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java +++ b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java @@ -29,7 +29,6 @@ import org.briarproject.android.ActivityComponent; import org.briarproject.android.BriarActivity; import org.briarproject.android.api.AndroidNotificationManager; import org.briarproject.android.contact.ConversationAdapter.RequestListener; -import org.briarproject.android.contact.ConversationItem.PartialItem; import org.briarproject.android.introduction.IntroductionActivity; import org.briarproject.android.view.BriarRecyclerView; import org.briarproject.android.view.TextInputView; @@ -413,7 +412,7 @@ public class ConversationActivity extends BriarActivity ConversationItem item = ConversationItem.from(h); String body = bodyCache.get(h.getId()); if (body == null) loadMessageBody(h.getId()); - else ((PartialItem) item).setText(body); + else item.setBody(body); items.add(item); } for (IntroductionMessage m : introductions) { @@ -474,7 +473,7 @@ public class ConversationActivity extends BriarActivity for (int i = 0; i < messages.size(); i++) { ConversationItem item = messages.valueAt(i); if (item.getId().equals(m)) { - ((PartialItem) item).setText(body); + item.setBody(body); adapter.notifyItemChanged(messages.keyAt(i)); list.scrollToPosition(adapter.getItemCount() - 1); return; @@ -681,7 +680,7 @@ public class ConversationActivity extends BriarActivity groupId, m.getMessage().getTimestamp(), m.getContentType(), true, false, false, false); ConversationItem item = ConversationItem.from(h); - ((PartialItem) item).setText(body); + item.setBody(body); bodyCache.put(id, body); addConversationItem(item); } catch (DbException e) { diff --git a/briar-android/src/org/briarproject/android/contact/ConversationItem.java b/briar-android/src/org/briarproject/android/contact/ConversationItem.java index 7d5416e5cd..a192518186 100644 --- a/briar-android/src/org/briarproject/android/contact/ConversationItem.java +++ b/briar-android/src/org/briarproject/android/contact/ConversationItem.java @@ -33,16 +33,16 @@ import static org.briarproject.android.contact.ConversationRequestItem.RequestTy @NotNullByDefault abstract class ConversationItem { - protected @Nullable String text; + protected @Nullable String body; final private MessageId id; final private GroupId groupId; final private long time; ConversationItem(MessageId id, GroupId groupId, - @Nullable String text, long time) { + @Nullable String body, long time) { this.id = id; this.groupId = groupId; - this.text = text; + this.body = body; this.time = time; } @@ -54,9 +54,13 @@ abstract class ConversationItem { return groupId; } + void setBody(String body) { + this.body = body; + } + @Nullable - public String getText() { - return text; + public String getBody() { + return body; } long getTime() { @@ -279,13 +283,4 @@ abstract class ConversationItem { } } - interface PartialItem { - - @Nullable - String getText(); - - void setText(String text); - - } - } diff --git a/briar-android/src/org/briarproject/android/contact/ConversationItemViewHolder.java b/briar-android/src/org/briarproject/android/contact/ConversationItemViewHolder.java index 45713cdecd..58a42951b9 100644 --- a/briar-android/src/org/briarproject/android/contact/ConversationItemViewHolder.java +++ b/briar-android/src/org/briarproject/android/contact/ConversationItemViewHolder.java @@ -29,10 +29,10 @@ class ConversationItemViewHolder extends ViewHolder { @CallSuper void bind(ConversationItem item) { - if (item.getText() == null) { + if (item.getBody() == null) { text.setText("\u2026"); } else { - text.setText(StringUtils.trim(item.getText())); + text.setText(StringUtils.trim(item.getBody())); } long timestamp = item.getTime(); diff --git a/briar-android/src/org/briarproject/android/contact/ConversationMessageInItem.java b/briar-android/src/org/briarproject/android/contact/ConversationMessageInItem.java index 96388b7ae5..cb25f27614 100644 --- a/briar-android/src/org/briarproject/android/contact/ConversationMessageInItem.java +++ b/briar-android/src/org/briarproject/android/contact/ConversationMessageInItem.java @@ -1,6 +1,5 @@ package org.briarproject.android.contact; -import org.briarproject.android.contact.ConversationItem.PartialItem; import org.briarproject.api.messaging.PrivateMessageHeader; import org.briarproject.api.nullsafety.NotNullByDefault; @@ -8,15 +7,10 @@ import javax.annotation.concurrent.NotThreadSafe; @NotThreadSafe @NotNullByDefault -class ConversationMessageInItem extends ConversationInItem - implements PartialItem { +class ConversationMessageInItem extends ConversationInItem { ConversationMessageInItem(PrivateMessageHeader h) { super(h.getId(), h.getGroupId(), null, h.getTimestamp(), h.isRead()); } - public void setText(String body) { - text = body; - } - } diff --git a/briar-android/src/org/briarproject/android/contact/ConversationMessageOutItem.java b/briar-android/src/org/briarproject/android/contact/ConversationMessageOutItem.java index 9253fd7fa3..5091fc1ab3 100644 --- a/briar-android/src/org/briarproject/android/contact/ConversationMessageOutItem.java +++ b/briar-android/src/org/briarproject/android/contact/ConversationMessageOutItem.java @@ -1,6 +1,5 @@ package org.briarproject.android.contact; -import org.briarproject.android.contact.ConversationItem.PartialItem; import org.briarproject.api.messaging.PrivateMessageHeader; import org.briarproject.api.nullsafety.NotNullByDefault; @@ -8,16 +7,11 @@ import javax.annotation.concurrent.NotThreadSafe; @NotThreadSafe @NotNullByDefault -class ConversationMessageOutItem extends ConversationOutItem - implements PartialItem { +class ConversationMessageOutItem extends ConversationOutItem { ConversationMessageOutItem(PrivateMessageHeader h) { super(h.getId(), h.getGroupId(), null, h.getTimestamp(), h.isSent(), h.isSeen()); } - public void setText(String body) { - text = body; - } - } -- GitLab