mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-17 13:19:52 +01:00
Move OnBlogPostClickListener from activity to fragment
This commit is contained in:
@@ -10,6 +10,7 @@ import android.widget.ProgressBar;
|
|||||||
|
|
||||||
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
|
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
|
||||||
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
|
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
|
||||||
|
import org.briarproject.bramble.api.sync.MessageId;
|
||||||
import org.briarproject.briar.R;
|
import org.briarproject.briar.R;
|
||||||
import org.briarproject.briar.android.fragment.BaseFragment;
|
import org.briarproject.briar.android.fragment.BaseFragment;
|
||||||
|
|
||||||
@@ -31,6 +32,7 @@ abstract class BasePostFragment extends BaseFragment {
|
|||||||
private static final Logger LOG =
|
private static final Logger LOG =
|
||||||
Logger.getLogger(BasePostFragment.class.getName());
|
Logger.getLogger(BasePostFragment.class.getName());
|
||||||
|
|
||||||
|
protected MessageId postId;
|
||||||
private View view;
|
private View view;
|
||||||
private ProgressBar progressBar;
|
private ProgressBar progressBar;
|
||||||
private BlogPostViewHolder ui;
|
private BlogPostViewHolder ui;
|
||||||
@@ -43,6 +45,11 @@ abstract class BasePostFragment extends BaseFragment {
|
|||||||
public View onCreateView(LayoutInflater inflater,
|
public View onCreateView(LayoutInflater inflater,
|
||||||
@Nullable ViewGroup container,
|
@Nullable ViewGroup container,
|
||||||
@Nullable Bundle savedInstanceState) {
|
@Nullable Bundle savedInstanceState) {
|
||||||
|
// retrieve MessageId of blog post from arguments
|
||||||
|
byte[] p = getArguments().getByteArray(POST_ID);
|
||||||
|
if (p == null) throw new IllegalStateException("No post ID in args");
|
||||||
|
postId = new MessageId(p);
|
||||||
|
|
||||||
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);
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ import org.briarproject.bramble.api.sync.GroupId;
|
|||||||
import org.briarproject.briar.R;
|
import org.briarproject.briar.R;
|
||||||
import org.briarproject.briar.android.activity.ActivityComponent;
|
import org.briarproject.briar.android.activity.ActivityComponent;
|
||||||
import org.briarproject.briar.android.activity.BriarActivity;
|
import org.briarproject.briar.android.activity.BriarActivity;
|
||||||
import org.briarproject.briar.android.blog.BlogPostAdapter.OnBlogPostClickListener;
|
|
||||||
import org.briarproject.briar.android.fragment.BaseFragment.BaseFragmentListener;
|
import org.briarproject.briar.android.fragment.BaseFragment.BaseFragmentListener;
|
||||||
import org.briarproject.briar.android.sharing.BlogSharingStatusActivity;
|
import org.briarproject.briar.android.sharing.BlogSharingStatusActivity;
|
||||||
|
|
||||||
@@ -19,8 +18,8 @@ import javax.inject.Inject;
|
|||||||
|
|
||||||
@MethodsNotNullByDefault
|
@MethodsNotNullByDefault
|
||||||
@ParametersNotNullByDefault
|
@ParametersNotNullByDefault
|
||||||
public class BlogActivity extends BriarActivity implements
|
public class BlogActivity extends BriarActivity
|
||||||
OnBlogPostClickListener, BaseFragmentListener {
|
implements BaseFragmentListener {
|
||||||
|
|
||||||
static final int REQUEST_WRITE_POST = 2;
|
static final int REQUEST_WRITE_POST = 2;
|
||||||
static final int REQUEST_SHARE = 3;
|
static final int REQUEST_SHARE = 3;
|
||||||
@@ -66,10 +65,4 @@ public class BlogActivity extends BriarActivity implements
|
|||||||
component.inject(this);
|
component.inject(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onBlogPostClick(BlogPostItem post) {
|
|
||||||
BlogPostFragment f = BlogPostFragment.newInstance(post.getId());
|
|
||||||
showNextFragment(f);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import android.content.Intent;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.annotation.UiThread;
|
import android.support.annotation.UiThread;
|
||||||
import android.support.design.widget.Snackbar;
|
import android.support.design.widget.Snackbar;
|
||||||
import android.support.v4.app.ActivityOptionsCompat;
|
|
||||||
import android.support.v4.content.ContextCompat;
|
import android.support.v4.content.ContextCompat;
|
||||||
import android.support.v7.app.ActionBar;
|
import android.support.v7.app.ActionBar;
|
||||||
import android.support.v7.app.AlertDialog;
|
import android.support.v7.app.AlertDialog;
|
||||||
@@ -45,7 +44,6 @@ import javax.inject.Inject;
|
|||||||
import static android.app.Activity.RESULT_OK;
|
import static android.app.Activity.RESULT_OK;
|
||||||
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
|
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
|
||||||
import static android.content.Intent.FLAG_ACTIVITY_SINGLE_TOP;
|
import static android.content.Intent.FLAG_ACTIVITY_SINGLE_TOP;
|
||||||
import static android.support.v4.app.ActivityOptionsCompat.makeCustomAnimation;
|
|
||||||
import static android.widget.Toast.LENGTH_SHORT;
|
import static android.widget.Toast.LENGTH_SHORT;
|
||||||
import static org.briarproject.briar.android.activity.BriarActivity.GROUP_ID;
|
import static org.briarproject.briar.android.activity.BriarActivity.GROUP_ID;
|
||||||
import static org.briarproject.briar.android.blog.BlogActivity.REQUEST_SHARE;
|
import static org.briarproject.briar.android.blog.BlogActivity.REQUEST_SHARE;
|
||||||
@@ -56,7 +54,8 @@ import static org.briarproject.briar.android.controller.SharingController.Sharin
|
|||||||
@MethodsNotNullByDefault
|
@MethodsNotNullByDefault
|
||||||
@ParametersNotNullByDefault
|
@ParametersNotNullByDefault
|
||||||
public class BlogFragment extends BaseFragment
|
public class BlogFragment extends BaseFragment
|
||||||
implements BlogSharingListener, SharingListener {
|
implements BlogSharingListener, SharingListener,
|
||||||
|
OnBlogPostClickListener {
|
||||||
|
|
||||||
private final static String TAG = BlogFragment.class.getName();
|
private final static String TAG = BlogFragment.class.getName();
|
||||||
|
|
||||||
@@ -94,8 +93,7 @@ public class BlogFragment extends BaseFragment
|
|||||||
|
|
||||||
View v = inflater.inflate(R.layout.fragment_blog, container, false);
|
View v = inflater.inflate(R.layout.fragment_blog, container, false);
|
||||||
|
|
||||||
adapter = new BlogPostAdapter(getActivity(),
|
adapter = new BlogPostAdapter(getActivity(), this);
|
||||||
(OnBlogPostClickListener) getActivity());
|
|
||||||
list = (BriarRecyclerView) v.findViewById(R.id.postList);
|
list = (BriarRecyclerView) v.findViewById(R.id.postList);
|
||||||
list.setLayoutManager(new LinearLayoutManager(getActivity()));
|
list.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||||
list.setAdapter(adapter);
|
list.setAdapter(adapter);
|
||||||
@@ -214,6 +212,12 @@ public class BlogFragment extends BaseFragment
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBlogPostClick(BlogPostItem post) {
|
||||||
|
BlogPostFragment f = BlogPostFragment.newInstance(post.getId());
|
||||||
|
showNextFragment(f);
|
||||||
|
}
|
||||||
|
|
||||||
private void loadBlogPosts(final boolean reload) {
|
private void loadBlogPosts(final boolean reload) {
|
||||||
blogController.loadBlogPosts(
|
blogController.loadBlogPosts(
|
||||||
new UiResultExceptionHandler<Collection<BlogPostItem>, DbException>(
|
new UiResultExceptionHandler<Collection<BlogPostItem>, DbException>(
|
||||||
|
|||||||
@@ -23,8 +23,6 @@ public class BlogPostFragment extends BasePostFragment {
|
|||||||
|
|
||||||
private static final String TAG = BlogPostFragment.class.getName();
|
private static final String TAG = BlogPostFragment.class.getName();
|
||||||
|
|
||||||
private MessageId postId;
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
BlogController blogController;
|
BlogController blogController;
|
||||||
|
|
||||||
@@ -38,20 +36,6 @@ public class BlogPostFragment extends BasePostFragment {
|
|||||||
return f;
|
return f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
public View onCreateView(LayoutInflater inflater,
|
|
||||||
@Nullable ViewGroup container,
|
|
||||||
@Nullable Bundle savedInstanceState) {
|
|
||||||
|
|
||||||
Bundle args = getArguments();
|
|
||||||
byte[] p = args.getByteArray(POST_ID);
|
|
||||||
if (p == null) throw new IllegalStateException("No post ID in args");
|
|
||||||
postId = new MessageId(p);
|
|
||||||
|
|
||||||
return super.onCreateView(inflater, container, savedInstanceState);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getUniqueTag() {
|
public String getUniqueTag() {
|
||||||
return TAG;
|
return TAG;
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ public class FeedPostFragment extends BasePostFragment {
|
|||||||
|
|
||||||
private static final String TAG = FeedPostFragment.class.getName();
|
private static final String TAG = FeedPostFragment.class.getName();
|
||||||
|
|
||||||
private MessageId postId;
|
|
||||||
private GroupId blogId;
|
private GroupId blogId;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@@ -54,10 +53,6 @@ public class FeedPostFragment extends BasePostFragment {
|
|||||||
if (b == null) throw new IllegalStateException("No group ID in args");
|
if (b == null) throw new IllegalStateException("No group ID in args");
|
||||||
blogId = new GroupId(b);
|
blogId = new GroupId(b);
|
||||||
|
|
||||||
byte[] p = args.getByteArray(POST_ID);
|
|
||||||
if (p == null) throw new IllegalStateException("No post ID in args");
|
|
||||||
postId = new MessageId(p);
|
|
||||||
|
|
||||||
return super.onCreateView(inflater, container, savedInstanceState);
|
return super.onCreateView(inflater, container, savedInstanceState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -74,8 +74,7 @@ public class ReblogFragment extends BaseFragment implements TextInputListener {
|
|||||||
blogId = new GroupId(args.getByteArray(GROUP_ID));
|
blogId = new GroupId(args.getByteArray(GROUP_ID));
|
||||||
postId = new MessageId(args.getByteArray(POST_ID));
|
postId = new MessageId(args.getByteArray(POST_ID));
|
||||||
|
|
||||||
View v = inflater.inflate(R.layout.fragment_reblog, container,
|
View v = inflater.inflate(R.layout.fragment_reblog, container, false);
|
||||||
false);
|
|
||||||
ui = new ViewHolder(v);
|
ui = new ViewHolder(v);
|
||||||
ui.post.setTransitionName(postId);
|
ui.post.setTransitionName(postId);
|
||||||
ui.input.setSendButtonEnabled(false);
|
ui.input.setSendButtonEnabled(false);
|
||||||
|
|||||||
@@ -6,5 +6,6 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
android:background="@color/window_background"
|
||||||
app:scrollToEnd="false"
|
app:scrollToEnd="false"
|
||||||
tools:context=".android.blog.BlogActivity"/>
|
tools:context=".android.blog.BlogActivity"/>
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
<ScrollView
|
<ScrollView
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent"
|
||||||
|
android:background="@color/window_background">
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|||||||
Reference in New Issue
Block a user