Skip to content

Commit 2dd96ba

Browse files
committed
网络模块支持根据最新设置的config刷新管理者。
图片模块支持根据最新设置的config来加载图片。
1 parent ee4556d commit 2dd96ba

File tree

11 files changed

+54
-19
lines changed

11 files changed

+54
-19
lines changed

VERSION.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
## 版本信息
2+
- v1.0.10、1.0.11 (2018/6/6)
3+
- 图片加载模块的LoadOption新增边框颜色、边框粗细选项(目前仅适用于圆形模式)
4+
- 网络模块支持根据最新设置的config刷新管理者(DevRing.httpManager().refreshInstance();)
5+
- 图片模块支持根据最新设置的config来加载图片
6+
27
- v1.0.8、1.0.9 (2018/5/20)
38
- ActivityStackManager改为ActivityListManager
49
- 修复CacheManager中SpCache的小问题

app/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apply plugin: 'org.greenrobot.greendao'
33

44
android {
55
compileSdkVersion 27
6-
buildToolsVersion '26.0.2'
6+
buildToolsVersion '27.0.3'
77
defaultConfig {
88
applicationId "com.dev.base"
99
minSdkVersion 14
@@ -58,11 +58,11 @@ android {
5858
}
5959

6060
dependencies {
61-
compile fileTree(dir: 'libs', include: ['*.jar'])
62-
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
61+
api fileTree(dir: 'libs', include: ['*.jar'])
62+
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
6363
exclude group: 'com.android.support', module: 'support-annotations'
6464
})
65-
testCompile 'junit:junit:4.12'
65+
testImplementation 'junit:junit:4.12'
6666
api 'com.android.support:appcompat-v7:27.0.2'
6767
api 'com.android.support:design:27.0.2'
6868
api 'com.android.support:recyclerview-v7:27.0.2'

app/src/main/java/com/dev/base/mvp/model/imageload/FrescoManager.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import com.facebook.imagepipeline.listener.RequestLoggingListener;
4343
import com.facebook.imagepipeline.request.ImageRequest;
4444
import com.facebook.imagepipeline.request.ImageRequestBuilder;
45+
import com.ljy.devring.DevRing;
4546
import com.ljy.devring.image.support.IImageManager;
4647
import com.ljy.devring.image.support.ImageConfig;
4748
import com.ljy.devring.image.support.ImageListener;
@@ -372,6 +373,7 @@ private void load(Uri uri, ImageView imageView, LoadOption loadOption) {
372373

373374
//对Hierarchy进行设置,如各种状态下显示的图片
374375
private void setHierarchay(GenericDraweeHierarchy hierarchy, LoadOption loadOption) {
376+
mImageConfig = DevRing.ringComponent().imageConfig();
375377
if (loadOption == null) {
376378
if (mImageConfig.isShowTransition()) {
377379
hierarchy.setFadeDuration(600); //设置由进度条和占位符图片渐变过渡到加载完成的图片所使用的时间间隔

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ buildscript {
66
jcenter()
77
}
88
dependencies {
9-
classpath 'com.android.tools.build:gradle:3.0.0'
9+
classpath 'com.android.tools.build:gradle:3.1.2'
1010
//用于greendao
1111
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.0'
1212
//用于上传至Jcenter

devring/bintray.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ task javadoc(type: Javadoc){
4343
options.encoding = "UTF-8"
4444
source = android.sourceSets.main.java.srcDirs
4545
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
46+
options.charSet 'UTF-8'
47+
options.author true
48+
options.version true
49+
failOnError false
4650
}
4751

4852
task javadocJar(type: Jar, dependsOn: javadoc){

devring/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ apply plugin: 'com.android.library'
22

33
android {
44
compileSdkVersion 27
5-
buildToolsVersion '26.0.2'
5+
buildToolsVersion '27.0.3'
66

77
defaultConfig {
88
minSdkVersion 14
99
targetSdkVersion 23
10-
versionCode 11
11-
versionName "1.0.10"
10+
versionCode 12
11+
versionName "1.0.11"
1212

1313
}
1414

devring/src/main/java/com/ljy/devring/di/module/RingModule.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ SimpleArrayMap<Object, ITableManger> mapTableManager() {
7676

7777

7878
//══════════════════════网络模块开始══════════════════════
79-
@Singleton
79+
// @Singleton
8080
@Provides
8181
Retrofit retrofit(Retrofit.Builder builder, OkHttpClient okHttpClient, HttpConfig httpConfig) {
8282
if (!TextUtils.isEmpty(httpConfig.getBaseUrl())) {
@@ -92,13 +92,13 @@ Retrofit retrofit(Retrofit.Builder builder, OkHttpClient okHttpClient, HttpConfi
9292
return builder.build();
9393
}
9494

95-
@Singleton
95+
// @Singleton
9696
@Provides
9797
Retrofit.Builder retrofitBuilder() {
9898
return new Retrofit.Builder();
9999
}
100100

101-
@Singleton
101+
// @Singleton
102102
@Provides
103103
OkHttpClient okHttpClient(Application application, OkHttpClient.Builder builder, HttpConfig httpConfig, HttpProgressInterceptor progressInterceptor) {
104104
if (httpConfig.getConnectTimeout() > 0) {
@@ -130,7 +130,7 @@ OkHttpClient okHttpClient(Application application, OkHttpClient.Builder builder,
130130
return builder.build();
131131
}
132132

133-
@Singleton
133+
// @Singleton
134134
@Provides
135135
OkHttpClient.Builder okClientBuilder() {
136136
return new OkHttpClient.Builder();

devring/src/main/java/com/ljy/devring/http/HttpManager.java

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,15 @@
1414
import java.io.File;
1515
import java.io.FileOutputStream;
1616
import java.lang.ref.WeakReference;
17+
import java.util.ArrayList;
1718
import java.util.HashMap;
1819
import java.util.Iterator;
1920
import java.util.LinkedList;
2021
import java.util.List;
2122
import java.util.Map;
2223

2324
import javax.inject.Inject;
25+
import javax.inject.Provider;
2426
import javax.inject.Singleton;
2527

2628
import io.reactivex.Observable;
@@ -45,14 +47,18 @@ public class HttpManager {
4547
@Inject
4648
HttpProgressInterceptor mProgressInterceptor;
4749
@Inject
48-
Retrofit mRetrofit;
50+
Provider<Retrofit> mProviderRetrofit;
4951
@Inject
5052
MemoryCache mMemoryCache;
5153
@Inject
5254
HttpConfig mHttpConfig;
5355

56+
Retrofit mRetrofit;
57+
List<String> mListCacheKey;
58+
5459
@Inject
5560
public HttpManager() {
61+
mListCacheKey = new ArrayList<>();
5662
}
5763

5864
/**
@@ -61,10 +67,18 @@ public HttpManager() {
6167
* @return 相应的ApiService
6268
*/
6369
public <T> T getService(Class<T> serviceClass) {
64-
T service = (T) mMemoryCache.get(serviceClass.getCanonicalName());
70+
if (mRetrofit == null) {
71+
mRetrofit = mProviderRetrofit.get();
72+
}
73+
74+
String cacheKey = serviceClass.getCanonicalName();
75+
T service = (T) mMemoryCache.get(cacheKey);
6576
if (service == null) {
6677
service = mRetrofit.create(serviceClass);
67-
mMemoryCache.put(serviceClass.getCanonicalName(), service);
78+
mMemoryCache.put(cacheKey, service);
79+
if (!mListCacheKey.contains(cacheKey)) {
80+
mListCacheKey.add(cacheKey);
81+
}
6882
}
6983
return service;
7084
}
@@ -242,4 +256,13 @@ public Map<String, RequestBody> getRequestBodyMap(Map<String, File> map, MediaTy
242256
}
243257
return bodyMap;
244258
}
259+
260+
public void refreshInstance() {
261+
mRetrofit = null;
262+
mRetrofit = mProviderRetrofit.get();
263+
for (String key : mListCacheKey) {
264+
mMemoryCache.remove(key);
265+
}
266+
mListCacheKey.clear();
267+
}
245268
}

devring/src/main/java/com/ljy/devring/image/GlideManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.bumptech.glide.request.RequestListener;
1919
import com.bumptech.glide.request.RequestOptions;
2020
import com.bumptech.glide.request.target.Target;
21+
import com.ljy.devring.DevRing;
2122
import com.ljy.devring.image.support.CircleBorderTransformation;
2223
import com.ljy.devring.image.support.IImageManager;
2324
import com.ljy.devring.image.support.ImageConfig;
@@ -178,6 +179,7 @@ private RequestBuilder load(RequestBuilder requestBuilder, LoadOption loadOption
178179

179180
RequestOptions requestOptions = new RequestOptions();
180181

182+
mImageConfig = DevRing.ringComponent().imageConfig();
181183
//使用全局的配置进行设置
182184
if (loadOption == null) {
183185
if (mImageConfig.isShowTransition()) {
@@ -194,7 +196,6 @@ private RequestBuilder load(RequestBuilder requestBuilder, LoadOption loadOption
194196
}
195197
//使用临时的配置进行设置
196198
else {
197-
198199
if (loadOption.isShowTransition()) {
199200
requestBuilder.transition(DrawableTransitionOptions.withCrossFade(600));
200201
}

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ KEY_ALIAS=dev_base_test
2020
KEY_PASSWORD=123456
2121
STORE_PASSWORD=123456
2222

23-
VERSION=1.0.10
23+
VERSION=1.0.11
2424
GROUP=com.ljy.ring
2525

2626
SITE_URL=https://github.com/LJYcoder/DevRing
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Mon Feb 26 16:13:46 CST 2018
1+
#Wed Jun 06 17:28:47 CST 2018
22
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-4.1-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

0 commit comments

Comments
 (0)