Commit 3e6722c9 by sikang

transformers

parent db00830c
package com.common.bean;
import java.io.Serializable;
/**
* Created by SiKang on 2019-10-09.
*/
public class CorpConfigBean implements Serializable {
private String id;//: 1,
private String createTime;//: ;//2019-10-09T18:31:19+0800;//,
private String updateTime;//: ;//2019-10-09T18:31:19+0800;//,
private String corpId;//: 1011,
private String corpName;//: ;//1011;//,
private String randomKey;//: ;//3e7db67f-8df3-4373-818e-9cb25ba96b25;//,
private String gateway;//: ;//http://qwer.gateway.vvhdu.top;//
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getUpdateTime() {
return updateTime;
}
public void setUpdateTime(String updateTime) {
this.updateTime = updateTime;
}
public String getCorpId() {
return corpId;
}
public void setCorpId(String corpId) {
this.corpId = corpId;
}
public String getCorpName() {
return corpName;
}
public void setCorpName(String corpName) {
this.corpName = corpName;
}
public String getRandomKey() {
return randomKey;
}
public void setRandomKey(String randomKey) {
this.randomKey = randomKey;
}
public String getGateway() {
return gateway;
}
public void setGateway(String gateway) {
this.gateway = gateway;
}
}
......@@ -11,9 +11,9 @@ import org.greenrobot.eventbus.EventBus;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import tech.starwin.constants.ActionEnum;
import tech.starwin.utils.LogUtils;
import tech.starwin.utils.PreferencesManager;
import tech.starwin.utils.event_bus.EventSender;
/**
* 监听并保存安装referrer
......@@ -30,6 +30,7 @@ public class InstallReferrerReceiver extends BroadcastReceiver {
//SDK-CHANNEL-CODE //SDK-CHANNEL-END
PreferencesManager.get().saveInstallReferrer(getReferrerValue(data.getExtras()));
EventBus.getDefault().post(ActionEnum.REFERRER_UPDATED);
}
private String getReferrerValue(Bundle bundle) {
......
......@@ -7,5 +7,6 @@ public class ActionEnum {
public static final String LOGIN_INVALID = "action.login.invalid";
public static final String LOGIN_SUCCESS = "action.login.success";
public static final String GATEWAY_UPDATED = "action.gateway.update";
public static final String REFERRER_UPDATED = "action.referrer.update";
}
package tech.starwin.mvp.api;
import android.support.annotation.NonNull;
import java.util.ArrayList;
import java.util.List;
import io.reactivex.Observable;
import okhttp3.ResponseBody;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.Headers;
import retrofit2.http.POST;
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;
import com.common.bean.ContactBean;
import com.common.bean.ContactInfoBean;
import com.common.bean.CouponBean;
import com.common.bean.CorpConfigBean;
import com.common.bean.DisplayBean;
import com.common.bean.EmploymentServerBean;
import com.common.bean.GatewayInfoBean;
import com.common.bean.InviteeBean;
import com.common.bean.InviteePersonBean;
import com.common.bean.LoaningAmoutBean;
import com.common.bean.MsgInboxBean;
import com.common.bean.PersonalInfoServerBean;
......@@ -44,7 +23,23 @@ import com.common.bean.ThirdPartListBean;
import com.common.bean.TokenInfoBean;
import com.common.bean.UserBankInfo;
import com.common.bean.UserBean;
import com.common.bean.YWUser;
import java.util.ArrayList;
import java.util.List;
import io.reactivex.Observable;
import okhttp3.ResponseBody;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.Headers;
import retrofit2.http.POST;
import retrofit2.http.PUT;
import retrofit2.http.Path;
import retrofit2.http.Query;
import retrofit2.http.Url;
/**
* Created by SiKang on 2018/9/14.
......@@ -70,6 +65,11 @@ public interface UserApi {
@Field("mobile") String mobile,
@Field("code") String code);
@GET("api/corp-gateway")
Observable<CorpConfigBean> getCropConfig(@Query("randomKey") String randomKey);
/**
* facebook accountKit登录
*/
......@@ -110,15 +110,16 @@ public interface UserApi {
*/
@GET("loanapp/point_report")
Observable<ResponseBody> trackEvent(@Query("reportType") String reportType,
@Query("actionType") String actionType,
@Query("comment") String comment
@Query("actionType") String actionType,
@Query("comment") String comment
);
/**
* 学历列表
*/
@GET("sysdict/{type}")//*Keep*
@GET("sysdict/{type}")
//*Keep*
Observable<ArrayList<SysDictBean>> sysDict(@Path("type") String type);
......@@ -288,7 +289,6 @@ public interface UserApi {
Observable<List<ThirdPartItemBean>> getThirdPartList();
/**
* 同盾列表V2
*/
......
......@@ -4,6 +4,26 @@ package tech.starwin.mvp.presenter;
import android.annotation.SuppressLint;
import android.text.TextUtils;
import com.common.bean.BankBean;
import com.common.bean.BasicAck;
import com.common.bean.ContactBean;
import com.common.bean.ContactInfoBean;
import com.common.bean.DisplayBean;
import com.common.bean.EmploymentServerBean;
import com.common.bean.GatewayInfoBean;
import com.common.bean.LatestLoanAppBean;
import com.common.bean.LoanInfo;
import com.common.bean.LoaningAmoutBean;
import com.common.bean.PersonalInfoServerBean;
import com.common.bean.RecordFilesResponse;
import com.common.bean.TokenInfoBean;
import com.common.bean.UserBankInfo;
import com.common.bean.UserBean;
import com.common.toolbox.PluginConfig;
import com.common.toolbox.app_utils.DeviceInfo;
import com.common.toolbox.tracker.TrackEvent;
import com.facebook.libfbref.FbDeepLink;
import org.greenrobot.eventbus.EventBus;
import java.io.File;
......@@ -27,34 +47,12 @@ 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.BasicAck;
import com.common.bean.ContactBean;
import com.common.bean.ContactInfoBean;
import com.common.bean.DisplayBean;
import com.common.bean.EmploymentServerBean;
import com.common.bean.GatewayInfoBean;
import com.common.bean.LatestLoanAppBean;
import com.common.bean.LoanInfo;
import com.common.bean.LoaningAmoutBean;
import com.common.bean.PersonalInfoServerBean;
import com.common.bean.RecordFilesResponse;
import com.common.bean.RegionBean;
import com.common.bean.TokenInfoBean;
import com.common.bean.UserBankInfo;
import com.common.bean.UserBean;
import com.common.toolbox.PluginConfig;
import com.common.toolbox.app_utils.DeviceInfo;
import com.common.toolbox.tracker.TrackEvent;
import com.facebook.libfbref.FbDeepLink;
import tech.starwin.network.Gateway;
import tech.starwin.network.ServiceGenerator;
import tech.starwin.network.tools.MultipartBodyMaker;
import tech.starwin.utils.AccountKitUtils;
import tech.starwin.utils.LogUtils;
import tech.starwin.utils.LoginManager;
import tech.starwin.network.tools.MultipartBodyMaker;
import tech.starwin.utils.PreferencesManager;
import tech.starwin.utils.TrackEventHelper;
......@@ -66,11 +64,25 @@ public class UserPresenter extends BasePresenter<UserApi> {
super(UserApi.class);
}
/**
* 获取客户配置
*/
public void getCorpConfig(String action, String cusKey) {
UserApi api = ServiceGenerator.getService(UserApi.class, LibConfig.API_BASE_URL);
handleRequest(action, api.getCropConfig(cusKey));
}
@SuppressLint("CheckResult")
public void notifyGateway() {
getGateway("", Gateway.getGatewayUrl());
}
@SuppressLint("CheckResult")
public void getGateway(String action, List<String> gatewayUrl) {
FbDeepLink.fetchDeepLink();
Observable.fromIterable(Gateway.getGatewayUrl())
.observeOn(Schedulers.io())
Observable.fromIterable(gatewayUrl)
.subscribeOn(Schedulers.io())
.concatMap(new Function<String, ObservableSource<GatewayInfoBean>>() {
@Override
public ObservableSource<GatewayInfoBean> apply(String s) throws Exception {
......@@ -89,6 +101,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
}
})
.take(1)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<GatewayInfoBean>() {
@Override
public void accept(GatewayInfoBean gatewayInfoBean) throws Exception {
......@@ -103,7 +116,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
getCustomerMsg("");
EventBus.getDefault().post(ActionEnum.GATEWAY_UPDATED);
if (view != null) {
view.onHttpSuccess("", null);
view.onHttpSuccess(action, gatewayInfoBean);
}
}
});
......@@ -633,9 +646,9 @@ public class UserPresenter extends BasePresenter<UserApi> {
/**
* 获取SD权限后再调用一次display
* */
*/
public void refreshDiaplay(String action) {
handleRequest(action,apiService.display());
handleRequest(action, apiService.display());
}
......@@ -667,12 +680,12 @@ public class UserPresenter extends BasePresenter<UserApi> {
@Override
public void onSuccess(BasicAck data) {
TrackEventHelper.logEvent(TrackEvent.Api.CONTACT_INFO_SUBMITED);
view.onHttpSuccess(action,data);
view.onHttpSuccess(action, data);
}
@Override
public void onError(int code, String msg) {
view.onHttpError(action,msg);
view.onHttpError(action, msg);
}
@Override
......
......@@ -20,9 +20,8 @@ import retrofit2.converter.gson.GsonConverterFactory;
public class ServiceGenerator {
private static final int TIME_OUT = 15;
private static Retrofit retrofit;
private static Map<String, Retrofit> retrofitMap;
private static OkHttpClient okHttpClient;
private static Map<String, Object> serviceMap;
static {
......@@ -36,31 +35,31 @@ public class ServiceGenerator {
.hostnameVerifier(SSLSocketClient.getHostnameVerifier())
.build();
serviceMap = new HashMap<>();
}
/**
* 创建 apiService
*/
public static <T> T getService(Class<T> serviceClz) {
//如果 restUrl 改变,刷新Retrofit、清空Service缓存
if (retrofit == null || !Gateway.getRestUrl().equals(retrofit.baseUrl())) {
return getService(serviceClz, Gateway.getRestUrl());
}
public static <T> T getService(Class<T> serviceClz, String baseUrl) {
if (retrofitMap == null) {
retrofitMap = new HashMap<>();
}
Retrofit retrofit = retrofitMap.get(baseUrl);
if (retrofit == null) {
retrofit = new Retrofit.Builder()
.baseUrl(Gateway.getRestUrl())
.baseUrl(baseUrl)
.client(okHttpClient)
.addConverterFactory(new EmptyConverterFactory())
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build();
serviceMap.clear();
}
//如果map中已有 service 实例直接取出返回,否则新建
if (serviceMap.containsKey(serviceClz.getName())) {
return (T) serviceMap.get(serviceClz.getName());
} else {
return retrofit.create(serviceClz);
retrofitMap.put(baseUrl, retrofit);
}
return retrofitMap.get(baseUrl).create(serviceClz);
}
......
......@@ -6,11 +6,17 @@ import android.app.Instrumentation;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ShortcutInfo;
import android.content.pm.ShortcutManager;
import android.graphics.drawable.Icon;
import android.os.Build;
import android.support.annotation.ColorRes;
import android.support.annotation.IdRes;
import android.support.annotation.NonNull;
import android.support.annotation.RequiresApi;
import android.support.annotation.StringRes;
import android.support.v4.app.NotificationCompat;
import android.support.v7.widget.DefaultItemAnimator;
......@@ -35,6 +41,8 @@ import android.widget.Toast;
import com.common.widget.SpanButton;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.ObservableEmitter;
import io.reactivex.ObservableOnSubscribe;
......@@ -49,6 +57,38 @@ import tech.starwin.base.RecyclerViewHolder;
*/
public class UIHelper {
@RequiresApi(api = Build.VERSION_CODES.O)
public void addShortCut(Context context, Class target, String shortcutName, String shortcutId) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
return;
}
ShortcutManager shortcutManager = (ShortcutManager) context.getSystemService(Context.SHORTCUT_SERVICE);
List<ShortcutInfo> shortcutInfoList = shortcutManager.getPinnedShortcuts();
for (ShortcutInfo shortcutInfo : shortcutInfoList) {
if (shortcutInfo.getId().equals(shortcutId)) {
return;
}
}
if (shortcutManager.isRequestPinShortcutSupported()) {
Intent shortcutInfoIntent = new Intent(context, target);
shortcutInfoIntent.setAction(Intent.ACTION_VIEW);
shortcutInfoIntent.putExtra("launch_id", shortcutId);
ShortcutInfo info = new ShortcutInfo.Builder(context, shortcutId)
.setIcon(Icon.createWithResource(context, LibConfig.APP_ICON))
.setShortLabel(shortcutName)
.setIntent(shortcutInfoIntent)
.build();
//当添加快捷方式的确认弹框弹出来时,将被回调
PendingIntent shortcutCallbackIntent = PendingIntent.getBroadcast(context, 0, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT);
shortcutManager.requestPinShortcut(info, shortcutCallbackIntent.getIntentSender());
}
}
/**
* 为View添加ClickListener
*/
......
......@@ -19,6 +19,14 @@
<string name="button_login"> Login</string>
<string name="edittext_graphical_code">Graph Verification Code</string>
<string name="invitation_code">Invitation code</string>
<string name="invitation_code_tip">You need an invitation code to access</string>
<string name="invitation_code_hint">Enter invitation code</string>
<string name="invalid_invitation_code">Invalid invitation code</string>
<string name="text_i_agree">I agree %s</string>
<string name="check_the_checkbox">Please check the box at the bottom to agree to the policy.</string>
......
......@@ -18,6 +18,15 @@
<string name="text_certification">认证</string>
<string name="text_me"></string>
<string name="invitation_code">邀请码</string>
<string name="invitation_code_tip">您需要邀请码才能访问</string>
<string name="invitation_code_hint">输入邀请码</string>
<string name="invalid_invitation_code">邀请码无效</string>
<string name="text_certify_in_order">请按顺序提交认证资料</string>
<string name="text_me_my_loan">我的贷款</string>
......
......@@ -6,6 +6,13 @@
<string name="text_welcome">Selamat Datang,</string>
<string name="invitation_code">Kode Undangan</string>
<string name="invitation_code_tip">Anda memerlukan kode undangan untuk mengakses</string>
<string name="invitation_code_hint">Masukkan kode undangan</string>
<string name="invalid_invitation_code">Kode undangan tidak valid</string>
<string name="edittext_phone_number_hint">Silahkan masukkan nomor HP Anda</string>
<string name="edittext_SMS_code_hint">Silahkan masukkan kode</string>
......
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