@Override
 public boolean onBackPressed() {
   if (isTablet && !isPortrait) {
     return false;
   } else {
     Fragment currentFragment = getChildFragmentManager().findFragmentById(R.id.fragmentContainer);
     if (currentFragment instanceof ContentDetailFragment) {
       contentListFragment = new ContentListFragment();
       Bundle bundle = new Bundle();
       bundle.putStringArray(MainActivity.EXTRA_CONTENT_NAMES, contentNames);
       bundle.putIntArray(MainActivity.EXTRA_CONTENT_IMAGES, contentImages);
       contentListFragment.setArguments(bundle);
       showPrimaryFragment(contentListFragment, false, null, true);
       isDetailShowing = false;
       // going back to main content
       new Handler()
           .postDelayed(
               new Runnable() {
                 @Override
                 public void run() {
                   ((MainActivity) getActivity()).setUpNavOff();
                 }
               },
               250);
       return true;
     } else {
       return false;
     }
   }
 }
 @Override
 protected void onResultReady(Map<String, String> result) {
   mGitModuleMap = result;
   if (mContentListFragment != null) {
     mContentListFragment.onSubModuleNamesChanged(getSubModuleNames(mContentListFragment));
   }
 }
 @Override
 public boolean canChildScrollUp() {
   if (mContentListFragment != null) {
     return mContentListFragment.canChildScrollUp();
   }
   return false;
 }
 private void addPhoneViews() {
   contentListFragment = new ContentListFragment();
   Bundle bundle = new Bundle();
   bundle.putStringArray(MainActivity.EXTRA_CONTENT_NAMES, contentNames);
   bundle.putIntArray(MainActivity.EXTRA_CONTENT_IMAGES, contentImages);
   contentListFragment.setArguments(bundle);
   showPrimaryFragment(contentListFragment, false, null, false);
 }
  @Override
  public Set<String> getSubModuleNames(ContentListFragment fragment) {
    if (mGitModuleMap == null) {
      return null;
    }

    String prefix = fragment.getPath() == null ? null : (fragment.getPath() + "/");
    Set<String> names = new HashSet<>();
    for (String name : mGitModuleMap.keySet()) {
      if (prefix == null && !name.contains("/")) {
        names.add(name);
      } else if (prefix != null && name.startsWith(prefix)) {
        names.add(name.substring(prefix.length()));
      }
    }
    return names;
  }
 private void addTabletViews() {
   FragmentTransaction lft = getChildFragmentManager().beginTransaction();
   contentListFragment = new ContentListFragment();
   Bundle bundle = new Bundle();
   bundle.putStringArray(MainActivity.EXTRA_CONTENT_NAMES, contentNames);
   bundle.putIntArray(MainActivity.EXTRA_CONTENT_IMAGES, contentImages);
   contentListFragment.setArguments(bundle);
   lft.replace(R.id.leftFragmentContainer, contentListFragment).commit();
   //    rft.setCustomAnimations(R.anim.fade_in, R.anim.fade_out);
   //    rft.replace(R.id.rightFragmentContainer, getDefaultFragmentWithArgs()).commit();
   //    ((BaseDrawerActivity) getActivity()).getSecondaryToolbar().setTitle("");
 }
 @Override
 public void onContentsLoaded(ContentListFragment fragment, List<RepositoryContents> contents) {
   if (contents == null) {
     return;
   }
   mContentCache.put(fragment.getPath(), new ArrayList<>(contents));
   if (fragment.getPath() == null) {
     for (RepositoryContents content : contents) {
       if (RepositoryContents.TYPE_FILE.equals(content.getType())) {
         if (content.getName().equals(".gitmodules")) {
           LoaderManager lm = getActivity().getSupportLoaderManager();
           lm.restartLoader(LOADER_MODULEMAP, null, mGitModuleCallback);
           break;
         }
       }
     }
   }
   if (mInitialPathToLoad != null && !mInitialPathToLoad.isEmpty()) {
     String itemToLoad = mInitialPathToLoad.get(0);
     boolean found = false;
     for (RepositoryContents content : contents) {
       if (RepositoryContents.TYPE_DIR.equals(content.getType())) {
         if (content.getPath().equals(itemToLoad)) {
           onTreeSelected(content);
           found = true;
           break;
         }
       }
     }
     if (found) {
       mInitialPathToLoad.remove(0);
     } else {
       mInitialPathToLoad = null;
     }
   }
 }
  private void addFragmentForTopOfStack() {
    String path = mDirStack.peek();
    mContentListFragment =
        ContentListFragment.newInstance(
            mRepository,
            TextUtils.isEmpty(path) ? null : path,
            mContentCache.get(path),
            mSelectedRef);

    FragmentTransaction ft = getChildFragmentManager().beginTransaction();
    if (path != null) {
      ft.addToBackStack(null);
    }
    ft.replace(R.id.content_list_container, mContentListFragment);
    ft.commit();
  }