diff --git a/build.gradle b/build.gradle index c180dd4b..1c0aca14 100644 --- a/build.gradle +++ b/build.gradle @@ -1,26 +1,21 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. - buildscript { repositories { jcenter() mavenCentral() + google() } dependencies { - classpath 'com.android.tools.build:gradle:2.1.3' - classpath 'me.tatarka:gradle-retrolambda:3.2.5' - classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.5.0' - classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' - classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7' + classpath 'com.android.tools.build:gradle:3.1.4' + classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' + classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3' } - - - // Exclude the version that the android plugin depends on. - configurations.classpath.exclude group: 'com.android.tools.external.lombok' } allprojects { repositories { + google() jcenter() + maven { url "https://jitpack.io" } } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 098fb0a2..96f930c9 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#AT +#Mon Sep 03 16:48:40 CST 2018 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-4.4-all.zip diff --git a/library/build.gradle b/library/build.gradle index 37f3035a..86fa08f6 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,24 +1,17 @@ apply plugin: 'com.android.library' -apply plugin: 'me.tatarka.retrolambda' apply plugin: 'com.github.dcendents.android-maven' apply plugin: "com.jfrog.bintray" version = "1.1.3" android { - compileSdkVersion 25 - buildToolsVersion '25.0.3' - - // compileSdkVersion 24 - // buildToolsVersion '24' + compileSdkVersion 27 defaultConfig { minSdkVersion 14 - targetSdkVersion 25 - // targetSdkVersion 24 + targetSdkVersion 27 versionCode 3 versionName version - vectorDrawables.useSupportLibrary = true } compileOptions { @@ -28,7 +21,6 @@ android { lintOptions { abortOnError false checkReleaseBuilds false - } resourcePrefix "gallery_" } @@ -36,22 +28,18 @@ android { dependencies { - compile fileTree(include: ['*.jar'], dir: 'libs') - testCompile 'junit:junit:4.12' - compile 'io.reactivex.rxjava2:rxandroid:2.0.1' - compile 'io.reactivex.rxjava2:rxjava:2.1.0' - compile 'com.yalantis:ucrop:2.2.0' - compile 'com.android.support:recyclerview-v7:25.3.1' - compile 'com.android.support:appcompat-v7:25.3.1' - compile "com.android.support:exifinterface:25.3.1" - /* compile 'com.android.support:recyclerview-v7:24.2.0' - compile 'com.android.support:appcompat-v7:24.2.0' - compile "com.android.support:exifinterface:25.1.0"*/ - provided 'com.squareup.picasso:picasso:2.5.2' - provided 'com.facebook.fresco:fresco:1.3.0' - provided 'com.facebook.fresco:animated-gif:1.3.0' - provided 'com.github.bumptech.glide:glide:3.7.0' - provided 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' + api fileTree(include: ['*.jar'], dir: 'libs') + api 'io.reactivex.rxjava2:rxandroid:2.1.0' + api 'io.reactivex.rxjava2:rxjava:2.2.1' + api 'com.android.support:recyclerview-v7:27.1.1' + api 'com.android.support:appcompat-v7:27.1.1' + api 'com.android.support:exifinterface:27.1.1' + api 'com.yalantis:ucrop:2.2.0' + compileOnly 'com.squareup.picasso:picasso:2.71828' + compileOnly 'com.facebook.fresco:fresco:1.10.0' + compileOnly 'com.facebook.fresco:animated-gif:1.10.0' + compileOnly 'com.github.bumptech.glide:glide:4.7.1' + compileOnly 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' } //===================================upload jcenter================================================= diff --git a/library/src/main/java/cn/finalteam/rxgalleryfinal/imageloader/GlideImageLoader.java b/library/src/main/java/cn/finalteam/rxgalleryfinal/imageloader/GlideImageLoader.java index 857a3834..706e8326 100644 --- a/library/src/main/java/cn/finalteam/rxgalleryfinal/imageloader/GlideImageLoader.java +++ b/library/src/main/java/cn/finalteam/rxgalleryfinal/imageloader/GlideImageLoader.java @@ -6,6 +6,7 @@ import com.bumptech.glide.Glide; import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.bumptech.glide.request.RequestOptions; import cn.finalteam.rxgalleryfinal.imageloader.rotate.RotateTransformation; import cn.finalteam.rxgalleryfinal.ui.widget.FixImageView; @@ -15,49 +16,31 @@ */ public class GlideImageLoader implements AbsImageLoader { + @Override public void displayImage(Context context, String path, FixImageView imageView, Drawable defaultDrawable, Bitmap.Config config, boolean resize, boolean isGif, int width, int height, int rotate) { -// DrawableRequestBuilder builder; -// if (path != null) { -// builder = Glide.with(context) -// .load(new File(path)). -// .placeholder(defaultDrawable); -// -// } else { -// builder = Glide.with(context) -// .load(new File("/sdcard")) -// .placeholder(defaultDrawable); -// } -// if (resize) { -// builder = builder.override(width, height); -// } -// builder -// .crossFade() -// .transform(new RotateTransformation(context, rotate)) -// .diskCacheStrategy(DiskCacheStrategy.NONE) -// .into(imageView); - if (isGif) { Glide .with(context) .load(path) - .placeholder(defaultDrawable) - .error(defaultDrawable) - .override(width, height) - .crossFade() - .transform(new RotateTransformation(context, rotate)) - .diskCacheStrategy(DiskCacheStrategy.NONE) + .apply(new RequestOptions() + .placeholder(defaultDrawable) + .error(defaultDrawable) + .override(width, height) + .transform(new RotateTransformation(rotate)) + .diskCacheStrategy(DiskCacheStrategy.NONE)) .into(imageView); } else { Glide .with(context) - .load(path) .asBitmap() - .placeholder(defaultDrawable) - .error(defaultDrawable) - .override(width, height) - .transform(new RotateTransformation(context, rotate)) - .diskCacheStrategy(DiskCacheStrategy.NONE) + .load(path) + .apply(new RequestOptions() + .placeholder(defaultDrawable) + .error(defaultDrawable) + .override(width, height) + .transform(new RotateTransformation(rotate)) + .diskCacheStrategy(DiskCacheStrategy.NONE)) .into(imageView); } } diff --git a/library/src/main/java/cn/finalteam/rxgalleryfinal/imageloader/PicassoImageLoader.java b/library/src/main/java/cn/finalteam/rxgalleryfinal/imageloader/PicassoImageLoader.java index 15eec135..5243c26e 100644 --- a/library/src/main/java/cn/finalteam/rxgalleryfinal/imageloader/PicassoImageLoader.java +++ b/library/src/main/java/cn/finalteam/rxgalleryfinal/imageloader/PicassoImageLoader.java @@ -23,7 +23,7 @@ public class PicassoImageLoader implements AbsImageLoader { @Override public void displayImage(Context context, String path, FixImageView imageView, Drawable defaultDrawable, Bitmap.Config config, boolean resize, boolean isGif, int width, int height, int rotate) { - RequestCreator creator = Picasso.with(context) + RequestCreator creator = Picasso.get() .load(new File(path)) .placeholder(defaultDrawable) .error(defaultDrawable) @@ -32,8 +32,7 @@ public void displayImage(Context context, String path, FixImageView imageView, D .config(config) .tag(context); if (resize) { - creator = creator.resize(width, height) - .centerCrop(); + creator = creator.resize(width, height).centerCrop(); } creator.into(imageView); } diff --git a/library/src/main/java/cn/finalteam/rxgalleryfinal/imageloader/rotate/RotateTransformation.java b/library/src/main/java/cn/finalteam/rxgalleryfinal/imageloader/rotate/RotateTransformation.java index f7257dfc..8c9527c6 100644 --- a/library/src/main/java/cn/finalteam/rxgalleryfinal/imageloader/rotate/RotateTransformation.java +++ b/library/src/main/java/cn/finalteam/rxgalleryfinal/imageloader/rotate/RotateTransformation.java @@ -1,34 +1,33 @@ package cn.finalteam.rxgalleryfinal.imageloader.rotate; -import android.content.Context; import android.graphics.Bitmap; import android.graphics.Matrix; +import android.support.annotation.NonNull; import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; import com.bumptech.glide.load.resource.bitmap.BitmapTransformation; +import java.security.MessageDigest; + /** * Created by pengjianbo Dujinyang on 2016/8/16 0016. */ public class RotateTransformation extends BitmapTransformation { - private float rotateRotationAngle = 0f; - - public RotateTransformation(Context context, float rotateRotationAngle) { - super(context); + private float rotateRotationAngle; + public RotateTransformation(float rotateRotationAngle) { this.rotateRotationAngle = rotateRotationAngle; } @Override - protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) { + protected Bitmap transform(@NonNull BitmapPool pool, @NonNull Bitmap toTransform, int outWidth, int outHeight) { Matrix matrix = new Matrix(); matrix.postRotate(rotateRotationAngle); return Bitmap.createBitmap(toTransform, 0, 0, toTransform.getWidth(), toTransform.getHeight(), matrix, true); } @Override - public String getId() { - return "rotate" + rotateRotationAngle; + public void updateDiskCacheKey(@NonNull MessageDigest messageDigest) { } } diff --git a/sample/build.gradle b/sample/build.gradle index 7a00f443..aa508886 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -1,16 +1,11 @@ apply plugin: 'com.android.application' -apply plugin: 'com.getkeepsafe.dexcount' android { - compileSdkVersion 24 - buildToolsVersion '25.0.3' - // buildToolsVersion '24' - + compileSdkVersion 27 defaultConfig { applicationId "cn.finalteam.rxgalleryfinal.sample" minSdkVersion 14 - targetSdkVersion 25 - // targetSdkVersion 24 + targetSdkVersion 27 versionCode 1 versionName "1.0" } @@ -19,28 +14,29 @@ android { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } - debug { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } - lintOptions { abortOnError false } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } } dependencies { - compile fileTree(include: ['*.jar'], dir: 'libs') - testCompile 'junit:junit:4.12' - compile 'com.squareup.picasso:picasso:2.5.2' - compile 'com.facebook.fresco:fresco:1.3.0' - compile 'com.facebook.fresco:animated-gif:1.3.0' - compile 'com.github.bumptech.glide:glide:3.7.0' - compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' - debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.1' - releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1' - testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1' - compile project(':library') + implementation fileTree(include: ['*.jar'], dir: 'libs') + implementation 'com.squareup.picasso:picasso:2.71828' + implementation 'com.facebook.fresco:fresco:1.10.0' + implementation 'com.facebook.fresco:animated-gif:1.10.0' + implementation 'com.github.bumptech.glide:glide:4.7.1' + implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' + debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.1' + releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.1' + androidTestImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.1' + implementation project(':library') } diff --git a/sample/src/androidTest/java/cn/finalteam/rxgalleryfinal/sample/ApplicationTest.java b/sample/src/androidTest/java/cn/finalteam/rxgalleryfinal/sample/ApplicationTest.java deleted file mode 100644 index 8df98c42..00000000 --- a/sample/src/androidTest/java/cn/finalteam/rxgalleryfinal/sample/ApplicationTest.java +++ /dev/null @@ -1,13 +0,0 @@ -package cn.finalteam.rxgalleryfinal.sample; - -import android.app.Application; -import android.test.ApplicationTestCase; - -/** - * Testing Fundamentals - */ -public class ApplicationTest extends ApplicationTestCase { - public ApplicationTest() { - super(Application.class); - } -} \ No newline at end of file diff --git a/sample/src/main/java/cn/finalteam/rxgalleryfinal/sample/imageloader/ImageLoaderActivity.java b/sample/src/main/java/cn/finalteam/rxgalleryfinal/sample/imageloader/ImageLoaderActivity.java index 4b73bc00..27d8df87 100644 --- a/sample/src/main/java/cn/finalteam/rxgalleryfinal/sample/imageloader/ImageLoaderActivity.java +++ b/sample/src/main/java/cn/finalteam/rxgalleryfinal/sample/imageloader/ImageLoaderActivity.java @@ -4,7 +4,6 @@ import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.AppCompatCheckBox; -import android.view.View; import android.widget.Toast; import cn.finalteam.rxgalleryfinal.RxGalleryFinal; @@ -27,31 +26,11 @@ public class ImageLoaderActivity extends AppCompatActivity { protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_imageloader); - appCompatCheckBox = (AppCompatCheckBox) findViewById(R.id.cb_gif); - findViewById(R.id.btn_glide).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - start(ImageLoaderType.GLIDE); - } - }); - findViewById(R.id.btn_picasso).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - start(ImageLoaderType.PICASSO); - } - }); - findViewById(R.id.btn_fresco).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - start(ImageLoaderType.FRESCO); - } - }); - findViewById(R.id.btn_universal).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - start(ImageLoaderType.UNIVERSAL); - } - }); + appCompatCheckBox = findViewById(R.id.cb_gif); + findViewById(R.id.btn_glide).setOnClickListener(v -> start(ImageLoaderType.GLIDE)); + findViewById(R.id.btn_picasso).setOnClickListener(v -> start(ImageLoaderType.PICASSO)); + findViewById(R.id.btn_fresco).setOnClickListener(v -> start(ImageLoaderType.FRESCO)); + findViewById(R.id.btn_universal).setOnClickListener(v -> start(ImageLoaderType.UNIVERSAL)); } private void start(ImageLoaderType imageLoaderType) { @@ -69,7 +48,7 @@ private void start(ImageLoaderType imageLoaderType) { .imageLoader(imageLoaderType) .subscribe(new RxBusResultDisposable() { @Override - protected void onEvent(ImageRadioResultEvent imageRadioResultEvent) throws Exception { + protected void onEvent(ImageRadioResultEvent imageRadioResultEvent) { Toast.makeText(getBaseContext(), "选中了图片路径:" + imageRadioResultEvent.getResult().getOriginalPath(), Toast.LENGTH_SHORT).show(); } }).openGallery(); diff --git a/sample/src/test/java/cn/finalteam/rxgalleryfinal/sample/ExampleUnitTest.java b/sample/src/test/java/cn/finalteam/rxgalleryfinal/sample/ExampleUnitTest.java deleted file mode 100644 index e28579a7..00000000 --- a/sample/src/test/java/cn/finalteam/rxgalleryfinal/sample/ExampleUnitTest.java +++ /dev/null @@ -1,15 +0,0 @@ -package cn.finalteam.rxgalleryfinal.sample; - -import org.junit.Test; - -import static org.junit.Assert.*; - -/** - * To work on unit tests, switch the Test Artifact in the Build Variants view. - */ -public class ExampleUnitTest { - @Test - public void addition_isCorrect() throws Exception { - assertEquals(4, 2 + 2); - } -} \ No newline at end of file