diff --git a/README.md b/README.md index e9131ea..068437f 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@

-# Media Picker +# Media Picker ![](https://img.shields.io/badge/Platform-Android-brightgreen.svg) ![](https://img.shields.io/hexpm/l/plug.svg) -![](https://img.shields.io/badge/version-2.3.2-blue.svg) +![](https://img.shields.io/badge/version-2.3.3-blue.svg) [![ghit.me](https://ghit.me/badge.svg?repo=Alhazmy13/MediaPicker)](https://ghit.me/repo/Alhazmy13/MediaPicker) **[Please let me know if your application go to production via this link](https://docs.google.com/forms/d/e/1FAIpQLSe4Y5Fwn1mlEoD4RxjXQzTvL4mofhESuBlTkAPQhI7J_WqMDQ/viewform?c=0&w=1)** @@ -24,7 +24,7 @@ This build `2.x.x` will break backward compatibility and there are a lot of chan net.alhazmy13.MediaPicker libary -2.3.2 +2.3.3 ``` @@ -33,7 +33,7 @@ This build `2.x.x` will break backward compatibility and there are a lot of chan ```gradle dependencies { - compile 'net.alhazmy13.MediaPicker:libary:2.3.2' + compile 'net.alhazmy13.MediaPicker:libary:2.3.3' } ``` diff --git a/app/build.gradle b/app/build.gradle index aaf4212..aeff74d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,7 +8,7 @@ android { defaultConfig { minSdkVersion 14 targetSdkVersion 25 - applicationId 'net.alhazmy13.mediapicker' + applicationId 'net.alhazmy13.mediapickerexample' versionCode 1 versionName "1.0" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 93835cc..fd11350 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,6 +2,8 @@ + + ) data.getSerializableExtra(VideoPicker.EXTRA_VIDEO_PATH); - + Log.d(TAG, "onActivityResult: "); loadVideo(); } } private void loadVideo() { + Log.d(TAG, "loadVideo: "+ (mPath == null)); if (mPath != null && mPath.size() > 0) { + Log.d(TAG, "loadVideo: "); Log.d(TAG, "loadImage: " + mPath.size()); path.setText(mPath.get(0)); videoView.setVideoURI(Uri.parse(mPath.get(0))); diff --git a/libary/build.gradle b/libary/build.gradle index fae83a8..385c9b5 100644 --- a/libary/build.gradle +++ b/libary/build.gradle @@ -8,7 +8,7 @@ apply plugin: 'com.android.library' // groupId = 'net.alhazmy13.MediaPicker' // artifactId = 'libary' // uploadName = 'MediaPicker' -// publishVersion = '2.3.2' +// publishVersion = '2.3.3' // desc = 'MediaPickerRx' // dryRun = false // website = 'https://github.com/alhzmy13/MediaPicker' diff --git a/libary/src/main/java/net/alhazmy13/mediapicker/Image/ImageActivity.java b/libary/src/main/java/net/alhazmy13/mediapicker/Image/ImageActivity.java index 3d6bc7a..9a642b1 100644 --- a/libary/src/main/java/net/alhazmy13/mediapicker/Image/ImageActivity.java +++ b/libary/src/main/java/net/alhazmy13/mediapicker/Image/ImageActivity.java @@ -130,7 +130,7 @@ public void onCancel(DialogInterface dialogInterface) { private void startActivityFromGallery() { mImgConfig.isImgFromCamera = false; Intent photoPickerIntent = new Intent(Intent.ACTION_PICK); -// photoPickerIntent.putExtra(Intent.EXTRA_LOCAL_ONLY, !mImgConfig.allowOnlineImages); + photoPickerIntent.putExtra(Intent.EXTRA_LOCAL_ONLY, !mImgConfig.allowOnlineImages); photoPickerIntent.setType("image/*"); startActivityForResult(photoPickerIntent, ImageTags.IntentCode.REQUEST_CODE_SELECT_PHOTO); if (mImgConfig.debug) @@ -141,7 +141,7 @@ private void startActivityFromGallery() { private void startActivityFromGalleryMultiImg() { mImgConfig.isImgFromCamera = false; Intent photoPickerIntent = new Intent(); -// photoPickerIntent.putExtra(Intent.EXTRA_LOCAL_ONLY, !mImgConfig.allowOnlineImages); + photoPickerIntent.putExtra(Intent.EXTRA_LOCAL_ONLY, !mImgConfig.allowOnlineImages); photoPickerIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); photoPickerIntent.setAction(Intent.ACTION_GET_CONTENT); photoPickerIntent.setType("image/*"); diff --git a/libary/src/main/java/net/alhazmy13/mediapicker/Video/VideoActivity.java b/libary/src/main/java/net/alhazmy13/mediapicker/Video/VideoActivity.java index 2569ccd..03563eb 100644 --- a/libary/src/main/java/net/alhazmy13/mediapicker/Video/VideoActivity.java +++ b/libary/src/main/java/net/alhazmy13/mediapicker/Video/VideoActivity.java @@ -21,7 +21,6 @@ import net.alhazmy13.camerapicker.R; import net.alhazmy13.mediapicker.FileProcessing; -import net.alhazmy13.mediapicker.Image.ImagePicker; import net.alhazmy13.mediapicker.Utility; import java.io.File; @@ -40,9 +39,9 @@ public class VideoActivity extends AppCompatActivity { private static final String TAG = "VideoActivity"; private File destination; - private Uri mImageUri; + private Uri mVideoUri; private VideoConfig mVideoConfig; - private List listOfImgs; + private List mListOfVideos; public static Intent getCallingIntent(Context activity, VideoConfig videoConfig) { Intent intent = new Intent(activity, VideoActivity.class); @@ -60,14 +59,14 @@ protected void onCreate(Bundle savedInstanceState) { } if (savedInstanceState == null) { - pickImageWrapper(); - listOfImgs = new ArrayList<>(); + pickVideoWrapper(); + mListOfVideos = new ArrayList<>(); } if (mVideoConfig.debug) Log.d(VideoTags.Tags.TAG, mVideoConfig.toString()); } - private void pickImage() { + private void pickVideo() { Utility.createFolder(mVideoConfig.directory); destination = new File(mVideoConfig.directory, Utility.getRandomString() + mVideoConfig.extension.getValue()); switch (mVideoConfig.mode) { @@ -121,12 +120,12 @@ public void onCancel(DialogInterface dialogInterface) { private void startActivityFromGallery() { mVideoConfig.isImgFromCamera = false; - Intent photoPickerIntent = new Intent(Intent.ACTION_PICK, MediaStore.Video.Media.EXTERNAL_CONTENT_URI); + Intent photoPickerIntent = new Intent(Intent.ACTION_PICK); photoPickerIntent.putExtra(Intent.EXTRA_LOCAL_ONLY, true); photoPickerIntent.setType("video/*"); startActivityForResult(photoPickerIntent, VideoTags.IntentCode.REQUEST_CODE_SELECT_PHOTO); if (mVideoConfig.debug) - Log.d(VideoTags.Tags.TAG, "Gallery Start with Single Image mode"); + Log.d(VideoTags.Tags.TAG, "Gallery Start with Single video mode"); } @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2) @@ -139,14 +138,14 @@ private void startActivityFromGalleryMultiImg() { photoPickerIntent.setType("video/*"); startActivityForResult(Intent.createChooser(photoPickerIntent, "Select Picture"), VideoTags.IntentCode.REQUEST_CODE_SELECT_MULTI_PHOTO); if (mVideoConfig.debug) - Log.d(VideoTags.Tags.TAG, "Gallery Start with Multiple Images mode"); + Log.d(VideoTags.Tags.TAG, "Gallery Start with Multiple videos mode"); } private void startActivityFromCamera() { mVideoConfig.isImgFromCamera = true; Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); - mImageUri = FileProvider.getUriForFile(this, this.getApplicationContext().getPackageName() + ".provider", destination); - intent.putExtra(MediaStore.EXTRA_OUTPUT, mImageUri); + mVideoUri = FileProvider.getUriForFile(this, this.getApplicationContext().getPackageName() + ".provider", destination); + intent.putExtra(MediaStore.EXTRA_OUTPUT, mVideoUri); startActivityForResult(Intent.createChooser(intent, "Select Video"), VideoTags.IntentCode.CAMERA_REQUEST); if (mVideoConfig.debug) Log.d(VideoTags.Tags.TAG, "Camera Start"); @@ -155,8 +154,8 @@ private void startActivityFromCamera() { @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); - if (mImageUri != null) { - outState.putString(VideoTags.Tags.CAMERA_IMAGE_URI, mImageUri.toString()); + if (mVideoUri != null) { + outState.putString(VideoTags.Tags.CAMERA_IMAGE_URI, mVideoUri.toString()); outState.putSerializable(VideoTags.Tags.IMG_CONFIG, mVideoConfig); } } @@ -165,13 +164,12 @@ protected void onSaveInstanceState(Bundle outState) { protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); if (savedInstanceState.containsKey(VideoTags.Tags.CAMERA_IMAGE_URI)) { - mImageUri = Uri.parse(savedInstanceState.getString(VideoTags.Tags.CAMERA_IMAGE_URI)); - destination = new File(mImageUri.getPath()); + mVideoUri = Uri.parse(savedInstanceState.getString(VideoTags.Tags.CAMERA_IMAGE_URI)); + destination = new File(mVideoUri.getPath()); mVideoConfig = (VideoConfig) savedInstanceState.getSerializable(VideoTags.Tags.IMG_CONFIG); } } - @TargetApi(Build.VERSION_CODES.JELLY_BEAN) @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (mVideoConfig.debug) @@ -208,11 +206,11 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { } } - private void processOneImage(Intent data) { + private void processOneVideo(Intent data) { try { - Uri selectedImage = data.getData(); - String path = FileProcessing.getVideoPath(selectedImage, VideoActivity.this); - new VideoActivity.CompressImageTask(path, + Uri selectedVideo = data.getData(); + String path = FileProcessing.getVideoPath(selectedVideo, VideoActivity.this); + new VideoActivity.CompresVideoTask(path, mVideoConfig, VideoActivity.this).execute(); } catch (Exception ex) { @@ -238,7 +236,7 @@ private void finishActivity(List path) { finish(); } - private void pickImageWrapper() { + private void pickVideoWrapper() { if (Build.VERSION.SDK_INT >= 23) { List permissionsNeeded = new ArrayList(); @@ -269,9 +267,9 @@ public void onClick(DialogInterface dialog, int which) { return; } - pickImage(); + pickVideo(); } else { - pickImage(); + pickVideo(); } } @@ -309,7 +307,7 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permis if (perms.get(Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED && perms.get(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) { // All Permissions Granted - pickImage(); + pickVideo(); } else { // Permission Denied Toast.makeText(VideoActivity.this, getString(R.string.media_picker_some_permission_is_denied), Toast.LENGTH_SHORT) @@ -322,7 +320,7 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permis } } - private static class CompressImageTask extends AsyncTask { + private static class CompresVideoTask extends AsyncTask { private final VideoConfig mVideoConfig; private final List listOfImgs; @@ -330,14 +328,14 @@ private static class CompressImageTask extends AsyncTask { private WeakReference mContext; - public CompressImageTask(List listOfImgs, VideoConfig videoConfig, VideoActivity context) { + public CompresVideoTask(List listOfImgs, VideoConfig videoConfig, VideoActivity context) { this.listOfImgs = listOfImgs; this.mContext = new WeakReference<>(context); this.mVideoConfig = videoConfig; this.destinationPaths = new ArrayList<>(); } - public CompressImageTask(String absolutePath, VideoConfig videoConfig, VideoActivity context) { + public CompresVideoTask(String absolutePath, VideoConfig videoConfig, VideoActivity context) { List list = new ArrayList<>(); list.add(absolutePath); this.listOfImgs = list; diff --git a/libary/src/main/java/net/alhazmy13/mediapicker/Video/VideoProcessing.java b/libary/src/main/java/net/alhazmy13/mediapicker/Video/VideoProcessing.java index 174cdd3..6ccac39 100644 --- a/libary/src/main/java/net/alhazmy13/mediapicker/Video/VideoProcessing.java +++ b/libary/src/main/java/net/alhazmy13/mediapicker/Video/VideoProcessing.java @@ -21,7 +21,7 @@ class VideoProcessing { private static final String TAG = "ImageProcessing"; @TargetApi(Build.VERSION_CODES.JELLY_BEAN) - static List processMultiImage(Context context, Intent data) { + static List processMultiVideos(Context context, Intent data) { List listOfImgs = new ArrayList<>(); if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) && (null == data.getData())) { ClipData clipdata = data.getClipData(); diff --git a/rxjava/build.gradle b/rxjava/build.gradle index 7427a02..07f906c 100644 --- a/rxjava/build.gradle +++ b/rxjava/build.gradle @@ -9,7 +9,7 @@ publish { groupId = 'net.alhazmy13.MediaPicker' artifactId = 'rxjava' uploadName = 'MediaPickerRx' - publishVersion = '2.3.2' + publishVersion = '2.3.3' desc = 'MediaPickerRx' dryRun = false website = 'https://github.com/alhzmy13/MediaPicker'