Search in sources :

Example 1 with ImageFileFilter

use of org.horaapps.leafpic.data.filter.ImageFileFilter in project LeafPic by HoraApps.

the class CPHelper method checkAndAddFolder.

private static void checkAndAddFolder(File dir, ObservableEmitter<Album> emitter, boolean includeVideo) {
    File[] files = dir.listFiles(new ImageFileFilter(includeVideo));
    if (files != null && files.length > 0) {
        // valid folder
        long lastMod = Long.MIN_VALUE;
        File choice = null;
        for (File file : files) {
            if (file.lastModified() > lastMod) {
                choice = file;
                lastMod = file.lastModified();
            }
        }
        if (choice != null) {
            Album asd = new Album(dir.getAbsolutePath(), dir.getName(), files.length, lastMod);
            asd.setLastMedia(new Media(choice.getAbsolutePath()));
            emitter.onNext(asd);
        }
    }
}
Also used : Media(org.horaapps.leafpic.data.Media) Album(org.horaapps.leafpic.data.Album) File(java.io.File) ImageFileFilter(org.horaapps.leafpic.data.filter.ImageFileFilter)

Example 2 with ImageFileFilter

use of org.horaapps.leafpic.data.filter.ImageFileFilter in project LeafPic by HoraApps.

the class CPHelper method getMediaFromStorage.

private static Observable<Media> getMediaFromStorage(Context context, Album album) {
    return Observable.create(subscriber -> {
        File dir = new File(album.getPath());
        File[] files = dir.listFiles(new ImageFileFilter(Prefs.showVideos()));
        try {
            if (files != null && files.length > 0)
                for (File file : files) subscriber.onNext(new Media(file));
            subscriber.onComplete();
        } catch (Exception err) {
            subscriber.onError(err);
        }
    });
}
Also used : Media(org.horaapps.leafpic.data.Media) File(java.io.File) ImageFileFilter(org.horaapps.leafpic.data.filter.ImageFileFilter)

Example 3 with ImageFileFilter

use of org.horaapps.leafpic.data.filter.ImageFileFilter in project LeafPic by HoraApps.

the class BlackWhiteListActivity method addFolder.

private void addFolder(final File dir) {
    String[] list = dir.list(new ImageFileFilter(true));
    final boolean[] found = { false };
    if (list != null && list.length > 0) {
        MediaScannerConnection.scanFile(getApplicationContext(), list, null, new MediaScannerConnection.OnScanCompletedListener() {

            @Override
            public void onScanCompleted(String s, Uri uri) {
                // TODO: 12/15/16 test this!
                if (!found[0]) {
                    long albumId = ContentProviderHelper.getAlbumId(getApplicationContext(), s);
                    if (albumId != -1) {
                        found[0] = true;
                        Toast.makeText(BlackWhiteListActivity.this, "got the ID", Toast.LENGTH_SHORT).show();
                    }
                }
            }
        });
        HandlingAlbums.getInstance(getApplicationContext()).addFolderToWhiteList(dir.getPath());
        folders.add(0, dir.getPath());
        adapter.notifyItemInserted(0);
        checkNothing();
    } else {
        Toast.makeText(this, R.string.no_media_in_this_folder, Toast.LENGTH_SHORT).show();
    // TODO: 12/26/16 should i add or not?
    }
}
Also used : MediaScannerConnection(android.media.MediaScannerConnection) ImageFileFilter(org.horaapps.leafpic.data.filter.ImageFileFilter) Uri(android.net.Uri)

Aggregations

ImageFileFilter (org.horaapps.leafpic.data.filter.ImageFileFilter)3 File (java.io.File)2 Media (org.horaapps.leafpic.data.Media)2 MediaScannerConnection (android.media.MediaScannerConnection)1 Uri (android.net.Uri)1 Album (org.horaapps.leafpic.data.Album)1