Commit 87162e50 by sikang

add gisn

parent 110e6643
...@@ -29,6 +29,25 @@ public class DisplayBean implements Serializable { ...@@ -29,6 +29,25 @@ public class DisplayBean implements Serializable {
private AccountKitInfo accountKitInfo; private AccountKitInfo accountKitInfo;
private String secretKey = "";
private long time;
public String getSecretKey() {
return secretKey;
}
public void setSecretKey(String secretKey) {
this.secretKey = secretKey;
}
public long getTime() {
return time;
}
public void setTime(long time) {
this.time = time;
}
public String getRestUrlSignKey() { public String getRestUrlSignKey() {
return restUrlSignKey; return restUrlSignKey;
......
package org.a.b;
/**
* Created by SiKang on 2018/10/10.
*/
public class c {
static {
System.loadLibrary("signal");
}
// public static String getAppSignal(Context context) {
// return getSignal(context);
// }
/**
*
* @param key 服务器下发的随机串,display - secretKey
* @param time 服务器时间,根据 display - time 算出时差,自行计算服务器时间
* */
public static native String a(String key, long time);
}
...@@ -48,6 +48,7 @@ import tech.starwin.impl.HttpObserver; ...@@ -48,6 +48,7 @@ import tech.starwin.impl.HttpObserver;
import tech.starwin.mvp.api.LoanApi; import tech.starwin.mvp.api.LoanApi;
import tech.starwin.mvp.api.UploadApi; import tech.starwin.mvp.api.UploadApi;
import tech.starwin.mvp.api.UserApi; import tech.starwin.mvp.api.UserApi;
import tech.starwin.network.DefaultHeaderAddInterceptor;
import tech.starwin.network.Gateway; import tech.starwin.network.Gateway;
import tech.starwin.network.ServiceGenerator; import tech.starwin.network.ServiceGenerator;
import tech.starwin.network.tools.MultipartBodyMaker; import tech.starwin.network.tools.MultipartBodyMaker;
...@@ -118,8 +119,10 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -118,8 +119,10 @@ public class UserPresenter extends BasePresenter<UserApi> {
.subscribe(new HttpObserver<GatewayInfoBean>() { .subscribe(new HttpObserver<GatewayInfoBean>() {
@Override @Override
public void onStart() { public void onStart() {
if (view != null) {
view.onHttpStart(action, false); view.onHttpStart(action, false);
} }
}
@Override @Override
public void onSuccess(GatewayInfoBean gatewayInfoBean) { public void onSuccess(GatewayInfoBean gatewayInfoBean) {
...@@ -132,8 +135,10 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -132,8 +135,10 @@ public class UserPresenter extends BasePresenter<UserApi> {
@Override @Override
public void onError(int code, String msg) { public void onError(int code, String msg) {
if (view != null) {
view.onHttpError(action, msg); view.onHttpError(action, msg);
} }
}
@Override @Override
public void onFinish() { public void onFinish() {
...@@ -744,6 +749,10 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -744,6 +749,10 @@ public class UserPresenter extends BasePresenter<UserApi> {
LibConfig.TONGDUN_PARENT_KEY = ""; LibConfig.TONGDUN_PARENT_KEY = "";
} }
data.setUpdateTime(System.currentTimeMillis()); data.setUpdateTime(System.currentTimeMillis());
DefaultHeaderAddInterceptor.dTime = System.currentTimeMillis() - data.getTime();
DefaultHeaderAddInterceptor.secretKey = data.getSecretKey() != null ? data.getSecretKey() : "";
PreferencesManager.get().saveCustomerInfo(data); PreferencesManager.get().saveCustomerInfo(data);
if (view != null) { if (view != null) {
view.onHttpSuccess(action, data); view.onHttpSuccess(action, data);
......
...@@ -3,11 +3,12 @@ package tech.starwin.network; ...@@ -3,11 +3,12 @@ package tech.starwin.network;
import android.text.TextUtils; import android.text.TextUtils;
import com.google.android.gms.ads.identifier.AdvertisingIdClient; import com.google.android.gms.ads.identifier.AdvertisingIdClient;
import com.google.android.gms.common.GooglePlayServicesNotAvailableException; import com.google.android.gms.common.GooglePlayServicesNotAvailableException;
import com.google.android.gms.common.GooglePlayServicesRepairableException; import com.google.android.gms.common.GooglePlayServicesRepairableException;
import org.a.b.c;
import java.io.IOException; import java.io.IOException;
import okhttp3.Interceptor; import okhttp3.Interceptor;
...@@ -24,11 +25,14 @@ import tech.starwin.utils.context_utils.AppInfoUtils; ...@@ -24,11 +25,14 @@ import tech.starwin.utils.context_utils.AppInfoUtils;
* Created by XLEO on 2018/1/30. * Created by XLEO on 2018/1/30.
*/ */
class DefaultHeaderAddInterceptor implements Interceptor { public class DefaultHeaderAddInterceptor implements Interceptor {
public static String GA_ID = ""; public static String GA_ID = "";
public static String SIM_INFO = ""; public static String SIM_INFO = "";
public static String ROOT_STATUS = ""; public static String ROOT_STATUS = "";
public static long dTime = 0;//服务器时差
public static String secretKey = "";
@Override @Override
public Response intercept(Chain chain) throws IOException { public Response intercept(Chain chain) throws IOException {
Request userRequest = chain.request(); Request userRequest = chain.request();
...@@ -62,6 +66,9 @@ class DefaultHeaderAddInterceptor implements Interceptor { ...@@ -62,6 +66,9 @@ class DefaultHeaderAddInterceptor implements Interceptor {
requestBuilder.header("Accept-Encoding", "gzip"); requestBuilder.header("Accept-Encoding", "gzip");
} }
long time = System.currentTimeMillis() - dTime;
String signal = c.a(secretKey, time);
requestBuilder.header("X-APP-TYPE", "ANDROID") requestBuilder.header("X-APP-TYPE", "ANDROID")
.header("X-APP-VERSION", String.valueOf(LibConfig.VERSION_CODE)) .header("X-APP-VERSION", String.valueOf(LibConfig.VERSION_CODE))
.header("X-APP-VERSION-NAME", String.valueOf(LibConfig.VERSION_NAME)) .header("X-APP-VERSION-NAME", String.valueOf(LibConfig.VERSION_NAME))
...@@ -75,7 +82,8 @@ class DefaultHeaderAddInterceptor implements Interceptor { ...@@ -75,7 +82,8 @@ class DefaultHeaderAddInterceptor implements Interceptor {
.header("X-AF-ID", LibConfig.APPSFLYER_DEV_KEY == null ? "" : LibConfig.APPSFLYER_DEV_KEY) .header("X-AF-ID", LibConfig.APPSFLYER_DEV_KEY == null ? "" : LibConfig.APPSFLYER_DEV_KEY)
.header("X-GA-ID", getGAId()) .header("X-GA-ID", getGAId())
.header("X-GP-PKG-FLAG", String.valueOf(!LibConfig.IS_COLLECT_MODE)) .header("X-GP-PKG-FLAG", String.valueOf(!LibConfig.IS_COLLECT_MODE))
.header("X-APP-CODE-VERSION", "ID_V2"); .header("X-APP-CODE-VERSION", "ID_V2")
.header("Secret", signal);
return chain.proceed(requestBuilder.build()); return chain.proceed(requestBuilder.build());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment