Beispiel #1
0
  /*
   * (non-Javadoc)
   * This will check if the user is at root dir. If so, if they press back
   * again, it will close the app.
   * @see android.app.Activity#onKeyDown(int, android.view.KeyEvent)
   */
  @Override
  public boolean onKeyDown(int keycode, KeyEvent event) {
    String current = flmg.getCurrentDir();

    if (keycode == KeyEvent.KEYCODE_SEARCH) {
      showDialog(SEARCH_B);

      return true;

    } else if (keycode == KeyEvent.KEYCODE_BACK && use_back_key && !current.equals("/")) {
      if (handler.isMultiSelected()) {
        table.killMultiSelect();
        Toast.makeText(Main.this, "Multi-select is now off", Toast.LENGTH_SHORT).show();
      }

      handler.updateDirectory(flmg.getPreviousDir());
      path_label.setText(flmg.getCurrentDir());

      return true;

    } else if (keycode == KeyEvent.KEYCODE_BACK && use_back_key && current.equals("/")) {
      Toast.makeText(Main.this, "Press back again to quit.", Toast.LENGTH_SHORT).show();
      use_back_key = false;
      path_label.setText(flmg.getCurrentDir());

      return false;

    } else if (keycode == KeyEvent.KEYCODE_BACK && !use_back_key && current.equals("/")) {
      finish();

      return false;
    }
    return false;
  }
  @Override
  public boolean onKeyDown(int keycode, KeyEvent event) {
    String current = mFileMag.getCurrentDir();

    if (keycode == KeyEvent.KEYCODE_BACK && mUseBackKey && !current.equals("/")) {

      mHandler.updateDirectory(mFileMag.getPreviousDir());
      mPathLabel.setText(mFileMag.getCurrentDir());
      return true;

    } else if (keycode == KeyEvent.KEYCODE_BACK && mUseBackKey && current.equals("/")) {

      Toast.makeText(FileImportActivity.this, R.string.root_directory_tip, Toast.LENGTH_SHORT)
          .show();

      mUseBackKey = false;
      mPathLabel.setText(mFileMag.getCurrentDir());

      return false;

    } else if (keycode == KeyEvent.KEYCODE_BACK && !mUseBackKey && current.equals("/")) {
      finish();

      return false;
    }
    return false;
  }
