diff --git a/sample/build.gradle b/sample/build.gradle
index 07d222b..44fe75b 100644
--- a/sample/build.gradle
+++ b/sample/build.gradle
@@ -44,5 +44,5 @@ dependencies {
compile project(':library')
// Image loading sample
- compile 'com.github.bumptech.glide:glide:3.5.2'
+ compile 'com.github.bumptech.glide:glide:3.6.1'
}
diff --git a/sample/src/main/AndroidManifest.xml b/sample/src/main/AndroidManifest.xml
index 6aa1fb7..4f13ddf 100644
--- a/sample/src/main/AndroidManifest.xml
+++ b/sample/src/main/AndroidManifest.xml
@@ -64,7 +64,7 @@
@@ -74,7 +74,7 @@
diff --git a/sample/src/main/java/com/nononsenseapps/filepicker/sample/ImagePickerActivity.java b/sample/src/main/java/com/nononsenseapps/filepicker/sample/MultimediaPickerActivity.java
similarity index 88%
rename from sample/src/main/java/com/nononsenseapps/filepicker/sample/ImagePickerActivity.java
rename to sample/src/main/java/com/nononsenseapps/filepicker/sample/MultimediaPickerActivity.java
index 48895a3..3e63283 100644
--- a/sample/src/main/java/com/nononsenseapps/filepicker/sample/ImagePickerActivity.java
+++ b/sample/src/main/java/com/nononsenseapps/filepicker/sample/MultimediaPickerActivity.java
@@ -27,9 +27,9 @@ import java.io.File;
/**
* All this class does is return a suitable fragment.
*/
-public class ImagePickerActivity extends AbstractFilePickerActivity {
+public class MultimediaPickerActivity extends AbstractFilePickerActivity {
- public ImagePickerActivity() {
+ public MultimediaPickerActivity() {
super();
}
@@ -37,7 +37,7 @@ public class ImagePickerActivity extends AbstractFilePickerActivity {
protected AbstractFilePickerFragment getFragment(
final String startPath, final int mode, final boolean allowMultiple,
final boolean allowCreateDir) {
- AbstractFilePickerFragment fragment = new ImagePickerFragment();
+ AbstractFilePickerFragment fragment = new MultimediaPickerFragment();
// startPath is allowed to be null. In that case, default folder should be SD-card and not "/"
fragment.setArgs(startPath != null ? startPath : Environment.getExternalStorageDirectory().getPath(),
mode, allowMultiple, allowCreateDir);
diff --git a/sample/src/main/java/com/nononsenseapps/filepicker/sample/ImagePickerActivity2.java b/sample/src/main/java/com/nononsenseapps/filepicker/sample/MultimediaPickerActivity2.java
similarity index 91%
rename from sample/src/main/java/com/nononsenseapps/filepicker/sample/ImagePickerActivity2.java
rename to sample/src/main/java/com/nononsenseapps/filepicker/sample/MultimediaPickerActivity2.java
index c1a11c7..6c92ab3 100644
--- a/sample/src/main/java/com/nononsenseapps/filepicker/sample/ImagePickerActivity2.java
+++ b/sample/src/main/java/com/nononsenseapps/filepicker/sample/MultimediaPickerActivity2.java
@@ -20,5 +20,5 @@ package com.nononsenseapps.filepicker.sample;
/**
* Duplicate to allow second theme to be used.
*/
-public class ImagePickerActivity2 extends ImagePickerActivity {
+public class MultimediaPickerActivity2 extends MultimediaPickerActivity {
}
diff --git a/sample/src/main/java/com/nononsenseapps/filepicker/sample/ImagePickerFragment.java b/sample/src/main/java/com/nononsenseapps/filepicker/sample/MultimediaPickerFragment.java
similarity index 78%
rename from sample/src/main/java/com/nononsenseapps/filepicker/sample/ImagePickerFragment.java
rename to sample/src/main/java/com/nononsenseapps/filepicker/sample/MultimediaPickerFragment.java
index 2040e2b..dd010b5 100644
--- a/sample/src/main/java/com/nononsenseapps/filepicker/sample/ImagePickerFragment.java
+++ b/sample/src/main/java/com/nononsenseapps/filepicker/sample/MultimediaPickerFragment.java
@@ -28,16 +28,16 @@ import java.io.File;
/**
* A sample which demonstrates how appropriate methods
* can be overwritten in order to enable enhanced
- * capabilities, in this case showing thumbnails of images.
+ * capabilities, in this case showing thumbnails of images and thumbnail of videos.
*
* I am still listing all files, so I extend from the ready made
* SD-card browser classes. This allows this class to focus
* entirely on the image side of things.
- *
+ *
* To load the image I am using the super great Glide library
* which only requires a single line of code in this file.
*/
-public class ImagePickerFragment extends FilePickerFragment {
+public class MultimediaPickerFragment extends FilePickerFragment {
/**
* An extremely simple method for identifying images. This
@@ -60,7 +60,22 @@ public class ImagePickerFragment extends FilePickerFragment {
}
/**
- * Overriding this method allows us to inject a preview image
+ * An extremely simple method for identifying videos. This
+ * could be improved, but it's good enough for this example.
+ *
+ * @param file which could be an video
+ * @return true if the file can be previewed, false otherwise
+ */
+ private boolean isVideo(File file) {
+ if (isDir(file)) {
+ return false;
+ }
+ return file.getPath().endsWith(".mp4")||
+ file.getPath().endsWith(".MP4");
+ }
+
+ /**
+ * Overriding this method allows us to inject a preview image and thumbnail of videos
* in the layout
*
* @param vh to bind data from either a file or directory
@@ -78,6 +93,10 @@ public class ImagePickerFragment extends FilePickerFragment {
if (isImage(file)) {
vh.icon.setVisibility(View.VISIBLE);
Glide.with(this).load(file).centerCrop().into((ImageView) vh.icon);
+ } else if (isVideo(file)) {
+ vh.icon.setVisibility(View.VISIBLE);
+ Glide.with(this).load(file).centerCrop().into((ImageView) vh.icon);
}
}
+
}
diff --git a/sample/src/main/java/com/nononsenseapps/filepicker/sample/NoNonsenseFilePicker.java b/sample/src/main/java/com/nononsenseapps/filepicker/sample/NoNonsenseFilePicker.java
index 6535d78..a6fdab8 100644
--- a/sample/src/main/java/com/nononsenseapps/filepicker/sample/NoNonsenseFilePicker.java
+++ b/sample/src/main/java/com/nononsenseapps/filepicker/sample/NoNonsenseFilePicker.java
@@ -115,10 +115,10 @@ public class NoNonsenseFilePicker extends Activity {
if (checkLightTheme.isChecked()) {
i = new Intent(NoNonsenseFilePicker.this,
- ImagePickerActivity2.class);
+ MultimediaPickerActivity2.class);
} else {
i = new Intent(NoNonsenseFilePicker.this,
- ImagePickerActivity.class);
+ MultimediaPickerActivity.class);
}
i.setAction(Intent.ACTION_GET_CONTENT);
diff --git a/sample/src/main/res/layout/activity_no_nonsense_file_picker.xml b/sample/src/main/res/layout/activity_no_nonsense_file_picker.xml
index 8fbb51f..daee43a 100644
--- a/sample/src/main/res/layout/activity_no_nonsense_file_picker.xml
+++ b/sample/src/main/res/layout/activity_no_nonsense_file_picker.xml
@@ -125,7 +125,7 @@