From d99b5f3fdb5508b6c407d8e5b7650acb864082e6 Mon Sep 17 00:00:00 2001 From: Joe Ginley Date: Fri, 4 Sep 2015 14:23:42 -0400 Subject: [PATCH 1/2] captured images folder feature. --- .../imagepicker/ui/PickerActivity.java | 8 ++-- .../net/yazeed44/imagepicker/util/Picker.java | 37 ++++++++++++++----- 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/PickerActivity.java b/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/PickerActivity.java index db9eb5a..26697c8 100644 --- a/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/PickerActivity.java +++ b/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/PickerActivity.java @@ -44,7 +44,7 @@ public class PickerActivity extends AppCompatActivity { public static final String KEY_ACTION_BAR_TITLE = "actionBarKey"; public static final String KEY_SHOULD_SHOW_ACTIONBAR_UP = "shouldShowUpKey"; - public static final String CAPTURED_IMAGES_ALBUM_NAME = "captured_images"; + public static String CAPTURED_IMAGES_ALBUM_NAME; public static final String CAPTURED_IMAGES_DIR = Environment.getExternalStoragePublicDirectory(CAPTURED_IMAGES_ALBUM_NAME).getAbsolutePath(); private static final int REQUEST_PORTRAIT_RFC = 1337; private static final int REQUEST_PORTRAIT_FFC = REQUEST_PORTRAIT_RFC + 1; @@ -75,14 +75,16 @@ protected void onCreate(Bundle savedInstanceState) { initTheme(); super.onCreate(savedInstanceState); + //Grab intent extras here. + //camera_image_path will always be set so no need to check if the key exists. + CAPTURED_IMAGES_ALBUM_NAME = getIntent().getExtras().getString("camera_image_path"); + setContentView(R.layout.activity_pick); addToolbarToLayout(); initActionbar(savedInstanceState); setupAlbums(savedInstanceState); initFab(); updateFab(); - - } @Override diff --git a/imagepicker/src/main/java/net/yazeed44/imagepicker/util/Picker.java b/imagepicker/src/main/java/net/yazeed44/imagepicker/util/Picker.java index d3926eb..0faf6fb 100644 --- a/imagepicker/src/main/java/net/yazeed44/imagepicker/util/Picker.java +++ b/imagepicker/src/main/java/net/yazeed44/imagepicker/util/Picker.java @@ -1,8 +1,10 @@ package net.yazeed44.imagepicker.util; +import android.annotation.TargetApi; import android.content.Context; import android.content.Intent; import android.graphics.Color; +import android.os.Build; import android.support.annotation.ColorInt; import android.support.annotation.NonNull; import android.support.annotation.StyleRes; @@ -41,6 +43,7 @@ public final class Picker { public final int doneFabIconTintColor; public final boolean shouldShowCaptureMenuItem; public final int checkIconTintColor; + public final String mCameraImagePath; private Picker(final Builder builder) { @@ -63,9 +66,7 @@ private Picker(final Builder builder) { doneFabIconTintColor = builder.mDoneFabIconTintColor; shouldShowCaptureMenuItem = builder.mShouldShowCaptureMenuItem; checkIconTintColor = builder.mCheckIconTintColor; - - - + mCameraImagePath = builder.mCameraImagePath; } public void startActivity() { @@ -73,9 +74,9 @@ public void startActivity() { EventBus.getDefault().postSticky(new Events.OnPublishPickOptionsEvent(this)); final Intent intent = new Intent(context, PickerActivity.class); + intent.putExtra("camera_image_path", mCameraImagePath); context.startActivity(intent); - } @@ -112,6 +113,7 @@ public static class Builder { private int mCaptureItemIconTintColor; private boolean mShouldShowCaptureMenuItem; private int mCheckIconTintColor; + private String mCameraImagePath; //Use (Context,PickListener,themeResId) instead @@ -141,12 +143,12 @@ private void init() { final TypedValue typedValue = new TypedValue(); initUsingColorAccent(typedValue); - mImageBackgroundColor = mContext.getResources().getColor(R.color.alter_unchecked_image_background); - mImageCheckColor = mContext.getResources().getColor(R.color.alter_image_check_color); - mCheckedImageOverlayColor = mContext.getResources().getColor(R.color.alter_checked_photo_overlay); - mAlbumBackgroundColor = mContext.getResources().getColor(R.color.alter_album_background); - mAlbumNameTextColor = mContext.getResources().getColor(R.color.alter_album_name_text_color); - mAlbumImagesCountTextColor = mContext.getResources().getColor(R.color.alter_album_images_count_text_color); + mImageBackgroundColor = this.getColor(R.color.alter_unchecked_image_background); + mImageCheckColor = this.getColor(R.color.alter_image_check_color); + mCheckedImageOverlayColor = this.getColor(R.color.alter_checked_photo_overlay); + mAlbumBackgroundColor = this.getColor(R.color.alter_album_background); + mAlbumNameTextColor = this.getColor(R.color.alter_album_name_text_color); + mAlbumImagesCountTextColor = this.getColor(R.color.alter_album_images_count_text_color); mFabBackgroundColorWhenPressed = ColorUtils.setAlphaComponent(mFabBackgroundColor, (int) (android.graphics.Color.alpha(mFabBackgroundColor) * 0.8f)); mPickMode = PickMode.MULTIPLE_IMAGES; @@ -157,6 +159,7 @@ private void init() { mCheckIconTintColor = Color.WHITE; + mCameraImagePath = "captured_images"; } @@ -252,11 +255,25 @@ public Picker.Builder setCheckIconTintColor(@ColorInt final int color) { return this; } + public Picker.Builder setCameraImageFolder(final String path) { + mCameraImagePath = path; + return this; + } + public Picker build() { return new Picker(this); } + //Marshmallow deprecated getColor. + @SuppressWarnings("deprecation") + @TargetApi(Build.VERSION_CODES.M) + public int getColor(int color) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + return mContext.getResources().getColor(color, null); + } + return mContext.getResources().getColor(color); + } } } From cd86463d7b37307edcadfac8abdbad250e1a0a8a Mon Sep 17 00:00:00 2001 From: Joe Ginley Date: Sat, 5 Sep 2015 03:55:13 -0400 Subject: [PATCH 2/2] camera image path fix. --- .../main/java/net/yazeed44/imagepicker/ui/PickerActivity.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/PickerActivity.java b/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/PickerActivity.java index 26697c8..cdc5a61 100644 --- a/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/PickerActivity.java +++ b/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/PickerActivity.java @@ -45,7 +45,7 @@ public class PickerActivity extends AppCompatActivity { public static final String KEY_ACTION_BAR_TITLE = "actionBarKey"; public static final String KEY_SHOULD_SHOW_ACTIONBAR_UP = "shouldShowUpKey"; public static String CAPTURED_IMAGES_ALBUM_NAME; - public static final String CAPTURED_IMAGES_DIR = Environment.getExternalStoragePublicDirectory(CAPTURED_IMAGES_ALBUM_NAME).getAbsolutePath(); + public static String CAPTURED_IMAGES_DIR; private static final int REQUEST_PORTRAIT_RFC = 1337; private static final int REQUEST_PORTRAIT_FFC = REQUEST_PORTRAIT_RFC + 1; public static ArrayList sCheckedImages = new ArrayList<>(); @@ -78,6 +78,7 @@ protected void onCreate(Bundle savedInstanceState) { //Grab intent extras here. //camera_image_path will always be set so no need to check if the key exists. CAPTURED_IMAGES_ALBUM_NAME = getIntent().getExtras().getString("camera_image_path"); + CAPTURED_IMAGES_DIR = Environment.getExternalStoragePublicDirectory(CAPTURED_IMAGES_ALBUM_NAME).getAbsolutePath(); setContentView(R.layout.activity_pick); addToolbarToLayout();