From 50384523ef188a11ad91c9c6d60c3a1f5d792a06 Mon Sep 17 00:00:00 2001 From: Abdullah Alhazmy Date: Tue, 16 May 2017 01:18:24 +0300 Subject: [PATCH 1/2] Fix issue #26 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b6d9436..e0cb66e 100644 --- a/README.md +++ b/README.md @@ -139,7 +139,7 @@ In order to receive the path of videos, you will need to override `onActivityRes super.onActivityResult(requestCode, resultCode, data); if (requestCode == VideoPicker.VIDEO_PICKER_REQUEST_CODE && resultCode == RESULT_OK) { - List mPaths = (List) data.getSerializableExtra(ImagePicker.EXTRA_VIDEO_PATH); + List mPaths = (List) data.getSerializableExtra(VideoPicker.EXTRA_VIDEO_PATH); //Your Code } } From 45cd678a331e687904585cff31a42d1f7252d11d Mon Sep 17 00:00:00 2001 From: Abdullah Alhazmy Date: Wed, 17 May 2017 03:52:22 +0300 Subject: [PATCH 2/2] * request camera permission only with camera mode --- app/build.gradle | 17 +++--- .../mediapickerexample/ImageFragment.java | 3 +- .../mediapickerexample/VideoFragment.java | 55 +++++++------------ gradle/wrapper/gradle-wrapper.properties | 4 +- libary/build.gradle | 35 ++++++------ .../mediapicker/Image/ImageActivity.java | 7 ++- .../mediapicker/Video/VideoActivity.java | 5 +- rxjava/build.gradle | 11 ++-- 8 files changed, 65 insertions(+), 72 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index b084c67..aaf4212 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.application' -apply from: '../deps.gradle' +//apply from: '../deps.gradle' android { - compileSdkVersion versions.TARGET_SDK_VERSION - buildToolsVersion versions.BUILD_TOOLS_VERSION + compileSdkVersion 25 + buildToolsVersion '25.0.2' defaultConfig { - minSdkVersion versions.MIN_SDK_VERSION - targetSdkVersion versions.TARGET_SDK_VERSION + minSdkVersion 14 + targetSdkVersion 25 applicationId 'net.alhazmy13.mediapicker' versionCode 1 versionName "1.0" @@ -21,12 +21,13 @@ android { lintOptions { abortOnError false } + buildToolsVersion '25.0.2' } dependencies { - compile "com.android.support:appcompat-v7:25.2.0" - compile "com.android.support:design:25.2.0" - compile "com.android.support:support-v13:25.2.0" + compile "com.android.support:appcompat-v7:25.3.1" + compile "com.android.support:design:25.3.1" + compile "com.android.support:support-v13:25.3.1" compile project(':libary') compile project(':rxjava') } diff --git a/app/src/main/java/net/alhazmy13/mediapickerexample/ImageFragment.java b/app/src/main/java/net/alhazmy13/mediapickerexample/ImageFragment.java index 84dbf1e..0ff61ed 100644 --- a/app/src/main/java/net/alhazmy13/mediapickerexample/ImageFragment.java +++ b/app/src/main/java/net/alhazmy13/mediapickerexample/ImageFragment.java @@ -57,7 +57,8 @@ public void onClick(View v) { private void pickImage() { new ImagePickerHelper( new ImagePicker.Builder(getActivity()) - .mode(ImagePicker.Mode.CAMERA_AND_GALLERY) + .mode(ImagePicker.Mode.CAMERA) + .allowMultipleImages(true) .compressLevel(ImagePicker.ComperesLevel.MEDIUM) .directory(ImagePicker.Directory.DEFAULT) .extension(ImagePicker.Extension.PNG) diff --git a/app/src/main/java/net/alhazmy13/mediapickerexample/VideoFragment.java b/app/src/main/java/net/alhazmy13/mediapickerexample/VideoFragment.java index 5f0563b..f97bb9e 100644 --- a/app/src/main/java/net/alhazmy13/mediapickerexample/VideoFragment.java +++ b/app/src/main/java/net/alhazmy13/mediapickerexample/VideoFragment.java @@ -1,6 +1,7 @@ package net.alhazmy13.mediapickerexample; import android.app.Fragment; +import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.util.Log; @@ -18,6 +19,8 @@ import rx.Subscriber; +import static android.app.Activity.RESULT_OK; + /** * Created by alhazmy13 on 3/13/17. */ @@ -54,51 +57,33 @@ private void init(View view) { view.findViewById(R.id.bt_pick).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - pickImage(); + pickVideo(); } }); } - private void pickImage() { - new VideoPickerHelper( - new VideoPicker.Builder(getActivity()) - .directory(VideoPicker.Directory.DEFAULT) - .mode(VideoPicker.Mode.CAMERA_AND_GALLERY) - .extension(VideoPicker.Extension.MP4) + private void pickVideo() { + new VideoPicker.Builder(getActivity()) + .mode(VideoPicker.Mode.CAMERA_AND_GALLERY) + .directory(VideoPicker.Directory.DEFAULT) + .extension(VideoPicker.Extension.MP4) + .enableDebuggingMode(true) + .build(); + } - ).getObservable().subscribe(new Subscriber>() { - @Override - public void onCompleted() { - Log.d(TAG, "onCompleted() called"); - } + // + @Override + public void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); - @Override - public void onError(Throwable e) { - Log.d(TAG, "onError() called with: e = [" + e + "]"); - } + if (requestCode == VideoPicker.VIDEO_PICKER_REQUEST_CODE && resultCode == RESULT_OK) { + mPath = (List) data.getSerializableExtra(VideoPicker.EXTRA_VIDEO_PATH); - @Override - public void onNext(List paths) { - Log.d(TAG, "onNext() called with: strings = [" + paths + "]"); - mPath = paths; - loadVideo(); - } - }); + loadVideo(); + } } -// // -// @Override -// public void onActivityResult(int requestCode, int resultCode, Intent data) { -// super.onActivityResult(requestCode, resultCode, data); -// -// if (requestCode == VideoPicker.VIDEO_PICKER_REQUEST_CODE && resultCode == RESULT_OK) { -// mPath = (List) data.getSerializableExtra(VideoPicker.EXTRA_VIDEO_PATH); -// -// loadImage(); -// } -// } - private void loadVideo() { if (mPath != null && mPath.size() > 0) { Log.d(TAG, "loadImage: " + mPath.size()); diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3082268..e4d5c92 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sat Sep 10 18:48:55 AST 2016 +#Tue May 16 01:28:00 AST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.4.1-all.zip diff --git a/libary/build.gradle b/libary/build.gradle index e62a37a..c31b71b 100644 --- a/libary/build.gradle +++ b/libary/build.gradle @@ -1,26 +1,26 @@ apply plugin: 'com.android.library' -apply plugin: 'com.novoda.bintray-release' -apply from: '../deps.gradle' +//apply plugin: 'com.novoda.bintray-release' +//apply from: '../deps.gradle' //./gradlew bintrayUpload -publish { - userOrg = 'alhazmy13' - groupId = 'net.alhazmy13.MediaPicker' - artifactId = 'libary' - uploadName = 'MediaPicker' - publishVersion = versions.LIBRARY_VERSION - desc = 'MediaPickerRx' - dryRun = false - website = 'https://github.com/alhzmy13/MediaPicker' -} +//publish { +// userOrg = 'alhazmy13' +// groupId = 'net.alhazmy13.MediaPicker' +// artifactId = 'libary' +// uploadName = 'MediaPicker' +// publishVersion = versions.LIBRARY_VERSION +// desc = 'MediaPickerRx' +// dryRun = false +// website = 'https://github.com/alhzmy13/MediaPicker' +//} android { - compileSdkVersion versions.TARGET_SDK_VERSION - buildToolsVersion versions.BUILD_TOOLS_VERSION + compileSdkVersion 25 + buildToolsVersion '25.0.2' defaultConfig { - minSdkVersion versions.MIN_SDK_VERSION - targetSdkVersion versions.TARGET_SDK_VERSION + minSdkVersion 14 + targetSdkVersion 25 versionCode 1 versionName "1.0" } @@ -36,9 +36,10 @@ android { } } + buildToolsVersion '25.0.2' } dependencies { - compile 'com.android.support:appcompat-v7:25.2.0' + compile 'com.android.support:appcompat-v7:25.3.1' } 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 9089702..649d9b9 100644 --- a/libary/src/main/java/net/alhazmy13/mediapicker/Image/ImageActivity.java +++ b/libary/src/main/java/net/alhazmy13/mediapicker/Image/ImageActivity.java @@ -123,7 +123,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, true); +// photoPickerIntent.putExtra(Intent.EXTRA_LOCAL_ONLY, true); photoPickerIntent.setType("image/*"); startActivityForResult(photoPickerIntent, ImageTags.IntentCode.REQUEST_CODE_SELECT_PHOTO); if (mImgConfig.debug) @@ -231,8 +231,9 @@ private void pickImageWrapper() { List permissionsNeeded = new ArrayList(); final List permissionsList = new ArrayList(); - if (!addPermission(permissionsList, Manifest.permission.CAMERA)) - permissionsNeeded.add(getString(R.string.media_picker_camera)); + if(mImgConfig.mode == ImagePicker.Mode.CAMERA || mImgConfig.mode == ImagePicker.Mode.CAMERA_AND_GALLERY) + if (!addPermission(permissionsList, Manifest.permission.CAMERA)) + permissionsNeeded.add(getString(R.string.media_picker_camera)); if (!addPermission(permissionsList, Manifest.permission.WRITE_EXTERNAL_STORAGE)) permissionsNeeded.add(getString(R.string.media_picker_read_Write_external_storage)); 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 deb325c..77e6ac4 100644 --- a/libary/src/main/java/net/alhazmy13/mediapicker/Video/VideoActivity.java +++ b/libary/src/main/java/net/alhazmy13/mediapicker/Video/VideoActivity.java @@ -21,6 +21,7 @@ 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; @@ -233,7 +234,9 @@ private void pickImageWrapper() { List permissionsNeeded = new ArrayList(); final List permissionsList = new ArrayList(); - if (!addPermission(permissionsList, Manifest.permission.CAMERA)) + if(mVideoConfig.mode == VideoPicker.Mode.CAMERA || mVideoConfig.mode == VideoPicker.Mode.CAMERA_AND_GALLERY) + + if (!addPermission(permissionsList, Manifest.permission.CAMERA)) permissionsNeeded.add(getString(R.string.media_picker_camera)); if (!addPermission(permissionsList, Manifest.permission.WRITE_EXTERNAL_STORAGE)) permissionsNeeded.add(getString(R.string.media_picker_read_Write_external_storage)); diff --git a/rxjava/build.gradle b/rxjava/build.gradle index bc348cf..5b64313 100644 --- a/rxjava/build.gradle +++ b/rxjava/build.gradle @@ -1,5 +1,5 @@ apply plugin: 'com.android.library' -apply from: '../deps.gradle' +//apply from: '../deps.gradle' //apply plugin: 'com.novoda.bintray-release' //./gradlew bintrayUpload @@ -16,12 +16,12 @@ apply from: '../deps.gradle' //} android { - compileSdkVersion versions.TARGET_SDK_VERSION - buildToolsVersion versions.BUILD_TOOLS_VERSION + compileSdkVersion 25 + buildToolsVersion '25.0.2' defaultConfig { - minSdkVersion versions.MIN_SDK_VERSION - targetSdkVersion versions.TARGET_SDK_VERSION + minSdkVersion 14 + targetSdkVersion 25 versionCode 1 versionName "1.0" } @@ -31,6 +31,7 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + buildToolsVersion '25.0.2' } dependencies {