修改沉浸栏(背景:白色,字体:灰色)颜色,目前只适配了MIUI和Google原生系统

This commit is contained in:
kehaoyuan
2018-07-16 11:22:41 +08:00
parent 92c5697565
commit 34c0bbe434
6 changed files with 23 additions and 29 deletions

View File

@ -1,11 +1,13 @@
package com.gh.base;
import android.app.Activity;
import android.arch.lifecycle.Lifecycle;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.NonNull;
import android.view.Window;
import com.gh.common.util.DataUtils;
import com.gh.common.util.DialogUtils;
@ -28,6 +30,8 @@ import org.json.JSONException;
import org.json.JSONObject;
import java.lang.ref.WeakReference;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.List;
import butterknife.ButterKnife;
@ -73,9 +77,25 @@ public abstract class BaseActivity extends BaseToolBarActivity implements EasyPe
}
}
// 小米沉浸式黑色字体
public void setStatusBarDarkMode(boolean darkmode, Activity activity) {
Class<? extends Window> clazz = activity.getWindow().getClass();
try {
int darkModeFlag = 0;
Class<?> layoutParams = Class.forName("android.view.MiuiWindowManager$LayoutParams");
Field field = layoutParams.getField("EXTRA_FLAG_STATUS_BAR_DARK_MODE");
darkModeFlag = field.getInt(layoutParams);
Method extraFlagField = clazz.getMethod("setExtraFlags", int.class, int.class);
extraFlagField.invoke(activity.getWindow(), darkmode ? darkModeFlag : 0, darkModeFlag);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStatusBarDarkMode(true, this);
EventBus.getDefault().register(this);
ButterKnife.bind(this);
mEntrance = getIntent().getStringExtra(KEY_ENTRANCE);

View File

@ -30,11 +30,6 @@ class OkHttpCacheInterceptor implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
// if (CommonDebug.IS_DEBUG) {
// CommonDebug.logMethodWithParams(this, chain.request().url());
// }
Request request = chain.request();
// 添加timestamp
@ -57,10 +52,6 @@ class OkHttpCacheInterceptor implements Interceptor {
.build();
}
// log 打印
// Utils.log(String.format("Interceptor Sending request %s on %s%n%s",
// request.url(), chain.connection(), request.headers()));
Response response = chain.proceed(request);
// 去除timestamp拿缓存
@ -76,11 +67,6 @@ class OkHttpCacheInterceptor implements Interceptor {
.build();
}
}
// log 打印
// Utils.log(String.format("Interceptor Received response for %s in %n%s",
// response.request().url(), response.headers()));
return response;
}

View File

@ -53,11 +53,6 @@ class OkHttpNetworkInterceptor implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
// if (CommonDebug.IS_DEBUG) {
// CommonDebug.logMethodWithParams(this, chain.request().url());
// }
Request request = chain.request();
// 添加gzip默认是添加的
@ -66,10 +61,6 @@ class OkHttpNetworkInterceptor implements Interceptor {
// .removeHeader("Accept-Encoding")
// .build();
// log 打印
// Utils.log(String.format("Interceptor Network Sending request %s on %s%n%s",
// request.url(), chain.connection(), request.headers()));
Response response = chain.proceed(request);
// 404 Not Found
@ -102,10 +93,6 @@ class OkHttpNetworkInterceptor implements Interceptor {
OkHttpCache.putCache(mContext, TimestampUtils.removeTimestamp(url), response.peekBody(Integer.MAX_VALUE - 1).bytes());
}
// log 打印
// Utils.log(String.format("Interceptor Network Received response for %s in %n%s",
// response.request().url(), response.headers()));
return response;
}

View File

@ -53,7 +53,7 @@ public class RetrofitManager {
.addInterceptor(new OkHttpRetryInterceptor(context))
.addNetworkInterceptor(new OkHttpNetworkInterceptor(context))
.connectTimeout(timeout, TimeUnit.SECONDS)
.readTimeout(timeout, TimeUnit.SECONDS) //
.readTimeout(timeout, TimeUnit.SECONDS)
.pingInterval(30, TimeUnit.SECONDS) // 加入间隔为30秒的心跳包用于解决闲置 Http/2 连接关闭时间与服务器不一造成 Connection Timeout 的问题 (https://github.com/square/okhttp/issues/3261)
.cache(cache)
.build();