diff --git a/album/src/main/java/com/yanzhenjie/album/Album.java b/album/src/main/java/com/yanzhenjie/album/Album.java index 7e531c2..5fe7e9a 100644 --- a/album/src/main/java/com/yanzhenjie/album/Album.java +++ b/album/src/main/java/com/yanzhenjie/album/Album.java @@ -77,6 +77,7 @@ public final class Album { public static final String KEY_INPUT_CAMERA_QUALITY = "KEY_INPUT_CAMERA_QUALITY"; public static final String KEY_INPUT_CAMERA_DURATION = "KEY_INPUT_CAMERA_DURATION"; public static final String KEY_INPUT_CAMERA_BYTES = "KEY_INPUT_CAMERA_BYTES"; + public static final String KEY_START_WITH_FRONT_CAMERA = "KEY_START_WITH_FRONT_CAMERA"; // Filter. public static final String KEY_INPUT_FILTER_VISIBILITY = "KEY_INPUT_FILTER_VISIBILITY"; diff --git a/album/src/main/java/com/yanzhenjie/album/api/AlbumMultipleWrapper.java b/album/src/main/java/com/yanzhenjie/album/api/AlbumMultipleWrapper.java index 5bc9489..c8b215f 100644 --- a/album/src/main/java/com/yanzhenjie/album/api/AlbumMultipleWrapper.java +++ b/album/src/main/java/com/yanzhenjie/album/api/AlbumMultipleWrapper.java @@ -89,6 +89,7 @@ public void start() { intent.putExtra(Album.KEY_INPUT_CAMERA_QUALITY, mQuality); intent.putExtra(Album.KEY_INPUT_CAMERA_DURATION, mLimitDuration); intent.putExtra(Album.KEY_INPUT_CAMERA_BYTES, mLimitBytes); + intent.putExtra(Album.KEY_START_WITH_FRONT_CAMERA, mStartWithFront); mContext.startActivity(intent); } } \ No newline at end of file diff --git a/album/src/main/java/com/yanzhenjie/album/api/AlbumSingleWrapper.java b/album/src/main/java/com/yanzhenjie/album/api/AlbumSingleWrapper.java index 80390cc..031ff45 100644 --- a/album/src/main/java/com/yanzhenjie/album/api/AlbumSingleWrapper.java +++ b/album/src/main/java/com/yanzhenjie/album/api/AlbumSingleWrapper.java @@ -66,6 +66,7 @@ public void start() { intent.putExtra(Album.KEY_INPUT_CAMERA_QUALITY, mQuality); intent.putExtra(Album.KEY_INPUT_CAMERA_DURATION, mLimitDuration); intent.putExtra(Album.KEY_INPUT_CAMERA_BYTES, mLimitBytes); + intent.putExtra(Album.KEY_START_WITH_FRONT_CAMERA, mStartWithFront); mContext.startActivity(intent); } } \ No newline at end of file diff --git a/album/src/main/java/com/yanzhenjie/album/api/BasicCameraWrapper.java b/album/src/main/java/com/yanzhenjie/album/api/BasicCameraWrapper.java index 7a74c8f..c083a6d 100644 --- a/album/src/main/java/com/yanzhenjie/album/api/BasicCameraWrapper.java +++ b/album/src/main/java/com/yanzhenjie/album/api/BasicCameraWrapper.java @@ -29,6 +29,7 @@ public abstract class BasicCameraWrapper { Action mResult; Action mCancel; String mFilePath; + boolean mStartWithFrontCamera = false; public BasicCameraWrapper(Context context) { this.mContext = context; @@ -64,6 +65,14 @@ public Returner filePath(@Nullable String filePath) { return (Returner) this; } + /** + * Switch the default camera to the front. + */ + public Returner startWithFrontCamera(boolean v) { + this.mStartWithFrontCamera = v; + return (Returner) this; + } + /** * Start up. */ diff --git a/album/src/main/java/com/yanzhenjie/album/api/BasicChoiceAlbumWrapper.java b/album/src/main/java/com/yanzhenjie/album/api/BasicChoiceAlbumWrapper.java index cc7eb1d..5d880ec 100644 --- a/album/src/main/java/com/yanzhenjie/album/api/BasicChoiceAlbumWrapper.java +++ b/album/src/main/java/com/yanzhenjie/album/api/BasicChoiceAlbumWrapper.java @@ -30,6 +30,7 @@ public abstract class BasicChoiceAlbumWrapper mMimeTypeFilter; boolean mFilterVisibility = true; + boolean mCameraStartWithFront = false; BasicChoiceWrapper(Context context) { super(context); @@ -85,4 +86,14 @@ public Returner afterFilterVisibility(boolean visibility) { return (Returner) this; } + /** + * Start camera with front camera + * + * @param v + * @return + */ + public Returner cameraStartWithFront(boolean v) { + this.mCameraStartWithFront = v; + return (Returner) this; + } } \ No newline at end of file diff --git a/album/src/main/java/com/yanzhenjie/album/api/BasicGalleryWrapper.java b/album/src/main/java/com/yanzhenjie/album/api/BasicGalleryWrapper.java index c9ccb74..b128115 100644 --- a/album/src/main/java/com/yanzhenjie/album/api/BasicGalleryWrapper.java +++ b/album/src/main/java/com/yanzhenjie/album/api/BasicGalleryWrapper.java @@ -18,7 +18,6 @@ import android.content.Context; import android.support.annotation.IntRange; -import com.yanzhenjie.album.Action; import com.yanzhenjie.album.ItemAction; import java.util.ArrayList; @@ -32,6 +31,7 @@ public abstract class BasicGalleryWrapper mItemLongClick; int mCurrentPosition; boolean mCheckable; + boolean mStartWithFrontCamera; public BasicGalleryWrapper(Context context) { super(context); @@ -86,4 +86,14 @@ public Returner checkable(boolean checkable) { this.mCheckable = checkable; return (Returner) this; } + + /** + * + * @param frontCamera + * @return + */ + public Returner startWithFrontCamera(boolean frontCamera) { + this.mStartWithFrontCamera = frontCamera; + return (Returner) this; + } } \ No newline at end of file diff --git a/album/src/main/java/com/yanzhenjie/album/api/GalleryAlbumWrapper.java b/album/src/main/java/com/yanzhenjie/album/api/GalleryAlbumWrapper.java index e42beed..a6ed574 100644 --- a/album/src/main/java/com/yanzhenjie/album/api/GalleryAlbumWrapper.java +++ b/album/src/main/java/com/yanzhenjie/album/api/GalleryAlbumWrapper.java @@ -20,7 +20,6 @@ import com.yanzhenjie.album.Album; import com.yanzhenjie.album.AlbumFile; -import com.yanzhenjie.album.app.gallery.GalleryActivity; import com.yanzhenjie.album.app.gallery.GalleryAlbumActivity; /** @@ -44,6 +43,7 @@ public void start() { intent.putParcelableArrayListExtra(Album.KEY_INPUT_CHECKED_LIST, mChecked); intent.putExtra(Album.KEY_INPUT_CURRENT_POSITION, mCurrentPosition); intent.putExtra(Album.KEY_INPUT_GALLERY_CHECKABLE, mCheckable); + intent.putExtra(Album.KEY_START_WITH_FRONT_CAMERA, mStartWithFrontCamera); mContext.startActivity(intent); } } \ No newline at end of file diff --git a/album/src/main/java/com/yanzhenjie/album/api/GalleryWrapper.java b/album/src/main/java/com/yanzhenjie/album/api/GalleryWrapper.java index 1eb46b0..1b117bb 100644 --- a/album/src/main/java/com/yanzhenjie/album/api/GalleryWrapper.java +++ b/album/src/main/java/com/yanzhenjie/album/api/GalleryWrapper.java @@ -20,7 +20,6 @@ import com.yanzhenjie.album.Album; import com.yanzhenjie.album.app.gallery.GalleryActivity; -import com.yanzhenjie.album.app.gallery.GalleryAlbumActivity; /** *

Gallery wrapper.

@@ -43,6 +42,7 @@ public void start() { intent.putStringArrayListExtra(Album.KEY_INPUT_CHECKED_LIST, mChecked); intent.putExtra(Album.KEY_INPUT_CURRENT_POSITION, mCurrentPosition); intent.putExtra(Album.KEY_INPUT_GALLERY_CHECKABLE, mCheckable); + intent.putExtra(Album.KEY_START_WITH_FRONT_CAMERA, mStartWithFrontCamera); mContext.startActivity(intent); } } \ No newline at end of file diff --git a/album/src/main/java/com/yanzhenjie/album/api/ImageCameraWrapper.java b/album/src/main/java/com/yanzhenjie/album/api/ImageCameraWrapper.java index b548016..c7b8b73 100644 --- a/album/src/main/java/com/yanzhenjie/album/api/ImageCameraWrapper.java +++ b/album/src/main/java/com/yanzhenjie/album/api/ImageCameraWrapper.java @@ -38,6 +38,7 @@ public void start() { intent.putExtra(Album.KEY_INPUT_FUNCTION, Album.FUNCTION_CAMERA_IMAGE); intent.putExtra(Album.KEY_INPUT_FILE_PATH, mFilePath); + intent.putExtra(Album.KEY_START_WITH_FRONT_CAMERA, mStartWithFrontCamera); mContext.startActivity(intent); } } \ No newline at end of file diff --git a/album/src/main/java/com/yanzhenjie/album/api/ImageMultipleWrapper.java b/album/src/main/java/com/yanzhenjie/album/api/ImageMultipleWrapper.java index 644dab5..7afb933 100644 --- a/album/src/main/java/com/yanzhenjie/album/api/ImageMultipleWrapper.java +++ b/album/src/main/java/com/yanzhenjie/album/api/ImageMultipleWrapper.java @@ -73,6 +73,7 @@ public void start() { intent.putExtra(Album.KEY_INPUT_ALLOW_CAMERA, mHasCamera); intent.putExtra(Album.KEY_INPUT_LIMIT_COUNT, mLimitCount); intent.putExtra(Album.KEY_INPUT_FILTER_VISIBILITY, mFilterVisibility); + intent.putExtra(Album.KEY_START_WITH_FRONT_CAMERA, mCameraStartWithFront); mContext.startActivity(intent); } } \ No newline at end of file diff --git a/album/src/main/java/com/yanzhenjie/album/api/ImageSingleWrapper.java b/album/src/main/java/com/yanzhenjie/album/api/ImageSingleWrapper.java index 9fe6228..4ad6dc1 100644 --- a/album/src/main/java/com/yanzhenjie/album/api/ImageSingleWrapper.java +++ b/album/src/main/java/com/yanzhenjie/album/api/ImageSingleWrapper.java @@ -48,6 +48,7 @@ public void start() { intent.putExtra(Album.KEY_INPUT_ALLOW_CAMERA, mHasCamera); intent.putExtra(Album.KEY_INPUT_LIMIT_COUNT, 1); intent.putExtra(Album.KEY_INPUT_FILTER_VISIBILITY, mFilterVisibility); + intent.putExtra(Album.KEY_START_WITH_FRONT_CAMERA, mCameraStartWithFront); mContext.startActivity(intent); } } \ No newline at end of file diff --git a/album/src/main/java/com/yanzhenjie/album/api/VideoCameraWrapper.java b/album/src/main/java/com/yanzhenjie/album/api/VideoCameraWrapper.java index e90fa29..778af23 100644 --- a/album/src/main/java/com/yanzhenjie/album/api/VideoCameraWrapper.java +++ b/album/src/main/java/com/yanzhenjie/album/api/VideoCameraWrapper.java @@ -76,6 +76,7 @@ public void start() { intent.putExtra(Album.KEY_INPUT_CAMERA_QUALITY, mQuality); intent.putExtra(Album.KEY_INPUT_CAMERA_DURATION, mLimitDuration); intent.putExtra(Album.KEY_INPUT_CAMERA_BYTES, mLimitBytes); + intent.putExtra(Album.KEY_START_WITH_FRONT_CAMERA, mStartWithFrontCamera); mContext.startActivity(intent); } } \ No newline at end of file diff --git a/album/src/main/java/com/yanzhenjie/album/api/VideoMultipleWrapper.java b/album/src/main/java/com/yanzhenjie/album/api/VideoMultipleWrapper.java index b2f4091..7036eae 100644 --- a/album/src/main/java/com/yanzhenjie/album/api/VideoMultipleWrapper.java +++ b/album/src/main/java/com/yanzhenjie/album/api/VideoMultipleWrapper.java @@ -88,6 +88,7 @@ public void start() { intent.putExtra(Album.KEY_INPUT_CAMERA_QUALITY, mQuality); intent.putExtra(Album.KEY_INPUT_CAMERA_DURATION, mLimitDuration); intent.putExtra(Album.KEY_INPUT_CAMERA_BYTES, mLimitBytes); + intent.putExtra(Album.KEY_START_WITH_FRONT_CAMERA, mCameraStartWithFront); mContext.startActivity(intent); } } \ No newline at end of file diff --git a/album/src/main/java/com/yanzhenjie/album/api/VideoSingleWrapper.java b/album/src/main/java/com/yanzhenjie/album/api/VideoSingleWrapper.java index 40c047f..9d93e5f 100644 --- a/album/src/main/java/com/yanzhenjie/album/api/VideoSingleWrapper.java +++ b/album/src/main/java/com/yanzhenjie/album/api/VideoSingleWrapper.java @@ -65,6 +65,7 @@ public void start() { intent.putExtra(Album.KEY_INPUT_CAMERA_QUALITY, mQuality); intent.putExtra(Album.KEY_INPUT_CAMERA_DURATION, mLimitDuration); intent.putExtra(Album.KEY_INPUT_CAMERA_BYTES, mLimitBytes); + intent.putExtra(Album.KEY_START_WITH_FRONT_CAMERA, mCameraStartWithFront); mContext.startActivity(intent); } } \ No newline at end of file diff --git a/album/src/main/java/com/yanzhenjie/album/app/album/AlbumActivity.java b/album/src/main/java/com/yanzhenjie/album/app/album/AlbumActivity.java index 0cd4b54..cbc5279 100644 --- a/album/src/main/java/com/yanzhenjie/album/app/album/AlbumActivity.java +++ b/album/src/main/java/com/yanzhenjie/album/app/album/AlbumActivity.java @@ -84,6 +84,7 @@ public class AlbumActivity extends BaseActivity implements private int mQuality; private long mLimitDuration; private long mLimitBytes; + private boolean mStartWithFront; private boolean mFilterVisibility; @@ -123,6 +124,7 @@ private void initializeArgument() { mQuality = argument.getInt(Album.KEY_INPUT_CAMERA_QUALITY); mLimitDuration = argument.getLong(Album.KEY_INPUT_CAMERA_DURATION); mLimitBytes = argument.getLong(Album.KEY_INPUT_CAMERA_BYTES); + mStartWithFront = argument.getBoolean(Album.KEY_START_WITH_FRONT_CAMERA); mFilterVisibility = argument.getBoolean(Album.KEY_INPUT_FILTER_VISIBILITY); } @@ -317,6 +319,7 @@ private void takePicture() { } Album.camera(this) .image() + .startWithFrontCamera(mStartWithFront) .filePath(filePath) .onResult(mCameraAction) .start(); @@ -332,6 +335,7 @@ private void takeVideo() { } Album.camera(this) .video() + .startWithFrontCamera(mStartWithFront) .filePath(filePath) .quality(mQuality) .limitDuration(mLimitDuration) diff --git a/album/src/main/java/com/yanzhenjie/album/app/album/NullActivity.java b/album/src/main/java/com/yanzhenjie/album/app/album/NullActivity.java index f9bb853..bee3454 100644 --- a/album/src/main/java/com/yanzhenjie/album/app/album/NullActivity.java +++ b/album/src/main/java/com/yanzhenjie/album/app/album/NullActivity.java @@ -33,17 +33,25 @@ public class NullActivity extends BaseActivity implements Contract.NullPresenter { private static final String KEY_OUTPUT_IMAGE_PATH = "KEY_OUTPUT_IMAGE_PATH"; - - public static String parsePath(Intent intent) { - return intent.getStringExtra(KEY_OUTPUT_IMAGE_PATH); - } - private Widget mWidget; private int mQuality = 1; private long mLimitDuration; private long mLimitBytes; - + private boolean mCameraStartWithFront = false; private Contract.NullView mView; + private Action mCameraAction = new Action() { + @Override + public void onAction(@NonNull String result) { + Intent intent = new Intent(); + intent.putExtra(KEY_OUTPUT_IMAGE_PATH, result); + setResult(RESULT_OK, intent); + finish(); + } + }; + + public static String parsePath(Intent intent) { + return intent.getStringExtra(KEY_OUTPUT_IMAGE_PATH); + } @Override protected void onCreate(@Nullable Bundle savedInstanceState) { @@ -59,6 +67,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { mQuality = argument.getInt(Album.KEY_INPUT_CAMERA_QUALITY); mLimitDuration = argument.getLong(Album.KEY_INPUT_CAMERA_DURATION); mLimitBytes = argument.getLong(Album.KEY_INPUT_CAMERA_BYTES); + mCameraStartWithFront = argument.getBoolean(Album.KEY_START_WITH_FRONT_CAMERA); mWidget = argument.getParcelable(Album.KEY_INPUT_WIDGET); mView.setupViews(mWidget); @@ -94,6 +103,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { public void takePicture() { Album.camera(this) .image() + .startWithFrontCamera(mCameraStartWithFront) .onResult(mCameraAction) .start(); } @@ -102,20 +112,11 @@ public void takePicture() { public void takeVideo() { Album.camera(this) .video() + .startWithFrontCamera(mCameraStartWithFront) .quality(mQuality) .limitDuration(mLimitDuration) .limitBytes(mLimitBytes) .onResult(mCameraAction) .start(); } - - private Action mCameraAction = new Action() { - @Override - public void onAction(@NonNull String result) { - Intent intent = new Intent(); - intent.putExtra(KEY_OUTPUT_IMAGE_PATH, result); - setResult(RESULT_OK, intent); - finish(); - } - }; } \ No newline at end of file diff --git a/album/src/main/java/com/yanzhenjie/album/app/camera/CameraActivity.java b/album/src/main/java/com/yanzhenjie/album/app/camera/CameraActivity.java index 5732593..772cc45 100644 --- a/album/src/main/java/com/yanzhenjie/album/app/camera/CameraActivity.java +++ b/album/src/main/java/com/yanzhenjie/album/app/camera/CameraActivity.java @@ -42,6 +42,7 @@ public class CameraActivity extends BaseActivity { private static final String INSTANCE_CAMERA_QUALITY = "INSTANCE_CAMERA_QUALITY"; private static final String INSTANCE_CAMERA_DURATION = "INSTANCE_CAMERA_DURATION"; private static final String INSTANCE_CAMERA_BYTES = "INSTANCE_CAMERA_BYTES"; + private static final String INSTANCE_START_WITH_FRONT_CAMERA = "INSTANCE_USE_FRONT_CAMERA"; private static final int CODE_PERMISSION_IMAGE = 1; private static final int CODE_PERMISSION_VIDEO = 2; @@ -57,6 +58,7 @@ public class CameraActivity extends BaseActivity { private int mQuality; private long mLimitDuration; private long mLimitBytes; + private boolean mStartWithFrontCamera; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { @@ -71,6 +73,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { mQuality = savedInstanceState.getInt(INSTANCE_CAMERA_QUALITY); mLimitDuration = savedInstanceState.getLong(INSTANCE_CAMERA_DURATION); mLimitBytes = savedInstanceState.getLong(INSTANCE_CAMERA_BYTES); + mStartWithFrontCamera = savedInstanceState.getBoolean(INSTANCE_START_WITH_FRONT_CAMERA); } else { Bundle bundle = getIntent().getExtras(); assert bundle != null; @@ -79,6 +82,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { mQuality = bundle.getInt(Album.KEY_INPUT_CAMERA_QUALITY); mLimitDuration = bundle.getLong(Album.KEY_INPUT_CAMERA_DURATION); mLimitBytes = bundle.getLong(Album.KEY_INPUT_CAMERA_BYTES); + mStartWithFrontCamera = bundle.getBoolean(Album.KEY_START_WITH_FRONT_CAMERA); switch (mFunction) { case Album.FUNCTION_CAMERA_IMAGE: { @@ -107,6 +111,7 @@ public void onSaveInstanceState(Bundle outState) { outState.putInt(INSTANCE_CAMERA_QUALITY, mQuality); outState.putLong(INSTANCE_CAMERA_DURATION, mLimitDuration); outState.putLong(INSTANCE_CAMERA_BYTES, mLimitBytes); + outState.putBoolean(INSTANCE_START_WITH_FRONT_CAMERA, mStartWithFrontCamera); super.onSaveInstanceState(outState); } @@ -114,11 +119,11 @@ public void onSaveInstanceState(Bundle outState) { protected void onPermissionGranted(int code) { switch (code) { case CODE_PERMISSION_IMAGE: { - AlbumUtils.takeImage(this, CODE_ACTIVITY_TAKE_IMAGE, new File(mCameraFilePath)); + AlbumUtils.takeImage(this, CODE_ACTIVITY_TAKE_IMAGE, new File(mCameraFilePath), mStartWithFrontCamera); break; } case CODE_PERMISSION_VIDEO: { - AlbumUtils.takeVideo(this, CODE_ACTIVITY_TAKE_VIDEO, new File(mCameraFilePath), mQuality, mLimitDuration, mLimitBytes); + AlbumUtils.takeVideo(this, CODE_ACTIVITY_TAKE_VIDEO, new File(mCameraFilePath), mQuality, mLimitDuration, mLimitBytes, mStartWithFrontCamera); break; } default: { diff --git a/album/src/main/java/com/yanzhenjie/album/util/AlbumUtils.java b/album/src/main/java/com/yanzhenjie/album/util/AlbumUtils.java index a8164b6..947ad14 100644 --- a/album/src/main/java/com/yanzhenjie/album/util/AlbumUtils.java +++ b/album/src/main/java/com/yanzhenjie/album/util/AlbumUtils.java @@ -111,12 +111,15 @@ public static Context applyLanguageForContext(@NonNull Context context, @NonNull * @param requestCode code, see {@link Activity#onActivityResult(int, int, Intent)}. * @param outPath file path. */ - public static void takeImage(@NonNull Activity activity, int requestCode, File outPath) { + public static void takeImage(@NonNull Activity activity, int requestCode, File outPath, boolean startWithFrontCamera) { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); Uri uri = getUri(activity, outPath); intent.putExtra(MediaStore.EXTRA_OUTPUT, uri); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION); + if (startWithFrontCamera) { + intent.putExtra("android.intent.extra.USE_FRONT_CAMERA", true); + } activity.startActivityForResult(intent, requestCode); } @@ -133,13 +136,15 @@ public static void takeImage(@NonNull Activity activity, int requestCode, File o public static void takeVideo(@NonNull Activity activity, int requestCode, File outPath, @IntRange(from = 0, to = 1) int quality, @IntRange(from = 1) long duration, - @IntRange(from = 1) long limitBytes) { + @IntRange(from = 1) long limitBytes, + boolean startWithFrontCamera) { Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); Uri uri = getUri(activity, outPath); intent.putExtra(MediaStore.EXTRA_OUTPUT, uri); intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, quality); intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, duration); intent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, limitBytes); + intent.putExtra("android.intent.extra.USE_FRONT_CAMERA", startWithFrontCamera); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION); activity.startActivityForResult(intent, requestCode); @@ -167,7 +172,6 @@ public static Uri getUri(@NonNull Context context, @NonNull File outPath) { * Generate a random jpg file path. * * @return file path. - * * @deprecated use {@link #randomJPGPath(Context)} instead. */ @NonNull @@ -181,12 +185,11 @@ public static String randomJPGPath() { * Generate a random jpg file path. * * @param context context. - * * @return file path. */ @NonNull public static String randomJPGPath(Context context) { - if(!Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { + if (!Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { return randomJPGPath(context.getCacheDir()); } return randomJPGPath(); @@ -207,7 +210,6 @@ public static String randomJPGPath(File bucket) { * Generate a random mp4 file path. * * @return file path. - * * @deprecated use {@link #randomMP4Path(Context)} instead. */ @NonNull @@ -221,12 +223,11 @@ public static String randomMP4Path() { * Generate a random mp4 file path. * * @param context context. - * * @return file path. */ @NonNull public static String randomMP4Path(Context context) { - if(!Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { + if (!Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { return randomMP4Path(context.getCacheDir()); } return randomMP4Path(); diff --git a/sample/build.gradle b/sample/build.gradle index ee9a379..6f584a2 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -14,7 +14,8 @@ android { } dependencies { - implementation rootProject.ext.dependencies.album +// implementation rootProject.ext.dependencies.album + implementation project(":album") implementation rootProject.ext.dependencies.appCompat implementation rootProject.ext.dependencies.design diff --git a/sample/src/main/java/com/yanzhenjie/album/sample/app/AlbumActivity.java b/sample/src/main/java/com/yanzhenjie/album/sample/app/AlbumActivity.java index 4145100..aef1e3a 100644 --- a/sample/src/main/java/com/yanzhenjie/album/sample/app/AlbumActivity.java +++ b/sample/src/main/java/com/yanzhenjie/album/sample/app/AlbumActivity.java @@ -85,6 +85,7 @@ private void selectAlbum() { .cameraVideoQuality(1) .cameraVideoLimitDuration(Integer.MAX_VALUE) .cameraVideoLimitBytes(Integer.MAX_VALUE) + .cameraStartWithFront(true) .checkedList(mAlbumFiles) .widget( Widget.newDarkBuilder(this) diff --git a/sample/src/main/java/com/yanzhenjie/album/sample/app/AlbumFilterActivity.java b/sample/src/main/java/com/yanzhenjie/album/sample/app/AlbumFilterActivity.java index 0a02914..d658ecd 100644 --- a/sample/src/main/java/com/yanzhenjie/album/sample/app/AlbumFilterActivity.java +++ b/sample/src/main/java/com/yanzhenjie/album/sample/app/AlbumFilterActivity.java @@ -97,6 +97,7 @@ public boolean filter(String attributes) { .columnCount(2) .selectCount(6) .camera(true) + .cameraStartWithFront(true) .checkedList(mAlbumFiles) .widget( Widget.newDarkBuilder(this) diff --git a/sample/src/main/java/com/yanzhenjie/album/sample/app/CameraActivity.java b/sample/src/main/java/com/yanzhenjie/album/sample/app/CameraActivity.java index 54c0850..a617dcf 100644 --- a/sample/src/main/java/com/yanzhenjie/album/sample/app/CameraActivity.java +++ b/sample/src/main/java/com/yanzhenjie/album/sample/app/CameraActivity.java @@ -57,6 +57,7 @@ private void takePicture() { Album.camera(this) .image() // .filePath() + .startWithFrontCamera(true) .onResult(new Action() { @Override public void onAction(@NonNull String result) { @@ -80,6 +81,7 @@ private void recordVideo() { Album.camera(this) .video() // .filePath() + .startWithFrontCamera(true) .quality(1) .limitDuration(Integer.MAX_VALUE) .limitBytes(Integer.MAX_VALUE) diff --git a/sample/src/main/java/com/yanzhenjie/album/sample/app/DefineStyleActivity.java b/sample/src/main/java/com/yanzhenjie/album/sample/app/DefineStyleActivity.java index bdd0886..7d0f9ea 100644 --- a/sample/src/main/java/com/yanzhenjie/album/sample/app/DefineStyleActivity.java +++ b/sample/src/main/java/com/yanzhenjie/album/sample/app/DefineStyleActivity.java @@ -81,6 +81,7 @@ private void selectAlbum() { .multipleChoice() .selectCount(6) .camera(true) + .cameraStartWithFront(true) .checkedList(mAlbumFiles) .widget( Widget.newLightBuilder(this) diff --git a/sample/src/main/java/com/yanzhenjie/album/sample/app/ImageActivity.java b/sample/src/main/java/com/yanzhenjie/album/sample/app/ImageActivity.java index a08c964..b731802 100644 --- a/sample/src/main/java/com/yanzhenjie/album/sample/app/ImageActivity.java +++ b/sample/src/main/java/com/yanzhenjie/album/sample/app/ImageActivity.java @@ -80,6 +80,7 @@ private void selectImage() { Album.image(this) .multipleChoice() .camera(true) + .cameraStartWithFront(true) .columnCount(2) .selectCount(6) .checkedList(mAlbumFiles) diff --git a/sample/src/main/java/com/yanzhenjie/album/sample/app/VideoActivity.java b/sample/src/main/java/com/yanzhenjie/album/sample/app/VideoActivity.java index d1894c1..e4e08ca 100644 --- a/sample/src/main/java/com/yanzhenjie/album/sample/app/VideoActivity.java +++ b/sample/src/main/java/com/yanzhenjie/album/sample/app/VideoActivity.java @@ -82,6 +82,7 @@ private void selectVideo() { .columnCount(2) .selectCount(6) .camera(true) + .cameraStartWithFront(true) .checkedList(mAlbumFiles) .widget( Widget.newDarkBuilder(this)