Beispiel #3
0
  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    SharedPreferences.Editor editor = settings.edit();
    boolean check;
    int color;

    /* resultCode must equal RESULT_CANCELED because the only way
     * out of that activity is pressing the back button on the phone
     * this publishes a canceled result code not an ok result code
     */
    if (requestCode == SETTING_REQ && resultCode == RESULT_CANCELED) {
      // save the information we get from settings activity
      check = data.getBooleanExtra("HIDDEN", false);
      color = data.getIntExtra("COLOR", -1);

      editor.putBoolean(PREFS_HIDDEN, check);
      editor.putInt(PREFS_COLOR, color);
      editor.commit();

      flmg.setShowHiddenFiles(check);
      handler.setTextColor(color);
      handler.updateDirectory(flmg.getNextDir(flmg.getCurrentDir(), true));
    }
  }
 @Override
 public boolean onOptionsItemSelected(MenuItem item) {
   if (item.getItemId() == android.R.id.home || item.getItemId() == 0) {
     return false;
   }
   mSettings.edit().putInt(PREFS_SORT, item.getItemId()).commit();
   mFileMag.setSortType(item.getItemId());
   mHandler.updateDirectory(mFileMag.getNextDir(mFileMag.getCurrentDir(), true));
   return true;
 }
  /** This method, handles the button presses of the top buttons found in the Main activity. */
  @Override
  public void onClick(View v) {

    switch (v.getId()) {
      case R.id.home_sdcard_button:
        mFileMang.canMkdir = true;
        refreshFocus(preView, v);
        if (mFileMang.whichRoot() == FileManager.ROOT_SDCARD && mlistmode == TREEVIEW_MODE) {
          break;
        }
        mlistmode = TREEVIEW_MODE;
        if (multi_select_flag) {
          mDelegate.killMultiSelect(true);
          mFileMang.mHoldingFile = false;
          mFileMang.mAllowSelectAll = false;
          mInfoLabel.setText("");
          mFileMang.moveOrCopyFile = false;
          Toast.makeText(
                  mContext,
                  mContext.getResources().getString(R.string.Multi_select_off),
                  Toast.LENGTH_SHORT)
              .show();
        }
        updateDirectory(mFileMang.getHomeDir(FileManager.ROOT_SDCARD));
        if (mPathLabel != null)
          mPathLabel.setText(
              mFileMang.getCurrentDir().substring(5, mFileMang.getCurrentDir().length()));
        break;

      case R.id.home_usbhost_button:
        mFileMang.canMkdir = true;
        refreshFocus(preView, v);
        if (mFileMang.whichRoot() == FileManager.ROOT_USBHOST && mlistmode == TREEVIEW_MODE) {
          break;
        }
        mlistmode = TREEVIEW_MODE;
        if (multi_select_flag) {
          mDelegate.killMultiSelect(true);
          mFileMang.mHoldingFile = false;
          mFileMang.mAllowSelectAll = false;
          mInfoLabel.setText("");
          mFileMang.moveOrCopyFile = false;
          Toast.makeText(
                  mContext,
                  mContext.getResources().getString(R.string.Multi_select_off),
                  Toast.LENGTH_SHORT)
              .show();
        }
        updateDirectory(mFileMang.getHomeDir(FileManager.ROOT_USBHOST));
        if (mPathLabel != null)
          mPathLabel.setText(
              mFileMang.getCurrentDir().substring(5, mFileMang.getCurrentDir().length()));
        break;

      case R.id.home_flash_button:
        mFileMang.canMkdir = true;
        refreshFocus(preView, v);
        if (mFileMang.whichRoot() == FileManager.ROOT_FLASH && mlistmode == TREEVIEW_MODE) {
          break;
        }
        mlistmode = TREEVIEW_MODE;
        if (multi_select_flag) {
          mDelegate.killMultiSelect(true);
          mFileMang.mHoldingFile = false;
          mFileMang.mAllowSelectAll = false;
          mInfoLabel.setText("");
          mFileMang.moveOrCopyFile = false;
          Toast.makeText(
                  mContext,
                  mContext.getResources().getString(R.string.Multi_select_off),
                  Toast.LENGTH_SHORT)
              .show();
        }
        updateDirectory(mFileMang.getHomeDir(FileManager.ROOT_FLASH));
        if (mPathLabel != null)
          mPathLabel.setText(
              mFileMang.getCurrentDir().substring(5, mFileMang.getCurrentDir().length()));
        break;

      case R.id.music_button:
        mFileMang.canMkdir = false;
        mlistmode = CATALOG_MODE;
        if (multi_select_flag) {
          mDelegate.killMultiSelect(true);
          mFileMang.mHoldingFile = false;
          mFileMang.mAllowSelectAll = false;
          mInfoLabel.setText("");
          mFileMang.moveOrCopyFile = false;
          Toast.makeText(
                  mContext,
                  mContext.getResources().getString(R.string.Multi_select_off),
                  Toast.LENGTH_SHORT)
              .show();
        }
        setFileList(mCataList.SetFileTyp(CatalogList.TYPE_MUSIC));
        if (mPathLabel != null)
          mPathLabel.setText(mContext.getResources().getString(R.string.music));
        refreshFocus(preView, v);
        break;

      case R.id.image_button:
        mFileMang.canMkdir = false;
        mlistmode = CATALOG_MODE;
        if (multi_select_flag) {
          mDelegate.killMultiSelect(true);
          mFileMang.mHoldingFile = false;
          mFileMang.mAllowSelectAll = false;
          mInfoLabel.setText("");
          mFileMang.moveOrCopyFile = false;
          Toast.makeText(
                  mContext,
                  mContext.getResources().getString(R.string.Multi_select_off),
                  Toast.LENGTH_SHORT)
              .show();
        }
        setFileList(mCataList.SetFileTyp(CatalogList.TYPE_PICTURE));
        if (mPathLabel != null)
          mPathLabel.setText(mContext.getResources().getString(R.string.picture));
        refreshFocus(preView, v);
        break;

      case R.id.movie_button:
        mFileMang.canMkdir = false;
        mlistmode = CATALOG_MODE;
        if (multi_select_flag) {
          mDelegate.killMultiSelect(true);
          mFileMang.mHoldingFile = false;
          mFileMang.mAllowSelectAll = false;
          mInfoLabel.setText("");
          mFileMang.moveOrCopyFile = false;
          Toast.makeText(
                  mContext,
                  mContext.getResources().getString(R.string.Multi_select_off),
                  Toast.LENGTH_SHORT)
              .show();
        }
        setFileList(mCataList.SetFileTyp(CatalogList.TYPE_MOVIE));
        if (mPathLabel != null)
          mPathLabel.setText(mContext.getResources().getString(R.string.movie));
        refreshFocus(preView, v);
        break;

      case R.id.ebook_button:
        mFileMang.canMkdir = false;
        mlistmode = CATALOG_MODE;
        if (multi_select_flag) {
          mDelegate.killMultiSelect(true);
          mFileMang.mHoldingFile = false;
          mFileMang.mAllowSelectAll = false;
          mInfoLabel.setText("");
          mFileMang.moveOrCopyFile = false;
          Toast.makeText(
                  mContext,
                  mContext.getResources().getString(R.string.Multi_select_off),
                  Toast.LENGTH_SHORT)
              .show();
        }
        setFileList(mCataList.SetFileTyp(CatalogList.TYPE_EBOOK));
        if (mPathLabel != null)
          mPathLabel.setText(mContext.getResources().getString(R.string.ebook));
        refreshFocus(preView, v);
        break;

      case R.id.apk_button:
        mFileMang.canMkdir = false;
        mlistmode = CATALOG_MODE;
        if (multi_select_flag) {
          mDelegate.killMultiSelect(true);
          mFileMang.mHoldingFile = false;
          mFileMang.mAllowSelectAll = false;
          mInfoLabel.setText("");
          mFileMang.moveOrCopyFile = false;
          Toast.makeText(
                  mContext,
                  mContext.getResources().getString(R.string.Multi_select_off),
                  Toast.LENGTH_SHORT)
              .show();
        }
        setFileList(mCataList.SetFileTyp(CatalogList.TYPE_APK));
        if (mPathLabel != null) mPathLabel.setText(mContext.getResources().getString(R.string.apk));
        refreshFocus(preView, v);
        break;

      case R.id.hidden_move:
      case R.id.hidden_copy:
        if (mMultiSelectData == null || mMultiSelectData.isEmpty()) {
          mDelegate.killMultiSelect(true);
          mFileMang.moveOrCopyFile = false;
          mFileMang.mAllowSelectAll = false;
          Toast.makeText(
                  mContext,
                  mContext.getResources().getString(R.string.no_select),
                  Toast.LENGTH_SHORT)
              .show();
          break;
        }

        mFileMang.mCopyOrMoveSize = 0;
        for (String s : mMultiSelectData) {
          System.out.println("--->" + s);
          mFileMang.mCopyOrMoveSize += mFileMang.getDirOrFileSize(s);
        }

        if (v.getId() == R.id.hidden_move) delete_after_copy = true;

        mInfoLabel.setText(
            mContext.getResources().getString(R.string.Holding)
                + " "
                + mMultiSelectData.size()
                + " "
                + mContext.getResources().getString(R.string.files));
        mFileMang.mHoldingFile = true;
        mFileMang.mAllowSelectAll = false;

        mDelegate.killMultiSelect(false);
        break;

      case R.id.hidden_delete:
        /* check if user selected objects before going further */
        if (!mFileMang.moveOrCopyFile) {
          mMultiSelectData = null;
        }
        if (mMultiSelectData == null || mMultiSelectData.isEmpty()) {
          mDelegate.killMultiSelect(true);
          mFileMang.moveOrCopyFile = false;
          mFileMang.mAllowSelectAll = false;
          Toast.makeText(
                  mContext,
                  mContext.getResources().getString(R.string.no_select),
                  Toast.LENGTH_SHORT)
              .show();
          break;
        }

        final String[] data = new String[mMultiSelectData.size()];
        int at = 0;

        for (String string : mMultiSelectData) data[at++] = string;

        AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
        builder.setMessage(
            mContext.getResources().getString(R.string.delete_msg1)
                + " "
                + data.length
                + " "
                + mContext.getResources().getString(R.string.delete_msg2));
        builder.setCancelable(false);
        builder.setPositiveButton(
            mContext.getResources().getString(R.string.Delete),
            new DialogInterface.OnClickListener() {
              @Override
              public void onClick(DialogInterface dialog, int which) {
                new BackgroundWork(DELETE_TYPE).execute(data);
                mDelegate.killMultiSelect(true);
                mFileMang.moveOrCopyFile = false;
                mFileMang.mAllowSelectAll = false;
              }
            });
        builder.setNegativeButton(
            mContext.getResources().getString(R.string.Cancel),
            new DialogInterface.OnClickListener() {
              @Override
              public void onClick(DialogInterface dialog, int which) {
                mDelegate.killMultiSelect(true);
                mFileMang.moveOrCopyFile = false;
                mFileMang.mAllowSelectAll = false;
                dialog.cancel();
              }
            });

        builder.create().show();
        break;
    }
  }
  @Override
  public void onListItemClick(ListView parent, View view, int position, long id) {
    final String item = mHandler.getData(position);
    final File file = new File(mFileMag.getCurrentDir() + "/" + item);
    String item_ext = null;

    try {
      item_ext = item.substring(item.lastIndexOf(".") + 1, item.length());
    } catch (IndexOutOfBoundsException e) {
      item_ext = "";
    }

    if (file.isDirectory()) {
      if (file.canRead()) {
        mHandler.updateDirectory(mFileMag.getNextDir(item, false));
        mPathLabel.setText(mFileMag.getCurrentDir());

        if (!mUseBackKey) mUseBackKey = true;

      } else {
        Toast.makeText(this, R.string.permission, Toast.LENGTH_SHORT).show();
      }
    } else if (item_ext.equalsIgnoreCase("zip")) {
      AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
      builder.setTitle(R.string.alert);
      builder.setMessage(R.string.sure_this_directory);
      builder.setPositiveButton(
          R.string.ok,
          new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
              Toast.makeText(mContext, file.getPath(), Toast.LENGTH_SHORT).show();
              UnzipNotificationCenter unzipNotificationCenter =
                  new UnzipNotificationCenter(mContext, FileImportActivity.class);

              int id =
                  unzipNotificationCenter.prepareUnzipNotification(
                      R.drawable.unzip,
                      R.string.start_unzip,
                      R.string.start_unzip,
                      R.string.unzip_tip);

              unzipNotificationCenter.startUnzip(
                  id,
                  file.getPath(),
                  Environment.getExternalStorageDirectory() + "/" + Constants.SAVE_DIRECTORY,
                  true);
            }
          });
      builder.setNegativeButton(
          R.string.no,
          new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
              dialog.dismiss();
            }
          });
      builder.show();
    }
  }
 @Override
 protected void onSaveInstanceState(Bundle outState) {
   super.onSaveInstanceState(outState);
   outState.putString("location", mFileMag.getCurrentDir());
 }
