diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BasePostFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BasePostFragment.java index 49633c6bfa1781b6bd1d138f57974ed310daf732..222b7cae83042b90d9c08d6e0a3092006da2dd30 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BasePostFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BasePostFragment.java @@ -60,8 +60,7 @@ abstract class BasePostFragment extends BaseFragment { false); progressBar = (ProgressBar) view.findViewById(R.id.progressBar); progressBar.setVisibility(VISIBLE); - ui = new BlogPostViewHolder(view); - ui.setOnBlogPostClickListener(new OnBlogPostClickListener() { + ui = new BlogPostViewHolder(view, true, new OnBlogPostClickListener() { @Override public void onBlogPostClick(BlogPostItem post) { // We're already there diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostAdapter.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostAdapter.java index a9ac9f7232b98572172efd4730899a1b448ca1b0..fd2e8b7d90b6ea1d48bb89e7f825a26ca0042c71 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostAdapter.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostAdapter.java @@ -23,8 +23,7 @@ class BlogPostAdapter int viewType) { View v = LayoutInflater.from(ctx).inflate( R.layout.list_item_blog_post, parent, false); - BlogPostViewHolder ui = new BlogPostViewHolder(v); - ui.setOnBlogPostClickListener(listener); + BlogPostViewHolder ui = new BlogPostViewHolder(v, false, listener); return ui; } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostViewHolder.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostViewHolder.java index b72f29fc58451c1e7be50b5474fecb423281337e..484605f6e732e73782fc0c8dcb29351501f789e9 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostViewHolder.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostViewHolder.java @@ -4,6 +4,7 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Build; +import android.support.annotation.NonNull; import android.support.annotation.UiThread; import android.support.v4.app.ActivityCompat; import android.support.v4.app.ActivityOptionsCompat; @@ -47,12 +48,16 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder { private final ImageView reblogButton; private final TextView body; private final ViewGroup commentContainer; + private final boolean fullText; - @Nullable - private OnBlogPostClickListener listener; + @NonNull + private final OnBlogPostClickListener listener; - BlogPostViewHolder(View v) { + BlogPostViewHolder(View v, boolean fullText, + @NonNull OnBlogPostClickListener listener) { super(v); + this.fullText = fullText; + this.listener = listener; ctx = v.getContext(); layout = (ViewGroup) v.findViewById(R.id.postLayout); @@ -64,10 +69,6 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder { (ViewGroup) v.findViewById(R.id.commentContainer); } - void setOnBlogPostClickListener(OnBlogPostClickListener listener) { - this.listener = listener; - } - void setVisibility(int visibility) { layout.setVisibility(visibility); } @@ -92,7 +93,7 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder { if (item == null) return; setTransitionName(item.getId()); - if (listener != null) { + if (!fullText) { layout.setClickable(true); layout.setOnClickListener(new OnClickListener() { @Override @@ -111,7 +112,7 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder { author.setPersona( item.isRssFeed() ? AuthorView.RSS_FEED : AuthorView.NORMAL); // TODO make author clickable more often #624 - if (listener != null && item.getHeader().getType() == POST) { + if (!fullText && item.getHeader().getType() == POST) { author.setAuthorClickable(new OnClickListener() { @Override public void onClick(View v) { @@ -124,7 +125,7 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder { // post body Spanned bodyText = getSpanned(item.getBody()); - if (listener == null) { + if (fullText) { body.setText(bodyText); body.setTextIsSelectable(true); makeLinksClickable(body); @@ -170,7 +171,7 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder { reblogger.setAuthor(item.getAuthor()); reblogger.setAuthorStatus(item.getAuthorStatus()); reblogger.setDate(item.getTimestamp()); - if (listener != null) { + if (!fullText) { reblogger.setAuthorClickable(new OnClickListener() { @Override public void onClick(View v) { @@ -200,7 +201,7 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder { // TODO make author clickable #624 body.setText(c.getComment()); - if (listener == null) body.setTextIsSelectable(true); + if (fullText) body.setTextIsSelectable(true); commentContainer.addView(v); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/ReblogFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/ReblogFragment.java index eda320d2f6d7be0e05dd72173245ec64d6d34b2b..6029cd79f73497040d4b0bba055ab6a715344697 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/ReblogFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/ReblogFragment.java @@ -161,7 +161,18 @@ public class ReblogFragment extends BaseFragment implements TextInputListener { private ViewHolder(View v) { scrollView = (ScrollView) v.findViewById(R.id.scrollView); progressBar = (ProgressBar) v.findViewById(R.id.progressBar); - post = new BlogPostViewHolder(v.findViewById(R.id.postLayout)); + post = new BlogPostViewHolder(v.findViewById(R.id.postLayout), + true, new OnBlogPostClickListener() { + @Override + public void onBlogPostClick(BlogPostItem post) { + // do nothing + } + + @Override + public void onAuthorClick(BlogPostItem post) { + // probably don't want to allow author clicks here + } + }); input = (TextInputView) v.findViewById(R.id.inputText); } } diff --git a/briar-core/src/main/java/org/briarproject/briar/feed/FeedManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/feed/FeedManagerImpl.java index 609166ad5673abc6540013d79b48b4bc0e031695..ab0b5d047520f8cf1c70c255ddce8f4e57f6942d 100644 --- a/briar-core/src/main/java/org/briarproject/briar/feed/FeedManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/feed/FeedManagerImpl.java @@ -433,7 +433,6 @@ class FeedManagerImpl implements FeedManager, Client, EventListener, // build post body StringBuilder b = new StringBuilder(); - b.append("<h3>").append(feed.getTitle()).append("</h3>"); if (!StringUtils.isNullOrEmpty(entry.getTitle())) { b.append("<h1>").append(entry.getTitle()).append("</h1>");