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