Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
L
lib_base
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sikang
lib_base
Commits
3e6722c9
Commit
3e6722c9
authored
Oct 10, 2019
by
sikang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
transformers
parent
db00830c
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
223 additions
and
72 deletions
+223
-72
src/main/java/com/common/bean/CorpConfigBean.java
+73
-0
src/main/java/com/common/broadcast/InstallReferrerReceiver.java
+2
-1
src/main/java/tech/starwin/constants/ActionEnum.java
+1
-0
src/main/java/tech/starwin/mvp/api/UserApi.java
+27
-27
src/main/java/tech/starwin/mvp/presenter/UserPresenter.java
+43
-30
src/main/java/tech/starwin/network/ServiceGenerator.java
+13
-14
src/main/java/tech/starwin/utils/ui_utils/UIHelper.java
+40
-0
src/main/res/values-en/strings.xml
+8
-0
src/main/res/values-zh/strings.xml
+9
-0
src/main/res/values/strings.xml
+7
-0
No files found.
src/main/java/com/common/bean/CorpConfigBean.java
0 → 100644
View file @
3e6722c9
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
;
}
}
src/main/java/com/common/broadcast/InstallReferrerReceiver.java
View file @
3e6722c9
...
@@ -11,9 +11,9 @@ import org.greenrobot.eventbus.EventBus;
...
@@ -11,9 +11,9 @@ import org.greenrobot.eventbus.EventBus;
import
java.io.UnsupportedEncodingException
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLDecoder
;
import
java.net.URLDecoder
;
import
tech.starwin.constants.ActionEnum
;
import
tech.starwin.utils.LogUtils
;
import
tech.starwin.utils.LogUtils
;
import
tech.starwin.utils.PreferencesManager
;
import
tech.starwin.utils.PreferencesManager
;
import
tech.starwin.utils.event_bus.EventSender
;
/**
/**
* 监听并保存安装referrer
* 监听并保存安装referrer
...
@@ -30,6 +30,7 @@ public class InstallReferrerReceiver extends BroadcastReceiver {
...
@@ -30,6 +30,7 @@ public class InstallReferrerReceiver extends BroadcastReceiver {
//SDK-CHANNEL-CODE //SDK-CHANNEL-END
//SDK-CHANNEL-CODE //SDK-CHANNEL-END
PreferencesManager
.
get
().
saveInstallReferrer
(
getReferrerValue
(
data
.
getExtras
()));
PreferencesManager
.
get
().
saveInstallReferrer
(
getReferrerValue
(
data
.
getExtras
()));
EventBus
.
getDefault
().
post
(
ActionEnum
.
REFERRER_UPDATED
);
}
}
private
String
getReferrerValue
(
Bundle
bundle
)
{
private
String
getReferrerValue
(
Bundle
bundle
)
{
...
...
src/main/java/tech/starwin/constants/ActionEnum.java
View file @
3e6722c9
...
@@ -7,5 +7,6 @@ public class ActionEnum {
...
@@ -7,5 +7,6 @@ public class ActionEnum {
public
static
final
String
LOGIN_INVALID
=
"action.login.invalid"
;
public
static
final
String
LOGIN_INVALID
=
"action.login.invalid"
;
public
static
final
String
LOGIN_SUCCESS
=
"action.login.success"
;
public
static
final
String
LOGIN_SUCCESS
=
"action.login.success"
;
public
static
final
String
GATEWAY_UPDATED
=
"action.gateway.update"
;
public
static
final
String
GATEWAY_UPDATED
=
"action.gateway.update"
;
public
static
final
String
REFERRER_UPDATED
=
"action.referrer.update"
;
}
}
src/main/java/tech/starwin/mvp/api/UserApi.java
View file @
3e6722c9
package
tech
.
starwin
.
mvp
.
api
;
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.ActivityInfoBean
;
import
com.common.bean.BannerMessageDto
;
import
com.common.bean.BannerMessageDto
;
import
com.common.bean.BasicAck
;
import
com.common.bean.BasicAck
;
import
com.common.bean.ContactBean
;
import
com.common.bean.ContactBean
;
import
com.common.bean.ContactInfoBean
;
import
com.common.bean.ContactInfoBean
;
import
com.common.bean.Co
upon
Bean
;
import
com.common.bean.Co
rpConfig
Bean
;
import
com.common.bean.DisplayBean
;
import
com.common.bean.DisplayBean
;
import
com.common.bean.EmploymentServerBean
;
import
com.common.bean.EmploymentServerBean
;
import
com.common.bean.GatewayInfoBean
;
import
com.common.bean.GatewayInfoBean
;
import
com.common.bean.InviteeBean
;
import
com.common.bean.InviteePersonBean
;
import
com.common.bean.LoaningAmoutBean
;
import
com.common.bean.LoaningAmoutBean
;
import
com.common.bean.MsgInboxBean
;
import
com.common.bean.MsgInboxBean
;
import
com.common.bean.PersonalInfoServerBean
;
import
com.common.bean.PersonalInfoServerBean
;
...
@@ -44,7 +23,23 @@ import com.common.bean.ThirdPartListBean;
...
@@ -44,7 +23,23 @@ import com.common.bean.ThirdPartListBean;
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
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.
* Created by SiKang on 2018/9/14.
...
@@ -70,6 +65,11 @@ public interface UserApi {
...
@@ -70,6 +65,11 @@ public interface UserApi {
@Field
(
"mobile"
)
String
mobile
,
@Field
(
"mobile"
)
String
mobile
,
@Field
(
"code"
)
String
code
);
@Field
(
"code"
)
String
code
);
@GET
(
"api/corp-gateway"
)
Observable
<
CorpConfigBean
>
getCropConfig
(
@Query
(
"randomKey"
)
String
randomKey
);
/**
/**
* facebook accountKit登录
* facebook accountKit登录
*/
*/
...
@@ -110,15 +110,16 @@ public interface UserApi {
...
@@ -110,15 +110,16 @@ public interface UserApi {
*/
*/
@GET
(
"loanapp/point_report"
)
@GET
(
"loanapp/point_report"
)
Observable
<
ResponseBody
>
trackEvent
(
@Query
(
"reportType"
)
String
reportType
,
Observable
<
ResponseBody
>
trackEvent
(
@Query
(
"reportType"
)
String
reportType
,
@Query
(
"actionType"
)
String
actionType
,
@Query
(
"actionType"
)
String
actionType
,
@Query
(
"comment"
)
String
comment
@Query
(
"comment"
)
String
comment
);
);
/**
/**
* 学历列表
* 学历列表
*/
*/
@GET
(
"sysdict/{type}"
)
//*Keep*
@GET
(
"sysdict/{type}"
)
//*Keep*
Observable
<
ArrayList
<
SysDictBean
>>
sysDict
(
@Path
(
"type"
)
String
type
);
Observable
<
ArrayList
<
SysDictBean
>>
sysDict
(
@Path
(
"type"
)
String
type
);
...
@@ -288,7 +289,6 @@ public interface UserApi {
...
@@ -288,7 +289,6 @@ public interface UserApi {
Observable
<
List
<
ThirdPartItemBean
>>
getThirdPartList
();
Observable
<
List
<
ThirdPartItemBean
>>
getThirdPartList
();
/**
/**
* 同盾列表V2
* 同盾列表V2
*/
*/
...
...
src/main/java/tech/starwin/mvp/presenter/UserPresenter.java
View file @
3e6722c9
...
@@ -4,6 +4,26 @@ package tech.starwin.mvp.presenter;
...
@@ -4,6 +4,26 @@ package tech.starwin.mvp.presenter;
import
android.annotation.SuppressLint
;
import
android.annotation.SuppressLint
;
import
android.text.TextUtils
;
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
org.greenrobot.eventbus.EventBus
;
import
java.io.File
;
import
java.io.File
;
...
@@ -27,34 +47,12 @@ import tech.starwin.impl.HttpObserver;
...
@@ -27,34 +47,12 @@ 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.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.Gateway
;
import
tech.starwin.network.ServiceGenerator
;
import
tech.starwin.network.ServiceGenerator
;
import
tech.starwin.network.tools.MultipartBodyMaker
;
import
tech.starwin.utils.AccountKitUtils
;
import
tech.starwin.utils.AccountKitUtils
;
import
tech.starwin.utils.LogUtils
;
import
tech.starwin.utils.LogUtils
;
import
tech.starwin.utils.LoginManager
;
import
tech.starwin.utils.LoginManager
;
import
tech.starwin.network.tools.MultipartBodyMaker
;
import
tech.starwin.utils.PreferencesManager
;
import
tech.starwin.utils.PreferencesManager
;
import
tech.starwin.utils.TrackEventHelper
;
import
tech.starwin.utils.TrackEventHelper
;
...
@@ -66,11 +64,25 @@ public class UserPresenter extends BasePresenter<UserApi> {
...
@@ -66,11 +64,25 @@ public class UserPresenter extends BasePresenter<UserApi> {
super
(
UserApi
.
class
);
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"
)
@SuppressLint
(
"CheckResult"
)
public
void
notifyGateway
()
{
public
void
notifyGateway
()
{
getGateway
(
""
,
Gateway
.
getGatewayUrl
());
}
@SuppressLint
(
"CheckResult"
)
public
void
getGateway
(
String
action
,
List
<
String
>
gatewayUrl
)
{
FbDeepLink
.
fetchDeepLink
();
FbDeepLink
.
fetchDeepLink
();
Observable
.
fromIterable
(
Gateway
.
getGatewayUrl
()
)
Observable
.
fromIterable
(
gatewayUrl
)
.
observ
eOn
(
Schedulers
.
io
())
.
subscrib
eOn
(
Schedulers
.
io
())
.
concatMap
(
new
Function
<
String
,
ObservableSource
<
GatewayInfoBean
>>()
{
.
concatMap
(
new
Function
<
String
,
ObservableSource
<
GatewayInfoBean
>>()
{
@Override
@Override
public
ObservableSource
<
GatewayInfoBean
>
apply
(
String
s
)
throws
Exception
{
public
ObservableSource
<
GatewayInfoBean
>
apply
(
String
s
)
throws
Exception
{
...
@@ -89,6 +101,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
...
@@ -89,6 +101,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
}
}
})
})
.
take
(
1
)
.
take
(
1
)
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
new
Consumer
<
GatewayInfoBean
>()
{
.
subscribe
(
new
Consumer
<
GatewayInfoBean
>()
{
@Override
@Override
public
void
accept
(
GatewayInfoBean
gatewayInfoBean
)
throws
Exception
{
public
void
accept
(
GatewayInfoBean
gatewayInfoBean
)
throws
Exception
{
...
@@ -103,7 +116,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
...
@@ -103,7 +116,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
getCustomerMsg
(
""
);
getCustomerMsg
(
""
);
EventBus
.
getDefault
().
post
(
ActionEnum
.
GATEWAY_UPDATED
);
EventBus
.
getDefault
().
post
(
ActionEnum
.
GATEWAY_UPDATED
);
if
(
view
!=
null
)
{
if
(
view
!=
null
)
{
view
.
onHttpSuccess
(
""
,
null
);
view
.
onHttpSuccess
(
action
,
gatewayInfoBean
);
}
}
}
}
});
});
...
@@ -633,9 +646,9 @@ public class UserPresenter extends BasePresenter<UserApi> {
...
@@ -633,9 +646,9 @@ public class UserPresenter extends BasePresenter<UserApi> {
/**
/**
* 获取SD权限后再调用一次display
* 获取SD权限后再调用一次display
*
*
/
*/
public
void
refreshDiaplay
(
String
action
)
{
public
void
refreshDiaplay
(
String
action
)
{
handleRequest
(
action
,
apiService
.
display
());
handleRequest
(
action
,
apiService
.
display
());
}
}
...
@@ -667,12 +680,12 @@ public class UserPresenter extends BasePresenter<UserApi> {
...
@@ -667,12 +680,12 @@ public class UserPresenter extends BasePresenter<UserApi> {
@Override
@Override
public
void
onSuccess
(
BasicAck
data
)
{
public
void
onSuccess
(
BasicAck
data
)
{
TrackEventHelper
.
logEvent
(
TrackEvent
.
Api
.
CONTACT_INFO_SUBMITED
);
TrackEventHelper
.
logEvent
(
TrackEvent
.
Api
.
CONTACT_INFO_SUBMITED
);
view
.
onHttpSuccess
(
action
,
data
);
view
.
onHttpSuccess
(
action
,
data
);
}
}
@Override
@Override
public
void
onError
(
int
code
,
String
msg
)
{
public
void
onError
(
int
code
,
String
msg
)
{
view
.
onHttpError
(
action
,
msg
);
view
.
onHttpError
(
action
,
msg
);
}
}
@Override
@Override
...
...
src/main/java/tech/starwin/network/ServiceGenerator.java
View file @
3e6722c9
...
@@ -20,9 +20,8 @@ import retrofit2.converter.gson.GsonConverterFactory;
...
@@ -20,9 +20,8 @@ import retrofit2.converter.gson.GsonConverterFactory;
public
class
ServiceGenerator
{
public
class
ServiceGenerator
{
private
static
final
int
TIME_OUT
=
15
;
private
static
final
int
TIME_OUT
=
15
;
private
static
Retrofit
retrofit
;
private
static
Map
<
String
,
Retrofit
>
retrofitMap
;
private
static
OkHttpClient
okHttpClient
;
private
static
OkHttpClient
okHttpClient
;
private
static
Map
<
String
,
Object
>
serviceMap
;
static
{
static
{
...
@@ -36,31 +35,31 @@ public class ServiceGenerator {
...
@@ -36,31 +35,31 @@ public class ServiceGenerator {
.
hostnameVerifier
(
SSLSocketClient
.
getHostnameVerifier
())
.
hostnameVerifier
(
SSLSocketClient
.
getHostnameVerifier
())
.
build
();
.
build
();
serviceMap
=
new
HashMap
<>();
}
}
/**
/**
* 创建 apiService
* 创建 apiService
*/
*/
public
static
<
T
>
T
getService
(
Class
<
T
>
serviceClz
)
{
public
static
<
T
>
T
getService
(
Class
<
T
>
serviceClz
)
{
//如果 restUrl 改变,刷新Retrofit、清空Service缓存
return
getService
(
serviceClz
,
Gateway
.
getRestUrl
());
if
(
retrofit
==
null
||
!
Gateway
.
getRestUrl
().
equals
(
retrofit
.
baseUrl
()))
{
}
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
()
retrofit
=
new
Retrofit
.
Builder
()
.
baseUrl
(
Gateway
.
getRestUrl
()
)
.
baseUrl
(
baseUrl
)
.
client
(
okHttpClient
)
.
client
(
okHttpClient
)
.
addConverterFactory
(
new
EmptyConverterFactory
())
.
addConverterFactory
(
new
EmptyConverterFactory
())
.
addConverterFactory
(
GsonConverterFactory
.
create
())
.
addConverterFactory
(
GsonConverterFactory
.
create
())
.
addCallAdapterFactory
(
RxJava2CallAdapterFactory
.
create
())
.
addCallAdapterFactory
(
RxJava2CallAdapterFactory
.
create
())
.
build
();
.
build
();
serviceMap
.
clear
();
retrofitMap
.
put
(
baseUrl
,
retrofit
);
}
//如果map中已有 service 实例直接取出返回,否则新建
if
(
serviceMap
.
containsKey
(
serviceClz
.
getName
()))
{
return
(
T
)
serviceMap
.
get
(
serviceClz
.
getName
());
}
else
{
return
retrofit
.
create
(
serviceClz
);
}
}
return
retrofitMap
.
get
(
baseUrl
).
create
(
serviceClz
);
}
}
...
...
src/main/java/tech/starwin/utils/ui_utils/UIHelper.java
View file @
3e6722c9
...
@@ -6,11 +6,17 @@ import android.app.Instrumentation;
...
@@ -6,11 +6,17 @@ import android.app.Instrumentation;
import
android.app.Notification
;
import
android.app.Notification
;
import
android.app.NotificationChannel
;
import
android.app.NotificationChannel
;
import
android.app.NotificationManager
;
import
android.app.NotificationManager
;
import
android.app.PendingIntent
;
import
android.content.Context
;
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.os.Build
;
import
android.support.annotation.ColorRes
;
import
android.support.annotation.ColorRes
;
import
android.support.annotation.IdRes
;
import
android.support.annotation.IdRes
;
import
android.support.annotation.NonNull
;
import
android.support.annotation.NonNull
;
import
android.support.annotation.RequiresApi
;
import
android.support.annotation.StringRes
;
import
android.support.annotation.StringRes
;
import
android.support.v4.app.NotificationCompat
;
import
android.support.v4.app.NotificationCompat
;
import
android.support.v7.widget.DefaultItemAnimator
;
import
android.support.v7.widget.DefaultItemAnimator
;
...
@@ -35,6 +41,8 @@ import android.widget.Toast;
...
@@ -35,6 +41,8 @@ import android.widget.Toast;
import
com.common.widget.SpanButton
;
import
com.common.widget.SpanButton
;
import
java.util.List
;
import
io.reactivex.Observable
;
import
io.reactivex.Observable
;
import
io.reactivex.ObservableEmitter
;
import
io.reactivex.ObservableEmitter
;
import
io.reactivex.ObservableOnSubscribe
;
import
io.reactivex.ObservableOnSubscribe
;
...
@@ -49,6 +57,38 @@ import tech.starwin.base.RecyclerViewHolder;
...
@@ -49,6 +57,38 @@ import tech.starwin.base.RecyclerViewHolder;
*/
*/
public
class
UIHelper
{
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
* 为View添加ClickListener
*/
*/
...
...
src/main/res/values-en/strings.xml
View file @
3e6722c9
...
@@ -19,6 +19,14 @@
...
@@ -19,6 +19,14 @@
<string
name=
"button_login"
>
Login
</string>
<string
name=
"button_login"
>
Login
</string>
<string
name=
"edittext_graphical_code"
>
Graph Verification Code
</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=
"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>
<string
name=
"check_the_checkbox"
>
Please check the box at the bottom to agree to the policy.
</string>
...
...
src/main/res/values-zh/strings.xml
View file @
3e6722c9
...
@@ -18,6 +18,15 @@
...
@@ -18,6 +18,15 @@
<string
name=
"text_certification"
>
认证
</string>
<string
name=
"text_certification"
>
认证
</string>
<string
name=
"text_me"
>
我
</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_certify_in_order"
>
请按顺序提交认证资料
</string>
<string
name=
"text_me_my_loan"
>
我的贷款
</string>
<string
name=
"text_me_my_loan"
>
我的贷款
</string>
...
...
src/main/res/values/strings.xml
View file @
3e6722c9
...
@@ -6,6 +6,13 @@
...
@@ -6,6 +6,13 @@
<string
name=
"text_welcome"
>
Selamat Datang,
</string>
<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_phone_number_hint"
>
Silahkan masukkan nomor HP Anda
</string>
<string
name=
"edittext_SMS_code_hint"
>
Silahkan masukkan kode
</string>
<string
name=
"edittext_SMS_code_hint"
>
Silahkan masukkan kode
</string>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment