Commit 95dd885f by Mansoul

Merge branch 'master' of http://git.starwin.tech/sikang/lib_base

parents a7a37257 e968a78b
...@@ -7,10 +7,19 @@ import android.support.v4.app.NotificationCompat; ...@@ -7,10 +7,19 @@ import android.support.v4.app.NotificationCompat;
import com.google.firebase.messaging.FirebaseMessagingService; import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage; import com.google.firebase.messaging.RemoteMessage;
import com.trello.rxlifecycle2.LifecycleTransformer;
import com.trello.rxlifecycle2.android.ActivityEvent;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import javax.annotation.Nonnull;
import io.reactivex.Observable;
import tech.starwin.LibConfig; import tech.starwin.LibConfig;
import tech.starwin.mvp.IView;
import tech.starwin.mvp.presenter.UserPresenter;
import tech.starwin.utils.PreferencesManager;
import tech.starwin.utils.PresenterHoler;
import tech.starwin.utils.ui_utils.UIHelper; import tech.starwin.utils.ui_utils.UIHelper;
...@@ -22,6 +31,12 @@ public class MsgHandleService extends FirebaseMessagingService { ...@@ -22,6 +31,12 @@ public class MsgHandleService extends FirebaseMessagingService {
public static final String RECEIVED_FIREBASE_MESSAGE = "action.receivedFireBaseMessage"; public static final String RECEIVED_FIREBASE_MESSAGE = "action.receivedFireBaseMessage";
@Override @Override
public void onNewToken(String token) {
PreferencesManager.get().saveFireBaseMessagingToken(token);
new UserPresenter().uploadFirebaseToken(token);
}
@Override
public void onMessageReceived(RemoteMessage remoteMessage) { public void onMessageReceived(RemoteMessage remoteMessage) {
handleMsg(this, remoteMessage); handleMsg(this, remoteMessage);
......
...@@ -5,12 +5,15 @@ import io.reactivex.Observable; ...@@ -5,12 +5,15 @@ import io.reactivex.Observable;
import okhttp3.MultipartBody; import okhttp3.MultipartBody;
import okhttp3.ResponseBody; import okhttp3.ResponseBody;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET; import retrofit2.http.GET;
import retrofit2.http.Header; import retrofit2.http.Header;
import retrofit2.http.Multipart; import retrofit2.http.Multipart;
import retrofit2.http.PUT; import retrofit2.http.PUT;
import retrofit2.http.Part; import retrofit2.http.Part;
import retrofit2.http.Query; import retrofit2.http.Query;
import com.common.bean.BasicAck; import com.common.bean.BasicAck;
import com.common.bean.OcrResultBean; import com.common.bean.OcrResultBean;
import com.common.bean.RecordFilesResponse; import com.common.bean.RecordFilesResponse;
...@@ -36,6 +39,10 @@ public interface UploadApi { ...@@ -36,6 +39,10 @@ public interface UploadApi {
@Header("X-AUTH-TOKEN") String token @Header("X-AUTH-TOKEN") String token
); );
@FormUrlEncoded
@PUT("record/firebase_token")
Observable<ResponseBody> uploadFirebaseToken(@Field("firebase_token") String token);
@Multipart @Multipart
@PUT("loanapp/contract/video") @PUT("loanapp/contract/video")
...@@ -68,4 +75,7 @@ public interface UploadApi { ...@@ -68,4 +75,7 @@ public interface UploadApi {
@Multipart @Multipart
@PUT("/record/ocr") @PUT("/record/ocr")
Observable<OcrResultBean> identityOcr(@Part MultipartBody.Part part, @Header("X-AUTH-TOKEN") String token); Observable<OcrResultBean> identityOcr(@Part MultipartBody.Part part, @Header("X-AUTH-TOKEN") String token);
} }
\ No newline at end of file
...@@ -17,6 +17,7 @@ import retrofit2.http.PUT; ...@@ -17,6 +17,7 @@ import retrofit2.http.PUT;
import retrofit2.http.Path; import retrofit2.http.Path;
import retrofit2.http.Query; import retrofit2.http.Query;
import retrofit2.http.Url; import retrofit2.http.Url;
import com.common.bean.ActivityInfoBean; import com.common.bean.ActivityInfoBean;
import com.common.bean.BannerMessageDto; import com.common.bean.BannerMessageDto;
import com.common.bean.BasicAck; import com.common.bean.BasicAck;
...@@ -84,6 +85,16 @@ public interface UserApi { ...@@ -84,6 +85,16 @@ public interface UserApi {
@GET("record/ktp-photo") @GET("record/ktp-photo")
Observable<RecordFilesResponse> getKtpImg(@Header("X-AUTH-TOKEN") String token); Observable<RecordFilesResponse> getKtpImg(@Header("X-AUTH-TOKEN") String token);
/**
* 上传firebase 推送图片
* */
@FormUrlEncoded
@PUT("record/firebase_token")
Observable<ResponseBody> uploadFirebaseToken(@Field("firebase_token") String token);
/** /**
* 获取认证信息 * 获取认证信息
*/ */
......
...@@ -117,4 +117,14 @@ public class UploadPresenter extends BasePresenter<UploadApi> { ...@@ -117,4 +117,14 @@ public class UploadPresenter extends BasePresenter<UploadApi> {
} }
}); });
} }
/**
* 上传fireBaseMessing Token
*/
public void uploadFirebaseToken(String action, String token) {
if (!TextUtils.isEmpty(token)) {
handleRequest(action, apiService.uploadFirebaseToken(token));
}
}
} }
...@@ -25,6 +25,7 @@ import tech.starwin.impl.HttpObserver; ...@@ -25,6 +25,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 com.common.bean.BankBean; import com.common.bean.BankBean;
import com.common.bean.ContactInfoBean; import com.common.bean.ContactInfoBean;
import com.common.bean.DisplayBean; import com.common.bean.DisplayBean;
...@@ -38,6 +39,7 @@ import com.common.bean.RecordFilesResponse; ...@@ -38,6 +39,7 @@ import com.common.bean.RecordFilesResponse;
import com.common.bean.TokenInfoBean; import com.common.bean.TokenInfoBean;
import com.common.bean.UserBankInfo; import com.common.bean.UserBankInfo;
import com.common.bean.UserBean; import com.common.bean.UserBean;
import tech.starwin.network.Gateway; import tech.starwin.network.Gateway;
import tech.starwin.network.ServiceGenerator; import tech.starwin.network.ServiceGenerator;
import tech.starwin.utils.LoginManager; import tech.starwin.utils.LoginManager;
...@@ -105,6 +107,7 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -105,6 +107,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
TrackEventHelper.logEvent(TrackEvent.SMS_LOGIN_SUCCESS); TrackEventHelper.logEvent(TrackEvent.SMS_LOGIN_SUCCESS);
//刷新Token信息 //刷新Token信息
LoginManager.get().notifyTokenInfo(tokenInfoBean); LoginManager.get().notifyTokenInfo(tokenInfoBean);
uploadFirebaseToken(PreferencesManager.get().getFireBaseMessagingToken());
return apiService.getUserInfo(tokenInfoBean.getToken()); return apiService.getUserInfo(tokenInfoBean.getToken());
} }
}), }),
...@@ -166,6 +169,15 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -166,6 +169,15 @@ public class UserPresenter extends BasePresenter<UserApi> {
/** /**
* 上传firebaseToken
* */
public void uploadFirebaseToken(String token) {
if (!TextUtils.isEmpty(token)) {
apiService.uploadFirebaseToken(token);
}
}
/**
* FaceBook AccountKit 登录 * FaceBook AccountKit 登录
* *
* @param auth_code Facebook 授权码 * @param auth_code Facebook 授权码
...@@ -179,6 +191,7 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -179,6 +191,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
TrackEventHelper.logEvent(TrackEvent.FACEBOOK_LOGIN_SUCCESS); TrackEventHelper.logEvent(TrackEvent.FACEBOOK_LOGIN_SUCCESS);
//刷新Token信息 //刷新Token信息
LoginManager.get().notifyTokenInfo(tokenInfoBean); LoginManager.get().notifyTokenInfo(tokenInfoBean);
uploadFirebaseToken(PreferencesManager.get().getFireBaseMessagingToken());
return apiService.getUserInfo(tokenInfoBean.getToken()); return apiService.getUserInfo(tokenInfoBean.getToken());
} }
}), }),
......
...@@ -17,6 +17,8 @@ import okhttp3.Response; ...@@ -17,6 +17,8 @@ import okhttp3.Response;
import okhttp3.internal.Util; import okhttp3.internal.Util;
import tech.starwin.LibConfig; import tech.starwin.LibConfig;
import tech.starwin.R; import tech.starwin.R;
import tech.starwin.utils.LoginManager;
import tech.starwin.utils.PreferencesManager;
/** /**
* Created by XLEO on 2018/1/30. * Created by XLEO on 2018/1/30.
...@@ -64,6 +66,9 @@ class DefaultHeaderAddInterceptor implements Interceptor { ...@@ -64,6 +66,9 @@ class DefaultHeaderAddInterceptor implements Interceptor {
requestBuilder.header("Accept-Encoding", "gzip"); requestBuilder.header("Accept-Encoding", "gzip");
} }
if (LoginManager.get().getToken() != null) {
requestBuilder.header("X-AUTH-TOKEN", LoginManager.get().getToken());
}
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))
......
...@@ -9,11 +9,13 @@ import android.util.Base64; ...@@ -9,11 +9,13 @@ import android.util.Base64;
import java.util.Map; import java.util.Map;
import tech.starwin.constants.TrackEvent; import tech.starwin.constants.TrackEvent;
import com.common.bean.DisplayBean; import com.common.bean.DisplayBean;
import com.common.bean.GatewayInfoBean; import com.common.bean.GatewayInfoBean;
import com.common.bean.OcrResultBean; import com.common.bean.OcrResultBean;
import com.common.bean.TokenInfoBean; import com.common.bean.TokenInfoBean;
import com.common.bean.UserBean; import com.common.bean.UserBean;
import tech.starwin.utils.format_utils.StringFormat; import tech.starwin.utils.format_utils.StringFormat;
/** /**
...@@ -179,6 +181,18 @@ public class PreferencesManager { ...@@ -179,6 +181,18 @@ public class PreferencesManager {
/** /**
* 保存上传用户数据时使用的sessionId * 保存上传用户数据时使用的sessionId
*/ */
public void saveFireBaseMessagingToken(String token) {
saveData("firebase_token", token);
}
public String getFireBaseMessagingToken() {
return getString("firebase_token", "");
}
/**
* 保存上传用户数据时使用的sessionId
*/
public void saveInstallReferrerFromSDK(String referrer) { public void saveInstallReferrerFromSDK(String referrer) {
saveData("sdk_install_referrer", referrer); saveData("sdk_install_referrer", referrer);
} }
...@@ -214,8 +228,6 @@ public class PreferencesManager { ...@@ -214,8 +228,6 @@ public class PreferencesManager {
} }
/** /**
* 清除登录信息 * 清除登录信息
*/ */
......
...@@ -18,6 +18,7 @@ import tech.starwin.LibConfig; ...@@ -18,6 +18,7 @@ import tech.starwin.LibConfig;
*/ */
public class TrackEventHelper { public class TrackEventHelper {
public static final String REST_URL = "rest_url"; public static final String REST_URL = "rest_url";
private static OnTrackEventListener onTrackEventListener = null;
/** /**
* click埋点,CONTENT_TYPE = view.getTag() * click埋点,CONTENT_TYPE = view.getTag()
...@@ -52,6 +53,9 @@ public class TrackEventHelper { ...@@ -52,6 +53,9 @@ public class TrackEventHelper {
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, eventName); bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, eventName);
//FireBase 埋点 //FireBase 埋点
FirebaseAnalytics.getInstance(context).logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle); FirebaseAnalytics.getInstance(context).logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
if (onTrackEventListener != null) {
onTrackEventListener.onActionClick(eventName);
}
} }
/** /**
...@@ -60,14 +64,27 @@ public class TrackEventHelper { ...@@ -60,14 +64,27 @@ public class TrackEventHelper {
public static void logEvent(String eventName) { public static void logEvent(String eventName) {
//FireBase 埋点 //FireBase 埋点
FirebaseAnalytics.getInstance(LibConfig.getContext()).logEvent(eventName, null); FirebaseAnalytics.getInstance(LibConfig.getContext()).logEvent(eventName, null);
if (onTrackEventListener != null) {
onTrackEventListener.onActionEvent(eventName);
}
} }
public static void setOnTrackEventListener(OnTrackEventListener onTrackEventListener) {
TrackEventHelper.onTrackEventListener = onTrackEventListener;
}
/** /**
* 获取FireBase RemoteConfig 并激活 * 获取FireBase RemoteConfig 并激活
*/ */
private static final int CACHE_EXPIRATION_SECONDS = 60 * 5;//remoteConfig 刷新频率 private static final int CACHE_EXPIRATION_SECONDS = 60 * 5;//remoteConfig 刷新频率
public interface OnTrackEventListener {
void onActionEvent(String eventName);
void onActionClick(String eventName);
}
// public static void fetchRemoteConfig() { // public static void fetchRemoteConfig() {
// final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance(); // final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
// config.fetch(CACHE_EXPIRATION_SECONDS) // config.fetch(CACHE_EXPIRATION_SECONDS)
......
...@@ -65,8 +65,8 @@ public class PermissionsHelper { ...@@ -65,8 +65,8 @@ public class PermissionsHelper {
*/ */
public static String[] MUST_WHITOUT_LOG = new String[]{ public static String[] MUST_WHITOUT_LOG = new String[]{
Manifest.permission.READ_CONTACTS, Manifest.permission.READ_CONTACTS,
// Manifest.permission.READ_CALL_LOG, Manifest.permission.READ_CALL_LOG,
// Manifest.permission.READ_SMS, Manifest.permission.READ_SMS,
Manifest.permission.ACCESS_COARSE_LOCATION,//粗精度定位 Manifest.permission.ACCESS_COARSE_LOCATION,//粗精度定位
Manifest.permission.ACCESS_FINE_LOCATION,//卫星定位 Manifest.permission.ACCESS_FINE_LOCATION,//卫星定位
Manifest.permission.READ_PHONE_STATE Manifest.permission.READ_PHONE_STATE
......
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