mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-21 15:19:53 +01:00
Removed blog post pagers
This commit is contained in:
@@ -5,10 +5,8 @@ import android.app.Activity;
|
|||||||
import org.briarproject.android.blogs.BlogActivity;
|
import org.briarproject.android.blogs.BlogActivity;
|
||||||
import org.briarproject.android.blogs.BlogFragment;
|
import org.briarproject.android.blogs.BlogFragment;
|
||||||
import org.briarproject.android.blogs.BlogPostFragment;
|
import org.briarproject.android.blogs.BlogPostFragment;
|
||||||
import org.briarproject.android.blogs.BlogPostPagerFragment;
|
|
||||||
import org.briarproject.android.blogs.FeedFragment;
|
import org.briarproject.android.blogs.FeedFragment;
|
||||||
import org.briarproject.android.blogs.FeedPostFragment;
|
import org.briarproject.android.blogs.FeedPostFragment;
|
||||||
import org.briarproject.android.blogs.FeedPostPagerFragment;
|
|
||||||
import org.briarproject.android.blogs.ReblogActivity;
|
import org.briarproject.android.blogs.ReblogActivity;
|
||||||
import org.briarproject.android.blogs.ReblogFragment;
|
import org.briarproject.android.blogs.ReblogFragment;
|
||||||
import org.briarproject.android.blogs.RssFeedImportActivity;
|
import org.briarproject.android.blogs.RssFeedImportActivity;
|
||||||
@@ -113,10 +111,6 @@ public interface ActivityComponent {
|
|||||||
|
|
||||||
void inject(FeedPostFragment fragment);
|
void inject(FeedPostFragment fragment);
|
||||||
|
|
||||||
void inject(BlogPostPagerFragment fragment);
|
|
||||||
|
|
||||||
void inject(FeedPostPagerFragment fragment);
|
|
||||||
|
|
||||||
void inject(ReblogFragment fragment);
|
void inject(ReblogFragment fragment);
|
||||||
|
|
||||||
void inject(ReblogActivity activity);
|
void inject(ReblogActivity activity);
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ import android.widget.ProgressBar;
|
|||||||
|
|
||||||
import org.briarproject.R;
|
import org.briarproject.R;
|
||||||
import org.briarproject.android.fragment.BaseFragment;
|
import org.briarproject.android.fragment.BaseFragment;
|
||||||
import org.briarproject.api.db.DbException;
|
|
||||||
import org.briarproject.api.nullsafety.MethodsNotNullByDefault;
|
import org.briarproject.api.nullsafety.MethodsNotNullByDefault;
|
||||||
import org.briarproject.api.nullsafety.ParametersNotNullByDefault;
|
import org.briarproject.api.nullsafety.ParametersNotNullByDefault;
|
||||||
|
|
||||||
@@ -26,6 +25,8 @@ import static org.briarproject.android.util.AndroidUtils.MIN_RESOLUTION;
|
|||||||
@ParametersNotNullByDefault
|
@ParametersNotNullByDefault
|
||||||
abstract class BasePostFragment extends BaseFragment {
|
abstract class BasePostFragment extends BaseFragment {
|
||||||
|
|
||||||
|
static final String POST_ID = "briar.POST_ID";
|
||||||
|
|
||||||
private static final Logger LOG =
|
private static final Logger LOG =
|
||||||
Logger.getLogger(BasePostFragment.class.getName());
|
Logger.getLogger(BasePostFragment.class.getName());
|
||||||
|
|
||||||
@@ -39,7 +40,8 @@ abstract class BasePostFragment extends BaseFragment {
|
|||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater,
|
public View onCreateView(LayoutInflater inflater,
|
||||||
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
@Nullable ViewGroup container,
|
||||||
|
@Nullable Bundle savedInstanceState) {
|
||||||
view = inflater.inflate(R.layout.fragment_blog_post, container,
|
view = inflater.inflate(R.layout.fragment_blog_post, container,
|
||||||
false);
|
false);
|
||||||
progressBar = (ProgressBar) view.findViewById(R.id.progressBar);
|
progressBar = (ProgressBar) view.findViewById(R.id.progressBar);
|
||||||
@@ -69,12 +71,6 @@ abstract class BasePostFragment extends BaseFragment {
|
|||||||
ui.bindItem(post);
|
ui.bindItem(post);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UiThread
|
|
||||||
protected void onBlogPostLoadException(DbException exception) {
|
|
||||||
// TODO: Decide how to handle errors in the UI
|
|
||||||
finish();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void startPeriodicUpdate() {
|
private void startPeriodicUpdate() {
|
||||||
refresher = new Runnable() {
|
refresher = new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,182 +0,0 @@
|
|||||||
package org.briarproject.android.blogs;
|
|
||||||
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.support.annotation.Nullable;
|
|
||||||
import android.support.annotation.UiThread;
|
|
||||||
import android.support.v4.app.Fragment;
|
|
||||||
import android.support.v4.app.FragmentManager;
|
|
||||||
import android.support.v4.app.FragmentStatePagerAdapter;
|
|
||||||
import android.support.v4.view.ViewPager;
|
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.ViewGroup;
|
|
||||||
import android.widget.ProgressBar;
|
|
||||||
|
|
||||||
import org.briarproject.R;
|
|
||||||
import org.briarproject.android.blogs.BaseController.BlogListener;
|
|
||||||
import org.briarproject.android.fragment.BaseFragment;
|
|
||||||
import org.briarproject.api.blogs.BlogPostHeader;
|
|
||||||
import org.briarproject.api.nullsafety.MethodsNotNullByDefault;
|
|
||||||
import org.briarproject.api.nullsafety.ParametersNotNullByDefault;
|
|
||||||
import org.briarproject.api.sync.GroupId;
|
|
||||||
import org.briarproject.api.sync.MessageId;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static android.view.View.INVISIBLE;
|
|
||||||
import static android.view.View.VISIBLE;
|
|
||||||
import static org.briarproject.android.blogs.BasePostPagerFragment.BlogPostPagerAdapter.INVALID_POSITION;
|
|
||||||
|
|
||||||
@UiThread
|
|
||||||
@MethodsNotNullByDefault
|
|
||||||
@ParametersNotNullByDefault
|
|
||||||
abstract class BasePostPagerFragment extends BaseFragment
|
|
||||||
implements BlogListener {
|
|
||||||
|
|
||||||
static final String POST_ID = "briar.POST_ID";
|
|
||||||
|
|
||||||
private ViewPager pager;
|
|
||||||
private ProgressBar progressBar;
|
|
||||||
private BlogPostPagerAdapter postPagerAdapter;
|
|
||||||
private MessageId postId;
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
public View onCreateView(LayoutInflater inflater,
|
|
||||||
@Nullable ViewGroup container, @Nullable Bundle state) {
|
|
||||||
|
|
||||||
Bundle args;
|
|
||||||
if (state == null) args = getArguments();
|
|
||||||
else args = state;
|
|
||||||
byte[] p = args.getByteArray(POST_ID);
|
|
||||||
if (p == null)
|
|
||||||
throw new IllegalStateException("No post ID in args");
|
|
||||||
postId = new MessageId(p);
|
|
||||||
|
|
||||||
View v = inflater.inflate(R.layout.fragment_blog_post_pager, container,
|
|
||||||
false);
|
|
||||||
progressBar = (ProgressBar) v.findViewById(R.id.progressBar);
|
|
||||||
progressBar.setVisibility(VISIBLE);
|
|
||||||
|
|
||||||
pager = (ViewPager) v.findViewById(R.id.pager);
|
|
||||||
postPagerAdapter = new BlogPostPagerAdapter(getChildFragmentManager());
|
|
||||||
|
|
||||||
return v;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStart() {
|
|
||||||
super.onStart();
|
|
||||||
loadBlogPosts();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void loadBlogPosts() {
|
|
||||||
if (postId == null) {
|
|
||||||
MessageId selected = getSelectedPost();
|
|
||||||
if (selected != null) loadBlogPosts(selected);
|
|
||||||
} else {
|
|
||||||
loadBlogPosts(postId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onSaveInstanceState(Bundle outState) {
|
|
||||||
super.onSaveInstanceState(outState);
|
|
||||||
MessageId selected = getSelectedPost();
|
|
||||||
if (selected != null)
|
|
||||||
outState.putByteArray(POST_ID, selected.getBytes());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onBlogPostAdded(BlogPostHeader header, boolean local) {
|
|
||||||
loadBlogPost(header);
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract Fragment createFragment(GroupId g, MessageId m);
|
|
||||||
|
|
||||||
abstract void loadBlogPosts(MessageId select);
|
|
||||||
|
|
||||||
abstract void loadBlogPost(BlogPostHeader header);
|
|
||||||
|
|
||||||
protected void onBlogPostsLoaded(MessageId select,
|
|
||||||
Collection<BlogPostItem> posts) {
|
|
||||||
postId = null;
|
|
||||||
postPagerAdapter.setPosts(posts);
|
|
||||||
selectPost(select);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void onBlogPostLoaded(BlogPostItem post) {
|
|
||||||
MessageId selected = getSelectedPost();
|
|
||||||
postPagerAdapter.addPost(post);
|
|
||||||
if (selected != null) selectPost(selected);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
private MessageId getSelectedPost() {
|
|
||||||
if (postPagerAdapter.getCount() == 0) return null;
|
|
||||||
int position = pager.getCurrentItem();
|
|
||||||
return postPagerAdapter.getPost(position).getId();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void selectPost(MessageId m) {
|
|
||||||
int pos = postPagerAdapter.getPostPosition(m);
|
|
||||||
if (pos != INVALID_POSITION) {
|
|
||||||
progressBar.setVisibility(INVISIBLE);
|
|
||||||
pager.setAdapter(postPagerAdapter);
|
|
||||||
pager.setCurrentItem(pos);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@UiThread
|
|
||||||
class BlogPostPagerAdapter extends FragmentStatePagerAdapter {
|
|
||||||
|
|
||||||
static final int INVALID_POSITION = -1;
|
|
||||||
|
|
||||||
private final List<BlogPostItem> posts = new ArrayList<>();
|
|
||||||
|
|
||||||
private BlogPostPagerAdapter(FragmentManager fm) {
|
|
||||||
super(fm);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getCount() {
|
|
||||||
return posts.size();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Fragment getItem(int position) {
|
|
||||||
BlogPostItem post = posts.get(position);
|
|
||||||
return createFragment(post.getGroupId(), post.getId());
|
|
||||||
}
|
|
||||||
|
|
||||||
private BlogPostItem getPost(int position) {
|
|
||||||
return posts.get(position);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setPosts(Collection<BlogPostItem> posts) {
|
|
||||||
this.posts.clear();
|
|
||||||
this.posts.addAll(posts);
|
|
||||||
Collections.sort(this.posts);
|
|
||||||
notifyDataSetChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void addPost(BlogPostItem post) {
|
|
||||||
posts.add(post);
|
|
||||||
Collections.sort(posts);
|
|
||||||
notifyDataSetChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
private int getPostPosition(MessageId m) {
|
|
||||||
int count = getCount();
|
|
||||||
for (int i = 0; i < count; i++) {
|
|
||||||
if (getPost(i).getId().equals(m)) {
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return INVALID_POSITION;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -49,7 +49,7 @@ public class BlogActivity extends BriarActivity implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBlogPostClick(BlogPostItem post) {
|
public void onBlogPostClick(BlogPostItem post) {
|
||||||
BlogPostPagerFragment f = BlogPostPagerFragment.newInstance(post.getId());
|
BlogPostFragment f = BlogPostFragment.newInstance(post.getId());
|
||||||
getSupportFragmentManager().beginTransaction()
|
getSupportFragmentManager().beginTransaction()
|
||||||
.replace(R.id.fragmentContainer, f, f.getUniqueTag())
|
.replace(R.id.fragmentContainer, f, f.getUniqueTag())
|
||||||
.addToBackStack(f.getUniqueTag())
|
.addToBackStack(f.getUniqueTag())
|
||||||
|
|||||||
@@ -16,14 +16,12 @@ import org.briarproject.api.sync.MessageId;
|
|||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import static org.briarproject.android.blogs.BasePostPagerFragment.POST_ID;
|
|
||||||
|
|
||||||
@UiThread
|
@UiThread
|
||||||
@MethodsNotNullByDefault
|
@MethodsNotNullByDefault
|
||||||
@ParametersNotNullByDefault
|
@ParametersNotNullByDefault
|
||||||
public class BlogPostFragment extends BasePostFragment {
|
public class BlogPostFragment extends BasePostFragment {
|
||||||
|
|
||||||
public final static String TAG = BlogPostFragment.class.getName();
|
private static final String TAG = BlogPostFragment.class.getName();
|
||||||
|
|
||||||
private MessageId postId;
|
private MessageId postId;
|
||||||
|
|
||||||
@@ -74,9 +72,11 @@ public class BlogPostFragment extends BasePostFragment {
|
|||||||
public void onResultUi(BlogPostItem post) {
|
public void onResultUi(BlogPostItem post) {
|
||||||
onBlogPostLoaded(post);
|
onBlogPostLoaded(post);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onExceptionUi(DbException exception) {
|
public void onExceptionUi(DbException exception) {
|
||||||
onBlogPostLoadException(exception);
|
// TODO: Decide how to handle errors in the UI
|
||||||
|
finish();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,96 +0,0 @@
|
|||||||
package org.briarproject.android.blogs;
|
|
||||||
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.support.annotation.UiThread;
|
|
||||||
import android.support.v4.app.Fragment;
|
|
||||||
|
|
||||||
import org.briarproject.android.ActivityComponent;
|
|
||||||
import org.briarproject.android.controller.handler.UiResultExceptionHandler;
|
|
||||||
import org.briarproject.api.blogs.BlogPostHeader;
|
|
||||||
import org.briarproject.api.db.DbException;
|
|
||||||
import org.briarproject.api.nullsafety.MethodsNotNullByDefault;
|
|
||||||
import org.briarproject.api.nullsafety.ParametersNotNullByDefault;
|
|
||||||
import org.briarproject.api.sync.GroupId;
|
|
||||||
import org.briarproject.api.sync.MessageId;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
@UiThread
|
|
||||||
@MethodsNotNullByDefault
|
|
||||||
@ParametersNotNullByDefault
|
|
||||||
public class BlogPostPagerFragment extends BasePostPagerFragment {
|
|
||||||
|
|
||||||
private static final String TAG = BlogPostPagerFragment.class.getName();
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
BlogController blogController;
|
|
||||||
|
|
||||||
static BlogPostPagerFragment newInstance(MessageId postId) {
|
|
||||||
BlogPostPagerFragment f = new BlogPostPagerFragment();
|
|
||||||
|
|
||||||
Bundle args = new Bundle();
|
|
||||||
args.putByteArray(POST_ID, postId.getBytes());
|
|
||||||
f.setArguments(args);
|
|
||||||
|
|
||||||
return f;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void injectFragment(ActivityComponent component) {
|
|
||||||
component.inject(this);
|
|
||||||
blogController.setBlogListener(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getUniqueTag() {
|
|
||||||
return TAG;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
Fragment createFragment(final GroupId g, final MessageId m) {
|
|
||||||
return BlogPostFragment.newInstance(m);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
void loadBlogPosts(final MessageId select) {
|
|
||||||
blogController.loadBlogPosts(
|
|
||||||
new UiResultExceptionHandler<Collection<BlogPostItem>, DbException>(
|
|
||||||
this) {
|
|
||||||
@Override
|
|
||||||
public void onResultUi(Collection<BlogPostItem> posts) {
|
|
||||||
onBlogPostsLoaded(select, posts);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onExceptionUi(DbException exception) {
|
|
||||||
// TODO: Decide how to handle errors in the UI
|
|
||||||
finish();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
void loadBlogPost(BlogPostHeader header) {
|
|
||||||
blogController.loadBlogPost(header,
|
|
||||||
new UiResultExceptionHandler<BlogPostItem, DbException>(
|
|
||||||
this) {
|
|
||||||
@Override
|
|
||||||
public void onResultUi(BlogPostItem post) {
|
|
||||||
onBlogPostLoaded(post);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onExceptionUi(DbException exception) {
|
|
||||||
// TODO: Decide how to handle errors in the UI
|
|
||||||
finish();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onBlogRemoved() {
|
|
||||||
finish();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -30,7 +30,7 @@ import static android.support.v4.app.ActivityOptionsCompat.makeSceneTransitionAn
|
|||||||
import static android.view.View.GONE;
|
import static android.view.View.GONE;
|
||||||
import static android.view.View.VISIBLE;
|
import static android.view.View.VISIBLE;
|
||||||
import static org.briarproject.android.BriarActivity.GROUP_ID;
|
import static org.briarproject.android.BriarActivity.GROUP_ID;
|
||||||
import static org.briarproject.android.blogs.BasePostPagerFragment.POST_ID;
|
import static org.briarproject.android.blogs.BasePostFragment.POST_ID;
|
||||||
import static org.briarproject.android.util.AndroidUtils.TEASER_LENGTH;
|
import static org.briarproject.android.util.AndroidUtils.TEASER_LENGTH;
|
||||||
import static org.briarproject.android.util.AndroidUtils.getSpanned;
|
import static org.briarproject.android.util.AndroidUtils.getSpanned;
|
||||||
import static org.briarproject.android.util.AndroidUtils.getTeaser;
|
import static org.briarproject.android.util.AndroidUtils.getTeaser;
|
||||||
|
|||||||
@@ -223,8 +223,8 @@ public class FeedFragment extends BaseFragment implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBlogPostClick(BlogPostItem post) {
|
public void onBlogPostClick(BlogPostItem post) {
|
||||||
FeedPostPagerFragment f = FeedPostPagerFragment
|
FeedPostFragment f =
|
||||||
.newInstance(post.getId());
|
FeedPostFragment.newInstance(post.getGroupId(), post.getId());
|
||||||
getActivity().getSupportFragmentManager().beginTransaction()
|
getActivity().getSupportFragmentManager().beginTransaction()
|
||||||
.replace(R.id.content_fragment, f, f.getUniqueTag())
|
.replace(R.id.content_fragment, f, f.getUniqueTag())
|
||||||
.addToBackStack(f.getUniqueTag())
|
.addToBackStack(f.getUniqueTag())
|
||||||
|
|||||||
@@ -18,14 +18,13 @@ import org.briarproject.api.sync.MessageId;
|
|||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import static org.briarproject.android.BriarActivity.GROUP_ID;
|
import static org.briarproject.android.BriarActivity.GROUP_ID;
|
||||||
import static org.briarproject.android.blogs.BasePostPagerFragment.POST_ID;
|
|
||||||
|
|
||||||
@UiThread
|
@UiThread
|
||||||
@MethodsNotNullByDefault
|
@MethodsNotNullByDefault
|
||||||
@ParametersNotNullByDefault
|
@ParametersNotNullByDefault
|
||||||
public class FeedPostFragment extends BasePostFragment {
|
public class FeedPostFragment extends BasePostFragment {
|
||||||
|
|
||||||
public final static String TAG = FeedPostFragment.class.getName();
|
private static final String TAG = FeedPostFragment.class.getName();
|
||||||
|
|
||||||
private MessageId postId;
|
private MessageId postId;
|
||||||
private GroupId blogId;
|
private GroupId blogId;
|
||||||
@@ -62,6 +61,11 @@ public class FeedPostFragment extends BasePostFragment {
|
|||||||
return super.onCreateView(inflater, container, savedInstanceState);
|
return super.onCreateView(inflater, container, savedInstanceState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getUniqueTag() {
|
||||||
|
return TAG;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void injectFragment(ActivityComponent component) {
|
public void injectFragment(ActivityComponent component) {
|
||||||
component.inject(this);
|
component.inject(this);
|
||||||
@@ -77,16 +81,12 @@ public class FeedPostFragment extends BasePostFragment {
|
|||||||
public void onResultUi(BlogPostItem post) {
|
public void onResultUi(BlogPostItem post) {
|
||||||
onBlogPostLoaded(post);
|
onBlogPostLoaded(post);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onExceptionUi(DbException exception) {
|
public void onExceptionUi(DbException exception) {
|
||||||
onBlogPostLoadException(exception);
|
// TODO: Decide how to handle errors in the UI
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getUniqueTag() {
|
|
||||||
return TAG;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,113 +0,0 @@
|
|||||||
package org.briarproject.android.blogs;
|
|
||||||
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.support.annotation.UiThread;
|
|
||||||
import android.support.v4.app.Fragment;
|
|
||||||
|
|
||||||
import org.briarproject.android.ActivityComponent;
|
|
||||||
import org.briarproject.android.blogs.FeedController.FeedListener;
|
|
||||||
import org.briarproject.android.controller.handler.UiResultExceptionHandler;
|
|
||||||
import org.briarproject.api.blogs.BlogPostHeader;
|
|
||||||
import org.briarproject.api.db.DbException;
|
|
||||||
import org.briarproject.api.nullsafety.MethodsNotNullByDefault;
|
|
||||||
import org.briarproject.api.nullsafety.ParametersNotNullByDefault;
|
|
||||||
import org.briarproject.api.sync.GroupId;
|
|
||||||
import org.briarproject.api.sync.MessageId;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
@UiThread
|
|
||||||
@MethodsNotNullByDefault
|
|
||||||
@ParametersNotNullByDefault
|
|
||||||
public class FeedPostPagerFragment extends BasePostPagerFragment
|
|
||||||
implements FeedListener {
|
|
||||||
|
|
||||||
private static final String TAG = FeedPostPagerFragment.class.getName();
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
FeedController feedController;
|
|
||||||
|
|
||||||
static FeedPostPagerFragment newInstance(MessageId postId) {
|
|
||||||
FeedPostPagerFragment f = new FeedPostPagerFragment();
|
|
||||||
|
|
||||||
Bundle args = new Bundle();
|
|
||||||
args.putByteArray(POST_ID, postId.getBytes());
|
|
||||||
f.setArguments(args);
|
|
||||||
|
|
||||||
return f;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void injectFragment(ActivityComponent component) {
|
|
||||||
component.inject(this);
|
|
||||||
feedController.setFeedListener(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getUniqueTag() {
|
|
||||||
return TAG;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStart() {
|
|
||||||
super.onStart();
|
|
||||||
feedController.onStart();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStop() {
|
|
||||||
super.onStop();
|
|
||||||
feedController.onStop();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
Fragment createFragment(GroupId g, MessageId m) {
|
|
||||||
return FeedPostFragment.newInstance(g, m);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
void loadBlogPosts(final MessageId select) {
|
|
||||||
feedController.loadBlogPosts(
|
|
||||||
new UiResultExceptionHandler<Collection<BlogPostItem>, DbException>(
|
|
||||||
this) {
|
|
||||||
@Override
|
|
||||||
public void onResultUi(Collection<BlogPostItem> posts) {
|
|
||||||
onBlogPostsLoaded(select, posts);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onExceptionUi(DbException exception) {
|
|
||||||
// TODO: Decide how to handle errors in the UI
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
void loadBlogPost(BlogPostHeader header) {
|
|
||||||
feedController.loadBlogPost(header,
|
|
||||||
new UiResultExceptionHandler<BlogPostItem, DbException>(
|
|
||||||
this) {
|
|
||||||
@Override
|
|
||||||
public void onResultUi(BlogPostItem post) {
|
|
||||||
onBlogPostLoaded(post);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onExceptionUi(DbException exception) {
|
|
||||||
// TODO: Decide how to handle errors in the UI
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onBlogAdded() {
|
|
||||||
loadBlogPosts();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onBlogRemoved() {
|
|
||||||
loadBlogPosts();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -15,7 +15,7 @@ import org.briarproject.android.fragment.BaseFragment.BaseFragmentListener;
|
|||||||
import org.briarproject.api.sync.GroupId;
|
import org.briarproject.api.sync.GroupId;
|
||||||
import org.briarproject.api.sync.MessageId;
|
import org.briarproject.api.sync.MessageId;
|
||||||
|
|
||||||
import static org.briarproject.android.blogs.BasePostPagerFragment.POST_ID;
|
import static org.briarproject.android.blogs.BasePostFragment.POST_ID;
|
||||||
|
|
||||||
public class ReblogActivity extends BriarActivity implements
|
public class ReblogActivity extends BriarActivity implements
|
||||||
BaseFragmentListener {
|
BaseFragmentListener {
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ import static android.view.View.GONE;
|
|||||||
import static android.view.View.INVISIBLE;
|
import static android.view.View.INVISIBLE;
|
||||||
import static android.view.View.VISIBLE;
|
import static android.view.View.VISIBLE;
|
||||||
import static org.briarproject.android.BriarActivity.GROUP_ID;
|
import static org.briarproject.android.BriarActivity.GROUP_ID;
|
||||||
import static org.briarproject.android.blogs.BasePostPagerFragment.POST_ID;
|
import static org.briarproject.android.blogs.BasePostFragment.POST_ID;
|
||||||
|
|
||||||
@MethodsNotNullByDefault
|
@MethodsNotNullByDefault
|
||||||
@ParametersNotNullByDefault
|
@ParametersNotNullByDefault
|
||||||
|
|||||||
Reference in New Issue
Block a user