Commit 90bfd08e by sikang

添加登录成功广播

parent 89899ae9
......@@ -4,7 +4,8 @@ package tech.starwin.broadcast;
* Created by SiKang on 2018/11/16.
*/
public enum ActionEnum {
LOGIN_INVALID("action.login.invalid");
LOGIN_INVALID("action.login.invalid"),
LOGIN_SUCCESS("action.login.success");
private String action;
......
......@@ -4,6 +4,8 @@ package tech.starwin.mvp.presenter;
import android.annotation.SuppressLint;
import android.text.TextUtils;
import org.greenrobot.eventbus.EventBus;
import java.io.File;
import java.util.List;
......@@ -17,6 +19,7 @@ import io.reactivex.functions.Predicate;
import io.reactivex.schedulers.Schedulers;
import okhttp3.ResponseBody;
import tech.starwin.base.BasePresenter;
import tech.starwin.broadcast.ActionEnum;
import tech.starwin.constants.TrackEvent;
import tech.starwin.impl.HttpObserver;
import tech.starwin.mvp.api.LoanApi;
......@@ -116,6 +119,8 @@ public class UserPresenter extends BasePresenter<UserApi> {
}
PreferencesManager.get().saveUserInfo(data);
view.onHttpSuccess(action, data);
EventBus.getDefault().post(ActionEnum.LOGIN_SUCCESS);
}
@Override
......@@ -164,30 +169,44 @@ public class UserPresenter extends BasePresenter<UserApi> {
* @param auth_code Facebook 授权码
*/
public void accountKotLogin(final String action, String auth_code) {
handleRequest(apiService.accountKitLogin(null, auth_code), new HttpObserver<TokenInfoBean>() {
@Override
public void onStart() {
view.onHttpStart(action, true);
}
handleRequest(
apiService.accountKitLogin(null, auth_code)
.flatMap(new Function<TokenInfoBean, ObservableSource<UserBean>>() {
@Override
public ObservableSource<UserBean> apply(TokenInfoBean tokenInfoBean) throws Exception {
TrackEventHelper.logEvent(TrackEvent.FACEBOOK_LOGIN_SUCCESS);
//刷新Token信息
LoginManager.get().notifyTokenInfo(tokenInfoBean);
return apiService.getUserInfo(tokenInfoBean.getToken());
}
}),
new HttpObserver<UserBean>() {
@Override
public void onStart() {
view.onHttpStart(action, true);
}
@Override
public void onSuccess(TokenInfoBean tokenInfoBean) {
TrackEventHelper.logEvent(TrackEvent.FACEBOOK_LOGIN_SUCCESS);
//刷新Token信息
LoginManager.get().notifyTokenInfo(tokenInfoBean);
view.onHttpSuccess(action, tokenInfoBean);
}
@Override
public void onSuccess(UserBean data) {
if (TextUtils.isEmpty(data.getName())) {
data.setName(LoginManager.get().getTokenInfo().getMobile());
}
PreferencesManager.get().saveUserInfo(data);
view.onHttpSuccess(action, data);
@Override
public void onError(int code, String msg) {
view.onHttpError(action, msg);
}
EventBus.getDefault().post(ActionEnum.LOGIN_SUCCESS);
}
@Override
public void onFinish() {
view.onHttpFinish(action);
}
});
@Override
public void onError(int code, String msg) {
view.onHttpError(action, msg);
}
@Override
public void onFinish() {
view.onHttpFinish(action);
}
});
}
......
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