Move Up button handling into BaseFragment

This commit is contained in:
Torsten Grote
2016-10-13 15:08:41 -03:00
parent d5f6e71cba
commit c934ec30aa
9 changed files with 18 additions and 45 deletions

View File

@@ -5,7 +5,6 @@ import android.support.annotation.CallSuper;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.support.annotation.UiThread; import android.support.annotation.UiThread;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ProgressBar; import android.widget.ProgressBar;
@@ -36,8 +35,6 @@ abstract class BasePostFragment extends BaseFragment {
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {
setHasOptionsMenu(true);
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);
@@ -60,17 +57,6 @@ abstract class BasePostFragment extends BaseFragment {
stopPeriodicUpdate(); 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 @UiThread
protected void onBlogPostLoaded(BlogPostItem post) { protected void onBlogPostLoaded(BlogPostItem post) {
progressBar.setVisibility(INVISIBLE); progressBar.setVisibility(INVISIBLE);

View File

@@ -80,9 +80,6 @@ public class BlogFragment extends BaseFragment implements
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {
setHasOptionsMenu(true);
Bundle args = getArguments(); Bundle args = getArguments();
byte[] b = args.getByteArray(GROUP_ID); byte[] b = args.getByteArray(GROUP_ID);
if (b == null) throw new IllegalStateException("No group ID in args"); 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_in_left,
android.R.anim.slide_out_right); android.R.anim.slide_out_right);
switch (item.getItemId()) { switch (item.getItemId()) {
case android.R.id.home:
getActivity().onBackPressed();
return true;
case R.id.action_write_blog_post: case R.id.action_write_blog_post:
Intent i = new Intent(getActivity(), Intent i = new Intent(getActivity(),
WriteBlogPostActivity.class); WriteBlogPostActivity.class);

View File

@@ -66,7 +66,6 @@ public class FeedFragment extends BaseFragment implements
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {
setHasOptionsMenu(true);
View v = inflater.inflate(R.layout.fragment_blog, container, false); View v = inflater.inflate(R.layout.fragment_blog, container, false);
adapter = new BlogPostAdapter(getActivity(), this); adapter = new BlogPostAdapter(getActivity(), this);

View File

@@ -72,8 +72,6 @@ public class ReblogFragment extends BaseFragment implements TextInputListener {
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {
setHasOptionsMenu(true);
Bundle args = getArguments(); Bundle args = getArguments();
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 File

@@ -106,8 +106,6 @@ public class ContactListFragment extends BaseFragment implements EventListener {
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {
setHasOptionsMenu(true);
View contentView = View contentView =
inflater.inflate(R.layout.list, container, inflater.inflate(R.layout.list, container,
false); false);

View File

@@ -78,8 +78,6 @@ public class ForumListFragment extends BaseEventFragment implements
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {
setHasOptionsMenu(true);
View contentView = View contentView =
inflater.inflate(R.layout.fragment_forum_list, container, inflater.inflate(R.layout.fragment_forum_list, container,
false); false);

View File

@@ -5,6 +5,7 @@ import android.os.Bundle;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.support.annotation.UiThread; import android.support.annotation.UiThread;
import android.support.v4.app.Fragment; import android.support.v4.app.Fragment;
import android.view.MenuItem;
import org.briarproject.android.ActivityComponent; import org.briarproject.android.ActivityComponent;
import org.briarproject.android.DestroyableContext; import org.briarproject.android.DestroyableContext;
@@ -27,6 +28,9 @@ public abstract class BaseFragment extends Fragment
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
super.onCreate(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()); 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 @UiThread
protected void finish() { protected void finish() {
getActivity().supportFinishAfterTransition(); getActivity().supportFinishAfterTransition();
@@ -47,6 +62,9 @@ public abstract class BaseFragment extends Fragment
@Deprecated @Deprecated
void runOnDbThread(Runnable runnable); void runOnDbThread(Runnable runnable);
@UiThread
void onBackPressed();
@UiThread @UiThread
ActivityComponent getActivityComponent(); ActivityComponent getActivityComponent();

View File

@@ -32,9 +32,6 @@ abstract class BaseMessageFragment extends BaseFragment
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {
// allow for "up" button to act as back button
setHasOptionsMenu(true);
// inflate view // inflate view
View v = inflater.inflate(R.layout.fragment_message, container, View v = inflater.inflate(R.layout.fragment_message, container,
false); false);
@@ -59,17 +56,6 @@ abstract class BaseMessageFragment extends BaseFragment
message.showSoftKeyboard(); 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 @Override
public void onSendClick(String msg) { public void onSendClick(String msg) {
// disable button to prevent accidental double actions // disable button to prevent accidental double actions

View File

@@ -84,7 +84,6 @@ public class ContactSelectorFragment extends BaseFragment implements
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
Bundle args = getArguments(); Bundle args = getArguments();
byte[] b = args.getByteArray(GROUP_ID); byte[] b = args.getByteArray(GROUP_ID);
if (b == null) throw new IllegalStateException("No GroupId"); if (b == null) throw new IllegalStateException("No GroupId");
@@ -156,9 +155,6 @@ public class ContactSelectorFragment extends BaseFragment implements
public boolean onOptionsItemSelected(final MenuItem item) { public boolean onOptionsItemSelected(final MenuItem item) {
// Handle presses on the action bar items // Handle presses on the action bar items
switch (item.getItemId()) { switch (item.getItemId()) {
case android.R.id.home:
listener.onBackPressed();
return true;
case R.id.action_contacts_selected: case R.id.action_contacts_selected:
selectedContacts = adapter.getSelectedContactIds(); selectedContacts = adapter.getSelectedContactIds();
listener.contactsSelected(groupId, selectedContacts); listener.contactsSelected(groupId, selectedContacts);