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