From c934ec30aa511d82184ff49163cd3b9bd8ce64e5 Mon Sep 17 00:00:00 2001 From: Torsten Grote <t@grobox.de> Date: Thu, 13 Oct 2016 15:08:41 -0300 Subject: [PATCH] Move Up button handling into BaseFragment --- .../android/blogs/BasePostFragment.java | 14 -------------- .../android/blogs/BlogFragment.java | 6 ------ .../android/blogs/FeedFragment.java | 1 - .../android/blogs/ReblogFragment.java | 2 -- .../android/contact/ContactListFragment.java | 2 -- .../android/forum/ForumListFragment.java | 2 -- .../android/fragment/BaseFragment.java | 18 ++++++++++++++++++ .../android/sharing/BaseMessageFragment.java | 14 -------------- .../sharing/ContactSelectorFragment.java | 4 ---- 9 files changed, 18 insertions(+), 45 deletions(-) diff --git a/briar-android/src/org/briarproject/android/blogs/BasePostFragment.java b/briar-android/src/org/briarproject/android/blogs/BasePostFragment.java index 04ee0a747d..9e2db81dc8 100644 --- a/briar-android/src/org/briarproject/android/blogs/BasePostFragment.java +++ b/briar-android/src/org/briarproject/android/blogs/BasePostFragment.java @@ -5,7 +5,6 @@ import android.support.annotation.CallSuper; import android.support.annotation.Nullable; import android.support.annotation.UiThread; import android.view.LayoutInflater; -import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.ProgressBar; @@ -36,8 +35,6 @@ abstract class BasePostFragment extends BaseFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - setHasOptionsMenu(true); - view = inflater.inflate(R.layout.fragment_blog_post, container, false); progressBar = (ProgressBar) view.findViewById(R.id.progressBar); @@ -60,17 +57,6 @@ abstract class BasePostFragment extends BaseFragment { stopPeriodicUpdate(); } - @Override - public boolean onOptionsItemSelected(final MenuItem item) { - switch (item.getItemId()) { - case android.R.id.home: - getActivity().onBackPressed(); - return true; - default: - return super.onOptionsItemSelected(item); - } - } - @UiThread protected void onBlogPostLoaded(BlogPostItem post) { progressBar.setVisibility(INVISIBLE); diff --git a/briar-android/src/org/briarproject/android/blogs/BlogFragment.java b/briar-android/src/org/briarproject/android/blogs/BlogFragment.java index eb65520910..8809864d55 100644 --- a/briar-android/src/org/briarproject/android/blogs/BlogFragment.java +++ b/briar-android/src/org/briarproject/android/blogs/BlogFragment.java @@ -80,9 +80,6 @@ public class BlogFragment extends BaseFragment implements @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - - setHasOptionsMenu(true); - Bundle args = getArguments(); byte[] b = args.getByteArray(GROUP_ID); if (b == null) throw new IllegalStateException("No group ID in args"); @@ -151,9 +148,6 @@ public class BlogFragment extends BaseFragment implements android.R.anim.slide_in_left, android.R.anim.slide_out_right); switch (item.getItemId()) { - case android.R.id.home: - getActivity().onBackPressed(); - return true; case R.id.action_write_blog_post: Intent i = new Intent(getActivity(), WriteBlogPostActivity.class); diff --git a/briar-android/src/org/briarproject/android/blogs/FeedFragment.java b/briar-android/src/org/briarproject/android/blogs/FeedFragment.java index 9545f34ff4..4be0bc5413 100644 --- a/briar-android/src/org/briarproject/android/blogs/FeedFragment.java +++ b/briar-android/src/org/briarproject/android/blogs/FeedFragment.java @@ -66,7 +66,6 @@ public class FeedFragment extends BaseFragment implements public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - setHasOptionsMenu(true); View v = inflater.inflate(R.layout.fragment_blog, container, false); adapter = new BlogPostAdapter(getActivity(), this); diff --git a/briar-android/src/org/briarproject/android/blogs/ReblogFragment.java b/briar-android/src/org/briarproject/android/blogs/ReblogFragment.java index e3d50dfeef..479fecaada 100644 --- a/briar-android/src/org/briarproject/android/blogs/ReblogFragment.java +++ b/briar-android/src/org/briarproject/android/blogs/ReblogFragment.java @@ -72,8 +72,6 @@ public class ReblogFragment extends BaseFragment implements TextInputListener { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - setHasOptionsMenu(true); - Bundle args = getArguments(); blogId = new GroupId(args.getByteArray(GROUP_ID)); postId = new MessageId(args.getByteArray(POST_ID)); diff --git a/briar-android/src/org/briarproject/android/contact/ContactListFragment.java b/briar-android/src/org/briarproject/android/contact/ContactListFragment.java index 474b2cc2b7..fe1e62a4da 100644 --- a/briar-android/src/org/briarproject/android/contact/ContactListFragment.java +++ b/briar-android/src/org/briarproject/android/contact/ContactListFragment.java @@ -106,8 +106,6 @@ public class ContactListFragment extends BaseFragment implements EventListener { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - setHasOptionsMenu(true); - View contentView = inflater.inflate(R.layout.list, container, false); diff --git a/briar-android/src/org/briarproject/android/forum/ForumListFragment.java b/briar-android/src/org/briarproject/android/forum/ForumListFragment.java index 6bbf196577..f1faecd46d 100644 --- a/briar-android/src/org/briarproject/android/forum/ForumListFragment.java +++ b/briar-android/src/org/briarproject/android/forum/ForumListFragment.java @@ -78,8 +78,6 @@ public class ForumListFragment extends BaseEventFragment implements public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - setHasOptionsMenu(true); - View contentView = inflater.inflate(R.layout.fragment_forum_list, container, false); diff --git a/briar-android/src/org/briarproject/android/fragment/BaseFragment.java b/briar-android/src/org/briarproject/android/fragment/BaseFragment.java index 2cb6b13e61..223c01367e 100644 --- a/briar-android/src/org/briarproject/android/fragment/BaseFragment.java +++ b/briar-android/src/org/briarproject/android/fragment/BaseFragment.java @@ -5,6 +5,7 @@ import android.os.Bundle; import android.support.annotation.Nullable; import android.support.annotation.UiThread; import android.support.v4.app.Fragment; +import android.view.MenuItem; import org.briarproject.android.ActivityComponent; import org.briarproject.android.DestroyableContext; @@ -27,6 +28,9 @@ public abstract class BaseFragment extends Fragment @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + // allow for "up" button to act as back button + setHasOptionsMenu(true); } @@ -37,6 +41,17 @@ public abstract class BaseFragment extends Fragment listener.onFragmentCreated(getUniqueTag()); } + @Override + public boolean onOptionsItemSelected(final MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + listener.onBackPressed(); + return true; + default: + return super.onOptionsItemSelected(item); + } + } + @UiThread protected void finish() { getActivity().supportFinishAfterTransition(); @@ -47,6 +62,9 @@ public abstract class BaseFragment extends Fragment @Deprecated void runOnDbThread(Runnable runnable); + @UiThread + void onBackPressed(); + @UiThread ActivityComponent getActivityComponent(); diff --git a/briar-android/src/org/briarproject/android/sharing/BaseMessageFragment.java b/briar-android/src/org/briarproject/android/sharing/BaseMessageFragment.java index 6616fe87ca..2613fd230b 100644 --- a/briar-android/src/org/briarproject/android/sharing/BaseMessageFragment.java +++ b/briar-android/src/org/briarproject/android/sharing/BaseMessageFragment.java @@ -32,9 +32,6 @@ abstract class BaseMessageFragment extends BaseFragment public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - // allow for "up" button to act as back button - setHasOptionsMenu(true); - // inflate view View v = inflater.inflate(R.layout.fragment_message, container, false); @@ -59,17 +56,6 @@ abstract class BaseMessageFragment extends BaseFragment message.showSoftKeyboard(); } - @Override - public boolean onOptionsItemSelected(final MenuItem item) { - switch (item.getItemId()) { - case android.R.id.home: - listener.onBackPressed(); - return true; - default: - return super.onOptionsItemSelected(item); - } - } - @Override public void onSendClick(String msg) { // disable button to prevent accidental double actions diff --git a/briar-android/src/org/briarproject/android/sharing/ContactSelectorFragment.java b/briar-android/src/org/briarproject/android/sharing/ContactSelectorFragment.java index b496bcdebb..03e4da3979 100644 --- a/briar-android/src/org/briarproject/android/sharing/ContactSelectorFragment.java +++ b/briar-android/src/org/briarproject/android/sharing/ContactSelectorFragment.java @@ -84,7 +84,6 @@ public class ContactSelectorFragment extends BaseFragment implements public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setHasOptionsMenu(true); Bundle args = getArguments(); byte[] b = args.getByteArray(GROUP_ID); if (b == null) throw new IllegalStateException("No GroupId"); @@ -156,9 +155,6 @@ public class ContactSelectorFragment extends BaseFragment implements public boolean onOptionsItemSelected(final MenuItem item) { // Handle presses on the action bar items switch (item.getItemId()) { - case android.R.id.home: - listener.onBackPressed(); - return true; case R.id.action_contacts_selected: selectedContacts = adapter.getSelectedContactIds(); listener.contactsSelected(groupId, selectedContacts); -- GitLab