Beispiel #8
0
  @Override
  protected Dialog onCreateDialog(int id) {
    final Dialog dialog = new Dialog(Main.this);

    switch (id) {
      case MENU_MKDIR:
        dialog.setContentView(R.layout.input_layout);
        dialog.setTitle("Create New Directory");
        dialog.setCancelable(false);

        ImageView icon = (ImageView) dialog.findViewById(R.id.input_icon);
        icon.setImageResource(R.drawable.newfolder);

        TextView label = (TextView) dialog.findViewById(R.id.input_label);
        label.setText(flmg.getCurrentDir());
        final EditText input = (EditText) dialog.findViewById(R.id.input_inputText);

        Button cancel = (Button) dialog.findViewById(R.id.input_cancel_b);
        Button create = (Button) dialog.findViewById(R.id.input_create_b);

        create.setOnClickListener(
            new OnClickListener() {
              public void onClick(View v) {
                if (input.getText().length() > 1) {
                  if (flmg.createDir(flmg.getCurrentDir() + "/", input.getText().toString()) == 0)
                    Toast.makeText(
                            Main.this,
                            "Folder " + input.getText().toString() + " created",
                            Toast.LENGTH_LONG)
                        .show();
                  else
                    Toast.makeText(Main.this, "New folder was not created", Toast.LENGTH_SHORT)
                        .show();
                }

                dialog.dismiss();
                String temp = flmg.getCurrentDir();
                handler.updateDirectory(flmg.getNextDir(temp, true));
              }
            });
        cancel.setOnClickListener(
            new OnClickListener() {
              public void onClick(View v) {
                dialog.dismiss();
              }
            });
        break;
      case D_MENU_RENAME:
      case F_MENU_RENAME:
        dialog.setContentView(R.layout.input_layout);
        dialog.setTitle("Rename " + selected_list_item);
        dialog.setCancelable(false);

        ImageView rename_icon = (ImageView) dialog.findViewById(R.id.input_icon);
        rename_icon.setImageResource(R.drawable.rename);

        TextView rename_label = (TextView) dialog.findViewById(R.id.input_label);
        rename_label.setText(flmg.getCurrentDir());
        final EditText rename_input = (EditText) dialog.findViewById(R.id.input_inputText);

        Button rename_cancel = (Button) dialog.findViewById(R.id.input_cancel_b);
        Button rename_create = (Button) dialog.findViewById(R.id.input_create_b);
        rename_create.setText("Rename");

        rename_create.setOnClickListener(
            new OnClickListener() {
              public void onClick(View v) {
                if (rename_input.getText().length() < 1) dialog.dismiss();

                if (flmg.renameTarget(
                        flmg.getCurrentDir() + "/" + selected_list_item,
                        rename_input.getText().toString())
                    == 0) {
                  Toast.makeText(
                          Main.this,
                          selected_list_item
                              + " was renamed to "
                              + rename_input.getText().toString(),
                          Toast.LENGTH_LONG)
                      .show();
                } else
                  Toast.makeText(
                          Main.this, selected_list_item + " was not renamed", Toast.LENGTH_LONG)
                      .show();

                dialog.dismiss();
                String temp = flmg.getCurrentDir();
                handler.updateDirectory(flmg.getNextDir(temp, true));
              }
            });
        rename_cancel.setOnClickListener(
            new OnClickListener() {
              public void onClick(View v) {
                dialog.dismiss();
              }
            });
        break;

      case SEARCH_B:
      case MENU_SEARCH:
        dialog.setContentView(R.layout.input_layout);
        dialog.setTitle("Search");
        dialog.setCancelable(false);

        ImageView searchIcon = (ImageView) dialog.findViewById(R.id.input_icon);
        searchIcon.setImageResource(R.drawable.search);

        TextView search_label = (TextView) dialog.findViewById(R.id.input_label);
        search_label.setText("Search for a file");
        final EditText search_input = (EditText) dialog.findViewById(R.id.input_inputText);

        Button search_button = (Button) dialog.findViewById(R.id.input_create_b);
        Button cancel_button = (Button) dialog.findViewById(R.id.input_cancel_b);
        search_button.setText("Search");

        search_button.setOnClickListener(
            new OnClickListener() {
              public void onClick(View v) {
                String temp = search_input.getText().toString();

                if (temp.length() > 0) handler.searchForFile(temp);
                dialog.dismiss();
              }
            });

        cancel_button.setOnClickListener(
            new OnClickListener() {
              public void onClick(View v) {
                dialog.dismiss();
              }
            });

        break;
    }
    return dialog;
  }
