public static FileCategory getCategoryFromPath(String path) {
    MediaFileType type = MediaFile.getFileType(path);
    if (type != null) {
      if (MediaFile.isAudioFileType(type.fileType)) return FileCategory.Music;
      if (MediaFile.isVideoFileType(type.fileType)) return FileCategory.Video;
      if (MediaFile.isImageFileType(type.fileType)) return FileCategory.Picture;
      if (Util.sDocMimeTypesSet.contains(type.mimeType)) return FileCategory.Doc;
    }

    int dotPosition = path.lastIndexOf('.');
    if (dotPosition < 0) {
      return FileCategory.Other;
    }

    String ext = path.substring(dotPosition + 1);
    if (ext.equalsIgnoreCase(APK_EXT)) {
      return FileCategory.Apk;
    }
    if (ext.equalsIgnoreCase(THEME_EXT)) {
      return FileCategory.Theme;
    }

    if (matchExts(ext, ZIP_EXTS)) {
      return FileCategory.Zip;
    }

    return FileCategory.Other;
  }
    public boolean mkdir() throws IOException {
      if (file.exists()) {
        return file.isDirectory();
      }

      File tmpFile = new File(file, ".MediaWriteTemp");
      int albumId = getTemporaryAlbumId();

      if (albumId == 0) {
        throw new IOException("Fail");
      }

      Uri albumUri = Uri.parse(ALBUM_ART_URI + '/' + albumId);
      ContentValues values = new ContentValues();
      values.put(MediaStore.MediaColumns.DATA, tmpFile.getAbsolutePath());

      if (contentResolver.update(albumUri, values, null, null) == 0) {
        values.put(MediaStore.Audio.AlbumColumns.ALBUM_ID, albumId);
        contentResolver.insert(Uri.parse(ALBUM_ART_URI), values);
      }

      try {
        ParcelFileDescriptor fd = contentResolver.openFileDescriptor(albumUri, "r");
        fd.close();
      } finally {
        MediaFile tmpMediaFile = new MediaFile(context, tmpFile);
        tmpMediaFile.delete();
      }

      return file.exists();
    }
Esempio n. 3
0
  @Override
  public Future<BitmapInfo> loadBitmap(Ion ion, String uri, int resizeWidth, int resizeHeight) {
    if (!uri.startsWith(ContentResolver.SCHEME_FILE)) return null;

    final File file = new File(URI.create(uri));

    MediaFile.MediaFileType type = MediaFile.getFileType(file.getAbsolutePath());
    if (type == null || !MediaFile.isVideoFileType(type.fileType)) return null;

    final SimpleFuture<BitmapInfo> ret = new SimpleFuture<BitmapInfo>();
    Ion.getBitmapLoadExecutorService()
        .execute(
            new Runnable() {
              @Override
              public void run() {
                if (ret.isCancelled()) {
                  //                    Log.d("VideoLoader", "Bitmap load cancelled (no longer
                  // needed)");
                  return;
                }
                try {
                  Bitmap bmp = createVideoThumbnail(file.getAbsolutePath());
                  if (bmp == null) throw new Exception("video bitmap failed to load");
                  BitmapInfo info = new BitmapInfo();
                  info.bitmaps = new Bitmap[] {bmp};
                  info.loadedFrom = LoaderEmitter.LOADED_FROM_CACHE;
                  ret.setComplete(info);
                } catch (Exception e) {
                  ret.setComplete(e);
                }
              }
            });
    return ret;
  }
Esempio n. 4
0
  /**
   * @param args
   * @throws Exception
   */
  public static void main(String[] args) throws Exception {
    Scanner in = new Scanner(System.in);
    System.out.println("Please enter Folder containing files: ");
    String path = in.nextLine();

    System.out.println("Please enter Album name: ");
    String album = in.nextLine();

    File dir = new File(path);
    if (dir.isDirectory()) {
      String[] files = dir.list();
      for (int i = 0; i < files.length; i++) {
        File source = new File(path + "\\" + files[i]);

        MediaFile mediafile = new MP3File(source);

        ID3V2_3_0Tag oID3V2_3_0Tag = new ID3V2_3_0Tag();
        oID3V2_3_0Tag.setAlbum(album);

        mediafile.setID3Tag(oID3V2_3_0Tag);
        mediafile.sync();
      }
    } else {
      System.out.println("Not a directory");
    }
    System.out.println("I'm Done");
  }
 public static Airing getAirObj(Object o) {
   if (o instanceof sage.vfs.MediaNode) o = ((sage.vfs.MediaNode) o).getDataObject();
   if (o instanceof MediaFile) return ((MediaFile) o).getContentAiring();
   else if (o instanceof Airing) return (Airing) o;
   else if (o instanceof java.io.File) {
     MediaFile mf = Wizard.getInstance().getFileForFilePath((java.io.File) o);
     return (mf == null) ? null : mf.getContentAiring();
   } else return null;
 }