public boolean onItemLongClick(GridView l, View v, int position, long id) { // We disable long click during import mode. if (mode == MODE_IMPORT || mode == MODE_PICK) { return false; } Node n = (Node) l.getItemAtPosition(position); boolean b = true; if (n instanceof NodePlaceHolder) { getActivity() .startActivity( new Intent(IntentIntegrator.ACTION_DISPLAY_OPERATIONS) .putExtra( IntentIntegrator.EXTRA_ACCOUNT_ID, SessionUtils.getAccount(getActivity()).getId())); b = false; } else { l.setItemChecked(position, true); b = startSelection(n); if (DisplayUtils.hasCentralPane(getActivity())) { FragmentDisplayer.removeFragment( getActivity(), DisplayUtils.getCentralFragmentId(getActivity())); FragmentDisplayer.removeFragment(getActivity(), android.R.id.tabcontent); } } return b; };
@Override public void onListItemClick(ListView l, View v, int position, long id) { Node item = (Node) l.getItemAtPosition(position); Boolean hideDetails = false; if (!selectedItems.isEmpty()) { hideDetails = selectedItems.get(0).equals(item); } l.setItemChecked(position, true); selectedItems.clear(); if (nActions != null) { selectedItems.clear(); selectedItems.add(item); nActions.addNode(selectedItems.get(0)); ((MainActivity) getActivity()).addPropertiesFragment(item); return; } if (item.isDocument() && DisplayUtils.hasCentralPane(getActivity())) { selectedItems.add(item); } if (hideDetails) { if (DisplayUtils.hasCentralPane(getActivity())) { FragmentDisplayer.removeFragment( getActivity(), DisplayUtils.getCentralFragmentId(getActivity())); FragmentDisplayer.removeFragment(getActivity(), android.R.id.tabcontent); } selectedItems.clear(); } else { if (item.isFolder()) { // Browse ((MainActivity) getActivity()).addNavigationFragment((Folder) item); } else { // Show properties ((MainActivity) getActivity()).addPropertiesFragment(item); DisplayUtils.switchSingleOrTwo(getActivity(), true); } } }
// /////////////////////////////////////////////////////////////////////////// // LIST ACTIONS // /////////////////////////////////////////////////////////////////////////// public void onListItemClick(GridView l, View v, int position, long id) { Cursor cursor = (Cursor) l.getItemAtPosition(position); String nodeId = cursor.getString(SynchroSchema.COLUMN_NODE_ID_ID); String documentName = cursor.getString(SynchroSchema.COLUMN_TITLE_ID); if (DisplayUtils.hasCentralPane(getActivity())) { FragmentDisplayer.removeFragment( getActivity(), DisplayUtils.getCentralFragmentId(getActivity())); } Boolean hideDetails = false; if (!selectedItems.isEmpty()) { hideDetails = selectedItems.get(0).equals(nodeId); } l.setItemChecked(position, true); if (nActions != null) { nActions.selectNode(nodeId); if (selectedItems.size() == 0) { hideDetails = true; } } else { selectedItems.clear(); if (!hideDetails && DisplayUtils.hasCentralPane(getActivity())) { selectedItems.add(nodeId); } } if (hideDetails) { selectedItems.clear(); } else if (nActions == null) { if (SynchroManager.isFolder(cursor)) { selectedItems.clear(); if (SynchroManager.getInstance(getActivity()).hasActivateSync(acc)) { // GO TO Local subfolder Fragment syncFrag = FavoritesSyncFragment.newInstance(getMode(), nodeId, documentName); FragmentDisplayer.replaceFragment( getActivity(), syncFrag, DisplayUtils.getLeftFragmentId(getActivity()), FavoritesSyncFragment.TAG, true); } else { ((MainActivity) getActivity()).addNavigationFragmentById(nodeId); } } else { // Show properties ((MainActivity) getActivity()).addPropertiesFragment(true, nodeId); DisplayUtils.switchSingleOrTwo(getActivity(), true); } } adapter.notifyDataSetChanged(); }
// ////////////////////////////////////////////////////////////////////// // LIST ACTIONS // ////////////////////////////////////////////////////////////////////// @Override public void onListItemClick(GridView l, View v, int position, long id) { Node item = (Node) l.getItemAtPosition(position); if (item instanceof NodePlaceHolder) { l.setItemChecked(position, false); return; } // In case of import mode, we disable selection of document. // It's only possible to select a folder for navigation purpose. if (mode == MODE_IMPORT && getActivity() instanceof PublicDispatcherActivity) { l.setChoiceMode(GridView.CHOICE_MODE_NONE); if (item.isFolder()) { ((PublicDispatcherActivity) getActivity()).addNavigationFragment((Folder) item); } return; } // In case of pick mode, we allow multiSelection if (mode == MODE_PICK && getActivity() instanceof PrivateDialogActivity && item.isDocument()) { l.setChoiceMode(GridView.CHOICE_MODE_MULTIPLE); if (selectedMapItems.containsKey(item.getIdentifier())) { selectedMapItems.remove(item.getIdentifier()); } else { selectedMapItems.put(item.getIdentifier(), (Document) item); } l.setItemChecked(position, true); checkValidationButton(); return; } // In other case, listing mode Boolean hideDetails = false; if (!selectedItems.isEmpty()) { hideDetails = selectedItems.get(0).getIdentifier().equals(item.getIdentifier()); } l.setItemChecked(position, true); if (nActions != null) { nActions.selectNode(item); if (selectedItems.size() == 0) { hideDetails = true; } } else { selectedItems.clear(); if (!hideDetails && item.isDocument() && DisplayUtils.hasCentralPane(getActivity())) { selectedItems.add(item); } } if (hideDetails) { if (DisplayUtils.hasCentralPane(getActivity())) { FragmentDisplayer.removeFragment( getActivity(), DisplayUtils.getCentralFragmentId(getActivity())); FragmentDisplayer.removeFragment(getActivity(), android.R.id.tabcontent); } } else if (nActions == null) { if (item.isFolder()) { ((BaseActivity) getActivity()) .addNavigationFragment(currentSiteParameter, (Folder) item, isShortcut()); } else { // Show properties ((MainActivity) getActivity()).addPropertiesFragment(item); DisplayUtils.switchSingleOrTwo(getActivity(), true); } } }