Beispiel #9
0
  @Override
  public boolean onContextItemSelected(MenuItem item) {

    switch (item.getItemId()) {
      case D_MENU_DELETE:
      case F_MENU_DELETE:
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Warning ");
        builder.setIcon(R.drawable.warning);
        builder.setMessage(
            "Deleting "
                + selected_list_item
                + " cannot be undone. Are you sure you want to delete?");
        builder.setCancelable(false);

        builder.setNegativeButton(
            "Cancel",
            new DialogInterface.OnClickListener() {
              public void onClick(DialogInterface dialog, int which) {
                dialog.dismiss();
              }
            });
        builder.setPositiveButton(
            "Delete",
            new DialogInterface.OnClickListener() {
              public void onClick(DialogInterface dialog, int which) {
                handler.deleteFile(flmg.getCurrentDir() + "/" + selected_list_item);
              }
            });
        AlertDialog alert_d = builder.create();
        alert_d.show();
        return true;

      case D_MENU_RENAME:
        showDialog(D_MENU_RENAME);
        return true;

      case F_MENU_RENAME:
        showDialog(F_MENU_RENAME);
        return true;

      case F_MENU_ATTACH:
        File file = new File(flmg.getCurrentDir() + "/" + selected_list_item);
        Intent mail_int = new Intent();

        mail_int.setAction(android.content.Intent.ACTION_SEND);
        mail_int.setType("application/mail");
        mail_int.putExtra(Intent.EXTRA_BCC, "");
        mail_int.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
        startActivity(mail_int);
        return true;

      case F_MENU_COPY:
      case D_MENU_COPY:
        copied_target = flmg.getCurrentDir() + "/" + selected_list_item;
        holding_file = true;
        detail_label.setText("Waiting to paste file " + selected_list_item);
        return true;

      case D_MENU_PASTE:
        boolean multi_select = handler.hasMultiSelectData();

        if (multi_select) {
          handler.copyFileMultiSelect(flmg.getCurrentDir() + "/" + selected_list_item);

        } else if (holding_file && copied_target.length() > 1) {

          handler.copyFile(copied_target, flmg.getCurrentDir() + "/" + selected_list_item);
          holding_file = false;
          detail_label.setText("");
        }
        return true;

      case D_MENU_ZIP:
        String dir = flmg.getCurrentDir();

        handler.zipFile(dir + "/" + selected_list_item);
        return true;

      case D_MENU_UNZIP:
        if (holding_zip && zipped_target.length() > 1) {
          String current_dir = flmg.getCurrentDir() + "/" + selected_list_item + "/";
          String old_dir = zipped_target.substring(0, zipped_target.lastIndexOf("/"));
          String name =
              zipped_target.substring(zipped_target.lastIndexOf("/") + 1, zipped_target.length());

          if (new File(zipped_target).canRead() && new File(current_dir).canWrite()) {
            handler.unZipFileToDir(name, current_dir, old_dir);
            path_label.setText(current_dir);

          } else {
            Toast.makeText(this, "You do not have permission to unzip " + name, Toast.LENGTH_SHORT)
                .show();
          }
        }

        holding_zip = false;
        detail_label.setText("");
        zipped_target = "";
        return true;
    }
    return false;
  }
