Ejemplo n.º 1
0
 public int compare(MyFile left, MyFile right) {
   if (left.isDirectory()) {
     if (right.isDirectory()) {
       return left.compareTo(right);
     }
     return -1;
   }
   return right.isDirectory() ? 1 : left.compareTo(right);
 }
Ejemplo n.º 2
0
  private void showDirectoryContentsUI() {
    // Fijamos el directorio actual.

    iCurrentPath = iLoadingPathname;

    // Visualizamos el nombre del directorio actual.

    iFolderNameText.setText(iCurrentPath + "/");

    // Eliminamos la lista de ficheros antiguos.

    iFilesList.clear();

    // Si no estamos en el directorio raíz, añadimos como primer elemento
    // ir al directorio anterior.

    if (!iCurrentPath.equals("")) {
      iFilesList.add(
          createListViewItem(getResources().getString(R.string.folder_up), R.drawable.folder_up));
    }

    // Inicializamos la lista de ficheros.

    for (MyFile child : iChilds)
      iFilesList.add(
          createListViewItem(
              child.getName(), child.isDirectory() ? R.drawable.folder : R.drawable.file));

    // Visualizamos la lista.

    iAdapterList.notifyDataSetChanged();
    iListView.setAdapter(iAdapterList);
  }
Ejemplo n.º 3
0
  private int _showDirectoryContents() {
    // Obtenemos los ficheros del directorio recibido como parámetro.

    if (iShellExecutor.execute("ls -l " + iLoadingPathname + "/")) {
      List<String> output = iShellExecutor.getStandardOutput();
      if (output == null) {
        // No podemos visualizar el mensaje de error aquí.
        // Sólo en el flujo principal...

        return 1;
      }

      // Mostramos el contenido.
      // Mostraremos los directorios siempre y los ficheros sólo si "iShowPlainFiles" es true
      // (es decir, si no estamos en la pantalla de selección del directorio raíz)...

      iChilds.clear();
      for (String line : output) {
        MyFile child = new MyFile(line);
        if ((iShowPlainFiles) || (child.isDirectory())) iChilds.add(child);
      }

      // Ordenamos la lista de ficheros.
      // teniendo en cuenta cómo quiere verlos el usuario (si primero los directorios o no)...

      if (PreferenceManager.getDefaultSharedPreferences(this)
          .getBoolean("list_folders_first", true)) {
        Collections.sort(iChilds, iComparatorFoldersUp);
        iFoldersUp = true;
      } else {
        Collections.sort(iChilds, iComparatorFoldersNotUp);
        iFoldersUp = false;
      }
    }

    // Devolvemos 0 para indicar que el directorio debe visualizarse...

    return 0;
  }