From b71fe321e87ede202c70263d2f8307c6eb7ac9b8 Mon Sep 17 00:00:00 2001 From: jimmy0251 Date: Thu, 9 Mar 2017 01:14:40 +0530 Subject: [PATCH 1/2] Add option to set check icon tint while in Unchecked state --- .../imagepicker/ui/ImagesThumbnailAdapter.java | 17 +++++++++++++---- .../net/yazeed44/imagepicker/util/Picker.java | 10 ++++++++++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/ImagesThumbnailAdapter.java b/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/ImagesThumbnailAdapter.java index cae7b02..c12fcba 100644 --- a/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/ImagesThumbnailAdapter.java +++ b/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/ImagesThumbnailAdapter.java @@ -35,6 +35,7 @@ public class ImagesThumbnailAdapter extends RecyclerView.Adapter Date: Tue, 28 May 2019 12:19:35 +0530 Subject: [PATCH 2/2] Update gradle, add prompt message for limit --- app/build.gradle | 16 +++++------ .../multiimagepicker/MainActivity.java | 1 - build.gradle | 19 +++++++++---- gradle/wrapper/gradle-wrapper.properties | 4 +-- imagepicker/build.gradle | 28 +++++++++---------- .../imagepicker/ui/AlbumsAdapter.java | 1 - .../imagepicker/ui/ImagePagerAdapter.java | 1 - .../ui/ImagesThumbnailAdapter.java | 4 +-- .../imagepicker/ui/PickerActivity.java | 13 +++------ .../net/yazeed44/imagepicker/util/Picker.java | 13 +++++++++ 10 files changed, 55 insertions(+), 45 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 78bb09b..4ec3639 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,15 +1,14 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 23 - buildToolsVersion '23.0.2' + compileSdkVersion 28 defaultConfig { applicationId "net.yazeed44.imagepicker.sample" minSdkVersion 15 - targetSdkVersion 23 - versionCode 3 - versionName "1.3.1" + targetSdkVersion 28 + versionCode 4 + versionName "1.3.2" } buildTypes { release { @@ -33,11 +32,12 @@ repositories { dependencies { - compile fileTree(include: ['*.jar'], dir: 'libs') - compile project(':imagepicker') - compile('com.github.afollestad.material-dialogs:core:0.8.5.3@aar') { + implementation fileTree(include: ['*.jar'], dir: 'libs') + implementation project(':imagepicker') + implementation('com.github.afollestad.material-dialogs:core:0.8.5.3@aar') { transitive = true } + implementation 'com.github.bumptech.glide:glide:4.9.0' } // Remove comment to exclude cwac-cam2 dependency to make the capture feature unavailable diff --git a/app/src/main/java/net/yazeed44/multiimagepicker/MainActivity.java b/app/src/main/java/net/yazeed44/multiimagepicker/MainActivity.java index 956cd7f..1c70c11 100644 --- a/app/src/main/java/net/yazeed44/multiimagepicker/MainActivity.java +++ b/app/src/main/java/net/yazeed44/multiimagepicker/MainActivity.java @@ -177,7 +177,6 @@ private void loadImage(final String path, final ImageView imageView) { Glide.with(MainActivity.this) .load(path) - .asBitmap() .into(imageView); diff --git a/build.gradle b/build.gradle index ac702f5..a9039ef 100644 --- a/build.gradle +++ b/build.gradle @@ -3,15 +3,18 @@ buildscript { repositories { + maven { + url 'https://maven.google.com/' + name 'Google' + } jcenter() - } dependencies { - classpath 'com.android.tools.build:gradle:1.3.0' - classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2' - classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3' + classpath 'com.android.tools.build:gradle:3.4.1' + classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' + classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } @@ -22,11 +25,15 @@ buildscript { allprojects { repositories { + maven { + url 'https://maven.google.com/' + name 'Google' + } jcenter() - maven { - url "https://repo.commonsware.com.s3.amazonaws.com" + url "https://s3.amazonaws.com/repo.commonsware.com" } + } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ac5e5e3..207473f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Jul 22 16:23:45 AST 2015 +#Tue May 28 09:22:12 IST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip diff --git a/imagepicker/build.gradle b/imagepicker/build.gradle index fecb1a3..fa69368 100644 --- a/imagepicker/build.gradle +++ b/imagepicker/build.gradle @@ -26,12 +26,11 @@ ext { android { - compileSdkVersion 23 - buildToolsVersion '23.0.2' + compileSdkVersion 28 defaultConfig { minSdkVersion 15 - targetSdkVersion 23 + targetSdkVersion 28 } buildTypes { @@ -51,17 +50,18 @@ repositories { dependencies { - compile fileTree(include: ['*.jar'], dir: 'libs') - compile 'com.android.support:support-annotations:23.1.1' - compile 'com.android.support:recyclerview-v7:23.1.1' - compile 'com.android.support:appcompat-v7:23.1.1' - compile 'com.android.support:design:23.1.1' - compile 'com.github.bumptech.glide:glide:3.6.1' - compile 'com.octo.android.robospice:robospice:1.4.14' - compile 'com.melnykov:floatingactionbutton:1.3.0' - compile 'de.greenrobot:eventbus:2.4.0' - compile 'com.github.chrisbanes.photoview:library:1.2.3' - compile 'com.commonsware.cwac:cam2:0.2.3' + implementation fileTree(include: ['*.jar'], dir: 'libs') + implementation 'com.android.support:support-annotations:28.0.0' + implementation 'com.android.support:recyclerview-v7:28.0.0' + implementation 'com.android.support:appcompat-v7:28.0.0' + implementation "com.android.support:support-v4:28.0.0" + implementation 'com.android.support:design:28.0.0' + implementation 'com.github.bumptech.glide:glide:4.9.0' + implementation 'com.octo.android.robospice:robospice:1.4.14' + implementation 'com.melnykov:floatingactionbutton:1.3.0' + implementation 'de.greenrobot:eventbus:2.4.0' + implementation 'com.github.chrisbanes.photoview:library:1.2.3' + implementation 'com.commonsware.cwac:cam2:0.2.3' } apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle' diff --git a/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/AlbumsAdapter.java b/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/AlbumsAdapter.java index 844e0cd..dd2e02b 100644 --- a/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/AlbumsAdapter.java +++ b/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/AlbumsAdapter.java @@ -93,7 +93,6 @@ public void setupAlbum(final AlbumViewHolder holder, final AlbumEntry album) { Glide.with(mFragment) .load(album.coverImage.path) - .asBitmap() .centerCrop() .into(holder.thumbnail); diff --git a/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/ImagePagerAdapter.java b/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/ImagePagerAdapter.java index 064fdcd..780d72f 100644 --- a/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/ImagePagerAdapter.java +++ b/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/ImagePagerAdapter.java @@ -49,7 +49,6 @@ public Object instantiateItem(ViewGroup container, int position) { Glide.with(mFragment) .load(imageEntry.path) - .asBitmap() .into(view); container.addView(view, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); diff --git a/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/ImagesThumbnailAdapter.java b/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/ImagesThumbnailAdapter.java index c12fcba..7a54027 100644 --- a/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/ImagesThumbnailAdapter.java +++ b/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/ImagesThumbnailAdapter.java @@ -116,10 +116,8 @@ public void displayThumbnail(final ImageViewHolder holder, final ImageEntry phot Glide.with(mFragment) .load(photo.path) - .asBitmap() .centerCrop() - .into(holder.thumbnail) - ; + .into(holder.thumbnail); } 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 b26d458..908170c 100644 --- a/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/PickerActivity.java +++ b/imagepicker/src/main/java/net/yazeed44/imagepicker/ui/PickerActivity.java @@ -98,7 +98,7 @@ private void initTheme() { } private void addToolbarToLayout() { - final AppBarLayout appBarLayout = (AppBarLayout) findViewById(R.id.app_bar_layout); + final AppBarLayout appBarLayout = findViewById(R.id.app_bar_layout); final AppBarLayout.LayoutParams toolbarParams = new AppBarLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, Util.getActionBarHeight(this)); toolbarParams.setScrollFlags(AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL | AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS); @@ -146,7 +146,7 @@ public void initFab() { doneIcon = DrawableCompat.wrap(doneIcon); DrawableCompat.setTint(doneIcon, mPickOptions.doneFabIconTintColor); - mDoneFab = (com.melnykov.fab.FloatingActionButton) findViewById(R.id.fab_done); + mDoneFab = findViewById(R.id.fab_done); mDoneFab.setImageDrawable(doneIcon); mDoneFab.setColorNormal(mPickOptions.fabBackgroundColor); mDoneFab.setColorPressed(mPickOptions.fabBackgroundColorWhenPressed); @@ -335,8 +335,6 @@ public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_deselect_all, menu); - - mSelectAllMenuItem = menu.findItem(R.id.action_select_all); mDeselectAllMenuItem = menu.findItem(R.id.action_deselect_all); @@ -437,7 +435,7 @@ private void selectAllImages() { if (mPickOptions.limit != NO_LIMIT && sCheckedImages.size() + 1 > mPickOptions.limit) { //Hit the limit - Toast.makeText(this, R.string.you_cant_check_more_images, Toast.LENGTH_SHORT).show(); + Toast.makeText(this,mPickOptions.limitMessage, Toast.LENGTH_SHORT).show(); break; } @@ -539,7 +537,7 @@ private void handleMultipleModeAddition(final ImageEntry imageEntry) { imageEntry.isPicked = true; sCheckedImages.add(imageEntry); } else { - Toast.makeText(this, R.string.you_cant_check_more_images, Toast.LENGTH_SHORT).show(); + Toast.makeText(this, mPickOptions.limitMessage, Toast.LENGTH_SHORT).show(); Log.i("onPickImage", "You can't check more images"); } @@ -586,7 +584,6 @@ private void handleToolbarVisibility(final boolean show) { } - public void onEvent(final Events.OnClickAlbumEvent albumEvent) { mSelectedAlbum = albumEvent.albumEntry; @@ -687,6 +684,4 @@ public void onEvent(final Events.OnHidingToolbarEvent hidingToolbarEvent) { } - - } 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 c3f9366..e203d0e 100644 --- a/imagepicker/src/main/java/net/yazeed44/imagepicker/util/Picker.java +++ b/imagepicker/src/main/java/net/yazeed44/imagepicker/util/Picker.java @@ -25,6 +25,7 @@ public final class Picker { public final int limit; + public final String limitMessage; public final Context context; public final int fabBackgroundColor; public final int fabBackgroundColorWhenPressed; @@ -53,6 +54,7 @@ public final class Picker { private Picker(final Builder builder) { context = builder.mContext; limit = builder.mLimit; + limitMessage = builder.mLimitMessage; fabBackgroundColor = builder.mFabBackgroundColor; fabBackgroundColorWhenPressed = builder.mFabBackgroundColorWhenPressed; imageBackgroundColorWhenChecked = builder.mImageBackgroundColorWhenChecked; @@ -108,6 +110,7 @@ public static class Builder { private final PickListener mPickListener; private final int mThemeResId; private int mLimit = PickerActivity.NO_LIMIT; + private String mLimitMessage; private int mFabBackgroundColor; private int mFabBackgroundColorWhenPressed; private int mImageBackgroundColorWhenChecked; @@ -200,6 +203,16 @@ public Picker.Builder setLimit(final int limit) { return this; } + public Picker.Builder setMessageForLimit(final int resId) { + mLimitMessage = mContext.getString(resId); + return this; + } + + public Picker.Builder setMessageForLimit(final String message) { + mLimitMessage = message; + return this; + } + public Picker.Builder setFabBackgroundColor(@ColorInt final int color) { mFabBackgroundColor = color; return this;