Beispiel #10
0
  /**
   * To add more functionality and let the user interact with more file types, this is the function
   * to add the ability.
   *
   * <p>(note): this method can be done more efficiently
   */
  @Override
  public void onListItemClick(ListView parent, View view, int position, long id) {
    final String item = handler.getData(position);
    boolean multiSelect = handler.isMultiSelected();
    File file = new File(flmg.getCurrentDir() + "/" + item);
    String item_ext = null;

    try {
      item_ext = item.substring(item.lastIndexOf("."), item.length());

    } catch (IndexOutOfBoundsException e) {
      item_ext = "";
    }

    /*
     * If the user has multi-select on, we just need to record the file
     * not make an intent for it.
     */
    if (multiSelect) {
      table.addMultiPosition(position, file.getPath());

    } else {
      if (file.isDirectory()) {
        if (file.canRead()) {
          handler.updateDirectory(flmg.getNextDir(item, false));
          path_label.setText(flmg.getCurrentDir());

          /*set back button switch to true (this will be better implemented later)*/
          if (!use_back_key) use_back_key = true;

        } else
          Toast.makeText(this, "Can't read folder due to permissions", Toast.LENGTH_SHORT).show();
      }

      /*music file selected--add more audio formats*/
      else if (item_ext.equalsIgnoreCase(".mp3") || item_ext.equalsIgnoreCase(".m4a")) {

        Intent music_int = new Intent(this, AudioPlayblack.class);
        music_int.putExtra("MUSIC PATH", flmg.getCurrentDir() + "/" + item);
        startActivity(music_int);
      }

      /*photo file selected*/
      else if (item_ext.equalsIgnoreCase(".jpeg")
          || item_ext.equalsIgnoreCase(".jpg")
          || item_ext.equalsIgnoreCase(".png")
          || item_ext.equalsIgnoreCase(".gif")
          || item_ext.equalsIgnoreCase(".tiff")) {

        if (file.exists()) {
          Intent pic_int = new Intent();
          pic_int.setAction(android.content.Intent.ACTION_VIEW);
          pic_int.setDataAndType(Uri.fromFile(file), "image/*");
          startActivity(pic_int);
        }
      }

      /*video file selected--add more video formats*/
      else if (item_ext.equalsIgnoreCase(".m4v")
          || item_ext.equalsIgnoreCase(".3gp")
          || item_ext.equalsIgnoreCase(".wmv")
          || item_ext.equalsIgnoreCase(".mp4")
          || item_ext.equalsIgnoreCase(".ogg")) {

        if (file.exists()) {
          Intent movie_int = new Intent();
          movie_int.setAction(android.content.Intent.ACTION_VIEW);
          movie_int.setDataAndType(Uri.fromFile(file), "video/*");
          startActivity(movie_int);
        }
      }

      /*zip and gzip file selected (gzip will be implemented soon)*/
      else if (item_ext.equalsIgnoreCase(".zip")) { // || item_ext.equalsIgnoreCase(".gzip")) {

        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        AlertDialog alert;
        zipped_target = flmg.getCurrentDir() + "/" + item;
        CharSequence[] option = {"Extract here", "Extract to..."};

        builder.setTitle("Extract");
        builder.setItems(
            option,
            new DialogInterface.OnClickListener() {

              public void onClick(DialogInterface dialog, int which) {
                switch (which) {
                  case 0:
                    String dir = flmg.getCurrentDir();
                    handler.unZipFile(item, dir + "/");
                    break;

                  case 1:
                    detail_label.setText("Holding " + item + " to extract");
                    holding_zip = true;
                    break;
                }
              }
            });

        alert = builder.create();
        alert.show();
      }

      /*pdf file selected*/
      else if (item_ext.equalsIgnoreCase(".pdf")) {

        if (file.exists()) {
          Intent file_int = new Intent();
          file_int.setAction(android.content.Intent.ACTION_VIEW);
          file_int.setDataAndType(Uri.fromFile(file), "application/pdf");
          startActivity(file_int);
        }
      }

      /*Android application file*/
      else if (item_ext.equalsIgnoreCase(".apk")) {

        if (file.exists()) {
          Intent apk_int = new Intent();
          apk_int.setAction(android.content.Intent.ACTION_VIEW);
          apk_int.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
          startActivity(apk_int);
        }
      }

      /* HTML file */
      else if (item_ext.equalsIgnoreCase(".html")) {

        if (file.exists()) {
          Intent html_int = new Intent();
          html_int.setAction(android.content.Intent.ACTION_VIEW);
          html_int.setDataAndType(Uri.fromFile(file), "application/htmlviewer");
          try {
            startActivity(html_int);
          } catch (ActivityNotFoundException e) {
            Toast.makeText(this, "Sorry, couldn't find a HTML view", Toast.LENGTH_SHORT).show();
          }
        }
      }
    }
  }