Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public abstract class BackStackActivity extends AppCompatActivity implements BackStackManagerInterface {
- private BackStackManager backStackManager;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- backStackManager = onCreateBackStackManager();
- }
- //Default implementation. Override it to add extra functionality
- protected BackStackManager onCreateBackStackManager() {
- return new BackStackManager(new BackStackHelperListener() {
- @Override
- public void closeApp() {
- BackStackActivity.super.onBackPressed();
- }
- @Override
- public void refresh() {
- }
- @Override
- public void currentTab(Fragment tab) {
- }
- }, getSupportFragmentManager());
- }
- @Override
- public BackStackManager getBackStackManager() {
- return backStackManager;
- }
- protected void setBackStackManager(BackStackManager backStackManager) {
- this.backStackManager = backStackManager;
- }
- @Override
- public void onBackPressed() {
- List fragmentList = getSupportFragmentManager().getFragments();
- boolean handled = false;
- for (Fragment f : (List<Fragment>) fragmentList) {
- if (f.isVisible() && f instanceof BasePostsFragment) {
- handled = ((BasePostsFragment) f).onBackPressed();
- if (handled) {
- break;
- }
- }
- }
- if (!handled) {
- // super.onBackPressed();
- backStackManager.onBackPressed();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement