From f2b09deac404d7c4ad07d17ce4192fa2e0da186c Mon Sep 17 00:00:00 2001 From: akwizgran Date: Thu, 8 Nov 2018 11:47:11 +0000 Subject: [PATCH] [android] Remove type parameter from view holders. --- .../conversation/ConversationAdapter.java | 11 +++------- .../conversation/ConversationItem.java | 8 ++++---- .../ConversationItemViewHolder.java | 8 ++++---- .../ConversationMessageViewHolder.java | 8 +------- .../ConversationNoticeViewHolder.java | 13 +++++++----- .../conversation/ConversationRequestItem.java | 4 ++-- .../ConversationRequestViewHolder.java | 20 +++++++++---------- 7 files changed, 32 insertions(+), 40 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationAdapter.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationAdapter.java index 8fd98346a..78727f421 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationAdapter.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationAdapter.java @@ -20,7 +20,8 @@ class ConversationAdapter private ConversationListener listener; - ConversationAdapter(Context ctx, ConversationListener conversationListener) { + ConversationAdapter(Context ctx, + ConversationListener conversationListener) { super(ctx, ConversationItem.class); listener = conversationListener; } @@ -56,13 +57,7 @@ class ConversationAdapter @Override public void onBindViewHolder(ConversationItemViewHolder ui, int position) { ConversationItem item = items.get(position); - if (item instanceof ConversationRequestItem) { - ((ConversationRequestViewHolder) ui) - .bind((ConversationRequestItem) item, listener); - } else { - //noinspection unchecked - ui.bind(item); - } + ui.bind(item, listener); listener.onItemVisible(item); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItem.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItem.java index db653027a..5ab0ee33c 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItem.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItem.java @@ -37,7 +37,7 @@ abstract class ConversationItem { } @LayoutRes - public int getLayout() { + int getLayout() { return layoutRes; } @@ -54,7 +54,7 @@ abstract class ConversationItem { } @Nullable - public String getText() { + String getText() { return text; } @@ -65,7 +65,7 @@ abstract class ConversationItem { /** * Only useful for incoming messages. */ - public boolean isRead() { + boolean isRead() { return read; } @@ -97,7 +97,7 @@ abstract class ConversationItem { this.seen = seen; } - public boolean isIncoming() { + boolean isIncoming() { return isIncoming; } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItemViewHolder.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItemViewHolder.java index 79def8858..4a017d978 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItemViewHolder.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItemViewHolder.java @@ -10,14 +10,14 @@ import android.widget.TextView; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.briar.R; +import org.briarproject.briar.android.conversation.ConversationAdapter.ConversationListener; import static org.briarproject.bramble.util.StringUtils.trim; import static org.briarproject.briar.android.util.UiUtils.formatDate; @UiThread @NotNullByDefault -abstract class ConversationItemViewHolder - extends ViewHolder { +abstract class ConversationItemViewHolder extends ViewHolder { protected final ViewGroup layout; @Nullable @@ -34,7 +34,7 @@ abstract class ConversationItemViewHolder } @CallSuper - void bind(T item) { + void bind(ConversationItem item, ConversationListener listener) { if (item.getText() == null) { text.setText("\u2026"); } else { @@ -47,7 +47,7 @@ abstract class ConversationItemViewHolder if (outViewHolder != null) outViewHolder.bind(item); } - protected boolean isIncoming() { + boolean isIncoming() { return outViewHolder == null; } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationMessageViewHolder.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationMessageViewHolder.java index f1ef1551e..a4a4360c8 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationMessageViewHolder.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationMessageViewHolder.java @@ -7,8 +7,7 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; @UiThread @NotNullByDefault -class ConversationMessageViewHolder - extends ConversationItemViewHolder { +class ConversationMessageViewHolder extends ConversationItemViewHolder { // image support will be added here (#1242) @@ -16,9 +15,4 @@ class ConversationMessageViewHolder super(v, isIncoming); } - @Override - void bind(ConversationMessageItem item) { - super.bind(item); - } - } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationNoticeViewHolder.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationNoticeViewHolder.java index c59e14088..5dd4fa2d3 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationNoticeViewHolder.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationNoticeViewHolder.java @@ -1,11 +1,13 @@ package org.briarproject.briar.android.conversation; +import android.support.annotation.CallSuper; import android.support.annotation.UiThread; import android.view.View; import android.widget.TextView; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.briar.R; +import org.briarproject.briar.android.conversation.ConversationAdapter.ConversationListener; import static android.view.View.GONE; import static android.view.View.VISIBLE; @@ -14,8 +16,7 @@ import static org.briarproject.bramble.util.StringUtils.trim; @UiThread @NotNullByDefault -class ConversationNoticeViewHolder - extends ConversationItemViewHolder { +class ConversationNoticeViewHolder extends ConversationItemViewHolder { private final TextView msgText; @@ -25,10 +26,12 @@ class ConversationNoticeViewHolder } @Override - void bind(T item) { - super.bind(item); + @CallSuper + void bind(ConversationItem item, ConversationListener listener) { + ConversationNoticeItem notice = (ConversationNoticeItem) item; + super.bind(notice, listener); - String text = item.getMsgText(); + String text = notice.getMsgText(); if (isNullOrEmpty(text)) { msgText.setVisibility(GONE); layout.setBackgroundResource(isIncoming() ? R.drawable.notice_in : diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationRequestItem.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationRequestItem.java index 46f13d1ee..aee78cece 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationRequestItem.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationRequestItem.java @@ -49,7 +49,7 @@ class ConversationRequestItem extends ConversationNoticeItem { } @Nullable - public GroupId getRequestedGroupId() { + GroupId getRequestedGroupId() { return requestedGroupId; } @@ -61,7 +61,7 @@ class ConversationRequestItem extends ConversationNoticeItem { this.answered = true; } - public boolean canBeOpened() { + boolean canBeOpened() { return canBeOpened; } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationRequestViewHolder.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationRequestViewHolder.java index 63900f6b1..78f8b4218 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationRequestViewHolder.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationRequestViewHolder.java @@ -13,8 +13,7 @@ import static android.view.View.VISIBLE; @UiThread @NotNullByDefault -class ConversationRequestViewHolder - extends ConversationNoticeViewHolder { +class ConversationRequestViewHolder extends ConversationNoticeViewHolder { private final Button acceptButton; private final Button declineButton; @@ -25,17 +24,18 @@ class ConversationRequestViewHolder declineButton = v.findViewById(R.id.declineButton); } - void bind(ConversationRequestItem item, - ConversationListener listener) { - super.bind(item); + @Override + void bind(ConversationItem item, ConversationListener listener) { + ConversationRequestItem request = (ConversationRequestItem) item; + super.bind(request, listener); - if (item.wasAnswered() && item.canBeOpened()) { + if (request.wasAnswered() && request.canBeOpened()) { acceptButton.setVisibility(VISIBLE); acceptButton.setText(R.string.open); acceptButton.setOnClickListener( - v -> listener.openRequestedShareable(item)); + v -> listener.openRequestedShareable(request)); declineButton.setVisibility(GONE); - } else if (item.wasAnswered()) { + } else if (request.wasAnswered()) { acceptButton.setVisibility(GONE); declineButton.setVisibility(GONE); } else { @@ -44,13 +44,13 @@ class ConversationRequestViewHolder acceptButton.setOnClickListener(v -> { acceptButton.setEnabled(false); declineButton.setEnabled(false); - listener.respondToRequest(item, true); + listener.respondToRequest(request, true); }); declineButton.setVisibility(VISIBLE); declineButton.setOnClickListener(v -> { acceptButton.setEnabled(false); declineButton.setEnabled(false); - listener.respondToRequest(item, false); + listener.respondToRequest(request, false); }); } }