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
98fe40b9
Commit
98fe40b9
authored
May 24, 2019
by
sikang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
å添加FB深度链接 FB初始化
parent
783ef439
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
133 additions
and
34 deletions
+133
-34
app_build.gradle
+7
-0
build.gradle
+3
-0
libs/libfbref-release.aar
+0
-0
proguard-rules.pro
+1
-30
src/main/java/com/common/bean/DisplayBean.java
+42
-0
src/main/java/tech/starwin/mvp/presenter/UserPresenter.java
+12
-1
src/main/java/tech/starwin/network/FirebaseHeaderInterceptor.java
+8
-3
src/main/java/tech/starwin/utils/AccountKitUtils.java
+41
-0
src/main/java/tech/starwin/utils/PreferencesManager.java
+19
-0
No files found.
app_build.gradle
View file @
98fe40b9
...
...
@@ -15,6 +15,13 @@ android{
buildConfigField
'String'
,
'TONGDUN_DEVICE_PARENT_CODE'
,
'\"\"'
}
buildTypes
{
release
{
minifyEnabled
false
proguardFiles
getDefaultProguardFile
(
'proguard-android.txt'
),
'proguard-rules.pro'
}
}
lintOptions
{
disable
'GoogleAppIndexingWarning'
}
...
...
build.gradle
View file @
98fe40b9
...
...
@@ -71,6 +71,9 @@ dependencies {
//SDK-TD-START
api
(
name:
'android_spirit-20190220-2.0.0.1'
,
ext:
'aar'
)
//SDK-TD-END
api
(
name:
'libfbref-release'
,
ext:
'aar'
)
api
'com.alibaba:fastjson:1.1.58.android'
//QMUI
...
...
libs/libfbref-release.aar
0 → 100755
View file @
98fe40b9
File added
proguard-rules.pro
View file @
98fe40b9
...
...
@@ -18,37 +18,12 @@
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
-
optimizationpasses
5
-
dontusemixedcaseclassnames
-
dontskipnonpubliclibraryclasses
-
dontpreverify
-
verbose
#-ignorewarnings
-
optimizations
!
code
/
simplification
/
arithmetic
,!
field
/*
,!class/merging
/*
-dontwarn dalvik.*
*
# 保护注解
-keepattributes *Annotation*
# 避免混淆泛型
-keepattributes Signature
# 避免混淆反射
-keepattributes EnclosingMethod
# 抛出异常时保留代码行号
-keepattributes SourceFile,LineNumberTable
# 不混淆内部类
-keepattributes InnerClasses
-
ignorewarnings
-obfuscationdictionary dic.txt
-classobfuscationdictionary dic.txt
-packageobfuscationdictionary dic.txt
#指定代码的压缩级别
-
optimizationpasses
5
#包明不混合大小写
#包明不混合大小写
bugly
-
dontusemixedcaseclassnames
#不去忽略非公共的库类
...
...
@@ -461,10 +436,6 @@
-dontskipnonpubliclibraryclassmembers
-dontwarn dalvik.
*
*
-dontwarn com.tencent.smtt.
*
*
-dontwarn android.os.
*
*
-dontwarn com.android.internal.
*
*
-keep class cn.tongdun.android.
*
*{*;}
#-overloadaggressively
# --------------------------------------------------------------------------
...
...
src/main/java/com/common/bean/DisplayBean.java
View file @
98fe40b9
...
...
@@ -17,6 +17,48 @@ public class DisplayBean implements Serializable {
private
String
advanceFaceRecognitionSecretKey
;
private
String
advancePictureQualityAccessKey
;
private
String
advancePictureQualitySecretKey
;
private
AccountKitInfo
accountKitInfo
;
public
class
AccountKitInfo
implements
Serializable
{
String
applicationId
;
String
applicationSecret
;
String
appClientToken
;
public
String
getApplicationId
()
{
return
applicationId
;
}
public
void
setApplicationId
(
String
applicationId
)
{
this
.
applicationId
=
applicationId
;
}
public
String
getApplicationSecret
()
{
return
applicationSecret
;
}
public
void
setApplicationSecret
(
String
applicationSecret
)
{
this
.
applicationSecret
=
applicationSecret
;
}
public
String
getAppClientToken
()
{
return
appClientToken
;
}
public
void
setAppClientToken
(
String
appClientToken
)
{
this
.
appClientToken
=
appClientToken
;
}
}
public
AccountKitInfo
getAccountKitInfo
()
{
return
accountKitInfo
;
}
public
void
setAccountKitInfo
(
AccountKitInfo
accountKitInfo
)
{
this
.
accountKitInfo
=
accountKitInfo
;
}
private
long
updateTime
;
public
String
getAdvanceFaceRecognitionAccessKey
()
{
...
...
src/main/java/tech/starwin/mvp/presenter/UserPresenter.java
View file @
98fe40b9
...
...
@@ -20,6 +20,7 @@ import io.reactivex.functions.Predicate;
import
io.reactivex.schedulers.Schedulers
;
import
okhttp3.MultipartBody
;
import
okhttp3.ResponseBody
;
import
tech.starwin.LibConfig
;
import
tech.starwin.base.BasePresenter
;
import
tech.starwin.constants.ActionEnum
;
import
tech.starwin.constants.TrackEvent
;
...
...
@@ -42,9 +43,11 @@ import com.common.bean.RecordFilesResponse;
import
com.common.bean.TokenInfoBean
;
import
com.common.bean.UserBankInfo
;
import
com.common.bean.UserBean
;
import
com.facebook.libfbref.FbDeepLink
;
import
tech.starwin.network.Gateway
;
import
tech.starwin.network.ServiceGenerator
;
import
tech.starwin.utils.AccountKitUtils
;
import
tech.starwin.utils.LoginManager
;
import
tech.starwin.network.tools.MultipartBodyMaker
;
import
tech.starwin.utils.PreferencesManager
;
...
...
@@ -60,6 +63,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
@SuppressLint
(
"CheckResult"
)
public
void
notifyGateway
()
{
FbDeepLink
.
fetchDeepLink
();
Observable
.
fromIterable
(
Gateway
.
getGatewayUrl
())
.
observeOn
(
Schedulers
.
io
())
.
concatMap
(
new
Function
<
String
,
ObservableSource
<
GatewayInfoBean
>>()
{
...
...
@@ -85,7 +89,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
public
void
accept
(
GatewayInfoBean
gatewayInfoBean
)
throws
Exception
{
Gateway
.
setGatewayInfoBean
(
gatewayInfoBean
);
getCustomerMsg
(
""
);
view
.
onHttpSuccess
(
""
,
null
);
view
.
onHttpSuccess
(
""
,
null
);
EventBus
.
getDefault
().
post
(
ActionEnum
.
GATEWAY_UPDATED
);
}
});
...
...
@@ -556,6 +560,13 @@ public class UserPresenter extends BasePresenter<UserApi> {
@Override
public
void
onSuccess
(
DisplayBean
data
)
{
if
(
data
.
getAccountKitInfo
()
!=
null
)
{
String
appId
=
data
.
getAccountKitInfo
().
getApplicationId
();
String
token
=
data
.
getAccountKitInfo
().
getAppClientToken
();
if
(!
TextUtils
.
isEmpty
(
appId
)
&&
!
TextUtils
.
isEmpty
(
token
))
{
AccountKitUtils
.
initAccountKit
(
appId
,
LibConfig
.
APP_NAME
,
token
);
}
}
data
.
setUpdateTime
(
System
.
currentTimeMillis
());
PreferencesManager
.
get
().
saveCustomerInfo
(
data
);
view
.
onHttpSuccess
(
action
,
data
);
...
...
src/main/java/tech/starwin/network/FirebaseHeaderInterceptor.java
View file @
98fe40b9
package
tech
.
starwin
.
network
;
import
android.text.TextUtils
;
import
com.facebook.libfbref.FbDeepLink
;
import
java.io.IOException
;
import
okhttp3.Headers
;
...
...
@@ -29,10 +33,11 @@ public class FirebaseHeaderInterceptor implements Interceptor {
try
{
if
(
newRequest
!=
null
)
{
String
referrer
=
FbDeepLink
.
getFbReferrer
();
Request
.
Builder
builder
=
chain
.
request
().
newBuilder
();
LogUtils
.
d
(
TAG
,
"android_id: "
+
AppInfoUtils
.
getAndroidID
(
LibConfig
.
getContext
()));
builder
.
addHeader
(
"X-REFERRER"
,
PreferencesManager
.
get
().
getInstallReferrer
()
)
.
addHeader
(
"X-REFERRER-SDK"
,
PreferencesManager
.
get
().
getInstallReferrerFromSDK
()
)
LogUtils
.
d
(
TAG
,
"android_id: "
+
AppInfoUtils
.
getAndroidID
(
LibConfig
.
getContext
()));
builder
.
addHeader
(
"X-REFERRER"
,
TextUtils
.
isEmpty
(
referrer
)
?
PreferencesManager
.
get
().
getInstallReferrer
()
:
referrer
)
.
addHeader
(
"X-REFERRER-SDK"
,
TextUtils
.
isEmpty
(
referrer
)
?
PreferencesManager
.
get
().
getInstallReferrerFromSDK
()
:
referrer
)
.
addHeader
(
"X-ANDROID-ID"
,
AppInfoUtils
.
getAndroidID
(
LibConfig
.
getContext
()));
//登录后的上传
...
...
src/main/java/tech/starwin/utils/AccountKitUtils.java
0 → 100644
View file @
98fe40b9
package
tech
.
starwin
.
utils
;
import
com.facebook.accountkit.internal.AccountKitController
;
import
com.facebook.accountkit.internal.Initializer
;
import
java.lang.reflect.Field
;
public
class
AccountKitUtils
{
public
static
boolean
initAccountKit
(
String
facebookAppId
,
String
appName
,
String
accoutkitClientToken
)
{
try
{
if
(
facebookAppId
.
equals
(
PreferencesManager
.
get
().
getAccountAppId
())
&&
accoutkitClientToken
.
equals
(
PreferencesManager
.
get
().
getAccountKitToken
()))
{
return
false
;
}
PreferencesManager
.
get
().
saveAccountAppId
(
facebookAppId
);
PreferencesManager
.
get
().
saveAccountKitToken
(
accoutkitClientToken
);
Class
clazz
=
AccountKitController
.
class
;
Field
initializerField
=
clazz
.
getDeclaredField
(
"initializer"
);
initializerField
.
setAccessible
(
true
);
Initializer
initializer
=
(
Initializer
)
initializerField
.
get
(
clazz
);
Field
dataFiled
=
initializer
.
getClass
().
getDeclaredField
(
"data"
);
dataFiled
.
setAccessible
(
true
);
Object
data
=
dataFiled
.
get
(
initializer
);
Field
applicationIdF
=
data
.
getClass
().
getDeclaredField
(
"applicationId"
);
applicationIdF
.
setAccessible
(
true
);
Field
applicationNameF
=
data
.
getClass
().
getDeclaredField
(
"applicationName"
);
applicationNameF
.
setAccessible
(
true
);
Field
clientTokenF
=
data
.
getClass
().
getDeclaredField
(
"clientToken"
);
clientTokenF
.
setAccessible
(
true
);
applicationIdF
.
set
(
data
,
facebookAppId
);
applicationNameF
.
set
(
data
,
appName
);
clientTokenF
.
set
(
data
,
accoutkitClientToken
);
return
true
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
false
;
}
}
src/main/java/tech/starwin/utils/PreferencesManager.java
View file @
98fe40b9
...
...
@@ -157,6 +157,25 @@ public class PreferencesManager {
/**
* Account Kit配置
*/
public
void
saveAccountKitToken
(
String
sessionId
)
{
saveData
(
"account_kit_token"
,
sessionId
);
}
public
String
getAccountKitToken
()
{
return
getString
(
"account_kit_token"
,
""
);
}
public
void
saveAccountAppId
(
String
sessionId
)
{
saveData
(
"account_kit_appid"
,
sessionId
);
}
public
String
getAccountAppId
()
{
return
getString
(
"account_kit_appid"
,
""
);
}
/**
* 保存上传用户数据时使用的sessionId
*/
public
void
saveSessionId
(
String
sessionId
)
{
...
...
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