Compare commits

...

3 Commits

Author SHA1 Message Date
Michael Rogers
3800cd5e4f Bumped version number for beta release. 2017-07-28 11:17:09 +01:00
akwizgran
259f2cd419 Merge branch '993-fix-full-text-blog-posts' into 'master'
Show blog posts with full text when clicked

Closes #993

See merge request !570
2017-07-26 11:01:38 +00:00
Torsten Grote
20eb022c36 Show blog posts with full text when clicked
This fixes a regression that was introduced in !551.
2017-07-25 15:50:04 -03:00
6 changed files with 29 additions and 20 deletions

View File

@@ -78,8 +78,8 @@ android {
defaultConfig { defaultConfig {
minSdkVersion 14 minSdkVersion 14
targetSdkVersion 22 targetSdkVersion 22
versionCode 1603 versionCode 1604
versionName "0.16.3" versionName "0.16.4"
applicationId "org.briarproject.briar.beta" applicationId "org.briarproject.briar.beta"
resValue "string", "app_package", "org.briarproject.briar.beta" resValue "string", "app_package", "org.briarproject.briar.beta"
buildConfigField "String", "GitHash", "\"${getGitHash()}\"" buildConfigField "String", "GitHash", "\"${getGitHash()}\""

View File

@@ -60,8 +60,7 @@ abstract class BasePostFragment extends BaseFragment {
false); false);
progressBar = (ProgressBar) view.findViewById(R.id.progressBar); progressBar = (ProgressBar) view.findViewById(R.id.progressBar);
progressBar.setVisibility(VISIBLE); progressBar.setVisibility(VISIBLE);
ui = new BlogPostViewHolder(view); ui = new BlogPostViewHolder(view, true, new OnBlogPostClickListener() {
ui.setOnBlogPostClickListener(new OnBlogPostClickListener() {
@Override @Override
public void onBlogPostClick(BlogPostItem post) { public void onBlogPostClick(BlogPostItem post) {
// We're already there // We're already there

View File

@@ -23,8 +23,7 @@ class BlogPostAdapter
int viewType) { int viewType) {
View v = LayoutInflater.from(ctx).inflate( View v = LayoutInflater.from(ctx).inflate(
R.layout.list_item_blog_post, parent, false); R.layout.list_item_blog_post, parent, false);
BlogPostViewHolder ui = new BlogPostViewHolder(v); BlogPostViewHolder ui = new BlogPostViewHolder(v, false, listener);
ui.setOnBlogPostClickListener(listener);
return ui; return ui;
} }

View File

@@ -4,6 +4,7 @@ import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Build; import android.os.Build;
import android.support.annotation.NonNull;
import android.support.annotation.UiThread; import android.support.annotation.UiThread;
import android.support.v4.app.ActivityCompat; import android.support.v4.app.ActivityCompat;
import android.support.v4.app.ActivityOptionsCompat; import android.support.v4.app.ActivityOptionsCompat;
@@ -47,12 +48,16 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder {
private final ImageView reblogButton; private final ImageView reblogButton;
private final TextView body; private final TextView body;
private final ViewGroup commentContainer; private final ViewGroup commentContainer;
private final boolean fullText;
@Nullable @NonNull
private OnBlogPostClickListener listener; private final OnBlogPostClickListener listener;
BlogPostViewHolder(View v) { BlogPostViewHolder(View v, boolean fullText,
@NonNull OnBlogPostClickListener listener) {
super(v); super(v);
this.fullText = fullText;
this.listener = listener;
ctx = v.getContext(); ctx = v.getContext();
layout = (ViewGroup) v.findViewById(R.id.postLayout); layout = (ViewGroup) v.findViewById(R.id.postLayout);
@@ -64,10 +69,6 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder {
(ViewGroup) v.findViewById(R.id.commentContainer); (ViewGroup) v.findViewById(R.id.commentContainer);
} }
void setOnBlogPostClickListener(OnBlogPostClickListener listener) {
this.listener = listener;
}
void setVisibility(int visibility) { void setVisibility(int visibility) {
layout.setVisibility(visibility); layout.setVisibility(visibility);
} }
@@ -92,7 +93,7 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder {
if (item == null) return; if (item == null) return;
setTransitionName(item.getId()); setTransitionName(item.getId());
if (listener != null) { if (!fullText) {
layout.setClickable(true); layout.setClickable(true);
layout.setOnClickListener(new OnClickListener() { layout.setOnClickListener(new OnClickListener() {
@Override @Override
@@ -111,7 +112,7 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder {
author.setPersona( author.setPersona(
item.isRssFeed() ? AuthorView.RSS_FEED : AuthorView.NORMAL); item.isRssFeed() ? AuthorView.RSS_FEED : AuthorView.NORMAL);
// TODO make author clickable more often #624 // TODO make author clickable more often #624
if (listener != null && item.getHeader().getType() == POST) { if (!fullText && item.getHeader().getType() == POST) {
author.setAuthorClickable(new OnClickListener() { author.setAuthorClickable(new OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
@@ -124,7 +125,7 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder {
// post body // post body
Spanned bodyText = getSpanned(item.getBody()); Spanned bodyText = getSpanned(item.getBody());
if (listener == null) { if (fullText) {
body.setText(bodyText); body.setText(bodyText);
body.setTextIsSelectable(true); body.setTextIsSelectable(true);
makeLinksClickable(body); makeLinksClickable(body);
@@ -170,7 +171,7 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder {
reblogger.setAuthor(item.getAuthor()); reblogger.setAuthor(item.getAuthor());
reblogger.setAuthorStatus(item.getAuthorStatus()); reblogger.setAuthorStatus(item.getAuthorStatus());
reblogger.setDate(item.getTimestamp()); reblogger.setDate(item.getTimestamp());
if (listener != null) { if (!fullText) {
reblogger.setAuthorClickable(new OnClickListener() { reblogger.setAuthorClickable(new OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
@@ -200,7 +201,7 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder {
// TODO make author clickable #624 // TODO make author clickable #624
body.setText(c.getComment()); body.setText(c.getComment());
if (listener == null) body.setTextIsSelectable(true); if (fullText) body.setTextIsSelectable(true);
commentContainer.addView(v); commentContainer.addView(v);
} }

View File

@@ -161,7 +161,18 @@ public class ReblogFragment extends BaseFragment implements TextInputListener {
private ViewHolder(View v) { private ViewHolder(View v) {
scrollView = (ScrollView) v.findViewById(R.id.scrollView); scrollView = (ScrollView) v.findViewById(R.id.scrollView);
progressBar = (ProgressBar) v.findViewById(R.id.progressBar); 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); input = (TextInputView) v.findViewById(R.id.inputText);
} }
} }

View File

@@ -433,7 +433,6 @@ class FeedManagerImpl implements FeedManager, Client, EventListener,
// build post body // build post body
StringBuilder b = new StringBuilder(); StringBuilder b = new StringBuilder();
b.append("<h3>").append(feed.getTitle()).append("</h3>");
if (!StringUtils.isNullOrEmpty(entry.getTitle())) { if (!StringUtils.isNullOrEmpty(entry.getTitle())) {
b.append("<h1>").append(entry.getTitle()).append("</h1>"); b.append("<h1>").append(entry.getTitle()).append("</h1>");