Advertisement
dimon95me

Untitled

Feb 24th, 2020
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.70 KB | None | 0 0
  1. public abstract class BackStackActivity extends AppCompatActivity implements BackStackManagerInterface {
  2.  
  3.     private BackStackManager backStackManager;
  4.  
  5.     @Override
  6.     protected void onCreate(Bundle savedInstanceState) {
  7.         super.onCreate(savedInstanceState);
  8.         backStackManager = onCreateBackStackManager();
  9.     }
  10.  
  11.     //Default implementation. Override it to add extra functionality
  12.     protected BackStackManager onCreateBackStackManager() {
  13.         return new BackStackManager(new BackStackHelperListener() {
  14.             @Override
  15.             public void closeApp() {
  16.                 BackStackActivity.super.onBackPressed();
  17.             }
  18.  
  19.             @Override
  20.             public void refresh() {
  21.             }
  22.  
  23.             @Override
  24.             public void currentTab(Fragment tab) {
  25.             }
  26.         }, getSupportFragmentManager());
  27.     }
  28.  
  29.     @Override
  30.     public BackStackManager getBackStackManager() {
  31.         return backStackManager;
  32.     }
  33.  
  34.     protected void setBackStackManager(BackStackManager backStackManager) {
  35.         this.backStackManager = backStackManager;
  36.     }
  37.  
  38.     @Override
  39.     public void onBackPressed() {
  40.  
  41.         List fragmentList = getSupportFragmentManager().getFragments();
  42.  
  43.         boolean handled = false;
  44.         for (Fragment f : (List<Fragment>) fragmentList) {
  45.             if (f.isVisible() && f instanceof BasePostsFragment) {
  46.                 handled = ((BasePostsFragment) f).onBackPressed();
  47.  
  48.                 if (handled) {
  49.                     break;
  50.                 }
  51.             }
  52.         }
  53.  
  54.         if (!handled) {
  55. //            super.onBackPressed();
  56.             backStackManager.onBackPressed();
  57.         }
  58.  
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement