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.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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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));

View File

@@ -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);

View File

@@ -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);

View File

@@ -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();

View File

@@ -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

View File

@@ -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);