Skip to content

Commit d940818

Browse files
Zhengfa DANGZhengfa DANG
Zhengfa DANG
authored and
Zhengfa DANG
committed
update dependencies, to fix camera for targetAPI>=24
1 parent 2ed3572 commit d940818

File tree

6 files changed

+94
-47
lines changed

6 files changed

+94
-47
lines changed

build.gradle

+19-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
// Top-level build file where you can add configuration options common to all sub-projects/modules.
2-
apply plugin: 'com.github.ben-manes.versions'
2+
apply plugin: "com.github.ben-manes.versions"
33

44
buildscript {
55
repositories {
66
jcenter()
7+
google()
8+
79
}
810
dependencies {
9-
classpath 'com.android.tools.build:gradle:2.1.0'
11+
classpath 'com.android.tools.build:gradle:3.2.1'
1012

11-
classpath 'com.github.ben-manes:gradle-versions-plugin:0.12.0'
13+
classpath 'com.github.ben-manes:gradle-versions-plugin:0.20.0'
1214
// NOTE: Do not place your application dependencies here; they belong
1315
// in the individual module build.gradle files
1416
}
@@ -17,9 +19,23 @@ buildscript {
1719
allprojects {
1820
repositories {
1921
jcenter()
22+
google()
2023
}
2124
}
2225

2326
task clean(type: Delete) {
2427
delete rootProject.buildDir
2528
}
29+
30+
ext {
31+
minSdkVersion = 17
32+
targetSdkVersion = 24
33+
compileSdkVersion = 26
34+
// https://developer.android.com/studio/releases/build-tools
35+
buildToolsVersion = '28.0.3'
36+
FRESCO_VERSION = '1.11.0'
37+
// https://developer.android.com/topic/libraries/support-library/revisions
38+
SUPPORT_LIBRARY_VERSION = '27.1.1'
39+
RXJAVA2_VERSION = '2.2.3'
40+
RXANDROID2_VERSION = '2.1.0'
41+
}

demo/build.gradle

+20-11
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
apply plugin: 'com.android.application'
22

33
android {
4-
compileSdkVersion 23
5-
buildToolsVersion "23.0.2"
4+
compileSdkVersion rootProject.compileSdkVersion
5+
buildToolsVersion rootProject.buildToolsVersion
66

77
defaultConfig {
88
applicationId "com.zfdang.multipleimagesselector"
9-
minSdkVersion 15
10-
targetSdkVersion 23
9+
minSdkVersion rootProject.minSdkVersion
10+
targetSdkVersion rootProject.targetSdkVersion
1111
versionCode 1
1212
versionName "1.0"
1313
}
@@ -20,11 +20,20 @@ android {
2020
}
2121

2222
dependencies {
23-
compile fileTree(include: ['*.jar'], dir: 'libs')
24-
testCompile 'junit:junit:4.12'
25-
compile 'com.android.support:appcompat-v7:23.3.0'
26-
compile 'com.android.support:design:23.3.0'
27-
compile 'com.android.support:support-v4:23.3.0'
28-
compile 'com.android.support:recyclerview-v7:23.3.0'
29-
compile project(':multiple-images-selector')
23+
implementation fileTree(include: ['*.jar'], dir: 'libs')
24+
testImplementation 'junit:junit:4.12'
25+
implementation "com.android.support:appcompat-v7:$rootProject.SUPPORT_LIBRARY_VERSION"
26+
implementation "com.android.support:design:$rootProject.SUPPORT_LIBRARY_VERSION"
27+
implementation "com.android.support:support-v4:$rootProject.SUPPORT_LIBRARY_VERSION"
28+
implementation "com.android.support:recyclerview-v7:$rootProject.SUPPORT_LIBRARY_VERSION"
29+
implementation project(':multiple-images-selector')
30+
31+
// Fresco
32+
implementation "com.facebook.fresco:fresco:$rootProject.FRESCO_VERSION"
33+
// For animated GIF support
34+
implementation "com.facebook.fresco:animated-gif:$rootProject.FRESCO_VERSION"
35+
// For WebP support, including animated WebP
36+
implementation "com.facebook.fresco:webpsupport:$rootProject.FRESCO_VERSION"
37+
implementation "com.facebook.fresco:animated-webp:$rootProject.FRESCO_VERSION"
38+
3039
}

demo/src/main/java/com/zfdang/demo/DemoApplication.java

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import com.facebook.drawee.backends.pipeline.Fresco;
66

7+
78
/**
89
* Created by zfdang on 2016-4-15.
910
*/

gradle/wrapper/gradle-wrapper.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip

multiple-images-selector/build.gradle

+21-18
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@ apply plugin: 'com.android.library'
33
ext {
44
PUBLISH_GROUP_ID = 'com.zfdang.multiple-images-selector'
55
PUBLISH_ARTIFACT_ID = 'multiple-images-selector'
6-
PUBLISH_VERSION = '1.1.3'
6+
PUBLISH_VERSION = '1.1.5'
77
}
88

99
android {
10-
compileSdkVersion 23
11-
buildToolsVersion "23.0.2"
10+
compileSdkVersion rootProject.compileSdkVersion
11+
buildToolsVersion rootProject.buildToolsVersion
1212

1313
defaultConfig {
14-
minSdkVersion 15
15-
targetSdkVersion 23
14+
minSdkVersion rootProject.minSdkVersion
15+
targetSdkVersion rootProject.targetSdkVersion
1616
versionCode 1
1717
versionName "1.0"
1818
}
@@ -25,22 +25,25 @@ android {
2525
}
2626

2727
dependencies {
28-
compile fileTree(include: ['*.jar'], dir: 'libs')
29-
testCompile 'junit:junit:4.12'
30-
compile 'com.android.support:appcompat-v7:23.3.0'
31-
compile 'com.android.support:recyclerview-v7:23.3.0'
32-
compile 'com.android.support:support-v4:23.3.0'
33-
compile 'io.reactivex:rxjava:1.1.3'
34-
compile 'io.reactivex:rxandroid:1.1.0'
35-
36-
compile 'com.facebook.fresco:fresco:0.10.0'
28+
implementation fileTree(include: ['*.jar'], dir: 'libs')
29+
testImplementation 'junit:junit:4.12'
30+
implementation "com.android.support:appcompat-v7:$rootProject.SUPPORT_LIBRARY_VERSION"
31+
implementation "com.android.support:recyclerview-v7:$rootProject.SUPPORT_LIBRARY_VERSION"
32+
implementation "com.android.support:support-v4:$rootProject.SUPPORT_LIBRARY_VERSION"
33+
implementation "io.reactivex.rxjava2:rxjava:$rootProject.RXJAVA2_VERSION"
34+
implementation "io.reactivex.rxjava2:rxandroid:$rootProject.RXANDROID2_VERSION"
35+
36+
37+
// Fresco
38+
implementation "com.facebook.fresco:fresco:$rootProject.FRESCO_VERSION"
3739
// For animated GIF support
38-
compile 'com.facebook.fresco:animated-gif:0.10.0'
40+
implementation "com.facebook.fresco:animated-gif:$rootProject.FRESCO_VERSION"
3941
// For WebP support, including animated WebP
40-
compile 'com.facebook.fresco:animated-webp:0.10.0'
41-
compile 'com.facebook.fresco:webpsupport:0.10.0'
42+
implementation "com.facebook.fresco:webpsupport:$rootProject.FRESCO_VERSION"
43+
implementation "com.facebook.fresco:animated-webp:$rootProject.FRESCO_VERSION"
44+
4245

43-
compile 'xyz.danoz:recyclerviewfastscroller:0.1.3'
46+
implementation 'xyz.danoz:recyclerviewfastscroller:0.1.3'
4447
}
4548

4649
// https://github.com/blundell/release-android-library

multiple-images-selector/src/main/java/com/zfdang/multiple_images_selector/ImagesSelectorActivity.java

+32-14
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import android.database.Cursor;
1010
import android.net.Uri;
1111
import android.os.Bundle;
12+
import android.os.StrictMode;
1213
import android.provider.MediaStore;
1314
import android.support.v4.app.ActivityCompat;
1415
import android.support.v4.content.ContextCompat;
@@ -33,16 +34,22 @@
3334
import com.zfdang.multiple_images_selector.utilities.FileUtils;
3435
import com.zfdang.multiple_images_selector.utilities.StringUtils;
3536

37+
import org.reactivestreams.Subscriber;
38+
import org.reactivestreams.Subscription;
39+
3640
import java.io.File;
3741
import java.io.IOException;
3842
import java.util.ArrayList;
3943
import java.util.List;
4044

41-
import rx.Observable;
42-
import rx.Subscriber;
43-
import rx.android.schedulers.AndroidSchedulers;
44-
import rx.functions.Func1;
45-
import rx.schedulers.Schedulers;
45+
import io.reactivex.Observable;
46+
import io.reactivex.ObservableSource;
47+
import io.reactivex.Observer;
48+
import io.reactivex.android.schedulers.AndroidSchedulers;
49+
import io.reactivex.disposables.Disposable;
50+
import io.reactivex.functions.Function;
51+
import io.reactivex.internal.operators.observable.ObserverResourceWrapper;
52+
import io.reactivex.schedulers.Schedulers;
4653
import xyz.danoz.recyclerviewfastscroller.vertical.VerticalRecyclerViewFastScroller;
4754

4855
public class ImagesSelectorActivity extends AppCompatActivity
@@ -96,6 +103,10 @@ protected void onCreate(Bundle savedInstanceState) {
96103
ImageListContent.SELECTED_IMAGES.addAll(selected);
97104
}
98105

106+
// https://stackoverflow.com/questions/41144898/android-camera-intent-fileuriexposedexception-for-sdk-24
107+
StrictMode.VmPolicy.Builder newbuilder = new StrictMode.VmPolicy.Builder();
108+
StrictMode.setVmPolicy(newbuilder.build());
109+
99110
// initialize widgets in custom actionbar
100111
mButtonBack = (ImageView) findViewById(R.id.selector_button_back);
101112
mButtonBack.setOnClickListener(this);
@@ -222,10 +233,11 @@ public void onRequestPermissionsResult(int requestCode, String permissions[], in
222233
// this method is to load images and folders for all
223234
public void LoadFolderAndImages() {
224235
Log.d(TAG, "Load Folder And Images...");
236+
225237
Observable.just("")
226-
.flatMap(new Func1<String, Observable<ImageItem>>() {
238+
.flatMap(new Function<String, Observable<ImageItem>>() {
227239
@Override
228-
public Observable<ImageItem> call(String folder) {
240+
public Observable<ImageItem> apply(String folder) throws Exception {
229241
List<ImageItem> results = new ArrayList<>();
230242

231243
Uri contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
@@ -282,19 +294,15 @@ public Observable<ImageItem> call(String folder) {
282294
} while (cursor.moveToNext());
283295
cursor.close();
284296
} // } else if (cursor.moveToFirst()) {
285-
return Observable.from(results);
297+
return Observable.fromIterable(results);
286298
}
287299
})
288300
.subscribeOn(Schedulers.io())
289301
.observeOn(AndroidSchedulers.mainThread())
290-
.subscribe(new Subscriber<ImageItem>() {
302+
.subscribe(new Observer<ImageItem>() {
291303
@Override
292-
public void onCompleted() {
293-
}
304+
public void onSubscribe(Disposable d) {
294305

295-
@Override
296-
public void onError(Throwable e) {
297-
Log.d(TAG, "onError: " + Log.getStackTraceString(e));
298306
}
299307

300308
@Override
@@ -303,6 +311,16 @@ public void onNext(ImageItem imageItem) {
303311
ImageListContent.addItem(imageItem);
304312
recyclerView.getAdapter().notifyItemChanged(ImageListContent.IMAGES.size()-1);
305313
}
314+
315+
@Override
316+
public void onError(Throwable e) {
317+
Log.d(TAG, "onError: " + Log.getStackTraceString(e));
318+
}
319+
320+
@Override
321+
public void onComplete() {
322+
323+
}
306324
});
307325
}
308326

0 commit comments

Comments
 (0)