Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
YDL-Component-Medical
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨凯
YDL-Component-Medical
Commits
6107ffa1
Commit
6107ffa1
authored
Apr 14, 2021
by
刘鹏
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '4.1.69_log' into 4.1.69(强绑手机号)
parents
c445a1b7
a0681f68
Show whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
1104 additions
and
368 deletions
+1104
-368
MainActivity.kt
app/src/main/java/com/ydl/component/MainActivity.kt
+7
-7
config.gradle
config.gradle
+13
-12
AudioHomeActivity.kt
m-audioim/src/main/java/com/ydl/audioim/AudioHomeActivity.kt
+55
-1
YDLavManager.kt
m-audioim/src/main/java/com/ydl/audioim/YDLavManager.kt
+195
-45
ConsultantAudioHomeActivity.kt
m-audioim/src/main/java/com/ydl/consultantim/ConsultantAudioHomeActivity.kt
+27
-3
AVChatKit.java
m-im/src/main/java/com/yidianling/avchatkit/AVChatKit.java
+5
-1
AVChatActivity.java
m-im/src/main/java/com/yidianling/avchatkit/activity/AVChatActivity.java
+57
-2
AVChatBaseUI.java
m-im/src/main/java/com/yidianling/avchatkit/common/activity/AVChatBaseUI.java
+1
-0
CustomAlertDialog.java
m-im/src/main/java/com/yidianling/avchatkit/common/dialog/CustomAlertDialog.java
+1
-0
NetworkUtil.java
m-im/src/main/java/com/yidianling/avchatkit/common/util/NetworkUtil.java
+8
-2
AVChatController.java
m-im/src/main/java/com/yidianling/avchatkit/controll/AVChatController.java
+65
-10
TeamAVChatActivity.java
m-im/src/main/java/com/yidianling/avchatkit/teamavchat/activity/TeamAVChatActivity.java
+9
-0
IMChatUtil.kt
m-im/src/main/java/com/yidianling/im/helper/IMChatUtil.kt
+8
-3
NimUIKit.java
m-im/src/main/java/com/yidianling/uikit/api/NimUIKit.java
+3
-0
YDLP2PMessageActivity.java
m-im/src/main/java/com/yidianling/uikit/business/session/activity/YDLP2PMessageActivity.java
+8
-8
YDLMessageFragment.java
m-im/src/main/java/com/yidianling/uikit/business/session/fragment/YDLMessageFragment.java
+16
-4
LoginUtils.kt
m-user/src/main/java/com/yidianling/user/LoginUtils.kt
+12
-3
SmsLoginActivity.kt
m-user/src/main/java/com/yidianling/user/ui/SmsLoginActivity.kt
+21
-5
OneKeyLoginHelp.kt
m-user/src/main/java/com/yidianling/user/ui/login/OneKeyLoginHelp.kt
+19
-2
RegisterAndLoginActivity.kt
m-user/src/main/java/com/yidianling/user/ui/login/RegisterAndLoginActivity.kt
+1
-0
InputPassWordPresenterImpl.kt
m-user/src/main/java/com/yidianling/user/ui/login/presenter/InputPassWordPresenterImpl.kt
+43
-8
LoginPresenterImpl.kt
m-user/src/main/java/com/yidianling/user/ui/login/presenter/LoginPresenterImpl.kt
+56
-13
build.gradle
ydl-net/build.gradle
+1
-0
ApiUtil.kt
ydl-net/src/main/java/com/ydl/ydlnet/builder/api/ApiUtil.kt
+0
-29
NetApi.kt
ydl-net/src/main/java/com/ydl/ydlnet/builder/api/NetApi.kt
+0
-22
RequestLogInterceptor.java
ydl-net/src/main/java/com/ydl/ydlnet/builder/interceptor/log/RequestLogInterceptor.java
+8
-23
ApiErrorCountUtils.kt
ydl-net/src/main/java/com/ydl/ydlnet/utils/ApiErrorCountUtils.kt
+0
-59
CommonPayDialog.kt
ydl-pay/src/main/java/com/yidianling/ydl_pay/common/CommonPayDialog.kt
+92
-4
PayActivity.kt
ydl-pay/src/main/java/com/yidianling/ydl_pay/pay/PayActivity.kt
+50
-6
RxPay.kt
ydl-pay/src/main/java/com/yidianling/ydl_pay/pay/RxPay.kt
+16
-4
PayDialog.kt
ydl-pay/src/main/java/com/yidianling/ydl_pay/pay/payDialog/PayDialog.kt
+9
-0
build.gradle
ydl-platform/build.gradle
+2
-1
HttpConfig.kt
ydl-platform/src/main/java/com/ydl/ydlcommon/base/config/HttpConfig.kt
+37
-4
ActionCountUtils.kt
ydl-platform/src/main/java/com/ydl/ydlcommon/utils/actionutil/ActionCountUtils.kt
+51
-7
AliYunLogConfig.kt
ydl-platform/src/main/java/com/ydl/ydlcommon/utils/log/AliYunLogConfig.kt
+32
-0
AliYunRichLogsHelper.kt
ydl-platform/src/main/java/com/ydl/ydlcommon/utils/log/AliYunRichLogsHelper.kt
+80
-0
NewH5Activity.java
ydl-webview/src/main/java/com/ydl/webview/NewH5Activity.java
+96
-80
No files found.
app/src/main/java/com/ydl/component/MainActivity.kt
View file @
6107ffa1
...
@@ -19,24 +19,24 @@ import com.umeng.analytics.MobclickAgent
...
@@ -19,24 +19,24 @@ import com.umeng.analytics.MobclickAgent
import
com.ydl.component.music.FragmentContainerActivity
import
com.ydl.component.music.FragmentContainerActivity
import
com.ydl.component.mvp.DemoContract
import
com.ydl.component.mvp.DemoContract
import
com.ydl.component.mvp.DemoPresenter
import
com.ydl.component.mvp.DemoPresenter
import
com.ydl.component.route.PlatformTempCommonRouteImpl
import
com.ydl.confide.home.ConfideHomeActivity
import
com.ydl.media.audio.PlayService
import
com.ydl.media.audio.PlayService
import
com.ydl.ydlcommon.modular.ModularServiceManager
import
com.ydl.ydlcommon.modular.ModularServiceManager
import
com.ydl.ydlcommon.mvp.lce.BaseLceActivity
import
com.ydl.ydlcommon.mvp.lce.BaseLceActivity
import
com.ydl.ydlcommon.router.YdlCommonRouterManager
import
com.yidianling.common.tools.LogUtil
import
com.yidianling.common.tools.ToastUtil
import
com.yidianling.common.tools.ToastUtil
import
com.yidianling.consultant.api.IConsultantService
import
com.yidianling.fm.api.service.IFMService
import
com.yidianling.fm.api.service.IFMService
import
com.yidianling.tests.home.NewTestHomeActivity
import
com.yidianling.tests.home.NewTestHomeActivity
import
com.yidianling.user.StatusUtils
import
com.yidianling.user.ui.collect.CollectSexAndBirthActivity
import
com.yidianling.user.ui.collect.CollectSexAndBirthActivity
import
com.yidianling.user.ui.login.OneKeyLoginHelp
import
com.yidianling.user.widget.SecretDescriptionDialog
import
com.yidianling.user.widget.SecretDescriptionDialog
import
com.yidianling.user.widget.SecretDialog
import
com.yidianling.user.widget.SecretDialog
import
com.yidianling.user.widget.SecretDialog.OnSecretDialogListener
import
com.yidianling.user.widget.SecretDialog.OnSecretDialogListener
import
kotlinx.android.synthetic.main.activity_main.*
import
kotlinx.android.synthetic.main.activity_main.*
import
com.ydl.component.route.PlatformTempCommonRouteImpl
import
com.ydl.confide.home.ConfideHomeActivity
import
com.ydl.ydlcommon.router.YdlCommonRouterManager
import
com.yidianling.common.tools.LogUtil
import
com.yidianling.consultant.api.IConsultantService
import
com.yidianling.user.StatusUtils
import
com.yidianling.user.ui.login.OneKeyLoginHelp
/**
/**
...
...
config.gradle
View file @
6107ffa1
...
@@ -5,12 +5,12 @@ ext {
...
@@ -5,12 +5,12 @@ ext {
ydlPublishVersion
=
[
ydlPublishVersion
=
[
// -------------- 业务模块 --------------
// -------------- 业务模块 --------------
//第三步 若干
//第三步 若干
"m-confide"
:
"0.0.49.0
2
"
,
"m-confide"
:
"0.0.49.0
6
"
,
"m-consultant"
:
"0.0.59.69"
,
"m-consultant"
:
"0.0.59.69"
,
"m-fm"
:
"0.0.30.01"
,
"m-fm"
:
"0.0.30.01"
,
"m-user"
:
"0.0.61.29"
,
"m-user"
:
"0.0.61.29"
,
"m-home"
:
"0.0.22.59"
,
"m-home"
:
"0.0.22.59"
,
"m-im"
:
"0.0.18.4
1
"
,
"m-im"
:
"0.0.18.4
8
"
,
"m-dynamic"
:
"0.0.7.19"
,
"m-dynamic"
:
"0.0.7.19"
,
"m-article"
:
"0.0.0.6"
,
"m-article"
:
"0.0.0.6"
,
...
@@ -33,18 +33,18 @@ ext {
...
@@ -33,18 +33,18 @@ ext {
//-------------- 功能组件 --------------
//-------------- 功能组件 --------------
//第一步
//第一步
"ydl-platform"
:
"0.0.
39.98
"
,
"ydl-platform"
:
"0.0.
40.00
"
,
//第二步 若干
//第二步 若干
"ydl-webview"
:
"0.0.38.
36
"
,
"ydl-webview"
:
"0.0.38.
41
"
,
"ydl-media"
:
"0.0.21.6"
,
"ydl-media"
:
"0.0.21.6"
,
"ydl-pay"
:
"0.0.18.1
3
"
,
"ydl-pay"
:
"0.0.18.1
8
"
,
"m-audioim"
:
"0.0.49.29.36"
,
"m-audioim"
:
"0.0.49.29.36"
,
"ydl-flutter-base"
:
"0.0.14.23"
,
"ydl-flutter-base"
:
"0.0.14.23"
,
//以下 几乎不会动
//以下 几乎不会动
"router"
:
"0.0.1"
,
"router"
:
"0.0.1"
,
"ydl-net"
:
"0.0.3.
7
"
,
"ydl-net"
:
"0.0.3.
9
"
,
"ydl-utils"
:
"0.0.3.1"
,
"ydl-utils"
:
"0.0.3.1"
,
]
]
ydl_app
=
[
ydl_app
=
[
...
@@ -88,12 +88,12 @@ ext {
...
@@ -88,12 +88,12 @@ ext {
// -------------- 业务模块 --------------
// -------------- 业务模块 --------------
//第三步 若干
//第三步 若干
"m-confide"
:
"0.0.49.0
2
"
,
"m-confide"
:
"0.0.49.0
6
"
,
"m-consultant"
:
"0.0.59.69"
,
"m-consultant"
:
"0.0.59.69"
,
"m-fm"
:
"0.0.30.01"
,
"m-fm"
:
"0.0.30.01"
,
"m-user"
:
"0.0.61.29"
,
"m-user"
:
"0.0.61.29"
,
"m-home"
:
"0.0.22.59"
,
"m-home"
:
"0.0.22.59"
,
"m-im"
:
"0.0.18.4
0
"
,
"m-im"
:
"0.0.18.4
8
"
,
"m-dynamic"
:
"0.0.7.19"
,
"m-dynamic"
:
"0.0.7.19"
,
"m-article"
:
"0.0.0.6"
,
"m-article"
:
"0.0.0.6"
,
...
@@ -115,18 +115,18 @@ ext {
...
@@ -115,18 +115,18 @@ ext {
//-------------- 功能组件 --------------
//-------------- 功能组件 --------------
//第一步
//第一步
"ydl-platform"
:
"0.0.
39.98
"
,
"ydl-platform"
:
"0.0.
40.00
"
,
//第二步 若干
//第二步 若干
"ydl-webview"
:
"0.0.38.
36
"
,
"ydl-webview"
:
"0.0.38.
41
"
,
"ydl-media"
:
"0.0.21.6"
,
"ydl-media"
:
"0.0.21.6"
,
"ydl-pay"
:
"0.0.18.1
1
"
,
"ydl-pay"
:
"0.0.18.1
8
"
,
"m-audioim"
:
"0.0.49.29.36"
,
"m-audioim"
:
"0.0.49.29.36"
,
"ydl-flutter-base"
:
"0.0.14.23"
,
"ydl-flutter-base"
:
"0.0.14.23"
,
//以下 几乎不会动
//以下 几乎不会动
"router"
:
"0.0.1"
,
"router"
:
"0.0.1"
,
"ydl-net"
:
"0.0.3.
7
"
,
"ydl-net"
:
"0.0.3.
9
"
,
"ydl-utils"
:
"0.0.3.1"
,
"ydl-utils"
:
"0.0.3.1"
,
]
]
...
@@ -199,6 +199,7 @@ ext {
...
@@ -199,6 +199,7 @@ ext {
"androideventbus"
:
"org.simple:androideventbus:1.0.5.1"
,
"androideventbus"
:
"org.simple:androideventbus:1.0.5.1"
,
"otto"
:
"com.squareup:otto:1.3.8"
,
"otto"
:
"com.squareup:otto:1.3.8"
,
"gson"
:
"com.google.code.gson:gson:2.8.5"
,
"gson"
:
"com.google.code.gson:gson:2.8.5"
,
"aliyun"
:
"com.aliyun.openservices:aliyun-log-android-sdk:2.5.13"
,
"javax.annotation"
:
"javax.annotation:jsr250-api:1.0"
,
"javax.annotation"
:
"javax.annotation:jsr250-api:1.0"
,
"arouter"
:
"com.alibaba:arouter-api:1.4.1"
,
"arouter"
:
"com.alibaba:arouter-api:1.4.1"
,
"progressmanager"
:
"me.jessyan:progressmanager:1.5.0"
,
"progressmanager"
:
"me.jessyan:progressmanager:1.5.0"
,
...
...
m-audioim/src/main/java/com/ydl/audioim/AudioHomeActivity.kt
View file @
6107ffa1
...
@@ -50,6 +50,8 @@ import com.ydl.ydlcommon.utils.LogUtil
...
@@ -50,6 +50,8 @@ import com.ydl.ydlcommon.utils.LogUtil
import
com.ydl.ydlcommon.utils.StatusBarUtils
import
com.ydl.ydlcommon.utils.StatusBarUtils
import
com.ydl.ydlcommon.utils.Utils
import
com.ydl.ydlcommon.utils.Utils
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
import
com.ydl.ydlcommon.utils.log.LogHelper
import
com.ydl.ydlcommon.utils.log.LogHelper
import
com.ydl.ydlcommon.utils.remind.ToastHelper
import
com.ydl.ydlcommon.utils.remind.ToastHelper
import
com.yidianling.common.tools.ToastUtil
import
com.yidianling.common.tools.ToastUtil
...
@@ -212,6 +214,8 @@ class AudioHomeActivity :
...
@@ -212,6 +214,8 @@ class AudioHomeActivity :
uploadException
(
"mRtcEventHandler-onWarning:warnCode--%${warn}"
,
callback
=
null
)
uploadException
(
"mRtcEventHandler-onWarning:warnCode--%${warn}"
,
callback
=
null
)
LogUtil
.
e
(
"[agora]发生警告回调$warn"
)
LogUtil
.
e
(
"[agora]发生警告回调$warn"
)
writeAgoraLog
(
"声网警告回调($warn)"
)
writeAgoraLog
(
"声网警告回调($warn)"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"声网警告回调($warn)"
)
//103:没有可用的频道资源。可能是因为服务端没法分配频道资源
//103:没有可用的频道资源。可能是因为服务端没法分配频道资源
//104:查找频道超时。在加入频道时 SDK 先要查找指定的频道,出现该警告一般是因为网络太差,连接不到服务器
//104:查找频道超时。在加入频道时 SDK 先要查找指定的频道,出现该警告一般是因为网络太差,连接不到服务器
//105:查找频道请求被服务器拒绝。服务器可能没有办法处理这个请求或请求是非法的
//105:查找频道请求被服务器拒绝。服务器可能没有办法处理这个请求或请求是非法的
...
@@ -240,6 +244,8 @@ class AudioHomeActivity :
...
@@ -240,6 +244,8 @@ class AudioHomeActivity :
super
.
onError
(
err
)
super
.
onError
(
err
)
uploadException
(
"mRtcEventHandler-onError:errorCode--%${err}"
,
callback
=
null
)
uploadException
(
"mRtcEventHandler-onError:errorCode--%${err}"
,
callback
=
null
)
writeAgoraLog
(
"声网错误回调errorCode--%${err}"
)
writeAgoraLog
(
"声网错误回调errorCode--%${err}"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"声网错误回调errorCode--%${err}"
)
//3:SDK 初始化失败。Agora 建议尝试以下处理方法
//3:SDK 初始化失败。Agora 建议尝试以下处理方法
//7:SDK 尚未初始化,就调用其 API。请确认在调用 API 之前已创建 RtcEngine 对象并完成初始化
//7:SDK 尚未初始化,就调用其 API。请确认在调用 API 之前已创建 RtcEngine 对象并完成初始化
//10:API 调用超时。有些 API 调用需要 SDK 返回结果,如果 SDK 处理时间过长,超过 10 秒没有返回,会出现此错误
//10:API 调用超时。有些 API 调用需要 SDK 返回结果,如果 SDK 处理时间过长,超过 10 秒没有返回,会出现此错误
...
@@ -283,11 +289,16 @@ class AudioHomeActivity :
...
@@ -283,11 +289,16 @@ class AudioHomeActivity :
override
fun
onApiCallExecuted
(
error
:
Int
,
api
:
String
?,
result
:
String
?)
{
override
fun
onApiCallExecuted
(
error
:
Int
,
api
:
String
?,
result
:
String
?)
{
super
.
onApiCallExecuted
(
error
,
api
,
result
)
super
.
onApiCallExecuted
(
error
,
api
,
result
)
// LogUtil.e("[agora]$api 已执行回调 $result")
// LogUtil.e("[agora]$api 已执行回调 $result")
//注销原因,产生大量无效数据,会被频繁调用
// AliYunRichLogsHelper.getInstance()
// .sendLog(AliYunLogConfig.AGORA, "$api 已执行回调 $result")
}
}
override
fun
onJoinChannelSuccess
(
channel
:
String
?,
uid
:
Int
,
elapsed
:
Int
)
{
override
fun
onJoinChannelSuccess
(
channel
:
String
?,
uid
:
Int
,
elapsed
:
Int
)
{
super
.
onJoinChannelSuccess
(
channel
,
uid
,
elapsed
)
super
.
onJoinChannelSuccess
(
channel
,
uid
,
elapsed
)
LogUtil
.
e
(
"[agora]$uid 用户声网加入频道成功:channel=$channel"
)
LogUtil
.
e
(
"[agora]$uid 用户声网加入频道成功:channel=$channel"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"$uid 用户声网加入频道成功:channel=$channel"
)
//更新ui
//更新ui
// onJoinChannelSuccess()
// onJoinChannelSuccess()
...
@@ -303,6 +314,8 @@ class AudioHomeActivity :
...
@@ -303,6 +314,8 @@ class AudioHomeActivity :
override
fun
onRejoinChannelSuccess
(
channel
:
String
?,
uid
:
Int
,
elapsed
:
Int
)
{
override
fun
onRejoinChannelSuccess
(
channel
:
String
?,
uid
:
Int
,
elapsed
:
Int
)
{
super
.
onRejoinChannelSuccess
(
channel
,
uid
,
elapsed
)
super
.
onRejoinChannelSuccess
(
channel
,
uid
,
elapsed
)
LogUtil
.
e
(
"[agora]$uid 用户声网重新加入频道成功:channel=$channel"
)
LogUtil
.
e
(
"[agora]$uid 用户声网重新加入频道成功:channel=$channel"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"$uid 用户声网重新加入频道成功:channel=$channel"
)
runOnUiThread
{
runOnUiThread
{
//自己加入频道成功
//自己加入频道成功
if
(!
isConnectSuccess
)
{
if
(!
isConnectSuccess
)
{
...
@@ -316,6 +329,8 @@ class AudioHomeActivity :
...
@@ -316,6 +329,8 @@ class AudioHomeActivity :
override
fun
onRtcStats
(
stats
:
IRtcEngineEventHandler
.
RtcStats
?)
{
override
fun
onRtcStats
(
stats
:
IRtcEngineEventHandler
.
RtcStats
?)
{
super
.
onRtcStats
(
stats
)
super
.
onRtcStats
(
stats
)
writeAgoraLog
(
"声网onRtcStats:users:${stats?.users}"
)
writeAgoraLog
(
"声网onRtcStats:users:${stats?.users}"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"声网onRtcStats:users:${stats?.users}"
)
// 不需要移动端做离开房间逻辑,服务端会判断进行踢人逻辑
// 不需要移动端做离开房间逻辑,服务端会判断进行踢人逻辑
//因为用户端直接加入了频道,防止该回调执行时,专家还未加入频道,因此在连接成功之后,才进行频道人数判断
//因为用户端直接加入了频道,防止该回调执行时,专家还未加入频道,因此在连接成功之后,才进行频道人数判断
// if (isConnectSuccess && null != stats?.users && stats.users == 1) {
// if (isConnectSuccess && null != stats?.users && stats.users == 1) {
...
@@ -332,6 +347,8 @@ class AudioHomeActivity :
...
@@ -332,6 +347,8 @@ class AudioHomeActivity :
// 3 网络连接被服务器中止 该情况现在是因为后端踢人逻辑
// 3 网络连接被服务器中止 该情况现在是因为后端踢人逻辑
if
(
reason
==
3
)
{
if
(
reason
==
3
)
{
writeAgoraLog
(
"通话结束:网络连接被服务器中止 该情况现在是因为后端踢人逻辑,原因(${reason})"
)
writeAgoraLog
(
"通话结束:网络连接被服务器中止 该情况现在是因为后端踢人逻辑,原因(${reason})"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"通话结束:网络连接被服务器中止 该情况现在是因为后端踢人逻辑,原因(${reason})"
)
// com.yidianling.common.tools.ToastUtil.toastShort("专家已挂断")
// com.yidianling.common.tools.ToastUtil.toastShort("专家已挂断")
//通话结束或挂断时,上传日志文件
//通话结束或挂断时,上传日志文件
uploadLog
()
uploadLog
()
...
@@ -343,6 +360,8 @@ class AudioHomeActivity :
...
@@ -343,6 +360,8 @@ class AudioHomeActivity :
override
fun
onLeaveChannel
(
stats
:
IRtcEngineEventHandler
.
RtcStats
?)
{
override
fun
onLeaveChannel
(
stats
:
IRtcEngineEventHandler
.
RtcStats
?)
{
super
.
onLeaveChannel
(
stats
)
super
.
onLeaveChannel
(
stats
)
LogUtil
.
e
(
"[agora]离开频道回调"
)
LogUtil
.
e
(
"[agora]离开频道回调"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"离开频道回调"
)
//通话结束或挂断时,上传日志文件
//通话结束或挂断时,上传日志文件
uploadLog
()
uploadLog
()
}
}
...
@@ -351,12 +370,16 @@ class AudioHomeActivity :
...
@@ -351,12 +370,16 @@ class AudioHomeActivity :
override
fun
onUserJoined
(
uid
:
Int
,
elapsed
:
Int
)
{
override
fun
onUserJoined
(
uid
:
Int
,
elapsed
:
Int
)
{
super
.
onUserJoined
(
uid
,
elapsed
)
super
.
onUserJoined
(
uid
,
elapsed
)
LogUtil
.
e
(
"[agora]远端用户/主播加入频道回调"
)
LogUtil
.
e
(
"[agora]远端用户/主播加入频道回调"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"远端用户/主播加入频道回调"
)
}
}
override
fun
onUserOffline
(
uid
:
Int
,
elapsed
:
Int
)
{
override
fun
onUserOffline
(
uid
:
Int
,
elapsed
:
Int
)
{
super
.
onUserOffline
(
uid
,
elapsed
)
super
.
onUserOffline
(
uid
,
elapsed
)
LogUtil
.
e
(
"[agora]远端用户$uid 离开频道回调"
)
LogUtil
.
e
(
"[agora]远端用户$uid 离开频道回调"
)
writeAgoraLog
(
"接通后通话结束:对方已挂断"
)
writeAgoraLog
(
"接通后通话结束:对方已挂断"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"接通后通话结束:对方已挂断"
)
//通话结束或挂断时,上传日志文件
//通话结束或挂断时,上传日志文件
uploadLog
()
uploadLog
()
showToast
(
"专家已挂断"
)
showToast
(
"专家已挂断"
)
...
@@ -430,6 +453,8 @@ class AudioHomeActivity :
...
@@ -430,6 +453,8 @@ class AudioHomeActivity :
//页面传递数据初始化
//页面传递数据初始化
initIntentData
()
initIntentData
()
writeAgoraLog
(
"通话页面打开的时候,RTM登录状态码:${YDLavManager.sdkStatus}"
)
writeAgoraLog
(
"通话页面打开的时候,RTM登录状态码:${YDLavManager.sdkStatus}"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
RTM
,
"通话页面打开的时候,RTM登录状态码:${YDLavManager.sdkStatus}"
)
if
(
YDLavManager
.
sdkStatus
!=
Constants
.
CONNECTION_STATE_CONNECTED
)
{
if
(
YDLavManager
.
sdkStatus
!=
Constants
.
CONNECTION_STATE_CONNECTED
)
{
//再次登录声网,确保声网登录状态
//再次登录声网,确保声网登录状态
reLoginRTM
()
reLoginRTM
()
...
@@ -486,6 +511,8 @@ class AudioHomeActivity :
...
@@ -486,6 +511,8 @@ class AudioHomeActivity :
commentUrl
=
intent
.
getStringExtra
(
IntentConstants
.
INTENT_COMMENT_URL
)
commentUrl
=
intent
.
getStringExtra
(
IntentConstants
.
INTENT_COMMENT_URL
)
dialStatus
=
intent
.
getStringExtra
(
IntentConstants
.
INTENT_DIALSTATUS
)
dialStatus
=
intent
.
getStringExtra
(
IntentConstants
.
INTENT_DIALSTATUS
)
writeAgoraLog
(
"专家的通话状态dialStatus:$dialStatus"
,
false
)
writeAgoraLog
(
"专家的通话状态dialStatus:$dialStatus"
,
false
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"专家的通话状态dialStatus:$dialStatus"
)
isShowAXB
=
intent
.
getBooleanExtra
(
IntentConstants
.
INTENT_ISSHOWAXB
,
true
)
isShowAXB
=
intent
.
getBooleanExtra
(
IntentConstants
.
INTENT_ISSHOWAXB
,
true
)
val
logBean
=
AgoraLogInfoBean
(
val
logBean
=
AgoraLogInfoBean
(
...
@@ -500,7 +527,8 @@ class AudioHomeActivity :
...
@@ -500,7 +527,8 @@ class AudioHomeActivity :
)
)
val
content
=
Gson
().
toJson
(
logBean
)
val
content
=
Gson
().
toJson
(
logBean
)
writeAgoraLog
(
"主叫方发送的邀请通话消息内容:$content"
,
true
)
writeAgoraLog
(
"主叫方发送的邀请通话消息内容:$content"
,
true
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"主叫方发送的邀请通话消息内容:$content"
)
localRemainTime
=
remainTime
?.
toInt
()
localRemainTime
=
remainTime
?.
toInt
()
handler
=
Handler
()
handler
=
Handler
()
vibrator
=
getSystemService
(
Service
.
VIBRATOR_SERVICE
)
as
Vibrator
?
vibrator
=
getSystemService
(
Service
.
VIBRATOR_SERVICE
)
as
Vibrator
?
...
@@ -508,6 +536,8 @@ class AudioHomeActivity :
...
@@ -508,6 +536,8 @@ class AudioHomeActivity :
private
fun
reLoginRTM
()
{
private
fun
reLoginRTM
()
{
writeAgoraLog
(
"RMT状态:${YDLavManager.sdkStatus},重新登录RMT"
)
writeAgoraLog
(
"RMT状态:${YDLavManager.sdkStatus},重新登录RMT"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
RTM
,
"RMT状态:${YDLavManager.sdkStatus},重新登录RMTt"
)
val
uid
=
YdlCommonRouterManager
.
getYdlCommonRoute
().
getUid
().
toString
()
val
uid
=
YdlCommonRouterManager
.
getYdlCommonRoute
().
getUid
().
toString
()
YDLavManager
.
instances
.
login
(
uid
)
{
_isSuccess
,
_msg
->
YDLavManager
.
instances
.
login
(
uid
)
{
_isSuccess
,
_msg
->
// writeAgoraLog("拨打电话界面打开RTM重新登录,uid=${uid}")
// writeAgoraLog("拨打电话界面打开RTM重新登录,uid=${uid}")
...
@@ -518,6 +548,8 @@ class AudioHomeActivity :
...
@@ -518,6 +548,8 @@ class AudioHomeActivity :
private
fun
initView
()
{
private
fun
initView
()
{
writeAgoraLog
(
"用户拨打电话界面开启"
)
writeAgoraLog
(
"用户拨打电话界面开启"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"用户拨打电话界面开启"
)
tv_change_route
.
isEnabled
=
false
tv_change_route
.
isEnabled
=
false
//水波纹view初始化
//水波纹view初始化
wave_view
.
setDuration
(
6000
)
wave_view
.
setDuration
(
6000
)
...
@@ -563,6 +595,8 @@ class AudioHomeActivity :
...
@@ -563,6 +595,8 @@ class AudioHomeActivity :
}
}
if
(
isConnectSuccess
)
{
if
(
isConnectSuccess
)
{
writeAgoraLog
(
"已接通:主叫主动挂断"
)
writeAgoraLog
(
"已接通:主叫主动挂断"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"已接通:主叫主动挂断"
)
updateExpertStatus
(
false
,
1
)
updateExpertStatus
(
false
,
1
)
leaveChannel
()
leaveChannel
()
uploadLog
()
uploadLog
()
...
@@ -611,6 +645,8 @@ class AudioHomeActivity :
...
@@ -611,6 +645,8 @@ class AudioHomeActivity :
when
{
when
{
permission
.
granted
->
{
permission
.
granted
->
{
writeAgoraLog
(
"请求音频权限通过"
)
writeAgoraLog
(
"请求音频权限通过"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"请求音频权限通过"
)
init
()
init
()
}
}
permission
.
shouldShowRequestPermissionRationale
->
{
permission
.
shouldShowRequestPermissionRationale
->
{
...
@@ -620,6 +656,8 @@ class AudioHomeActivity :
...
@@ -620,6 +656,8 @@ class AudioHomeActivity :
// 拒绝权限操作发送给服务端
// 拒绝权限操作发送给服务端
uploadException
(
"AudioNotAuth"
,
"zhu"
,
YDLavManager
.
AUDIO_NO_AUTH_ERROR_CODE
,
null
)
uploadException
(
"AudioNotAuth"
,
"zhu"
,
YDLavManager
.
AUDIO_NO_AUTH_ERROR_CODE
,
null
)
writeAgoraLog
(
"拒绝请求音频权限"
)
writeAgoraLog
(
"拒绝请求音频权限"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"拒绝请求音频权限"
)
uploadLog
()
uploadLog
()
ToastHelper
.
show
(
getString
(
R
.
string
.
audioim_need_storage_permission_hint
))
ToastHelper
.
show
(
getString
(
R
.
string
.
audioim_need_storage_permission_hint
))
...
@@ -682,6 +720,8 @@ class AudioHomeActivity :
...
@@ -682,6 +720,8 @@ class AudioHomeActivity :
//关闭音乐
//关闭音乐
stopPlaying
()
stopPlaying
()
writeAgoraLog
(
"未接通挂断:50s等待倒计时结束挂断"
)
writeAgoraLog
(
"未接通挂断:50s等待倒计时结束挂断"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"未接通挂断:50s等待倒计时结束挂断"
)
//提示切换传统线路
//提示切换传统线路
//发送消息通知专家用户已挂断
//发送消息通知专家用户已挂断
YDLavManager
.
instances
.
cancelCall
(
YDLavManager
.
instances
.
cancelCall
(
...
@@ -690,6 +730,8 @@ class AudioHomeActivity :
...
@@ -690,6 +730,8 @@ class AudioHomeActivity :
sendDoctocrMsg
!!
sendDoctocrMsg
!!
)
{
msg
,
code
->
)
{
msg
,
code
->
writeAgoraLog
(
"未接听时:主叫(用户)主动挂断失败,msg=$msg($code),再次挂断"
)
writeAgoraLog
(
"未接听时:主叫(用户)主动挂断失败,msg=$msg($code),再次挂断"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"未接听时:主叫(用户)主动挂断失败,msg=$msg($code),再次挂断"
)
}
}
//通话结束或挂断时,上传日志文件
//通话结束或挂断时,上传日志文件
uploadLog
()
uploadLog
()
...
@@ -725,6 +767,8 @@ class AudioHomeActivity :
...
@@ -725,6 +767,8 @@ class AudioHomeActivity :
*/
*/
fun
joinChannel
()
{
fun
joinChannel
()
{
writeAgoraLog
(
"对方(专家)接受了通话邀请,主叫(用户)开始加入频道:$channelId"
)
writeAgoraLog
(
"对方(专家)接受了通话邀请,主叫(用户)开始加入频道:$channelId"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"对方(专家)接受了通话邀请,主叫(用户)开始加入频道:$channelId"
)
voiceManage
!!
.
getVoiceApi
().
joinChannel
(
voiceManage
!!
.
getVoiceApi
().
joinChannel
(
token
!!
,
token
!!
,
channelId
!!
,
channelId
!!
,
...
@@ -740,6 +784,8 @@ class AudioHomeActivity :
...
@@ -740,6 +784,8 @@ class AudioHomeActivity :
*/
*/
private
fun
userCloseCalling
()
{
private
fun
userCloseCalling
()
{
writeAgoraLog
(
"未接听时:主叫(用户)主动挂断,取消呼叫"
)
writeAgoraLog
(
"未接听时:主叫(用户)主动挂断,取消呼叫"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"未接听时:主叫(用户)主动挂断,取消呼叫"
)
LogUtil
.
e
(
"未接听挂断"
)
LogUtil
.
e
(
"未接听挂断"
)
//发送消息通知专家用户已挂断
//发送消息通知专家用户已挂断
YDLavManager
.
instances
.
cancelCall
(
YDLavManager
.
instances
.
cancelCall
(
...
@@ -748,6 +794,8 @@ class AudioHomeActivity :
...
@@ -748,6 +794,8 @@ class AudioHomeActivity :
sendDoctocrMsg
!!
sendDoctocrMsg
!!
)
{
msg
,
code
->
)
{
msg
,
code
->
writeAgoraLog
(
"未接听时:主叫(用户)主动挂断失败,msg=$msg($code),再次挂断"
)
writeAgoraLog
(
"未接听时:主叫(用户)主动挂断失败,msg=$msg($code),再次挂断"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"未接听时:主叫(用户)主动挂断失败,msg=$msg($code),再次挂断"
)
}
}
//通话结束或挂断时,上传日志文件
//通话结束或挂断时,上传日志文件
uploadLog
()
uploadLog
()
...
@@ -793,6 +841,8 @@ class AudioHomeActivity :
...
@@ -793,6 +841,8 @@ class AudioHomeActivity :
val
dialog
=
AxbConfirmDialog
(
mContext
,
type
,
object
:
AxbConfirmDialog
.
OnClickEnsureListener
{
val
dialog
=
AxbConfirmDialog
(
mContext
,
type
,
object
:
AxbConfirmDialog
.
OnClickEnsureListener
{
override
fun
onClickEnsure
()
{
override
fun
onClickEnsure
()
{
writeAgoraLog
(
"主叫点击切换AXB按钮"
)
writeAgoraLog
(
"主叫点击切换AXB按钮"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"主叫点击切换AXB按钮"
)
switchAXB
()
switchAXB
()
}
}
...
@@ -815,6 +865,8 @@ class AudioHomeActivity :
...
@@ -815,6 +865,8 @@ class AudioHomeActivity :
uploadException
(
""
,
"zhu"
,
"108"
,
object
:
YDLavManager
.
UploadExceptionCallback
{
uploadException
(
""
,
"zhu"
,
"108"
,
object
:
YDLavManager
.
UploadExceptionCallback
{
override
fun
onSuccess
()
{
override
fun
onSuccess
()
{
writeAgoraLog
(
"离开房间成功,主叫切换AXB之后"
)
writeAgoraLog
(
"离开房间成功,主叫切换AXB之后"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"离开房间成功,主叫切换AXB之后"
)
mPresenter
.
getAXBPhone
(
ConnectCommand
(
listenId
!!
,
"1"
))
mPresenter
.
getAXBPhone
(
ConnectCommand
(
listenId
!!
,
"1"
))
}
}
...
@@ -848,6 +900,8 @@ class AudioHomeActivity :
...
@@ -848,6 +900,8 @@ class AudioHomeActivity :
sendDoctocrMsg
!!
sendDoctocrMsg
!!
)
{
msg
,
code
->
)
{
msg
,
code
->
writeAgoraLog
(
"未接听时:主叫主动挂断失败,msg=$msg($code),再次挂断"
)
writeAgoraLog
(
"未接听时:主叫主动挂断失败,msg=$msg($code),再次挂断"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"未接听时:主叫主动挂断失败,msg=$msg($code),再次挂断"
)
}
}
leaveChannel
()
leaveChannel
()
}
}
...
...
m-audioim/src/main/java/com/ydl/audioim/YDLavManager.kt
View file @
6107ffa1
...
@@ -22,13 +22,12 @@ import com.ydl.ydl_av.messge_service.callback.LoginCallback
...
@@ -22,13 +22,12 @@ import com.ydl.ydl_av.messge_service.callback.LoginCallback
import
com.ydl.ydl_av.messge_service.request.LoginParam
import
com.ydl.ydl_av.messge_service.request.LoginParam
import
com.ydl.ydl_av.messge_service.response.CallLocalResponse
import
com.ydl.ydl_av.messge_service.response.CallLocalResponse
import
com.ydl.ydl_av.messge_service.response.CallRemoteResponse
import
com.ydl.ydl_av.messge_service.response.CallRemoteResponse
import
com.ydl.ydlcommon.base.BaseApp
import
com.ydl.ydlcommon.modular.ModularServiceManager
import
com.ydl.ydlcommon.modular.ModularServiceManager
import
com.ydl.ydlcommon.utils.ActivityManager
import
com.ydl.ydlcommon.utils.ActivityManager
import
com.ydl.ydlcommon.utils.LogUtil
import
com.ydl.ydlcommon.utils.LogUtil
import
com.ydl.ydlcommon.utils.SharedPreferencesEditor
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
import
com.ydl.ydlcommon.utils.log.LogHelper
import
com.ydl.ydlcommon.utils.log.LogHelper
import
com.yidianling.common.tools.RxSPTool
import
com.yidianling.common.tools.ToastUtil
import
com.yidianling.common.tools.ToastUtil
import
com.yidianling.im.api.bean.IMRegisterObserverCustomNotificationCallBack
import
com.yidianling.im.api.bean.IMRegisterObserverCustomNotificationCallBack
import
com.yidianling.im.api.bean.IMSendCustomNotificationResultCallBack
import
com.yidianling.im.api.bean.IMSendCustomNotificationResultCallBack
...
@@ -93,6 +92,10 @@ class YDLavManager {
...
@@ -93,6 +92,10 @@ class YDLavManager {
override
fun
onCallRecivedByPeer
(
response
:
CallLocalResponse
?)
{
override
fun
onCallRecivedByPeer
(
response
:
CallLocalResponse
?)
{
//返回给主叫:被叫已收到呼叫邀请
//返回给主叫:被叫已收到呼叫邀请
LogUtil
.
e
(
"[agora]${response?.calleeId}已收到呼叫邀请,频道号${response?.ChannelId}"
)
LogUtil
.
e
(
"[agora]${response?.calleeId}已收到呼叫邀请,频道号${response?.ChannelId}"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"${response?.calleeId}已收到呼叫邀请,频道号${response?.ChannelId}"
)
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
if
(
act
is
AudioHomeActivity
)
{
if
(
act
is
AudioHomeActivity
)
{
...
@@ -106,7 +109,10 @@ class YDLavManager {
...
@@ -106,7 +109,10 @@ class YDLavManager {
override
fun
onCallAccepted
(
response
:
CallLocalResponse
?,
msg
:
String
?)
{
override
fun
onCallAccepted
(
response
:
CallLocalResponse
?,
msg
:
String
?)
{
//返回给主叫
//返回给主叫
LogUtil
.
e
(
"[agora]${response?.calleeId}已接收呼叫邀请"
)
LogUtil
.
e
(
"[agora]${response?.calleeId}已接收呼叫邀请"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"${response?.calleeId}已接收呼叫邀请"
)
//加入声网频道时机修改:主叫收到被叫接受邀请的回调后再加入声网频道
//加入声网频道时机修改:主叫收到被叫接受邀请的回调后再加入声网频道
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
if
(
act
is
AudioHomeActivity
)
{
if
(
act
is
AudioHomeActivity
)
{
...
@@ -119,7 +125,10 @@ class YDLavManager {
...
@@ -119,7 +125,10 @@ class YDLavManager {
override
fun
onCallRefused
(
response
:
CallLocalResponse
?,
msg
:
String
?)
{
override
fun
onCallRefused
(
response
:
CallLocalResponse
?,
msg
:
String
?)
{
//返回给主叫
//返回给主叫
LogUtil
.
e
(
"[agora]${response?.calleeId}已拒绝呼叫邀请"
)
LogUtil
.
e
(
"[agora]${response?.calleeId}已拒绝呼叫邀请"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"${response?.calleeId}已拒绝呼叫邀请"
)
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
if
(
act
is
AudioHomeActivity
)
{
if
(
act
is
AudioHomeActivity
)
{
act
.
runOnUiThread
{
act
.
runOnUiThread
{
...
@@ -137,6 +146,10 @@ class YDLavManager {
...
@@ -137,6 +146,10 @@ class YDLavManager {
override
fun
onCallCanceled
(
response
:
CallLocalResponse
?)
{
override
fun
onCallCanceled
(
response
:
CallLocalResponse
?)
{
//返回给主叫
//返回给主叫
LogUtil
.
e
(
"[agora]主叫已取消呼叫邀请"
)
LogUtil
.
e
(
"[agora]主叫已取消呼叫邀请"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"主叫已取消呼叫邀请"
)
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
if
(
act
is
AudioHomeActivity
)
{
if
(
act
is
AudioHomeActivity
)
{
act
.
runOnUiThread
{
act
.
runOnUiThread
{
...
@@ -149,6 +162,10 @@ class YDLavManager {
...
@@ -149,6 +162,10 @@ class YDLavManager {
override
fun
onCallFailure
(
response
:
CallLocalResponse
?,
errorCode
:
Int
)
{
override
fun
onCallFailure
(
response
:
CallLocalResponse
?,
errorCode
:
Int
)
{
//返回给主叫
//返回给主叫
LogUtil
.
e
(
"[agora]呼叫${response?.calleeId}用户失败:${response?.response}"
)
LogUtil
.
e
(
"[agora]呼叫${response?.calleeId}用户失败:${response?.response}"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"呼叫${response?.calleeId}用户失败:${response?.response}"
)
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
//专家离线或者30 秒后仍未收到专家响应,重新再邀请一次
//专家离线或者30 秒后仍未收到专家响应,重新再邀请一次
when
(
errorCode
)
{
when
(
errorCode
)
{
...
@@ -160,26 +177,13 @@ class YDLavManager {
...
@@ -160,26 +177,13 @@ class YDLavManager {
}
}
}
}
}
}
RtmStatusCode
.
LocalInvitationError
.
LOCAL_INVITATION_ERR_INVITATION_EXPIRE
->
{
//呼叫邀请过期。被叫 ACK 响应呼叫邀请后 60 秒呼叫邀请未被取消、接受、拒绝,则呼叫邀请过期。
RtmStatusCode
.
LocalInvitationError
.
LOCAL_INVITATION_ERR_INVITATION_EXPIRE
->
{
//呼叫邀请过期。被叫 ACK 响应呼叫邀请后 60 秒呼叫邀请未被取消、接受、拒绝,则呼叫邀请过期。
/*
* 和IOS保持一致,当呼叫邀请为3的时候不处理
* */
/* if (act is AudioHomeActivity) {
act.runOnUiThread {
sendCustomNotification(response?.calleeId!!, response?.ChannelId!!, "5")
callEndStatusUpdate(response.ChannelId!!, 2, "被叫超时未接听")
act.uploadExceptionStatus("对方未接听", 3)
// //通话结束或挂断时,上传日志文件
// act.uploadLog()
// act.leaveChannel()
}
}*/
}
}
}
}
//呼叫失败日志输出
//呼叫失败日志输出
if
(
act
is
AudioHomeActivity
){
if
(
act
is
AudioHomeActivity
)
{
act
.
runOnUiThread
{
act
.
runOnUiThread
{
act
.
writeAgoraLog
(
"发送通话邀请失败:${errorCode}"
)
act
.
writeAgoraLog
(
"发送通话邀请失败:${errorCode}"
)
LogHelper
.
getInstance
().
uploadLog
(
false
)
LogHelper
.
getInstance
().
uploadLog
(
false
)
}
}
...
@@ -189,17 +193,29 @@ class YDLavManager {
...
@@ -189,17 +193,29 @@ class YDLavManager {
override
fun
onRemoteInvitationReceived
(
response
:
CallRemoteResponse
?)
{
override
fun
onRemoteInvitationReceived
(
response
:
CallRemoteResponse
?)
{
//返回给被叫
//返回给被叫
LogUtil
.
e
(
"[agora]收到来自${response?.callerId}的呼叫邀请"
)
LogUtil
.
e
(
"[agora]收到来自${response?.callerId}的呼叫邀请"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"收到来自${response?.callerId}的呼叫邀请"
)
receivedCall
(
response
?.
content
,
"来自RTM"
)
receivedCall
(
response
?.
content
,
"来自RTM"
)
}
}
override
fun
onRemoteInvitationAccepted
(
response
:
CallRemoteResponse
?)
{
override
fun
onRemoteInvitationAccepted
(
response
:
CallRemoteResponse
?)
{
//返回给被叫
//返回给被叫
LogUtil
.
e
(
"[agora]接受来自${response?.callerId}的呼叫成功"
)
LogUtil
.
e
(
"[agora]接受来自${response?.callerId}的呼叫成功"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"接受来自${response?.callerId}的呼叫成功"
)
}
}
override
fun
onRemoteInvitationRefused
(
response
:
CallRemoteResponse
?)
{
override
fun
onRemoteInvitationRefused
(
response
:
CallRemoteResponse
?)
{
//返回给被叫
//返回给被叫
LogUtil
.
e
(
"[agora]已拒绝来自${response?.callerId}的呼叫"
)
LogUtil
.
e
(
"[agora]已拒绝来自${response?.callerId}的呼叫"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"已拒绝来自${response?.callerId}的呼叫"
)
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
if
(
act
is
ConsultantAudioHomeActivity
)
{
if
(
act
is
ConsultantAudioHomeActivity
)
{
act
.
uploadExceptionStatus
(
"已拒绝"
,
2
)
act
.
uploadExceptionStatus
(
"已拒绝"
,
2
)
...
@@ -210,7 +226,14 @@ class YDLavManager {
...
@@ -210,7 +226,14 @@ class YDLavManager {
callEndStatusUpdate
(
response
?.
ChannelId
!!
,
1
,
"主叫取消呼叫"
)
callEndStatusUpdate
(
response
?.
ChannelId
!!
,
1
,
"主叫取消呼叫"
)
//返回给被叫
//返回给被叫
LogUtil
.
e
(
"[agora]主叫${response?.callerId}已取消呼叫邀请"
)
LogUtil
.
e
(
"[agora]主叫${response?.callerId}已取消呼叫邀请"
)
writeAgoraLog
(
"呼叫邀请被取消:主叫(专家)主动取消-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}"
,
FILE_NAME
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"主叫${response?.callerId}已取消呼叫邀请"
)
writeAgoraLog
(
"呼叫邀请被取消:主叫(专家)主动取消-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}"
,
FILE_NAME
)
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
if
(
act
is
ConsultantAudioHomeActivity
)
{
if
(
act
is
ConsultantAudioHomeActivity
)
{
...
@@ -224,13 +247,26 @@ class YDLavManager {
...
@@ -224,13 +247,26 @@ class YDLavManager {
//返回给被叫
//返回给被叫
LogUtil
.
e
(
"[agora]来自主叫${response?.callerId}的呼叫邀请进程失败:${response?.response}"
)
LogUtil
.
e
(
"[agora]来自主叫${response?.callerId}的呼叫邀请进程失败:${response?.response}"
)
if
(
errorCode
==
RtmStatusCode
.
RemoteInvitationError
.
REMOTE_INVITATION_ERR_INVITATION_EXPIRE
)
{
//呼叫邀请过期
if
(
errorCode
==
RtmStatusCode
.
RemoteInvitationError
.
REMOTE_INVITATION_ERR_INVITATION_EXPIRE
)
{
//呼叫邀请过期
writeAgoraLog
(
"呼叫邀请被取消:用户未接听-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}"
,
FILE_NAME
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"呼叫邀请被取消:用户未接听"
)
writeAgoraLog
(
"呼叫邀请被取消:用户未接听-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}"
,
FILE_NAME
)
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
if
(
act
is
ConsultantAudioHomeActivity
)
{
if
(
act
is
ConsultantAudioHomeActivity
)
{
act
.
uploadExceptionStatus
(
"未接听"
,
3
)
act
.
uploadExceptionStatus
(
"未接听"
,
3
)
}
}
}
else
{
}
else
{
writeAgoraLog
(
"呼叫邀请被取消:错误原因(${errorCode})-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}"
,
FILE_NAME
)
writeAgoraLog
(
"呼叫邀请被取消:错误原因(${errorCode})"
,
FILE_NAME
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"呼叫邀请被取消:错误原因(${errorCode})"
)
}
}
callEndStatusUpdate
(
response
?.
ChannelId
!!
,
2
,
"超时未接听导致的取消呼叫"
)
callEndStatusUpdate
(
response
?.
ChannelId
!!
,
2
,
"超时未接听导致的取消呼叫"
)
//关闭页面
//关闭页面
...
@@ -239,11 +275,29 @@ class YDLavManager {
...
@@ -239,11 +275,29 @@ class YDLavManager {
override
fun
onOtherMsg
(
error
:
String
?)
{
override
fun
onOtherMsg
(
error
:
String
?)
{
LogUtil
.
e
(
"[agora]其它消息:${error}"
)
LogUtil
.
e
(
"[agora]其它消息:${error}"
)
if
(
error
.
equals
(
"呼叫发送成功"
)){
if
(
error
.
equals
(
"呼叫发送成功"
))
{
writeAgoraLog
(
"声网发送通话邀请成功-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}"
,
"confide.log"
,
true
)
writeAgoraLog
(
}
else
{
"声网发送通话邀请成功-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}"
,
writeAgoraLog
(
"声网发送通话邀请失败${error}-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}"
,
"confide.log"
,
true
)
"confide.log"
,
true
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"声网发送通话邀请成功"
)
}
else
{
writeAgoraLog
(
"声网发送通话邀请失败${error}-------Time:${
AudioLogUtils
.
format
.
format
(
Calendar
.
getInstance
().
time
)
}
", "
confide
.
log
", true
)
LogHelper
.
getInstance
().
uploadLog
(
false
)
LogHelper
.
getInstance
().
uploadLog
(
false
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"声网发送通话邀请失败${error}"
)
}
}
}
}
})
})
...
@@ -255,6 +309,8 @@ class YDLavManager {
...
@@ -255,6 +309,8 @@ class YDLavManager {
toUid
:
String
,
toUid
:
String
,
content
:
String
content
:
String
)
{
)
{
// LogUtil.e("[agora]收到云信的通知消息:$content")
// LogUtil.e("[agora]收到云信的通知消息:$content")
// val agoraInvitationBean = Gson().fromJson(content, AgoraInvitationBean::class.java)
// val agoraInvitationBean = Gson().fromJson(content, AgoraInvitationBean::class.java)
...
@@ -354,15 +410,31 @@ class YDLavManager {
...
@@ -354,15 +410,31 @@ class YDLavManager {
override
fun
onException
(
throwable
:
Throwable
)
{
override
fun
onException
(
throwable
:
Throwable
)
{
// writeAgoraLog("云信发送通话邀请异常${throwable.message}-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}", "confide.log", true)
// writeAgoraLog("云信发送通话邀请异常${throwable.message}-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}", "confide.log", true)
// LogHelper.getInstance().uploadLog(false)
// LogHelper.getInstance().uploadLog(false)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"云信发送通话邀请异常${throwable.message}"
)
}
}
override
fun
onFailed
(
code
:
Int
)
{
override
fun
onFailed
(
code
:
Int
)
{
// writeAgoraLog("云信发送通话邀请失败${code}-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}", "confide.log", true)
// writeAgoraLog("云信发送通话邀请失败${code}-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}", "confide.log", true)
// LogHelper.getInstance().uploadLog(false)
// LogHelper.getInstance().uploadLog(false)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"云信发送通话邀请失败${code}"
)
}
}
override
fun
onSuccess
()
{
override
fun
onSuccess
()
{
writeAgoraLog
(
"云信发送通话邀请成功-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}"
,
"confide.log"
,
true
)
writeAgoraLog
(
"云信发送通话邀请成功-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}"
,
"confide.log"
,
true
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"云信发送通话邀请成功"
)
}
}
})
})
},
300
)
},
300
)
...
@@ -379,6 +451,7 @@ class YDLavManager {
...
@@ -379,6 +451,7 @@ class YDLavManager {
if
(
TextUtils
.
isEmpty
(
userId
)
||
userId
?:
"0"
<=
"0"
)
{
if
(
TextUtils
.
isEmpty
(
userId
)
||
userId
?:
"0"
<=
"0"
)
{
//如果uid为空或小于等于0 ,则不进行登录,因为uid为0也会登录成功,会导致后面uid正确时无法登录
//如果uid为空或小于等于0 ,则不进行登录,因为uid为0也会登录成功,会导致后面uid正确时无法登录
LogUtil
.
e
(
"[agora]login-uid:$userId"
)
LogUtil
.
e
(
"[agora]login-uid:$userId"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"uid为空或小于等于0 ,则不进行登录 login-uid:$userId"
)
return
return
}
}
isOnlineRtm
=
true
isOnlineRtm
=
true
...
@@ -394,22 +467,50 @@ class YDLavManager {
...
@@ -394,22 +467,50 @@ class YDLavManager {
override
fun
onSuccess
()
{
override
fun
onSuccess
()
{
//登陆成功,发起呼叫
//登陆成功,发起呼叫
LogUtil
.
e
(
"[agora]实时消息登录成功"
)
LogUtil
.
e
(
"[agora]实时消息登录成功"
)
writeAgoraLog
(
"声网rtm登录成功,uid:$userId-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}"
,
"confide.log"
,
true
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"声网rtm登录成功,uid:$userId"
)
writeAgoraLog
(
"声网rtm登录成功,uid:$userId-------Time:${
AudioLogUtils
.
format
.
format
(
Calendar
.
getInstance
().
time
)
}
", "
confide
.
log
", true
)
event
(
true
,
""
)
event
(
true
,
""
)
}
}
override
fun
onFailure
(
msg
:
String
?)
{
override
fun
onFailure
(
msg
:
String
?)
{
LogUtil
.
e
(
"[agora]实时消息登录失败:$msg"
)
LogUtil
.
e
(
"[agora]实时消息登录失败:$msg"
)
writeAgoraLog
(
"声网rtm登录失败:$msg-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}"
,
"confide.log"
,
true
)
writeAgoraLog
(
"声网rtm登录失败:$msg-------Time:${
AudioLogUtils
.
format
.
format
(
Calendar
.
getInstance
().
time
)
}
", "
confide
.
log
", true
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"声网rtm登录失败:$msg"
)
event
(
false
,
msg
)
event
(
false
,
msg
)
}
}
})
})
}
else
{
}
else
{
LogUtil
.
e
(
"声网token获取失败uid:"
+
userId
+
" error:"
+
it
.
msg
)
LogUtil
.
e
(
"声网token获取失败uid:"
+
userId
+
" error:"
+
it
.
msg
)
LogHelper
.
getInstance
().
writeLogSync
(
"声网token获取失败uid:"
+
userId
+
" error:"
+
it
.
msg
)
LogHelper
.
getInstance
()
.
writeLogSync
(
"声网token获取失败uid:"
+
userId
+
" error:"
+
it
.
msg
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"声网token获取失败uid"
+
userId
+
" error:"
+
it
.
msg
)
}
}
},
{
},
{
LogUtil
.
e
(
"声网token获取异常uid:"
+
userId
+
" error:"
+
it
.
message
)
LogUtil
.
e
(
"声网token获取异常uid:"
+
userId
+
" error:"
+
it
.
message
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"声网token获取异常uid:"
+
userId
+
" error:"
+
it
.
message
)
})
})
}
}
...
@@ -428,7 +529,16 @@ class YDLavManager {
...
@@ -428,7 +529,16 @@ class YDLavManager {
Observable
.
timer
(
1000
,
TimeUnit
.
MILLISECONDS
).
subscribeOn
(
Schedulers
.
io
())
Observable
.
timer
(
1000
,
TimeUnit
.
MILLISECONDS
).
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
()).
subscribe
{
.
observeOn
(
AndroidSchedulers
.
mainThread
()).
subscribe
{
LogUtil
.
e
(
"[agora]启动通话界面"
)
LogUtil
.
e
(
"[agora]启动通话界面"
)
writeAgoraLog
(
"收到主叫方通话邀请($from)-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}"
,
FILE_NAME
,
false
)
writeAgoraLog
(
"收到主叫方通话邀请($from)-------Time:${
AudioLogUtils
.
format
.
format
(
Calendar
.
getInstance
().
time
)
}
", FILE_NAME, false
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"收到主叫方通话邀请($from)"
)
LogHelper
.
getInstance
().
uploadLog
(
false
)
LogHelper
.
getInstance
().
uploadLog
(
false
)
//邀请加入频道消息,跳转通话界面
//邀请加入频道消息,跳转通话界面
ARouter
.
getInstance
().
build
(
"/av/ConsultantAudioHomeActivity"
)
ARouter
.
getInstance
().
build
(
"/av/ConsultantAudioHomeActivity"
)
...
@@ -436,12 +546,29 @@ class YDLavManager {
...
@@ -436,12 +546,29 @@ class YDLavManager {
}
}
}
else
{
}
else
{
LogUtil
.
d
(
"[agora]收到声网邀请,但界面实例已存在"
)
LogUtil
.
d
(
"[agora]收到声网邀请,但界面实例已存在"
)
writeAgoraLog
(
"收到主叫方通话邀请,但界面实例已存在($from)-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}"
,
FILE_NAME
,
false
)
writeAgoraLog
(
"收到主叫方通话邀请,但界面实例已存在($from)-------Time:${
AudioLogUtils
.
format
.
format
(
Calendar
.
getInstance
().
time
)
}
", FILE_NAME, false
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"收到主叫方通话邀请,但界面实例已存在($from)"
)
LogHelper
.
getInstance
().
uploadLog
(
false
)
LogHelper
.
getInstance
().
uploadLog
(
false
)
}
}
}
else
{
}
else
{
LogUtil
.
d
(
"[agora]收到声网邀请,但response==null"
)
LogUtil
.
d
(
"[agora]收到声网邀请,但response==null"
)
writeAgoraLog
(
"收到主叫方通话邀请,但response==null($from)-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}"
,
FILE_NAME
,
false
)
writeAgoraLog
(
"收到主叫方通话邀请,但response==null($from)-------Time:${
AudioLogUtils
.
format
.
format
(
Calendar
.
getInstance
().
time
)
}
", FILE_NAME, false
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"收到主叫方通话邀请,但response==null($from)"
)
LogHelper
.
getInstance
().
uploadLog
(
false
)
LogHelper
.
getInstance
().
uploadLog
(
false
)
}
}
}
}
...
@@ -472,19 +599,25 @@ class YDLavManager {
...
@@ -472,19 +599,25 @@ class YDLavManager {
* 退出登录
* 退出登录
* @param
* @param
*/
*/
private
fun
logout
(
isReLogin
:
Boolean
)
{
private
fun
logout
(
isReLogin
:
Boolean
)
{
EventBus
.
getDefault
().
unregister
(
this
)
EventBus
.
getDefault
().
unregister
(
this
)
YDLRTMClient
.
instances
.
logout
(
object
:
LoginCallback
{
YDLRTMClient
.
instances
.
logout
(
object
:
LoginCallback
{
override
fun
onSuccess
()
{
override
fun
onSuccess
()
{
//退出登陆成功
//退出登陆成功
LogUtil
.
d
(
"[agora]实时消息退出成功"
)
LogUtil
.
d
(
"[agora]实时消息退出成功"
)
if
(
isReLogin
){
AliYunRichLogsHelper
.
getInstance
()
login
(
ModularServiceManager
.
provide
(
IUserService
::
class
.
java
).
getUserInfo
()
?.
uid
)
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"实时消息退出成功"
)
if
(
isReLogin
)
{
login
(
ModularServiceManager
.
provide
(
IUserService
::
class
.
java
).
getUserInfo
()
?.
uid
)
}
}
}
}
override
fun
onFailure
(
msg
:
String
?)
{
override
fun
onFailure
(
msg
:
String
?)
{
LogUtil
.
d
(
"[agora]实时消息退出失败:$msg"
)
LogUtil
.
d
(
"[agora]实时消息退出失败:$msg"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"实时消息退出失败:$msg"
)
}
}
})
})
}
}
...
@@ -492,7 +625,7 @@ class YDLavManager {
...
@@ -492,7 +625,7 @@ class YDLavManager {
/**
/**
* 退出登录默认不重新登录
* 退出登录默认不重新登录
*/
*/
fun
logout
(){
fun
logout
()
{
logout
(
false
)
logout
(
false
)
}
}
...
@@ -510,6 +643,8 @@ class YDLavManager {
...
@@ -510,6 +643,8 @@ class YDLavManager {
callback
?.
onSuccess
()
callback
?.
onSuccess
()
},
{
},
{
LogUtil
.
e
(
"agora"
,
"声网上传异常与错误日志接口调用失败:"
+
it
.
message
)
LogUtil
.
e
(
"agora"
,
"声网上传异常与错误日志接口调用失败:"
+
it
.
message
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"声网上传异常与错误日志接口调用失败: + ${it.message}"
)
})
})
}
}
...
@@ -529,6 +664,9 @@ class YDLavManager {
...
@@ -529,6 +664,9 @@ class YDLavManager {
.
subscribe
({
.
subscribe
({
},
{
},
{
LogUtil
.
d
(
"callEndStatusUpdate error: ${it.message}"
)
LogUtil
.
d
(
"callEndStatusUpdate error: ${it.message}"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"callEndStatusUpdate error: ${it.message}"
)
})
})
}
}
...
@@ -538,6 +676,8 @@ class YDLavManager {
...
@@ -538,6 +676,8 @@ class YDLavManager {
private
val
listener
=
object
:
InitListener
{
private
val
listener
=
object
:
InitListener
{
override
fun
onTokenExpired
()
{
override
fun
onTokenExpired
()
{
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"onTokenExpired"
)
LogUtil
.
e
(
"[agora]onTokenExpired"
)
LogUtil
.
e
(
"[agora]onTokenExpired"
)
instances
.
login
(
instances
.
login
(
ModularServiceManager
.
provide
(
IUserService
::
class
.
java
).
getUserInfo
()
?.
uid
ModularServiceManager
.
provide
(
IUserService
::
class
.
java
).
getUserInfo
()
?.
uid
...
@@ -546,22 +686,32 @@ class YDLavManager {
...
@@ -546,22 +686,32 @@ class YDLavManager {
override
fun
onMessageReceived
(
message
:
RTMMesssage
,
userId
:
Int
)
{
override
fun
onMessageReceived
(
message
:
RTMMesssage
,
userId
:
Int
)
{
LogUtil
.
i
(
"[agora]onMessageReceived:${message.text} -->uid:$userId"
)
LogUtil
.
i
(
"[agora]onMessageReceived:${message.text} -->uid:$userId"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"onMessageReceived:${message.text} -->uid:$userId"
)
}
}
override
fun
onConnectionStateChanged
(
state
:
Int
,
reason
:
Int
)
{
override
fun
onConnectionStateChanged
(
state
:
Int
,
reason
:
Int
)
{
sdkStatus
=
state
sdkStatus
=
state
writeAgoraLog
(
"声网rtm登录状态:${state}-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}"
,
"confide.log"
,
true
)
writeAgoraLog
(
"声网rtm登录状态:${state}-------Time:${AudioLogUtils.format.format(Calendar.getInstance().time)}"
,
"confide.log"
,
true
)
LogUtil
.
i
(
"[agora]onConnectionStateChanged:state:${state} -->reason:$reason"
)
LogUtil
.
i
(
"[agora]onConnectionStateChanged:state:${state} -->reason:$reason"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"声网rtm登录状态:${state}"
)
/*
/*
* 当reason=CONNECTION_CHANGE_REASON_REMOTE_LOGIN的时候,是远端用户以相同UID登录RTM
* 当reason=CONNECTION_CHANGE_REASON_REMOTE_LOGIN的时候,是远端用户以相同UID登录RTM
* 如果正在通话中,则不进行退出操作
* 如果正在通话中,则不进行退出操作
* */
* */
if
(
reason
==
CONNECTION_CHANGE_REASON_REMOTE_LOGIN
){
if
(
reason
==
CONNECTION_CHANGE_REASON_REMOTE_LOGIN
)
{
if
(!
activityIsExists
(
ConsultantAudioHomeActivity
::
class
.
java
)&&!
activityIsExists
(
AudioHomeActivity
::
class
.
java
)){
if
(!
activityIsExists
(
ConsultantAudioHomeActivity
::
class
.
java
)
&&
!
activityIsExists
(
AudioHomeActivity
::
class
.
java
)
)
{
isOnlineRtm
=
false
isOnlineRtm
=
false
logout
()
logout
()
}
else
{
}
else
{
logout
(
true
)
logout
(
true
)
}
}
}
}
...
...
m-audioim/src/main/java/com/ydl/consultantim/ConsultantAudioHomeActivity.kt
View file @
6107ffa1
...
@@ -47,6 +47,8 @@ import com.ydl.ydlcommon.utils.LogUtil
...
@@ -47,6 +47,8 @@ import com.ydl.ydlcommon.utils.LogUtil
import
com.ydl.ydlcommon.utils.StatusBarUtils
import
com.ydl.ydlcommon.utils.StatusBarUtils
import
com.ydl.ydlcommon.utils.Utils
import
com.ydl.ydlcommon.utils.Utils
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
import
com.ydl.ydlcommon.utils.log.LogHelper
import
com.ydl.ydlcommon.utils.log.LogHelper
import
com.ydl.ydlcommon.utils.remind.ToastHelper
import
com.ydl.ydlcommon.utils.remind.ToastHelper
import
com.yidianling.user.api.service.IUserService
import
com.yidianling.user.api.service.IUserService
...
@@ -137,7 +139,7 @@ class ConsultantAudioHomeActivity :
...
@@ -137,7 +139,7 @@ class ConsultantAudioHomeActivity :
super
.
onJoinChannelSuccess
(
channel
,
uid
,
elapsed
)
super
.
onJoinChannelSuccess
(
channel
,
uid
,
elapsed
)
LogUtil
.
e
(
"[agora]$uid 加入频道回调"
)
LogUtil
.
e
(
"[agora]$uid 加入频道回调"
)
writeAgoraLog
(
"被叫(用户)加入声网($channel)频道成功"
)
writeAgoraLog
(
"被叫(用户)加入声网($channel)频道成功"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"被叫(用户)加入声网($channel)频道成功"
)
runOnUiThread
{
runOnUiThread
{
// 加入频道后再通知用户已接受
// 加入频道后再通知用户已接受
// YDLRTMClient.instances.acceptCall(mAudioMessageBean?.channelId)
// YDLRTMClient.instances.acceptCall(mAudioMessageBean?.channelId)
...
@@ -165,6 +167,9 @@ class ConsultantAudioHomeActivity :
...
@@ -165,6 +167,9 @@ class ConsultantAudioHomeActivity :
super
.
onRejoinChannelSuccess
(
channel
,
uid
,
elapsed
)
super
.
onRejoinChannelSuccess
(
channel
,
uid
,
elapsed
)
LogUtil
.
e
(
"[agora]$uid 重新加入频道回调"
)
LogUtil
.
e
(
"[agora]$uid 重新加入频道回调"
)
writeAgoraLog
(
"被叫(用户)重新加入声网频道($channel)成功"
)
writeAgoraLog
(
"被叫(用户)重新加入声网频道($channel)成功"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"被叫(用户)重新加入声网频道($channel)成功"
)
runOnUiThread
{
runOnUiThread
{
if
(!
isConnectSuccess
)
{
if
(!
isConnectSuccess
)
{
tv_toast
.
visibility
=
View
.
VISIBLE
tv_toast
.
visibility
=
View
.
VISIBLE
...
@@ -182,6 +187,8 @@ class ConsultantAudioHomeActivity :
...
@@ -182,6 +187,8 @@ class ConsultantAudioHomeActivity :
super
.
onUserJoined
(
uid
,
elapsed
)
super
.
onUserJoined
(
uid
,
elapsed
)
LogUtil
.
e
(
"[agora]远端用户加入频道回调"
)
LogUtil
.
e
(
"[agora]远端用户加入频道回调"
)
writeAgoraLog
(
"主叫(专家)加入声网频道成功"
)
writeAgoraLog
(
"主叫(专家)加入声网频道成功"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"主叫(专家)加入声网频道成功"
)
//另一方加入频道成功
//另一方加入频道成功
runOnUiThread
{
runOnUiThread
{
isConnectSuccess
=
true
isConnectSuccess
=
true
...
@@ -223,6 +230,8 @@ class ConsultantAudioHomeActivity :
...
@@ -223,6 +230,8 @@ class ConsultantAudioHomeActivity :
override
fun
onLeaveChannel
(
stats
:
IRtcEngineEventHandler
.
RtcStats
?)
{
override
fun
onLeaveChannel
(
stats
:
IRtcEngineEventHandler
.
RtcStats
?)
{
super
.
onLeaveChannel
(
stats
)
super
.
onLeaveChannel
(
stats
)
LogUtil
.
e
(
"[agora]自己离开频道回调"
)
LogUtil
.
e
(
"[agora]自己离开频道回调"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"自己离开频道回调"
)
//通知php 通话已结束
//通知php 通话已结束
close
(
RESULT_ANSWERED_CODE
,
""
)
close
(
RESULT_ANSWERED_CODE
,
""
)
}
}
...
@@ -249,6 +258,8 @@ class ConsultantAudioHomeActivity :
...
@@ -249,6 +258,8 @@ class ConsultantAudioHomeActivity :
)
)
showToast
(
"对方已挂断"
)
showToast
(
"对方已挂断"
)
writeAgoraLog
(
"通话接通后挂断:主叫(专家)离开频道"
)
writeAgoraLog
(
"通话接通后挂断:主叫(专家)离开频道"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"通话接通后挂断:主叫(专家)离开频道"
)
if
(
null
!=
totalDisposable
)
{
if
(
null
!=
totalDisposable
)
{
totalDisposable
!!
.
dispose
()
totalDisposable
!!
.
dispose
()
}
}
...
@@ -265,6 +276,8 @@ class ConsultantAudioHomeActivity :
...
@@ -265,6 +276,8 @@ class ConsultantAudioHomeActivity :
}
}
LogUtil
.
e
(
"[agora]发生警告回调=$warn"
)
LogUtil
.
e
(
"[agora]发生警告回调=$warn"
)
writeAgoraLog
(
"声网警告回调码:($warn)"
)
writeAgoraLog
(
"声网警告回调码:($warn)"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"声网警告回调码:($warn)"
)
//103:没有可用的频道资源。可能是因为服务端没法分配频道资源
//103:没有可用的频道资源。可能是因为服务端没法分配频道资源
//104:查找频道超时。在加入频道时 SDK 先要查找指定的频道,出现该警告一般是因为网络太差,连接不到服务器
//104:查找频道超时。在加入频道时 SDK 先要查找指定的频道,出现该警告一般是因为网络太差,连接不到服务器
//105:查找频道请求被服务器拒绝。服务器可能没有办法处理这个请求或请求是非法的
//105:查找频道请求被服务器拒绝。服务器可能没有办法处理这个请求或请求是非法的
...
@@ -290,6 +303,7 @@ class ConsultantAudioHomeActivity :
...
@@ -290,6 +303,7 @@ class ConsultantAudioHomeActivity :
uploadException
(
"mRtcEventHandler-onError:errorCode--%${err}"
)
uploadException
(
"mRtcEventHandler-onError:errorCode--%${err}"
)
LogUtil
.
e
(
"[agora] 发生错误回调 =$err"
)
LogUtil
.
e
(
"[agora] 发生错误回调 =$err"
)
writeAgoraLog
(
"声网错误回调errorCode--%${err}"
)
writeAgoraLog
(
"声网错误回调errorCode--%${err}"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"声网错误回调errorCode--%${err}"
)
//3:SDK 初始化失败。Agora 建议尝试以下处理方法
//3:SDK 初始化失败。Agora 建议尝试以下处理方法
//7:SDK 尚未初始化,就调用其 API。请确认在调用 API 之前已创建 RtcEngine 对象并完成初始化
//7:SDK 尚未初始化,就调用其 API。请确认在调用 API 之前已创建 RtcEngine 对象并完成初始化
...
@@ -510,6 +524,8 @@ class ConsultantAudioHomeActivity :
...
@@ -510,6 +524,8 @@ class ConsultantAudioHomeActivity :
override
fun
channelTokenResponse
(
token
:
String
?,
needJoinChannel
:
Boolean
)
{
override
fun
channelTokenResponse
(
token
:
String
?,
needJoinChannel
:
Boolean
)
{
if
(
TextUtils
.
isEmpty
(
token
))
{
if
(
TextUtils
.
isEmpty
(
token
))
{
LogUtil
.
e
(
"[agora]token not null"
)
LogUtil
.
e
(
"[agora]token not null"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"token isEmpty "
)
showToast
(
"通话频道不存在"
)
showToast
(
"通话频道不存在"
)
finish
()
finish
()
return
return
...
@@ -583,6 +599,8 @@ class ConsultantAudioHomeActivity :
...
@@ -583,6 +599,8 @@ class ConsultantAudioHomeActivity :
val
account
=
YdlCommonRouterManager
.
getYdlCommonRoute
().
getUid
()
val
account
=
YdlCommonRouterManager
.
getYdlCommonRoute
().
getUid
()
if
(!
TextUtils
.
isEmpty
(
mAudioMessageBean
?.
channelId
))
{
if
(!
TextUtils
.
isEmpty
(
mAudioMessageBean
?.
channelId
))
{
LogUtil
.
e
(
"[agora] joinChannel:$account"
)
LogUtil
.
e
(
"[agora] joinChannel:$account"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"joinChannel:$account"
)
voiceManage
?.
getVoiceApi
()
?.
joinChannel
(
voiceManage
?.
getVoiceApi
()
?.
joinChannel
(
channelToken
channelToken
?:
""
,
mAudioMessageBean
!!
.
channelId
!!
,
"Extra Optional Data"
,
account
?:
""
,
mAudioMessageBean
!!
.
channelId
!!
,
"Extra Optional Data"
,
account
...
@@ -807,6 +825,9 @@ class ConsultantAudioHomeActivity :
...
@@ -807,6 +825,9 @@ class ConsultantAudioHomeActivity :
fun
close
(
code
:
Int
,
msg
:
String
)
{
fun
close
(
code
:
Int
,
msg
:
String
)
{
runOnUiThread
{
runOnUiThread
{
LogUtil
.
e
(
"[agora]close(code:$code,msg:$msg)"
)
LogUtil
.
e
(
"[agora]close(code:$code,msg:$msg)"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"close(code:$code,msg:$msg)"
)
//上传日志文件
//上传日志文件
uploadLog
()
uploadLog
()
stopMusic
()
stopMusic
()
...
@@ -837,6 +858,7 @@ class ConsultantAudioHomeActivity :
...
@@ -837,6 +858,7 @@ class ConsultantAudioHomeActivity :
}
}
ActivityManager
.
getInstance
().
removeStack
(
activity
=
this
)
ActivityManager
.
getInstance
().
removeStack
(
activity
=
this
)
LogUtil
.
e
(
"[agora]页面移除"
)
LogUtil
.
e
(
"[agora]页面移除"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"页面移除"
)
finish
()
finish
()
}
}
}
}
...
@@ -945,9 +967,11 @@ class ConsultantAudioHomeActivity :
...
@@ -945,9 +967,11 @@ class ConsultantAudioHomeActivity :
Observable
.
create
<
Any
>
{
Observable
.
create
<
Any
>
{
try
{
try
{
AudioLogUtils
.
writeAgoraLog
(
AudioLogUtils
.
writeAgoraLog
(
"$content-------Time:${AudioLogUtils.format.format(
"$content-------Time:${
AudioLogUtils
.
format
.
format
(
Calendar
.
getInstance
().
time
Calendar
.
getInstance
().
time
)}
", "
consult
.
log
"
)
}
", "
consult
.
log
"
)
)
}
catch
(
e
:
Exception
)
{
}
catch
(
e
:
Exception
)
{
}
}
...
...
m-im/src/main/java/com/yidianling/avchatkit/AVChatKit.java
View file @
6107ffa1
...
@@ -10,6 +10,8 @@ import com.netease.nimlib.sdk.avchat.AVChatManager;
...
@@ -10,6 +10,8 @@ import com.netease.nimlib.sdk.avchat.AVChatManager;
import
com.netease.nimlib.sdk.avchat.constant.AVChatControlCommand
;
import
com.netease.nimlib.sdk.avchat.constant.AVChatControlCommand
;
import
com.netease.nimlib.sdk.avchat.model.AVChatData
;
import
com.netease.nimlib.sdk.avchat.model.AVChatData
;
import
com.ydl.ydlcommon.base.BaseActivityMgr
;
import
com.ydl.ydlcommon.base.BaseActivityMgr
;
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
;
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
;
import
com.yidianling.avchatkit.activity.AVChatActivity
;
import
com.yidianling.avchatkit.activity.AVChatActivity
;
import
com.yidianling.avchatkit.common.log.ILogUtil
;
import
com.yidianling.avchatkit.common.log.ILogUtil
;
import
com.yidianling.avchatkit.common.log.LogUtil
;
import
com.yidianling.avchatkit.common.log.LogUtil
;
...
@@ -149,6 +151,8 @@ public class AVChatKit {
...
@@ -149,6 +151,8 @@ public class AVChatKit {
*/
*/
public
static
void
outgoingCall
(
Context
context
,
String
account
,
String
displayName
,
int
callType
,
int
source
)
{
public
static
void
outgoingCall
(
Context
context
,
String
account
,
String
displayName
,
int
callType
,
int
source
)
{
AVChatActivity
.
outgoingCall
(
context
,
account
,
displayName
,
callType
,
source
);
AVChatActivity
.
outgoingCall
(
context
,
account
,
displayName
,
callType
,
source
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"outgoingCall 发起音视频通话呼叫"
);
}
}
/**
/**
...
@@ -162,7 +166,7 @@ public class AVChatKit {
...
@@ -162,7 +166,7 @@ public class AVChatKit {
*/
*/
public
static
void
outgoingTeamCall
(
Context
context
,
boolean
receivedCall
,
String
teamId
,
String
roomId
,
ArrayList
<
String
>
accounts
,
String
teamName
)
{
public
static
void
outgoingTeamCall
(
Context
context
,
boolean
receivedCall
,
String
teamId
,
String
roomId
,
ArrayList
<
String
>
accounts
,
String
teamName
)
{
TeamAVChatActivity
.
startActivity
(
context
,
receivedCall
,
teamId
,
roomId
,
accounts
,
teamName
);
TeamAVChatActivity
.
startActivity
(
context
,
receivedCall
,
teamId
,
roomId
,
accounts
,
teamName
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"outgoingTeamCall 发起群组音视频通话呼叫"
);
}
}
/**
/**
...
...
m-im/src/main/java/com/yidianling/avchatkit/activity/AVChatActivity.java
View file @
6107ffa1
...
@@ -26,6 +26,8 @@ import com.netease.nimlib.sdk.avchat.model.AVChatData;
...
@@ -26,6 +26,8 @@ import com.netease.nimlib.sdk.avchat.model.AVChatData;
import
com.netease.nimlib.sdk.avchat.model.AVChatOnlineAckEvent
;
import
com.netease.nimlib.sdk.avchat.model.AVChatOnlineAckEvent
;
import
com.netease.nimlib.sdk.avchat.model.AVChatVideoFrame
;
import
com.netease.nimlib.sdk.avchat.model.AVChatVideoFrame
;
import
com.tbruyelle.rxpermissions2.RxPermissions
;
import
com.tbruyelle.rxpermissions2.RxPermissions
;
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
;
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
;
import
com.yidianling.avchatkit.AVChatKit
;
import
com.yidianling.avchatkit.AVChatKit
;
import
com.yidianling.avchatkit.AVChatProfile
;
import
com.yidianling.avchatkit.AVChatProfile
;
import
com.yidianling.avchatkit.common.activity.AVChatBaseUI
;
import
com.yidianling.avchatkit.common.activity.AVChatBaseUI
;
...
@@ -325,6 +327,7 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
...
@@ -325,6 +327,7 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
ToastUtil
.
toastShort
(
AVChatActivity
.
this
,
msg
);
ToastUtil
.
toastShort
(
AVChatActivity
.
this
,
msg
);
}
else
{
}
else
{
ToastUtil
.
toastShort
(
AVChatActivity
.
this
,
"录制已结束."
);
ToastUtil
.
toastShort
(
AVChatActivity
.
this
,
"录制已结束."
);
}
}
if
(
state
==
AVChatType
.
AUDIO
.
getValue
())
{
if
(
state
==
AVChatType
.
AUDIO
.
getValue
())
{
avChatAudioUI
.
resetRecordTip
();
avChatAudioUI
.
resetRecordTip
();
...
@@ -345,12 +348,17 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
...
@@ -345,12 +348,17 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
@Override
@Override
public
void
onJoinedChannel
(
int
code
,
String
audioFile
,
String
videoFile
,
int
i
)
{
public
void
onJoinedChannel
(
int
code
,
String
audioFile
,
String
videoFile
,
int
i
)
{
LogUtil
.
d
(
TAG
,
"audioFile -> "
+
audioFile
+
" videoFile -> "
+
videoFile
);
LogUtil
.
d
(
TAG
,
"audioFile -> "
+
audioFile
+
" videoFile -> "
+
videoFile
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"audioFile -> "
+
audioFile
+
" videoFile -> "
+
videoFile
);
handleWithConnectServerResult
(
code
);
handleWithConnectServerResult
(
code
);
}
}
@Override
@Override
public
void
onUserJoined
(
String
account
)
{
public
void
onUserJoined
(
String
account
)
{
LogUtil
.
d
(
TAG
,
"onUserJoin -> "
+
account
);
LogUtil
.
d
(
TAG
,
"onUserJoin -> "
+
account
);
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"onUserJoin -> "
+
account
);
if
(
state
==
AVChatType
.
VIDEO
.
getValue
())
{
if
(
state
==
AVChatType
.
VIDEO
.
getValue
())
{
avChatVideoUI
.
initLargeSurfaceView
(
account
);
avChatVideoUI
.
initLargeSurfaceView
(
account
);
}
}
...
@@ -359,6 +367,9 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
...
@@ -359,6 +367,9 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
@Override
@Override
public
void
onUserLeave
(
String
account
,
int
event
)
{
public
void
onUserLeave
(
String
account
,
int
event
)
{
LogUtil
.
d
(
TAG
,
"onUserLeave -> "
+
account
);
LogUtil
.
d
(
TAG
,
"onUserLeave -> "
+
account
);
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"onUserLeave -> "
+
account
);
manualHangUp
(
AVChatExitCode
.
HANGUP
);
manualHangUp
(
AVChatExitCode
.
HANGUP
);
finish
();
finish
();
}
}
...
@@ -366,11 +377,14 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
...
@@ -366,11 +377,14 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
@Override
@Override
public
void
onCallEstablished
()
{
public
void
onCallEstablished
()
{
LogUtil
.
d
(
TAG
,
"onCallEstablished"
);
LogUtil
.
d
(
TAG
,
"onCallEstablished"
);
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"onCallEstablished"
);
//移除超时监听
//移除超时监听
AVChatTimeoutObserver
.
getInstance
().
observeTimeoutNotification
(
timeoutObserver
,
false
,
mIsInComingCall
);
AVChatTimeoutObserver
.
getInstance
().
observeTimeoutNotification
(
timeoutObserver
,
false
,
mIsInComingCall
);
if
(
avChatController
.
getTimeBase
()
==
0
)
if
(
avChatController
.
getTimeBase
()
==
0
)
{
avChatController
.
setTimeBase
(
SystemClock
.
elapsedRealtime
());
avChatController
.
setTimeBase
(
SystemClock
.
elapsedRealtime
());
}
if
(
state
==
AVChatType
.
AUDIO
.
getValue
())
{
if
(
state
==
AVChatType
.
AUDIO
.
getValue
())
{
avChatAudioUI
.
showAudioInitLayout
();
avChatAudioUI
.
showAudioInitLayout
();
}
else
{
}
else
{
...
@@ -400,6 +414,9 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
...
@@ -400,6 +414,9 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
public
void
onEvent
(
AVChatCommonEvent
avChatHangUpInfo
)
{
public
void
onEvent
(
AVChatCommonEvent
avChatHangUpInfo
)
{
avChatData
=
avChatController
.
getAvChatData
();
avChatData
=
avChatController
.
getAvChatData
();
if
(
avChatData
!=
null
&&
avChatData
.
getChatId
()
==
avChatHangUpInfo
.
getChatId
())
{
if
(
avChatData
!=
null
&&
avChatData
.
getChatId
()
==
avChatHangUpInfo
.
getChatId
())
{
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"callHangupObserver 通话过程中,收到对方挂断电话"
);
hangUpByOther
(
AVChatExitCode
.
HANGUP
);
hangUpByOther
(
AVChatExitCode
.
HANGUP
);
cancelCallingNotifier
();
cancelCallingNotifier
();
// 如果是incoming call主叫方挂断,那么通知栏有通知
// 如果是incoming call主叫方挂断,那么通知栏有通知
...
@@ -418,10 +435,16 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
...
@@ -418,10 +435,16 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
AVChatData
info
=
avChatController
.
getAvChatData
();
AVChatData
info
=
avChatController
.
getAvChatData
();
if
(
info
!=
null
&&
info
.
getChatId
()
==
ackInfo
.
getChatId
())
{
if
(
info
!=
null
&&
info
.
getChatId
()
==
ackInfo
.
getChatId
())
{
if
(
ackInfo
.
getEvent
()
==
AVChatEventType
.
CALLEE_ACK_BUSY
)
{
if
(
ackInfo
.
getEvent
()
==
AVChatEventType
.
CALLEE_ACK_BUSY
)
{
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"callAckObserver 呼叫时,被叫方正在忙"
);
hangUpByOther
(
AVChatExitCode
.
PEER_BUSY
);
hangUpByOther
(
AVChatExitCode
.
PEER_BUSY
);
}
else
if
(
ackInfo
.
getEvent
()
==
AVChatEventType
.
CALLEE_ACK_REJECT
)
{
}
else
if
(
ackInfo
.
getEvent
()
==
AVChatEventType
.
CALLEE_ACK_REJECT
)
{
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"callAckObserver 呼叫时,被叫方拒绝通话"
);
hangUpByOther
(
AVChatExitCode
.
REJECT
);
hangUpByOther
(
AVChatExitCode
.
REJECT
);
}
else
if
(
ackInfo
.
getEvent
()
==
AVChatEventType
.
CALLEE_ACK_AGREE
)
{
}
else
if
(
ackInfo
.
getEvent
()
==
AVChatEventType
.
CALLEE_ACK_AGREE
)
{
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"callAckObserver 呼叫时,被叫方同意通话"
);
AVChatSoundPlayer
.
instance
().
stop
();
AVChatSoundPlayer
.
instance
().
stop
();
avChatController
.
isCallEstablish
.
set
(
true
);
avChatController
.
isCallEstablish
.
set
(
true
);
}
}
...
@@ -436,6 +459,8 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
...
@@ -436,6 +459,8 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
// 来电超时,自己未接听
// 来电超时,自己未接听
if
(
mIsInComingCall
)
{
if
(
mIsInComingCall
)
{
activeMissCallNotifier
();
activeMissCallNotifier
();
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"timeoutObserver 来电超时,自己未接听"
);
}
}
finish
();
finish
();
}
}
...
@@ -456,27 +481,39 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
...
@@ -456,27 +481,39 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
}
}
switch
(
notification
.
getControlCommand
())
{
switch
(
notification
.
getControlCommand
())
{
case
AVChatControlCommand
.
SWITCH_AUDIO_TO_VIDEO
:
case
AVChatControlCommand
.
SWITCH_AUDIO_TO_VIDEO
:
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"handleCallControl 音频切换到视频"
);
incomingAudioToVideo
();
incomingAudioToVideo
();
break
;
break
;
case
AVChatControlCommand
.
SWITCH_AUDIO_TO_VIDEO_AGREE
:
case
AVChatControlCommand
.
SWITCH_AUDIO_TO_VIDEO_AGREE
:
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"handleCallControl 同意从音频切换到视频"
);
// 对方同意切成视频啦
// 对方同意切成视频啦
state
=
AVChatType
.
VIDEO
.
getValue
();
state
=
AVChatType
.
VIDEO
.
getValue
();
avChatVideoUI
.
onAudioToVideoAgree
(
notification
.
getAccount
());
avChatVideoUI
.
onAudioToVideoAgree
(
notification
.
getAccount
());
break
;
break
;
case
AVChatControlCommand
.
SWITCH_AUDIO_TO_VIDEO_REJECT
:
case
AVChatControlCommand
.
SWITCH_AUDIO_TO_VIDEO_REJECT
:
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"handleCallControl 拒绝从音频切换到视频"
);
rejectAudioToVideo
();
rejectAudioToVideo
();
ToastUtil
.
toastShort
(
AVChatActivity
.
this
,
R
.
string
.
im_avchat_switch_video_reject
);
ToastUtil
.
toastShort
(
AVChatActivity
.
this
,
R
.
string
.
im_avchat_switch_video_reject
);
break
;
break
;
case
AVChatControlCommand
.
SWITCH_VIDEO_TO_AUDIO
:
case
AVChatControlCommand
.
SWITCH_VIDEO_TO_AUDIO
:
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"handleCallControl 视频切换到音频"
);
onVideoToAudio
();
onVideoToAudio
();
break
;
break
;
case
AVChatControlCommand
.
NOTIFY_VIDEO_OFF
:
case
AVChatControlCommand
.
NOTIFY_VIDEO_OFF
:
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"handleCallControl 通知对方自己关闭了视频"
);
// 收到对方关闭画面通知
// 收到对方关闭画面通知
if
(
state
==
AVChatType
.
VIDEO
.
getValue
())
{
if
(
state
==
AVChatType
.
VIDEO
.
getValue
())
{
avChatVideoUI
.
peerVideoOff
();
avChatVideoUI
.
peerVideoOff
();
}
}
break
;
break
;
case
AVChatControlCommand
.
NOTIFY_VIDEO_ON
:
case
AVChatControlCommand
.
NOTIFY_VIDEO_ON
:
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"handleCallControl 通知对方自己打开了视频"
);
// 收到对方打开画面通知
// 收到对方打开画面通知
if
(
state
==
AVChatType
.
VIDEO
.
getValue
())
{
if
(
state
==
AVChatType
.
VIDEO
.
getValue
())
{
avChatVideoUI
.
peerVideoOn
();
avChatVideoUI
.
peerVideoOn
();
...
@@ -496,14 +533,24 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
...
@@ -496,14 +533,24 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
protected
void
handleWithConnectServerResult
(
int
auth_result
)
{
protected
void
handleWithConnectServerResult
(
int
auth_result
)
{
LogUtil
.
i
(
TAG
,
"result code->"
+
auth_result
);
LogUtil
.
i
(
TAG
,
"result code->"
+
auth_result
);
if
(
auth_result
==
200
)
{
if
(
auth_result
==
200
)
{
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"handleWithConnectServerResult onConnectServer success"
);
LogUtil
.
d
(
TAG
,
"onConnectServer success"
);
LogUtil
.
d
(
TAG
,
"onConnectServer success"
);
}
else
if
(
auth_result
==
101
)
{
// 连接超时
}
else
if
(
auth_result
==
101
)
{
// 连接超时
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"handleWithConnectServerResult 连接超时 101"
);
avChatController
.
showQuitToast
(
AVChatExitCode
.
PEER_NO_RESPONSE
);
avChatController
.
showQuitToast
(
AVChatExitCode
.
PEER_NO_RESPONSE
);
}
else
if
(
auth_result
==
401
)
{
// 验证失败
}
else
if
(
auth_result
==
401
)
{
// 验证失败
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"handleWithConnectServerResult 验证失败 401"
);
avChatController
.
showQuitToast
(
AVChatExitCode
.
CONFIG_ERROR
);
avChatController
.
showQuitToast
(
AVChatExitCode
.
CONFIG_ERROR
);
}
else
if
(
auth_result
==
417
)
{
// 无效的channelId
}
else
if
(
auth_result
==
417
)
{
// 无效的channelId
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"handleWithConnectServerResult 无效的channelId 417"
);
avChatController
.
showQuitToast
(
AVChatExitCode
.
INVALIDE_CHANNELID
);
avChatController
.
showQuitToast
(
AVChatExitCode
.
INVALIDE_CHANNELID
);
}
else
{
// 连接服务器错误,直接退出
}
else
{
// 连接服务器错误,直接退出
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"handleWithConnectServerResult 连接服务器错误"
+
auth_result
);
avChatController
.
showQuitToast
(
AVChatExitCode
.
CONFIG_ERROR
);
avChatController
.
showQuitToast
(
AVChatExitCode
.
CONFIG_ERROR
);
}
}
}
}
...
@@ -545,6 +592,8 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
...
@@ -545,6 +592,8 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
if
(
client
!=
null
)
{
if
(
client
!=
null
)
{
String
option
=
ackInfo
.
getEvent
()
==
AVChatEventType
.
CALLEE_ONLINE_CLIENT_ACK_AGREE
?
"接听!"
:
"拒绝!"
;
String
option
=
ackInfo
.
getEvent
()
==
AVChatEventType
.
CALLEE_ONLINE_CLIENT_ACK_AGREE
?
"接听!"
:
"拒绝!"
;
ToastUtil
.
toastShort
(
AVChatActivity
.
this
,
"通话已在"
+
client
+
"端被"
+
option
);
ToastUtil
.
toastShort
(
AVChatActivity
.
this
,
"通话已在"
+
client
+
"端被"
+
option
);
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"onlineAckObserver 通话已在"
+
client
+
"端被"
+
option
);
}
}
finish
();
finish
();
}
}
...
@@ -607,6 +656,8 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
...
@@ -607,6 +656,8 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
@Override
@Override
public
void
onReceiveAudioToVideoAgree
()
{
public
void
onReceiveAudioToVideoAgree
()
{
// 同意切换为视频
// 同意切换为视频
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"onReceiveAudioToVideoAgree 同意切换为视频"
);
state
=
AVChatType
.
VIDEO
.
getValue
();
state
=
AVChatType
.
VIDEO
.
getValue
();
audioRoot
.
setVisibility
(
View
.
GONE
);
audioRoot
.
setVisibility
(
View
.
GONE
);
videoRoot
.
setVisibility
(
View
.
VISIBLE
);
videoRoot
.
setVisibility
(
View
.
VISIBLE
);
...
@@ -663,12 +714,16 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
...
@@ -663,12 +714,16 @@ public class AVChatActivity extends AVChatBaseUI implements AVChatVideoUI.TouchZ
// 主动挂断
// 主动挂断
private
void
manualHangUp
(
int
exitCode
)
{
private
void
manualHangUp
(
int
exitCode
)
{
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"manualHangUp 主动挂断"
);
releaseVideo
();
releaseVideo
();
avChatController
.
hangUp
(
exitCode
);
avChatController
.
hangUp
(
exitCode
);
}
}
// 被对方挂断
// 被对方挂断
private
void
hangUpByOther
(
int
exitCode
)
{
private
void
hangUpByOther
(
int
exitCode
)
{
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"hangUpByOther 被对方挂断 exitCode:"
+
exitCode
);
if
(
exitCode
==
AVChatExitCode
.
PEER_BUSY
)
{
if
(
exitCode
==
AVChatExitCode
.
PEER_BUSY
)
{
avChatController
.
hangUp
(
AVChatExitCode
.
HANGUP
);
avChatController
.
hangUp
(
AVChatExitCode
.
HANGUP
);
finish
();
finish
();
...
...
m-im/src/main/java/com/yidianling/avchatkit/common/activity/AVChatBaseUI.java
View file @
6107ffa1
...
@@ -35,6 +35,7 @@ public abstract class AVChatBaseUI extends AppCompatActivity {
...
@@ -35,6 +35,7 @@ public abstract class AVChatBaseUI extends AppCompatActivity {
super
.
onStart
();
super
.
onStart
();
}
}
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
super
.
onCreate
(
savedInstanceState
);
...
...
m-im/src/main/java/com/yidianling/avchatkit/common/dialog/CustomAlertDialog.java
View file @
6107ffa1
...
@@ -157,6 +157,7 @@ public class CustomAlertDialog extends AlertDialog {
...
@@ -157,6 +157,7 @@ public class CustomAlertDialog extends AlertDialog {
}
}
}
}
@Override
public
void
setTitle
(
int
resId
)
{
public
void
setTitle
(
int
resId
)
{
this
.
title
=
context
.
getString
(
resId
);
this
.
title
=
context
.
getString
(
resId
);
isTitleVisible
=
TextUtils
.
isEmpty
(
title
)
?
false
:
true
;
isTitleVisible
=
TextUtils
.
isEmpty
(
title
)
?
false
:
true
;
...
...
m-im/src/main/java/com/yidianling/avchatkit/common/util/NetworkUtil.java
View file @
6107ffa1
...
@@ -11,6 +11,8 @@ import android.os.Build;
...
@@ -11,6 +11,8 @@ import android.os.Build;
import
android.telephony.TelephonyManager
;
import
android.telephony.TelephonyManager
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
;
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
;
import
com.yidianling.avchatkit.common.log.LogUtil
;
import
com.yidianling.avchatkit.common.log.LogUtil
;
public
class
NetworkUtil
{
public
class
NetworkUtil
{
...
@@ -79,9 +81,10 @@ public class NetworkUtil {
...
@@ -79,9 +81,10 @@ public class NetworkUtil {
NetworkInfo
networkInfo
=
getActiveNetworkInfo
(
context
);
NetworkInfo
networkInfo
=
getActiveNetworkInfo
(
context
);
if
(
networkInfo
==
null
)
{
if
(
networkInfo
==
null
)
{
return
-
1
;
return
-
1
;
}
else
}
else
{
return
networkInfo
.
getType
();
return
networkInfo
.
getType
();
}
}
}
/**
/**
...
@@ -145,7 +148,7 @@ public class NetworkUtil {
...
@@ -145,7 +148,7 @@ public class NetworkUtil {
}
}
}
}
curNetworkType
=
type
;
curNetworkType
=
type
;
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
NETSTATUS
,
"网络类型:"
+
type
);
return
type
;
return
type
;
}
}
...
@@ -271,8 +274,11 @@ public class NetworkUtil {
...
@@ -271,8 +274,11 @@ public class NetworkUtil {
NetworkInfo
ni
=
cm
.
getActiveNetworkInfo
();
NetworkInfo
ni
=
cm
.
getActiveNetworkInfo
();
if
(
ni
!=
null
)
{
if
(
ni
!=
null
)
{
if
(
ni
.
getType
()
==
ConnectivityManager
.
TYPE_WIFI
)
{
if
(
ni
.
getType
()
==
ConnectivityManager
.
TYPE_WIFI
)
{
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
NETSTATUS
,
"网络类型:TYPE_WIFI"
);
return
true
;
return
true
;
}
else
{
}
else
{
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
NETSTATUS
,
"网络类型:非WIFI环境"
);
return
false
;
return
false
;
}
}
}
else
{
}
else
{
...
...
m-im/src/main/java/com/yidianling/avchatkit/controll/AVChatController.java
View file @
6107ffa1
...
@@ -15,6 +15,8 @@ import com.netease.nimlib.sdk.avchat.model.AVChatNotifyOption;
...
@@ -15,6 +15,8 @@ import com.netease.nimlib.sdk.avchat.model.AVChatNotifyOption;
import
com.netease.nimlib.sdk.avchat.model.AVChatParameters
;
import
com.netease.nimlib.sdk.avchat.model.AVChatParameters
;
import
com.netease.nimlib.sdk.avchat.video.AVChatCameraCapturer
;
import
com.netease.nimlib.sdk.avchat.video.AVChatCameraCapturer
;
import
com.netease.nimlib.sdk.avchat.video.AVChatVideoCapturerFactory
;
import
com.netease.nimlib.sdk.avchat.video.AVChatVideoCapturerFactory
;
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
;
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
;
import
com.yidianling.avchatkit.AVChatKit
;
import
com.yidianling.avchatkit.AVChatKit
;
import
com.yidianling.avchatkit.common.log.LogUtil
;
import
com.yidianling.avchatkit.common.log.LogUtil
;
import
com.yidianling.avchatkit.common.widgets.MultiSelectDialog
;
import
com.yidianling.avchatkit.common.widgets.MultiSelectDialog
;
...
@@ -70,8 +72,11 @@ public class AVChatController {
...
@@ -70,8 +72,11 @@ public class AVChatController {
this
.
avChatConfigs
=
new
AVChatConfigs
(
context
);
this
.
avChatConfigs
=
new
AVChatConfigs
(
context
);
}
}
//恢复视频和语音发送
/**
* 恢复视频和语音发送
*/
public
void
resumeVideo
()
{
public
void
resumeVideo
()
{
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"恢复视频和语音发送"
);
if
(
needRestoreLocalVideo
)
{
if
(
needRestoreLocalVideo
)
{
AVChatManager
.
getInstance
().
muteLocalVideo
(
false
);
AVChatManager
.
getInstance
().
muteLocalVideo
(
false
);
needRestoreLocalVideo
=
false
;
needRestoreLocalVideo
=
false
;
...
@@ -84,9 +89,11 @@ public class AVChatController {
...
@@ -84,9 +89,11 @@ public class AVChatController {
}
}
//关闭视频和语音发送.
/**
* 关闭视频和语音发送.
*/
public
void
pauseVideo
()
{
public
void
pauseVideo
()
{
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"关闭视频和语音发送"
);
if
(!
AVChatManager
.
getInstance
().
isLocalVideoMuted
())
{
if
(!
AVChatManager
.
getInstance
().
isLocalVideoMuted
())
{
AVChatManager
.
getInstance
().
muteLocalVideo
(
true
);
AVChatManager
.
getInstance
().
muteLocalVideo
(
true
);
needRestoreLocalVideo
=
true
;
needRestoreLocalVideo
=
true
;
...
@@ -137,8 +144,10 @@ public class AVChatController {
...
@@ -137,8 +144,10 @@ public class AVChatController {
if
(
code
==
ResponseCode
.
RES_FORBIDDEN
)
{
if
(
code
==
ResponseCode
.
RES_FORBIDDEN
)
{
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_no_permission
);
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_no_permission
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"onFailed 暂无权限,请开通音视频服务 code:"
+
code
);
}
else
{
}
else
{
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_call_failed
);
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_call_failed
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"onFailed 发起通话失败 code:"
+
code
);
}
}
closeRtc
(
avChatType
==
AVChatType
.
VIDEO
?
CallStateEnum
.
VIDEO
:
CallStateEnum
.
AUDIO
);
closeRtc
(
avChatType
==
AVChatType
.
VIDEO
?
CallStateEnum
.
VIDEO
:
CallStateEnum
.
AUDIO
);
callback
.
onFailed
(
code
,
""
);
callback
.
onFailed
(
code
,
""
);
...
@@ -147,6 +156,8 @@ public class AVChatController {
...
@@ -147,6 +156,8 @@ public class AVChatController {
@Override
@Override
public
void
onException
(
Throwable
exception
)
{
public
void
onException
(
Throwable
exception
)
{
LogUtil
.
d
(
TAG
,
"avChat call onException->"
+
exception
);
LogUtil
.
d
(
TAG
,
"avChat call onException->"
+
exception
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"onException avChat call onException->"
+
exception
);
closeRtc
(
avChatType
==
AVChatType
.
VIDEO
?
CallStateEnum
.
VIDEO
:
CallStateEnum
.
AUDIO
);
closeRtc
(
avChatType
==
AVChatType
.
VIDEO
?
CallStateEnum
.
VIDEO
:
CallStateEnum
.
AUDIO
);
callback
.
onFailed
(-
1
,
exception
.
toString
());
callback
.
onFailed
(-
1
,
exception
.
toString
());
}
}
...
@@ -184,8 +195,12 @@ public class AVChatController {
...
@@ -184,8 +195,12 @@ public class AVChatController {
public
void
onFailed
(
int
code
)
{
public
void
onFailed
(
int
code
)
{
if
(
code
==
-
1
)
{
if
(
code
==
-
1
)
{
ToastUtil
.
toastShort
(
context
,
"本地音视频启动失败"
);
ToastUtil
.
toastShort
(
context
,
"本地音视频启动失败"
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"onFailed 本地音视频启动失败 code:"
+
code
);
}
else
{
}
else
{
ToastUtil
.
toastShort
(
context
,
"建立连接失败"
);
ToastUtil
.
toastShort
(
context
,
"建立连接失败"
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"onFailed 建立连接失败 code:"
+
code
);
}
}
LogUtil
.
e
(
TAG
,
"accept onFailed->"
+
code
);
LogUtil
.
e
(
TAG
,
"accept onFailed->"
+
code
);
handleAcceptFailed
(
avChatType
==
AVChatType
.
VIDEO
?
handleAcceptFailed
(
avChatType
==
AVChatType
.
VIDEO
?
...
@@ -196,6 +211,8 @@ public class AVChatController {
...
@@ -196,6 +211,8 @@ public class AVChatController {
@Override
@Override
public
void
onException
(
Throwable
exception
)
{
public
void
onException
(
Throwable
exception
)
{
LogUtil
.
d
(
TAG
,
"accept exception->"
+
exception
);
LogUtil
.
d
(
TAG
,
"accept exception->"
+
exception
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"onException accept exception->"
+
exception
);
handleAcceptFailed
(
avChatType
==
AVChatType
.
VIDEO
?
handleAcceptFailed
(
avChatType
==
AVChatType
.
VIDEO
?
CallStateEnum
.
VIDEO_CONNECTING
:
CallStateEnum
.
AUDIO
);
CallStateEnum
.
VIDEO_CONNECTING
:
CallStateEnum
.
AUDIO
);
callback
.
onFailed
(-
1
,
exception
.
toString
());
callback
.
onFailed
(-
1
,
exception
.
toString
());
...
@@ -208,9 +225,13 @@ public class AVChatController {
...
@@ -208,9 +225,13 @@ public class AVChatController {
if
(!
AVChatManager
.
getInstance
().
isLocalAudioMuted
())
{
// isMute是否处于静音状态
if
(!
AVChatManager
.
getInstance
().
isLocalAudioMuted
())
{
// isMute是否处于静音状态
// 关闭音频
// 关闭音频
AVChatManager
.
getInstance
().
muteLocalAudio
(
true
);
AVChatManager
.
getInstance
().
muteLocalAudio
(
true
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"toggleMute 关闭音频"
);
}
else
{
}
else
{
// 打开音频
// 打开音频
AVChatManager
.
getInstance
().
muteLocalAudio
(
false
);
AVChatManager
.
getInstance
().
muteLocalAudio
(
false
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"toggleMute 打开音频"
);
}
}
}
}
...
@@ -224,6 +245,8 @@ public class AVChatController {
...
@@ -224,6 +245,8 @@ public class AVChatController {
@Override
@Override
public
void
onSuccess
(
Void
aVoid
)
{
public
void
onSuccess
(
Void
aVoid
)
{
LogUtil
.
d
(
TAG
,
"videoSwitchAudio onSuccess"
);
LogUtil
.
d
(
TAG
,
"videoSwitchAudio onSuccess"
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"switchVideoToAudio 发送视频切换为音频命令 onSuccess"
);
//关闭视频
//关闭视频
AVChatManager
.
getInstance
().
stopVideoPreview
();
AVChatManager
.
getInstance
().
stopVideoPreview
();
AVChatManager
.
getInstance
().
disableVideo
();
AVChatManager
.
getInstance
().
disableVideo
();
...
@@ -235,11 +258,15 @@ public class AVChatController {
...
@@ -235,11 +258,15 @@ public class AVChatController {
@Override
@Override
public
void
onFailed
(
int
code
)
{
public
void
onFailed
(
int
code
)
{
LogUtil
.
d
(
TAG
,
"videoSwitchAudio onFailed"
);
LogUtil
.
d
(
TAG
,
"videoSwitchAudio onFailed"
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"switchVideoToAudio 发送视频切换为音频命令 onFailed code:"
+
code
);
}
}
@Override
@Override
public
void
onException
(
Throwable
exception
)
{
public
void
onException
(
Throwable
exception
)
{
LogUtil
.
d
(
TAG
,
"videoSwitchAudio onException"
);
LogUtil
.
d
(
TAG
,
"videoSwitchAudio onException"
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"switchVideoToAudio 发送视频切换为音频命令 onException exception:"
+
exception
);
}
}
});
});
}
}
...
@@ -250,17 +277,23 @@ public class AVChatController {
...
@@ -250,17 +277,23 @@ public class AVChatController {
@Override
@Override
public
void
onSuccess
(
Void
aVoid
)
{
public
void
onSuccess
(
Void
aVoid
)
{
LogUtil
.
d
(
TAG
,
"requestSwitchToVideo onSuccess"
);
LogUtil
.
d
(
TAG
,
"requestSwitchToVideo onSuccess"
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"switchVideoToAudio 发送音频切换为视频命令 onSuccess"
);
avSwitchListener
.
onAudioToVideo
();
avSwitchListener
.
onAudioToVideo
();
}
}
@Override
@Override
public
void
onFailed
(
int
code
)
{
public
void
onFailed
(
int
code
)
{
LogUtil
.
d
(
TAG
,
"requestSwitchToVideo onFailed"
+
code
);
LogUtil
.
d
(
TAG
,
"requestSwitchToVideo onFailed"
+
code
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"switchVideoToAudio 发送音频切换为视频命令 onFailed:"
+
code
);
}
}
@Override
@Override
public
void
onException
(
Throwable
exception
)
{
public
void
onException
(
Throwable
exception
)
{
LogUtil
.
d
(
TAG
,
"requestSwitchToVideo onException"
+
exception
);
LogUtil
.
d
(
TAG
,
"requestSwitchToVideo onException"
+
exception
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"switchVideoToAudio 发送音频切换为视频命令 onException:"
+
exception
);
}
}
});
});
}
}
...
@@ -271,6 +304,7 @@ public class AVChatController {
...
@@ -271,6 +304,7 @@ public class AVChatController {
@Override
@Override
public
void
onSuccess
(
Void
aVoid
)
{
public
void
onSuccess
(
Void
aVoid
)
{
LogUtil
.
d
(
TAG
,
"receiveAudioToVideo onSuccess"
);
LogUtil
.
d
(
TAG
,
"receiveAudioToVideo onSuccess"
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"switchVideoToAudio 发送同意从音频切换为视频的命令 onSuccess"
);
avSwitchListener
.
onReceiveAudioToVideoAgree
();
avSwitchListener
.
onReceiveAudioToVideoAgree
();
}
}
...
@@ -278,11 +312,16 @@ public class AVChatController {
...
@@ -278,11 +312,16 @@ public class AVChatController {
@Override
@Override
public
void
onFailed
(
int
code
)
{
public
void
onFailed
(
int
code
)
{
LogUtil
.
d
(
TAG
,
"receiveAudioToVideo onFailed"
);
LogUtil
.
d
(
TAG
,
"receiveAudioToVideo onFailed"
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"switchVideoToAudio 发送同意从音频切换为视频的命令 onFailed:"
+
code
);
}
}
@Override
@Override
public
void
onException
(
Throwable
exception
)
{
public
void
onException
(
Throwable
exception
)
{
LogUtil
.
d
(
TAG
,
"receiveAudioToVideo onException"
);
LogUtil
.
d
(
TAG
,
"receiveAudioToVideo onException"
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"switchVideoToAudio 发送同意从音频切换为视频的命令 exception:"
+
exception
);
}
}
});
});
}
}
...
@@ -361,12 +400,16 @@ public class AVChatController {
...
@@ -361,12 +400,16 @@ public class AVChatController {
}
}
}
}
// 设置扬声器是否开启
/**
* 设置扬声器是否开启
*/
public
void
toggleSpeaker
()
{
public
void
toggleSpeaker
()
{
AVChatManager
.
getInstance
().
setSpeaker
(!
AVChatManager
.
getInstance
().
speakerEnabled
());
AVChatManager
.
getInstance
().
setSpeaker
(!
AVChatManager
.
getInstance
().
speakerEnabled
());
}
}
// 切换摄像头(主要用于前置和后置摄像头切换)
/**
* 切换摄像头(主要用于前置和后置摄像头切换)
*/
public
void
switchCamera
()
{
public
void
switchCamera
()
{
mVideoCapturer
.
switchCamera
();
mVideoCapturer
.
switchCamera
();
}
}
...
@@ -403,7 +446,7 @@ public class AVChatController {
...
@@ -403,7 +446,7 @@ public class AVChatController {
showQuitToast
(
type
);
showQuitToast
(
type
);
}
}
/
/ 收到挂断通知,自己的处理
/
**收到挂断通知,自己的处理*/
public
void
onHangUp
(
int
exitCode
)
{
public
void
onHangUp
(
int
exitCode
)
{
if
(
destroyRTC
)
{
if
(
destroyRTC
)
{
return
;
return
;
...
@@ -415,37 +458,49 @@ public class AVChatController {
...
@@ -415,37 +458,49 @@ public class AVChatController {
((
Activity
)
context
).
finish
();
((
Activity
)
context
).
finish
();
}
}
/
/ 显示退出toast
/
** 显示退出toast*/
public
void
showQuitToast
(
int
code
)
{
public
void
showQuitToast
(
int
code
)
{
switch
(
code
)
{
switch
(
code
)
{
case
AVChatExitCode
.
NET_CHANGE
:
// 网络切换
// 网络切换
case
AVChatExitCode
.
NET_ERROR
:
// 网络异常
case
AVChatExitCode
.
NET_CHANGE
:
case
AVChatExitCode
.
CONFIG_ERROR
:
// 服务器返回数据错误
// 网络异常
case
AVChatExitCode
.
NET_ERROR
:
// 服务器返回数据错误
case
AVChatExitCode
.
CONFIG_ERROR
:
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_net_error_then_quit
);
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_net_error_then_quit
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"网络异常,通话结束 网络切换4 网络异常8 服务器返回数据错误10 code:"
+
code
);
break
;
break
;
case
AVChatExitCode
.
REJECT
:
case
AVChatExitCode
.
REJECT
:
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_call_reject
);
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_call_reject
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"被对方拒绝"
);
break
;
break
;
case
AVChatExitCode
.
PEER_HANGUP
:
case
AVChatExitCode
.
PEER_HANGUP
:
case
AVChatExitCode
.
HANGUP
:
case
AVChatExitCode
.
HANGUP
:
if
(
isCallEstablish
.
get
())
{
if
(
isCallEstablish
.
get
())
{
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_call_finish
);
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_call_finish
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"通话结束"
);
}
}
break
;
break
;
case
AVChatExitCode
.
PEER_BUSY
:
case
AVChatExitCode
.
PEER_BUSY
:
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_peer_busy
);
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_peer_busy
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"对方正在通话中,请稍后再拨。"
);
break
;
break
;
case
AVChatExitCode
.
PROTOCOL_INCOMPATIBLE_PEER_LOWER
:
case
AVChatExitCode
.
PROTOCOL_INCOMPATIBLE_PEER_LOWER
:
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_peer_protocol_low_version
);
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_peer_protocol_low_version
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"对方版本过低,请提示对方升"
);
break
;
break
;
case
AVChatExitCode
.
PROTOCOL_INCOMPATIBLE_SELF_LOWER
:
case
AVChatExitCode
.
PROTOCOL_INCOMPATIBLE_SELF_LOWER
:
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_local_protocol_low_version
);
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_local_protocol_low_version
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"版本过低,请升级后使用"
);
break
;
break
;
case
AVChatExitCode
.
INVALIDE_CHANNELID
:
case
AVChatExitCode
.
INVALIDE_CHANNELID
:
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_invalid_channel_id
);
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_invalid_channel_id
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"对方已挂断"
);
break
;
break
;
case
AVChatExitCode
.
LOCAL_CALL_BUSY
:
case
AVChatExitCode
.
LOCAL_CALL_BUSY
:
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_local_call_busy
);
ToastUtil
.
toastShort
(
context
,
R
.
string
.
im_avchat_local_call_busy
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"本地通话中,无法进行通话。"
);
break
;
break
;
default
:
default
:
break
;
break
;
...
...
m-im/src/main/java/com/yidianling/avchatkit/teamavchat/activity/TeamAVChatActivity.java
View file @
6107ffa1
...
@@ -35,6 +35,8 @@ import com.netease.nimlib.sdk.avchat.model.AVChatParameters;
...
@@ -35,6 +35,8 @@ import com.netease.nimlib.sdk.avchat.model.AVChatParameters;
import
com.netease.nimlib.sdk.avchat.video.AVChatCameraCapturer
;
import
com.netease.nimlib.sdk.avchat.video.AVChatCameraCapturer
;
import
com.netease.nimlib.sdk.avchat.video.AVChatVideoCapturerFactory
;
import
com.netease.nimlib.sdk.avchat.video.AVChatVideoCapturerFactory
;
import
com.netease.nrtc.video.render.IVideoRender
;
import
com.netease.nrtc.video.render.IVideoRender
;
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
;
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
;
import
com.yidianling.avchatkit.AVChatKit
;
import
com.yidianling.avchatkit.AVChatKit
;
import
com.yidianling.avchatkit.TeamAVChatProfile
;
import
com.yidianling.avchatkit.TeamAVChatProfile
;
import
com.yidianling.avchatkit.common.activity.AVChatBaseUI
;
import
com.yidianling.avchatkit.common.activity.AVChatBaseUI
;
...
@@ -436,6 +438,7 @@ public class TeamAVChatActivity extends AVChatBaseUI {
...
@@ -436,6 +438,7 @@ public class TeamAVChatActivity extends AVChatBaseUI {
public
void
onSuccess
(
AVChatData
data
)
{
public
void
onSuccess
(
AVChatData
data
)
{
chatId
=
data
.
getChatId
();
chatId
=
data
.
getChatId
();
LogUtil
.
i
(
TAG
,
"join room success, roomId="
+
roomId
+
", chatId="
+
chatId
);
LogUtil
.
i
(
TAG
,
"join room success, roomId="
+
roomId
+
", chatId="
+
chatId
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"join room success, roomId="
+
roomId
+
", chatId="
+
chatId
);
}
}
@Override
@Override
...
@@ -458,13 +461,17 @@ public class TeamAVChatActivity extends AVChatBaseUI {
...
@@ -458,13 +461,17 @@ public class TeamAVChatActivity extends AVChatBaseUI {
startLocalPreview
();
startLocalPreview
();
startTimerForCheckReceivedCall
();
startTimerForCheckReceivedCall
();
LogUtil
.
i
(
TAG
,
"team avchat running..."
+
", roomId="
+
roomId
);
LogUtil
.
i
(
TAG
,
"team avchat running..."
+
", roomId="
+
roomId
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"onJoinRoomSuccess 进入房间成功"
);
}
}
private
void
onJoinRoomFailed
(
int
code
,
Throwable
e
)
{
private
void
onJoinRoomFailed
(
int
code
,
Throwable
e
)
{
if
(
code
==
ResponseCode
.
RES_ENONEXIST
)
{
if
(
code
==
ResponseCode
.
RES_ENONEXIST
)
{
showToast
(
getString
(
R
.
string
.
im_t_avchat_join_fail_not_exist
));
showToast
(
getString
(
R
.
string
.
im_t_avchat_join_fail_not_exist
));
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"startRtc 进入房间失败 房间不存在 code:"
+
code
);
}
else
{
}
else
{
showToast
(
"join room failed, code="
+
code
+
", e="
+
(
e
==
null
?
""
:
e
.
getMessage
()));
showToast
(
"join room failed, code="
+
code
+
", e="
+
(
e
==
null
?
""
:
e
.
getMessage
()));
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"join room failed, code="
+
code
+
", e="
+
(
e
==
null
?
""
:
e
.
getMessage
()));
}
}
}
}
...
@@ -483,6 +490,7 @@ public class TeamAVChatActivity extends AVChatBaseUI {
...
@@ -483,6 +490,7 @@ public class TeamAVChatActivity extends AVChatBaseUI {
updateAudioMuteButtonState
();
updateAudioMuteButtonState
();
LogUtil
.
i
(
TAG
,
"on user joined, account="
+
account
);
LogUtil
.
i
(
TAG
,
"on user joined, account="
+
account
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"on user joined, account="
+
account
);
}
}
public
void
onAVChatUserLeave
(
String
account
)
{
public
void
onAVChatUserLeave
(
String
account
)
{
...
@@ -496,6 +504,7 @@ public class TeamAVChatActivity extends AVChatBaseUI {
...
@@ -496,6 +504,7 @@ public class TeamAVChatActivity extends AVChatBaseUI {
updateAudioMuteButtonState
();
updateAudioMuteButtonState
();
LogUtil
.
i
(
TAG
,
"on user leave, account="
+
account
);
LogUtil
.
i
(
TAG
,
"on user leave, account="
+
account
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"on user leave, account="
+
account
);
}
}
private
void
startLocalPreview
()
{
private
void
startLocalPreview
()
{
...
...
m-im/src/main/java/com/yidianling/im/helper/IMChatUtil.kt
View file @
6107ffa1
...
@@ -17,6 +17,8 @@ import com.ydl.ydlcommon.ui.LoadingDialogFragment
...
@@ -17,6 +17,8 @@ import com.ydl.ydlcommon.ui.LoadingDialogFragment
import
com.ydl.ydlcommon.ui.LoadingDialogFragment.Companion.newInstance
import
com.ydl.ydlcommon.ui.LoadingDialogFragment.Companion.newInstance
import
com.ydl.ydlcommon.utils.NetworkParamsUtils
import
com.ydl.ydlcommon.utils.NetworkParamsUtils
import
com.ydl.ydlcommon.utils.UserInfoCache
import
com.ydl.ydlcommon.utils.UserInfoCache
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
import
com.ydl.ydlcommon.utils.remind.HttpErrorUtils.Companion.handleError
import
com.ydl.ydlcommon.utils.remind.HttpErrorUtils.Companion.handleError
import
com.ydl.ydlcommon.view.dialog.CommonDialog
import
com.ydl.ydlcommon.view.dialog.CommonDialog
import
com.yidianling.common.tools.LogUtil
import
com.yidianling.common.tools.LogUtil
...
@@ -194,6 +196,7 @@ object IMChatUtil {
...
@@ -194,6 +196,7 @@ object IMChatUtil {
isFromQingShu
:
Int
,
isFromQingShu
:
Int
,
context
:
AppCompatActivity
context
:
AppCompatActivity
)
{
)
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"startChatSession 开启聊天会话"
)
val
p2PCustomActionHandlerImpl
=
P2PCustomActionHandlerImpl
(
toUid
,
expertInfo
)
val
p2PCustomActionHandlerImpl
=
P2PCustomActionHandlerImpl
(
toUid
,
expertInfo
)
p2PCustomActionHandlerImpl
.
isFromQingShu
=
isFromQingShu
p2PCustomActionHandlerImpl
.
isFromQingShu
=
isFromQingShu
SessionHelper
.
startP2PSession
(
SessionHelper
.
startP2PSession
(
...
@@ -278,7 +281,7 @@ object IMChatUtil {
...
@@ -278,7 +281,7 @@ object IMChatUtil {
}
else
{
}
else
{
upLoadLog
(
"consult/get-expert"
,
resp
.
code
,
resp
.
msg
)
upLoadLog
(
"consult/get-expert"
,
resp
.
code
,
resp
.
msg
)
if
(
resp
.
code
==
ImConstants
.
HTTP_CODE_UNLOGIN
)
{
if
(
resp
.
code
==
ImConstants
.
HTTP_CODE_UNLOGIN
)
{
ImIn
.
loginByOneKeyLogin
(
context
,
true
)
ImIn
.
loginByOneKeyLogin
(
context
,
true
)
ToastUtil
.
toastShort
(
resp
.
msg
)
ToastUtil
.
toastShort
(
resp
.
msg
)
}
else
if
(
resp
.
code
==
ImConstants
.
SILENCED_CODE
)
{
//禁言
}
else
if
(
resp
.
code
==
ImConstants
.
SILENCED_CODE
)
{
//禁言
showSilencedDialog
(
context
,
resp
.
data
.
tips
,
resp
.
data
.
url
)
showSilencedDialog
(
context
,
resp
.
data
.
tips
,
resp
.
data
.
url
)
...
@@ -326,7 +329,7 @@ object IMChatUtil {
...
@@ -326,7 +329,7 @@ object IMChatUtil {
}
else
{
}
else
{
upLoadLog
(
"consult/get-expert"
,
resp
.
code
,
resp
.
msg
)
upLoadLog
(
"consult/get-expert"
,
resp
.
code
,
resp
.
msg
)
if
(
resp
.
code
==
ImConstants
.
HTTP_CODE_UNLOGIN
)
{
if
(
resp
.
code
==
ImConstants
.
HTTP_CODE_UNLOGIN
)
{
ImIn
.
loginByOneKeyLogin
(
context
,
true
)
ImIn
.
loginByOneKeyLogin
(
context
,
true
)
ToastUtil
.
toastShort
(
resp
.
msg
)
ToastUtil
.
toastShort
(
resp
.
msg
)
}
else
if
(
resp
.
code
==
ImConstants
.
SILENCED_CODE
)
{
//禁言
}
else
if
(
resp
.
code
==
ImConstants
.
SILENCED_CODE
)
{
//禁言
showSilencedDialog
(
context
,
resp
.
data
.
tips
,
resp
.
data
.
url
)
showSilencedDialog
(
context
,
resp
.
data
.
tips
,
resp
.
data
.
url
)
...
@@ -367,7 +370,9 @@ object IMChatUtil {
...
@@ -367,7 +370,9 @@ object IMChatUtil {
tb
.
setmMinTitleVisiable
(
View
.
GONE
)
tb
.
setmMinTitleVisiable
(
View
.
GONE
)
}
else
{
}
else
{
//对方是用户,自己是助理
//对方是用户,自己是助理
if
(
actionHandler
.
userType
==
USER_TYPE_USER
&&
ModularServiceManager
.
provide
(
IUserService
::
class
.
java
)
if
(
actionHandler
.
userType
==
USER_TYPE_USER
&&
ModularServiceManager
.
provide
(
IUserService
::
class
.
java
)
.
getUserInfo
()
?.
user_type
==
USER_TYPE_ASSISTANT
.
getUserInfo
()
?.
user_type
==
USER_TYPE_ASSISTANT
)
{
)
{
tb
.
setTitleTextRightIcon
(
R
.
drawable
.
user_info_icon
)
{
tb
.
setTitleTextRightIcon
(
R
.
drawable
.
user_info_icon
)
{
...
...
m-im/src/main/java/com/yidianling/uikit/api/NimUIKit.java
View file @
6107ffa1
...
@@ -5,6 +5,8 @@ import android.content.Context;
...
@@ -5,6 +5,8 @@ import android.content.Context;
import
com.netease.nimlib.sdk.msg.attachment.MsgAttachment
;
import
com.netease.nimlib.sdk.msg.attachment.MsgAttachment
;
import
com.netease.nimlib.sdk.msg.constant.SessionTypeEnum
;
import
com.netease.nimlib.sdk.msg.constant.SessionTypeEnum
;
import
com.netease.nimlib.sdk.msg.model.IMMessage
;
import
com.netease.nimlib.sdk.msg.model.IMMessage
;
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
;
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
;
import
com.yidianling.nimbase.api.BaseNimUIKit
;
import
com.yidianling.nimbase.api.BaseNimUIKit
;
import
com.yidianling.nimbase.api.model.session.SessionCustomization
;
import
com.yidianling.nimbase.api.model.session.SessionCustomization
;
import
com.yidianling.uikit.business.contact.selector.activity.ContactSelectActivity
;
import
com.yidianling.uikit.business.contact.selector.activity.ContactSelectActivity
;
...
@@ -30,6 +32,7 @@ public class NimUIKit extends BaseNimUIKit {
...
@@ -30,6 +32,7 @@ public class NimUIKit extends BaseNimUIKit {
*/
*/
public
static
void
startYDLChatting
(
Context
context
,
String
id
,
SessionTypeEnum
sessionType
,
SessionCustomization
public
static
void
startYDLChatting
(
Context
context
,
String
id
,
SessionTypeEnum
sessionType
,
SessionCustomization
customization
,
IMMessage
anchor
,
IP2PCustomActionHandler
handler
)
{
customization
,
IMMessage
anchor
,
IP2PCustomActionHandler
handler
)
{
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"startYDLChatting 打开壹点灵定制聊天窗口,开始聊天"
);
NimUIKitImpl
.
startChatting
(
context
,
id
,
sessionType
,
customization
,
anchor
,
handler
);
NimUIKitImpl
.
startChatting
(
context
,
id
,
sessionType
,
customization
,
anchor
,
handler
);
}
}
...
...
m-im/src/main/java/com/yidianling/uikit/business/session/activity/YDLP2PMessageActivity.java
View file @
6107ffa1
...
@@ -4,7 +4,6 @@ import android.content.Context;
...
@@ -4,7 +4,6 @@ import android.content.Context;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.util.DisplayMetrics
;
import
android.util.DisplayMetrics
;
import
android.view.View
;
import
android.view.WindowManager
;
import
android.view.WindowManager
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
...
@@ -17,6 +16,8 @@ import com.netease.nimlib.sdk.msg.MsgServiceObserve;
...
@@ -17,6 +16,8 @@ import com.netease.nimlib.sdk.msg.MsgServiceObserve;
import
com.netease.nimlib.sdk.msg.constant.SessionTypeEnum
;
import
com.netease.nimlib.sdk.msg.constant.SessionTypeEnum
;
import
com.netease.nimlib.sdk.msg.model.CustomNotification
;
import
com.netease.nimlib.sdk.msg.model.CustomNotification
;
import
com.netease.nimlib.sdk.msg.model.IMMessage
;
import
com.netease.nimlib.sdk.msg.model.IMMessage
;
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
;
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
;
import
com.yidianling.common.tools.ToastUtil
;
import
com.yidianling.common.tools.ToastUtil
;
import
com.yidianling.im.R
;
import
com.yidianling.im.R
;
import
com.yidianling.im.api.bean.IMRegisterObserverCustomNotificationCallBack
;
import
com.yidianling.im.api.bean.IMRegisterObserverCustomNotificationCallBack
;
...
@@ -82,9 +83,8 @@ public class YDLP2PMessageActivity extends YDLBaseMessageActivity {
...
@@ -82,9 +83,8 @@ public class YDLP2PMessageActivity extends YDLBaseMessageActivity {
/**
/**
* 切换到客服界面
* 切换到客服界面
*
*/
*/
public
static
void
startChangeDoctor
(
Context
context
,
String
contactId
,
SessionCustomization
customization
,
IMMessage
anchor
,
IP2PCustomActionHandler
l
){
public
static
void
startChangeDoctor
(
Context
context
,
String
contactId
,
SessionCustomization
customization
,
IMMessage
anchor
,
IP2PCustomActionHandler
l
)
{
Intent
intent
=
new
Intent
();
Intent
intent
=
new
Intent
();
intent
.
putExtra
(
Extras
.
EXTRA_ACCOUNT
,
contactId
);
intent
.
putExtra
(
Extras
.
EXTRA_ACCOUNT
,
contactId
);
intent
.
putExtra
(
Extras
.
EXTRA_CUSTOMIZATION
,
customization
);
intent
.
putExtra
(
Extras
.
EXTRA_CUSTOMIZATION
,
customization
);
...
@@ -106,7 +106,7 @@ public class YDLP2PMessageActivity extends YDLBaseMessageActivity {
...
@@ -106,7 +106,7 @@ public class YDLP2PMessageActivity extends YDLBaseMessageActivity {
// 如果isChangeDoctor为true表示切换客服
// 如果isChangeDoctor为true表示切换客服
if
(
isChangeDoctor
)
{
if
(
isChangeDoctor
)
{
messageFragment
=
(
YDLMessageFragment
)
switchContent
(
switchServiceFragment
(
intent
));
messageFragment
=
(
YDLMessageFragment
)
switchContent
(
switchServiceFragment
(
intent
));
isChangeDoctor
=
false
;
isChangeDoctor
=
false
;
}
}
}
}
...
@@ -137,7 +137,7 @@ public class YDLP2PMessageActivity extends YDLBaseMessageActivity {
...
@@ -137,7 +137,7 @@ public class YDLP2PMessageActivity extends YDLBaseMessageActivity {
isChangeDoctor
=
true
;
isChangeDoctor
=
true
;
String
serviceUid
=
String
.
valueOf
(
serviceBean
.
getData
().
getToUid
());
String
serviceUid
=
String
.
valueOf
(
serviceBean
.
getData
().
getToUid
());
tb
.
setTitle
(
serviceBean
.
getData
().
getName
());
tb
.
setTitle
(
serviceBean
.
getData
().
getName
());
YDLP2PMessageActivity
.
startChangeDoctor
(
YDLP2PMessageActivity
.
this
,
serviceUid
,
SessionHelper
.
getP2pCustomization
(-
1
),
null
,
new
P2PCustomActionHandlerImpl
(
serviceUid
,
serviceBean
.
getData
().
getName
(),
serviceUid
));
YDLP2PMessageActivity
.
startChangeDoctor
(
YDLP2PMessageActivity
.
this
,
serviceUid
,
SessionHelper
.
getP2pCustomization
(-
1
),
null
,
new
P2PCustomActionHandlerImpl
(
serviceUid
,
serviceBean
.
getData
().
getName
(),
serviceUid
));
}
}
}
}
});
});
...
@@ -145,13 +145,13 @@ public class YDLP2PMessageActivity extends YDLBaseMessageActivity {
...
@@ -145,13 +145,13 @@ public class YDLP2PMessageActivity extends YDLBaseMessageActivity {
@Override
@Override
protected
void
onDestroy
()
{
protected
void
onDestroy
()
{
if
(
ActionHandlerStorage
.
getL
(
sessionId
)
!=
null
)
if
(
ActionHandlerStorage
.
getL
(
sessionId
)
!=
null
)
{
ActionHandlerStorage
.
getL
(
sessionId
).
clear
(
sessionId
);
ActionHandlerStorage
.
getL
(
sessionId
).
clear
(
sessionId
);
}
registerObservers
(
false
);
registerObservers
(
false
);
super
.
onDestroy
();
super
.
onDestroy
();
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"退出聊天页面"
);
}
}
@Override
@Override
...
...
m-im/src/main/java/com/yidianling/uikit/business/session/fragment/YDLMessageFragment.java
View file @
6107ffa1
...
@@ -49,6 +49,8 @@ import com.ydl.ydlcommon.utils.LogUtil;
...
@@ -49,6 +49,8 @@ import com.ydl.ydlcommon.utils.LogUtil;
import
com.ydl.ydlcommon.utils.SharedPreferencesEditor
;
import
com.ydl.ydlcommon.utils.SharedPreferencesEditor
;
import
com.ydl.ydlcommon.utils.YdlBuryPointUtil
;
import
com.ydl.ydlcommon.utils.YdlBuryPointUtil
;
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
;
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
;
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
;
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
;
import
com.ydl.ydlcommon.utils.log.LogHelper
;
import
com.ydl.ydlcommon.utils.log.LogHelper
;
import
com.ydl.ydlcommon.view.CircleImageView
;
import
com.ydl.ydlcommon.view.CircleImageView
;
import
com.ydl.ydlcommon.view.dialog.CommonDialog
;
import
com.ydl.ydlcommon.view.dialog.CommonDialog
;
...
@@ -754,15 +756,21 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
...
@@ -754,15 +756,21 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
}
}
// 帮助人数
// 帮助人数
help_num
=
String
.
valueOf
(
ActionHandlerStorage
.
getL
(
sessionId
).
getInfo
().
doctorBriefInfoOrderNum
);
help_num
=
String
.
valueOf
(
ActionHandlerStorage
.
getL
(
sessionId
).
getInfo
().
doctorBriefInfoOrderNum
);
if
(
TextUtils
.
isEmpty
(
help_num
))
help_num
=
"0"
;
if
(
TextUtils
.
isEmpty
(
help_num
))
{
help_num
=
"0"
;
}
help_num_tv
.
setText
(
help_num
);
help_num_tv
.
setText
(
help_num
);
// 服务时长
// 服务时长
server_num
=
String
.
valueOf
((
int
)
Math
.
ceil
((
double
)
ActionHandlerStorage
.
getL
(
sessionId
).
getInfo
().
doctorBriefInfoHelpLong
/
60.0
));
server_num
=
String
.
valueOf
((
int
)
Math
.
ceil
((
double
)
ActionHandlerStorage
.
getL
(
sessionId
).
getInfo
().
doctorBriefInfoHelpLong
/
60.0
));
if
(
TextUtils
.
isEmpty
(
server_num
))
server_num
=
"0"
;
if
(
TextUtils
.
isEmpty
(
server_num
))
{
server_num
=
"0"
;
}
server_num_tv
.
setText
(
server_num
);
server_num_tv
.
setText
(
server_num
);
// 好评率
// 好评率
good_num
=
ActionHandlerStorage
.
getL
(
sessionId
).
getInfo
().
doctorBriefInfoFeedbackRateForShow
;
good_num
=
ActionHandlerStorage
.
getL
(
sessionId
).
getInfo
().
doctorBriefInfoFeedbackRateForShow
;
if
(
TextUtils
.
isEmpty
(
good_num
))
good_num
=
"0.0"
;
if
(
TextUtils
.
isEmpty
(
good_num
))
{
good_num
=
"0.0"
;
}
good_num_tv
.
setText
(
good_num
);
good_num_tv
.
setText
(
good_num
);
try
{
try
{
...
@@ -1176,13 +1184,14 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
...
@@ -1176,13 +1184,14 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
}
}
});
});
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"sendMessage 该消息发送成功 sessionId:"
+
sessionId
);
}
else
{
}
else
{
// 替换成tip
// 替换成tip
message
=
MessageBuilder
.
createTipMessage
(
message
.
getSessionId
(),
message
.
getSessionType
());
message
=
MessageBuilder
.
createTipMessage
(
message
.
getSessionId
(),
message
.
getSessionType
());
message
.
setContent
(
"该消息无法发送"
);
message
.
setContent
(
"该消息无法发送"
);
message
.
setStatus
(
MsgStatusEnum
.
success
);
message
.
setStatus
(
MsgStatusEnum
.
success
);
NIMClient
.
getService
(
MsgService
.
class
).
saveMessageToLocal
(
message
,
false
);
NIMClient
.
getService
(
MsgService
.
class
).
saveMessageToLocal
(
message
,
false
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"sendMessage 该消息无法发送 sessionId:"
+
sessionId
);
}
}
messageListPanel
.
onMsgSend
(
message
);
messageListPanel
.
onMsgSend
(
message
);
...
@@ -1210,9 +1219,12 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
...
@@ -1210,9 +1219,12 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
LogHelper
.
Companion
.
getInstance
().
writeLogSync
(
"发送消息失败:已被对方拉黑"
);
LogHelper
.
Companion
.
getInstance
().
writeLogSync
(
"发送消息失败:已被对方拉黑"
);
ToastUtil
.
toastLong
(
getActivity
(),
"您已被对方拉黑!"
);
ToastUtil
.
toastLong
(
getActivity
(),
"您已被对方拉黑!"
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"sendFailWithBlackList 发送消息失败:已被对方拉黑 sessionId:"
+
sessionId
);
}
else
if
(
code
==
404
)
{
}
else
if
(
code
==
404
)
{
LogHelper
.
Companion
.
getInstance
().
writeLogSync
(
"发送消息失败:对象不见了"
);
LogHelper
.
Companion
.
getInstance
().
writeLogSync
(
"发送消息失败:对象不见了"
);
ToastUtil
.
toastLong
(
getActivity
(),
"对象不见了!"
);
ToastUtil
.
toastLong
(
getActivity
(),
"对象不见了!"
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
YUNXIN
,
"sendFailWithBlackList 发送消息失败:对象不见了 404 sessionId:"
+
sessionId
);
}
else
{
}
else
{
//上传至后台
//上传至后台
if
(!
TextUtils
.
isEmpty
(
sessionId
)
&&
ActionHandlerStorage
.
getL
(
sessionId
)
!=
null
)
{
if
(!
TextUtils
.
isEmpty
(
sessionId
)
&&
ActionHandlerStorage
.
getL
(
sessionId
)
!=
null
)
{
...
...
m-user/src/main/java/com/yidianling/user/LoginUtils.kt
View file @
6107ffa1
...
@@ -6,6 +6,8 @@ import com.tencent.bugly.crashreport.CrashReport
...
@@ -6,6 +6,8 @@ import com.tencent.bugly.crashreport.CrashReport
import
com.ydl.ydlcommon.data.http.RxUtils
import
com.ydl.ydlcommon.data.http.RxUtils
import
com.ydl.ydlcommon.utils.ActivityManager
import
com.ydl.ydlcommon.utils.ActivityManager
import
com.ydl.ydlcommon.utils.BuryPointUtils
import
com.ydl.ydlcommon.utils.BuryPointUtils
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
import
com.yidianling.common.tools.LogUtil
import
com.yidianling.common.tools.LogUtil
import
com.yidianling.im.api.bean.IMLoginInfo
import
com.yidianling.im.api.bean.IMLoginInfo
import
com.yidianling.im.api.bean.IMRequestCallback
import
com.yidianling.im.api.bean.IMRequestCallback
...
@@ -57,16 +59,22 @@ object LoginUtils {
...
@@ -57,16 +59,22 @@ object LoginUtils {
val
info
=
IMLoginInfo
(
userInfo
?.
uid
?:
""
,
userInfo
?.
hxpwd
?:
""
)
val
info
=
IMLoginInfo
(
userInfo
?.
uid
?:
""
,
userInfo
?.
hxpwd
?:
""
)
val
callback
=
object
:
IMRequestCallback
<
IMLoginInfo
>
{
val
callback
=
object
:
IMRequestCallback
<
IMLoginInfo
>
{
override
fun
onSuccess
(
t
:
IMLoginInfo
?)
{
override
fun
onSuccess
(
t
:
IMLoginInfo
?)
{
LogUtil
.
e
(
"IM登录成功:"
+
"info.account:"
+
info
.
account
+
"info.passWord"
+
info
.
passWord
)
LogUtil
.
e
(
"IM登录成功:"
+
"info.account:"
+
info
.
account
+
"info.passWord"
+
info
.
passWord
)
UserIn
.
imSetAccount
(
userInfo
?.
uid
?:
""
)
UserIn
.
imSetAccount
(
userInfo
?.
uid
?:
""
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
LOGIN
,
"IM登录成功"
)
}
}
override
fun
onFailed
(
i
:
Int
)
{
override
fun
onFailed
(
i
:
Int
)
{
LogUtil
.
e
(
"IM登录失败:$i"
+
"info.account:"
+
info
.
account
+
"info.passWord"
+
info
.
passWord
)
LogUtil
.
e
(
"IM登录失败:$i"
+
"info.account:"
+
info
.
account
+
"info.passWord"
+
info
.
passWord
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
LOGIN
,
"IM登录失败"
)
}
}
override
fun
onException
(
throwable
:
Throwable
?)
{
override
fun
onException
(
throwable
:
Throwable
?)
{
LogUtil
.
e
(
"IM登录onException:${throwable?.message}"
)
LogUtil
.
e
(
"IM登录onException:${throwable?.message}"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
LOGIN
,
"IM登录onException:${throwable?.message}"
)
}
}
}
}
...
@@ -90,6 +98,7 @@ object LoginUtils {
...
@@ -90,6 +98,7 @@ object LoginUtils {
@JvmStatic
@JvmStatic
fun
logoutClearLocal
()
{
fun
logoutClearLocal
()
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
LOGIN
,
"退出登录"
)
UserIn
.
imLogout
()
UserIn
.
imLogout
()
UserIn
.
closePlayer
()
UserIn
.
closePlayer
()
UserIn
.
clearImData
()
UserIn
.
clearImData
()
...
@@ -105,7 +114,7 @@ object LoginUtils {
...
@@ -105,7 +114,7 @@ object LoginUtils {
ActivityManager
.
finishAll
()
ActivityManager
.
finishAll
()
if
(
StatusUtils
.
isFirstLogin
&&
StatusUtils
.
isFirstStartApp
)
{
if
(
StatusUtils
.
isFirstLogin
&&
StatusUtils
.
isFirstStartApp
)
{
activity
.
startActivity
(
Intent
(
activity
,
CollectSexAndBirthActivity
::
class
.
java
))
activity
.
startActivity
(
Intent
(
activity
,
CollectSexAndBirthActivity
::
class
.
java
))
}
else
{
}
else
{
UserIn
.
mainIntent
(
activity
)
UserIn
.
mainIntent
(
activity
)
}
}
}
else
{
//需要判断stack中是否有MainActivity
}
else
{
//需要判断stack中是否有MainActivity
...
...
m-user/src/main/java/com/yidianling/user/ui/SmsLoginActivity.kt
View file @
6107ffa1
...
@@ -14,6 +14,8 @@ import com.ydl.ydlcommon.router.YdlCommonOut
...
@@ -14,6 +14,8 @@ import com.ydl.ydlcommon.router.YdlCommonOut
import
com.ydl.ydlcommon.utils.ActivityManager
import
com.ydl.ydlcommon.utils.ActivityManager
import
com.ydl.ydlcommon.utils.UserInfoCache
import
com.ydl.ydlcommon.utils.UserInfoCache
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
import
com.ydl.ydlcommon.utils.remind.ToastHelper
import
com.ydl.ydlcommon.utils.remind.ToastHelper
import
com.yidianling.im.api.bean.IMLoginInfo
import
com.yidianling.im.api.bean.IMLoginInfo
import
com.yidianling.im.api.bean.IMRequestCallback
import
com.yidianling.im.api.bean.IMRequestCallback
...
@@ -136,7 +138,10 @@ class SmsLoginActivity : BaseActivity() {
...
@@ -136,7 +138,10 @@ class SmsLoginActivity : BaseActivity() {
return
return
}
}
ActionCountUtils
.
count
(
UserBIConstants
.
POSITION_LOGIN_CLICK
,
UserBIConstants
.
ACTION_TYPE_CODE_LOGIN
)
ActionCountUtils
.
count
(
UserBIConstants
.
POSITION_LOGIN_CLICK
,
UserBIConstants
.
ACTION_TYPE_CODE_LOGIN
)
Log
.
e
(
"短信验证码:"
,
code
+
" - "
+
phoneNum
+
" - "
+
et_code
.
text
.
toString
());
Log
.
e
(
"短信验证码:"
,
code
+
" - "
+
phoneNum
+
" - "
+
et_code
.
text
.
toString
());
loginSub
=
userHttp
.
login
(
LoginParam
(
code
,
phoneNum
,
null
,
2
,
et_code
.
text
.
toString
()))
loginSub
=
userHttp
.
login
(
LoginParam
(
code
,
phoneNum
,
null
,
2
,
et_code
.
text
.
toString
()))
...
@@ -152,8 +157,12 @@ class SmsLoginActivity : BaseActivity() {
...
@@ -152,8 +157,12 @@ class SmsLoginActivity : BaseActivity() {
if
(
it
.
firstLogin
==
1
)
{
if
(
it
.
firstLogin
==
1
)
{
StatusUtils
.
isFirstLogin
=
true
StatusUtils
.
isFirstLogin
=
true
baiduActionBury
()
baiduActionBury
()
}
else
{
}
else
{
ActionCountUtils
.
countUid
(
UserBIConstants
.
POSITION_LOGIN_SUCCESS_CLICK
,
it
.
uid
!!
,
UserBIConstants
.
ACTION_TYPE_CODE_LOGIN
)
ActionCountUtils
.
countUid
(
UserBIConstants
.
POSITION_LOGIN_SUCCESS_CLICK
,
it
.
uid
!!
,
UserBIConstants
.
ACTION_TYPE_CODE_LOGIN
)
}
}
// ActivityManager.finishActivity(LoginActivity::class.java)
// ActivityManager.finishActivity(LoginActivity::class.java)
// if (ActivityManager.getActivitySize() <= 1) {
// if (ActivityManager.getActivitySize() <= 1) {
...
@@ -161,10 +170,15 @@ class SmsLoginActivity : BaseActivity() {
...
@@ -161,10 +170,15 @@ class SmsLoginActivity : BaseActivity() {
// }
// }
// finish()
// finish()
LoginUtils
.
loginSuccessOperate
(
this
)
LoginUtils
.
loginSuccessOperate
(
this
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
LOGIN
,
"短信验证码 成功"
)
},
object
:
ThrowableConsumer
()
{
},
object
:
ThrowableConsumer
()
{
override
fun
accept
(
msg
:
String
)
{
override
fun
accept
(
msg
:
String
)
{
dismissProgressDialog
()
dismissProgressDialog
()
YdlCommonOut
.
showToast
(
msg
)
YdlCommonOut
.
showToast
(
msg
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
LOGIN
,
"短信验证码 失败 msg:$msg "
)
}
}
})
})
}
}
...
@@ -224,9 +238,11 @@ class SmsLoginActivity : BaseActivity() {
...
@@ -224,9 +238,11 @@ class SmsLoginActivity : BaseActivity() {
try
{
try
{
if
(
userInfo
!=
null
)
{
if
(
userInfo
!=
null
)
{
UserIn
.
imSetAccount
(
userInfo
.
uid
.
toString
())
UserIn
.
imSetAccount
(
userInfo
.
uid
.
toString
())
UserInfoCache
.
getInstance
().
saveYDLUser
(
userInfo
.
uid
.
toString
(),
UserInfoCache
.
getInstance
().
saveYDLUser
(
userInfo
.
uid
.
toString
(),
userInfo
.
nick_name
,
userInfo
.
nick_name
,
userInfo
.
head
)
userInfo
.
head
)
}
}
}
catch
(
e
:
Exception
)
{
}
catch
(
e
:
Exception
)
{
e
.
printStackTrace
()
e
.
printStackTrace
()
...
...
m-user/src/main/java/com/yidianling/user/ui/login/OneKeyLoginHelp.kt
View file @
6107ffa1
...
@@ -7,7 +7,6 @@ import android.content.Context
...
@@ -7,7 +7,6 @@ import android.content.Context
import
android.content.pm.ActivityInfo
import
android.content.pm.ActivityInfo
import
android.graphics.Color
import
android.graphics.Color
import
android.text.TextUtils
import
android.text.TextUtils
import
android.util.Log
import
android.util.TypedValue
import
android.util.TypedValue
import
android.view.Gravity
import
android.view.Gravity
import
android.view.View
import
android.view.View
...
@@ -17,17 +16,19 @@ import android.widget.TextView
...
@@ -17,17 +16,19 @@ import android.widget.TextView
import
com.fm.openinstall.OpenInstall
import
com.fm.openinstall.OpenInstall
import
com.fm.openinstall.listener.AppInstallAdapter
import
com.fm.openinstall.listener.AppInstallAdapter
import
com.fm.openinstall.model.AppData
import
com.fm.openinstall.model.AppData
import
com.fm.openinstall.model.Error
import
com.meituan.android.walle.WalleChannelReader
import
com.meituan.android.walle.WalleChannelReader
import
com.mobile.auth.gatewayauth.*
import
com.mobile.auth.gatewayauth.*
import
com.mobile.auth.gatewayauth.model.TokenRet
import
com.mobile.auth.gatewayauth.model.TokenRet
import
com.tbruyelle.rxpermissions2.RxPermissions
import
com.tbruyelle.rxpermissions2.RxPermissions
import
com.ydl.webview.NewH5Activity
import
com.ydl.ydlcommon.base.BaseActivity
import
com.ydl.ydlcommon.base.BaseActivity
import
com.ydl.ydlcommon.base.BaseApp
import
com.ydl.ydlcommon.base.BaseApp
import
com.ydl.ydlcommon.utils.JPushUtils
import
com.ydl.ydlcommon.utils.JPushUtils
import
com.ydl.ydlcommon.utils.LogUtil
import
com.ydl.ydlcommon.utils.LogUtil
import
com.ydl.ydlcommon.utils.YDLCacheUtils
import
com.ydl.ydlcommon.utils.YDLCacheUtils
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
import
com.ydl.ydlcommon.utils.log.LogHelper
import
com.ydl.ydlcommon.utils.log.LogHelper
import
com.yidianling.common.tools.RxAppTool
import
com.yidianling.common.tools.RxAppTool
import
com.yidianling.common.tools.RxDeviceTool
import
com.yidianling.common.tools.RxDeviceTool
...
@@ -430,6 +431,8 @@ object OneKeyLoginHelp {
...
@@ -430,6 +431,8 @@ object OneKeyLoginHelp {
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
({
.
subscribe
({
if
(
it
.
code
==
200
)
{
if
(
it
.
code
==
200
)
{
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
LOGIN
,
"一键登录成功"
)
ToastUtil
.
toastShort
(
"登录成功"
)
ToastUtil
.
toastShort
(
"登录成功"
)
saveUserData
(
it
.
data
)
saveUserData
(
it
.
data
)
if
(
it
.
data
.
firstLogin
==
1
)
{
//第一次登录:是注册
if
(
it
.
data
.
firstLogin
==
1
)
{
//第一次登录:是注册
...
@@ -463,10 +466,18 @@ object OneKeyLoginHelp {
...
@@ -463,10 +466,18 @@ object OneKeyLoginHelp {
LoginUtils
.
loginSuccessOperate
(
mActivity
)
LoginUtils
.
loginSuccessOperate
(
mActivity
)
}
}
}
else
{
}
else
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
LOGIN
,
"一键登录失败 msg:${it.msg}"
)
ToastUtil
.
toastShort
(
it
.
msg
)
ToastUtil
.
toastShort
(
it
.
msg
)
mPhoneNumberAuthHelper
?.
hideLoginLoading
()
mPhoneNumberAuthHelper
?.
hideLoginLoading
()
}
}
},
{
},
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
LOGIN
,
"一键登录Error msg:${it.message}"
)
ToastUtil
.
toastShort
(
it
.
message
)
ToastUtil
.
toastShort
(
it
.
message
)
mPhoneNumberAuthHelper
?.
hideLoginLoading
()
mPhoneNumberAuthHelper
?.
hideLoginLoading
()
})
})
...
@@ -580,6 +591,7 @@ object OneKeyLoginHelp {
...
@@ -580,6 +591,7 @@ object OneKeyLoginHelp {
* */
* */
@SuppressLint
(
"CheckResult"
)
@SuppressLint
(
"CheckResult"
)
fun
startLogin
(
context
:
Activity
,
isOpenDialog
:
Boolean
)
{
fun
startLogin
(
context
:
Activity
,
isOpenDialog
:
Boolean
)
{
try
{
RxPermissions
(
context
)
RxPermissions
(
context
)
.
request
(
Manifest
.
permission
.
READ_PHONE_STATE
)
.
request
(
Manifest
.
permission
.
READ_PHONE_STATE
)
.
subscribe
{
hasPermission
:
Boolean
?
->
.
subscribe
{
hasPermission
:
Boolean
?
->
...
@@ -598,5 +610,10 @@ object OneKeyLoginHelp {
...
@@ -598,5 +610,10 @@ object OneKeyLoginHelp {
}
}
}
}
}
}
}
catch
(
e
:
Exception
)
{
RegisterAndLoginActivity
.
start
(
context
)
e
.
printStackTrace
()
}
}
}
}
}
m-user/src/main/java/com/yidianling/user/ui/login/RegisterAndLoginActivity.kt
View file @
6107ffa1
...
@@ -612,6 +612,7 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont
...
@@ -612,6 +612,7 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont
runOnUiThread
{
runOnUiThread
{
showLoading
(
false
)
showLoading
(
false
)
}
}
if
(
chcekPhoneResponeBean
!=
null
&&
chcekPhoneResponeBean
?.
hasPwd
==
1
)
{
//用户码有设置密码:跳转到密登录
if
(
chcekPhoneResponeBean
!=
null
&&
chcekPhoneResponeBean
?.
hasPwd
==
1
)
{
//用户码有设置密码:跳转到密登录
InputPassWordActivity
.
start
(
InputPassWordActivity
.
start
(
this
,
this
,
...
...
m-user/src/main/java/com/yidianling/user/ui/login/presenter/InputPassWordPresenterImpl.kt
View file @
6107ffa1
...
@@ -7,6 +7,8 @@ import com.ydl.ydlcommon.router.YdlCommonOut
...
@@ -7,6 +7,8 @@ import com.ydl.ydlcommon.router.YdlCommonOut
import
com.ydl.ydlcommon.utils.StringUtils
import
com.ydl.ydlcommon.utils.StringUtils
import
com.ydl.ydlcommon.utils.YDLCacheUtils
import
com.ydl.ydlcommon.utils.YDLCacheUtils
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
import
com.ydl.ydlcommon.utils.log.LogHelper
import
com.ydl.ydlcommon.utils.log.LogHelper
import
com.yidianling.common.tools.ToastUtil
import
com.yidianling.common.tools.ToastUtil
import
com.yidianling.user.LoginUtils
import
com.yidianling.user.LoginUtils
...
@@ -28,7 +30,9 @@ import java.math.BigDecimal
...
@@ -28,7 +30,9 @@ import java.math.BigDecimal
* @Company 壹点灵
* @Company 壹点灵
* @date 2018/12/2
* @date 2018/12/2
*/
*/
class
InputPassWordPresenterImpl
:
BasePresenter
<
IInputPassWordContract
.
View
,
IInputPassWordContract
.
Model
>(),
IInputPassWordContract
.
Presenter
{
class
InputPassWordPresenterImpl
:
BasePresenter
<
IInputPassWordContract
.
View
,
IInputPassWordContract
.
Model
>(),
IInputPassWordContract
.
Presenter
{
override
fun
createModel
():
IInputPassWordContract
.
Model
{
override
fun
createModel
():
IInputPassWordContract
.
Model
{
return
InputPassWordModelImpl
()
return
InputPassWordModelImpl
()
...
@@ -37,11 +41,20 @@ class InputPassWordPresenterImpl : BasePresenter<IInputPassWordContract.View, II
...
@@ -37,11 +41,20 @@ class InputPassWordPresenterImpl : BasePresenter<IInputPassWordContract.View, II
/**
/**
* 重新设置密码
* 重新设置密码
*/
*/
override
fun
resetPwd
(
newPassword
:
String
,
phone
:
String
,
msgCode
:
String
,
phoneCountryCode
:
String
)
{
override
fun
resetPwd
(
newPassword
:
String
,
phone
:
String
,
msgCode
:
String
,
phoneCountryCode
:
String
)
{
ActionCountUtils
.
count
(
UserBIConstants
.
POSITION_LOGIN_CLICK
,
UserBIConstants
.
ACTION_TYPE_RESET_PWD
)
ActionCountUtils
.
count
(
UserBIConstants
.
POSITION_LOGIN_CLICK
,
UserBIConstants
.
ACTION_TYPE_RESET_PWD
)
var
param
=
PhoneResetPwdParam
(
StringUtils
.
md5
(
newPassword
),
phoneCountryCode
,
msgCode
,
phone
)
var
param
=
PhoneResetPwdParam
(
StringUtils
.
md5
(
newPassword
),
phoneCountryCode
,
msgCode
,
phone
)
mModel
.
resetPwd
(
param
)
mModel
.
resetPwd
(
param
)
.
subscribeOn
(
Schedulers
.
io
())
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
...
@@ -56,7 +69,11 @@ class InputPassWordPresenterImpl : BasePresenter<IInputPassWordContract.View, II
...
@@ -56,7 +69,11 @@ class InputPassWordPresenterImpl : BasePresenter<IInputPassWordContract.View, II
}
else
{
}
else
{
ToastUtil
.
toastShort
(
"修改密码成功"
)
ToastUtil
.
toastShort
(
"修改密码成功"
)
saveUserData
(
it
.
data
)
saveUserData
(
it
.
data
)
ActionCountUtils
.
countUid
(
UserBIConstants
.
POSITION_LOGIN_SUCCESS_CLICK
,
it
.
data
.
uid
!!
,
UserBIConstants
.
ACTION_TYPE_RESET_PWD
)
ActionCountUtils
.
countUid
(
UserBIConstants
.
POSITION_LOGIN_SUCCESS_CLICK
,
it
.
data
.
uid
!!
,
UserBIConstants
.
ACTION_TYPE_RESET_PWD
)
if
(
it
.
data
.
firstLogin
==
1
)
{
//第一次登录:是注册
if
(
it
.
data
.
firstLogin
==
1
)
{
//第一次登录:是注册
StatusUtils
.
isFirstLogin
=
true
StatusUtils
.
isFirstLogin
=
true
// 重设密码登录已经不可能是首次登录,所以不进行百度埋点
// 重设密码登录已经不可能是首次登录,所以不进行百度埋点
...
@@ -76,8 +93,15 @@ class InputPassWordPresenterImpl : BasePresenter<IInputPassWordContract.View, II
...
@@ -76,8 +93,15 @@ class InputPassWordPresenterImpl : BasePresenter<IInputPassWordContract.View, II
* 手机号密码登录
* 手机号密码登录
*/
*/
@SuppressLint
(
"CheckResult"
)
@SuppressLint
(
"CheckResult"
)
override
fun
userLoginByPassword
(
inputPassword
:
String
,
phone
:
String
,
phoneCountryCode
:
String
)
{
override
fun
userLoginByPassword
(
ActionCountUtils
.
count
(
UserBIConstants
.
POSITION_LOGIN_CLICK
,
UserBIConstants
.
ACTION_TYPE_PWD_LOGIN
)
inputPassword
:
String
,
phone
:
String
,
phoneCountryCode
:
String
)
{
ActionCountUtils
.
count
(
UserBIConstants
.
POSITION_LOGIN_CLICK
,
UserBIConstants
.
ACTION_TYPE_PWD_LOGIN
)
var
param
=
PhoneLoginPwdParam
(
StringUtils
.
md5
(
inputPassword
),
phoneCountryCode
,
phone
)
var
param
=
PhoneLoginPwdParam
(
StringUtils
.
md5
(
inputPassword
),
phoneCountryCode
,
phone
)
mModel
.
userLoginByPassword
(
param
)
mModel
.
userLoginByPassword
(
param
)
...
@@ -87,6 +111,8 @@ class InputPassWordPresenterImpl : BasePresenter<IInputPassWordContract.View, II
...
@@ -87,6 +111,8 @@ class InputPassWordPresenterImpl : BasePresenter<IInputPassWordContract.View, II
.
doAfterTerminate
{
mView
.
showLoading
(
false
)
}
.
doAfterTerminate
{
mView
.
showLoading
(
false
)
}
.
subscribe
({
.
subscribe
({
if
(
it
?.
data
==
null
)
{
if
(
it
?.
data
==
null
)
{
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
LOGIN
,
"手机号密码 登录失败 msg: ${it.msg}"
)
ToastUtil
.
toastShort
(
it
.
msg
)
ToastUtil
.
toastShort
(
it
.
msg
)
mView
.
startAnim
()
mView
.
startAnim
()
}
else
{
}
else
{
...
@@ -98,13 +124,22 @@ class InputPassWordPresenterImpl : BasePresenter<IInputPassWordContract.View, II
...
@@ -98,13 +124,22 @@ class InputPassWordPresenterImpl : BasePresenter<IInputPassWordContract.View, II
StatusUtils
.
isFirstLogin
=
true
StatusUtils
.
isFirstLogin
=
true
mView
.
baiduActionBury
()
mView
.
baiduActionBury
()
}
else
{
}
else
{
ActionCountUtils
.
countUid
(
UserBIConstants
.
POSITION_LOGIN_SUCCESS_CLICK
,
it
.
data
.
uid
!!
,
UserBIConstants
.
ACTION_TYPE_PWD_LOGIN
)
ActionCountUtils
.
countUid
(
UserBIConstants
.
POSITION_LOGIN_SUCCESS_CLICK
,
it
.
data
.
uid
!!
,
UserBIConstants
.
ACTION_TYPE_PWD_LOGIN
)
}
}
mView
.
closeActivity
()
mView
.
closeActivity
()
}
}
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
LOGIN
,
"手机号密码 登录成功"
)
}
}
},
{
},
{
YdlCommonOut
.
showToast
(
it
.
message
!!
)
YdlCommonOut
.
showToast
(
it
.
message
!!
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
LOGIN
,
"手机号密码 Error msg: ${it.message}"
)
})
})
}
}
...
...
m-user/src/main/java/com/yidianling/user/ui/login/presenter/LoginPresenterImpl.kt
View file @
6107ffa1
...
@@ -9,6 +9,8 @@ import com.ydl.ydlcommon.mvp.base.BasePresenter
...
@@ -9,6 +9,8 @@ import com.ydl.ydlcommon.mvp.base.BasePresenter
import
com.ydl.ydlcommon.router.YdlCommonOut
import
com.ydl.ydlcommon.router.YdlCommonOut
import
com.ydl.ydlcommon.utils.YDLCacheUtils
import
com.ydl.ydlcommon.utils.YDLCacheUtils
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
import
com.ydl.ydlcommon.utils.log.LogHelper
import
com.ydl.ydlcommon.utils.log.LogHelper
import
com.yidianling.common.tools.ToastUtil
import
com.yidianling.common.tools.ToastUtil
import
com.yidianling.user.LoginUtils
import
com.yidianling.user.LoginUtils
...
@@ -33,7 +35,8 @@ import java.math.BigDecimal
...
@@ -33,7 +35,8 @@ import java.math.BigDecimal
* @Company 壹点灵
* @Company 壹点灵
* @date 2018/11/29
* @date 2018/11/29
*/
*/
class
LoginPresenterImpl
(
view
:
ILoginContract
.
View
)
:
BasePresenter
<
ILoginContract
.
View
,
ILoginContract
.
Model
>(),
ILoginContract
.
Presenter
{
class
LoginPresenterImpl
(
view
:
ILoginContract
.
View
)
:
BasePresenter
<
ILoginContract
.
View
,
ILoginContract
.
Model
>(),
ILoginContract
.
Presenter
{
@SuppressLint
(
"CheckResult"
)
@SuppressLint
(
"CheckResult"
)
override
fun
bindPhone
(
param
:
BindPhoneJavaParam
)
{
override
fun
bindPhone
(
param
:
BindPhoneJavaParam
)
{
mModel
.
bindPhone
(
param
)
mModel
.
bindPhone
(
param
)
...
@@ -60,7 +63,10 @@ class LoginPresenterImpl(view: ILoginContract.View) : BasePresenter<ILoginContra
...
@@ -60,7 +63,10 @@ class LoginPresenterImpl(view: ILoginContract.View) : BasePresenter<ILoginContra
@SuppressLint
(
"CheckResult"
)
@SuppressLint
(
"CheckResult"
)
override
fun
autoLogin
(
bean
:
PhoneLoginAutoParam
)
{
override
fun
autoLogin
(
bean
:
PhoneLoginAutoParam
)
{
ActionCountUtils
.
count
(
UserBIConstants
.
POSITION_LOGIN_CLICK
,
UserBIConstants
.
ACTION_TYPE_DIRECT_LOGIN
)
ActionCountUtils
.
count
(
UserBIConstants
.
POSITION_LOGIN_CLICK
,
UserBIConstants
.
ACTION_TYPE_DIRECT_LOGIN
)
mModel
.
autoLogin
(
bean
)
mModel
.
autoLogin
(
bean
)
.
subscribeOn
(
Schedulers
.
io
())
.
subscribeOn
(
Schedulers
.
io
())
...
@@ -73,18 +79,33 @@ class LoginPresenterImpl(view: ILoginContract.View) : BasePresenter<ILoginContra
...
@@ -73,18 +79,33 @@ class LoginPresenterImpl(view: ILoginContract.View) : BasePresenter<ILoginContra
saveUserData
(
it
.
data
)
saveUserData
(
it
.
data
)
if
(
it
.
data
.
firstLogin
==
1
)
{
//第一次登录:是注册
if
(
it
.
data
.
firstLogin
==
1
)
{
//第一次登录:是注册
StatusUtils
.
isFirstLogin
=
true
StatusUtils
.
isFirstLogin
=
true
mView
.
baiduActionBury
(
it
.
data
.
uid
,
UserBIConstants
.
POSITION_ALIYUN_REGISTER_CLICK
)
mView
.
baiduActionBury
(
it
.
data
.
uid
,
UserBIConstants
.
POSITION_ALIYUN_REGISTER_CLICK
)
}
else
{
}
else
{
ActionCountUtils
.
countUid
(
UserBIConstants
.
POSITION_LOGIN_SUCCESS_CLICK
,
it
.
data
.
uid
!!
,
UserBIConstants
.
ACTION_TYPE_DIRECT_LOGIN
)
ActionCountUtils
.
countUid
(
UserBIConstants
.
POSITION_LOGIN_SUCCESS_CLICK
,
it
.
data
.
uid
!!
,
UserBIConstants
.
ACTION_TYPE_DIRECT_LOGIN
)
}
}
mView
.
autoLoginSuccess
()
mView
.
autoLoginSuccess
()
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
LOGIN
,
"通过一键认证服务登录成功"
)
}
else
{
}
else
{
// ToastUtil.toastShort(it.msg)
// ToastUtil.toastShort(it.msg)
mView
.
aliAuthFailed
()
mView
.
aliAuthFailed
()
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
LOGIN
,
"通过一键认证服务登陆 失败 msg: ${it.msg}"
)
}
}
},
{
},
{
//走验证码、密码登录
//走验证码、密码登录
mView
.
aliAuthFailed
()
mView
.
aliAuthFailed
()
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
LOGIN
,
"通过一键认证服务登陆 Error msg: ${it.message}"
)
})
})
}
}
...
@@ -161,7 +182,7 @@ class LoginPresenterImpl(view: ILoginContract.View) : BasePresenter<ILoginContra
...
@@ -161,7 +182,7 @@ class LoginPresenterImpl(view: ILoginContract.View) : BasePresenter<ILoginContra
}
}
},
{
},
{
mView
.
showLoading
(
false
)
mView
.
showLoading
(
false
)
if
(
null
!=
it
&&
!
TextUtils
.
isEmpty
(
it
.
message
))
{
if
(
null
!=
it
&&
!
TextUtils
.
isEmpty
(
it
.
message
))
{
YdlCommonOut
.
showToast
(
it
.
message
!!
)
YdlCommonOut
.
showToast
(
it
.
message
!!
)
}
}
})
})
...
@@ -173,7 +194,8 @@ class LoginPresenterImpl(view: ILoginContract.View) : BasePresenter<ILoginContra
...
@@ -173,7 +194,8 @@ class LoginPresenterImpl(view: ILoginContract.View) : BasePresenter<ILoginContra
@SuppressLint
(
"CheckResult"
)
@SuppressLint
(
"CheckResult"
)
override
fun
loginByThird
(
activity
:
Activity
,
media
:
SHARE_MEDIA
)
{
override
fun
loginByThird
(
activity
:
Activity
,
media
:
SHARE_MEDIA
)
{
val
sign1
=
if
(
media
==
SHARE_MEDIA
.
QQ
)
UserBIConstants
.
ACTION_TYPE_QQ_THIRD_LOGIN
else
UserBIConstants
.
ACTION_TYPE_WX_THIRD_LOGIN
val
sign1
=
if
(
media
==
SHARE_MEDIA
.
QQ
)
UserBIConstants
.
ACTION_TYPE_QQ_THIRD_LOGIN
else
UserBIConstants
.
ACTION_TYPE_WX_THIRD_LOGIN
ActionCountUtils
.
count
(
UserBIConstants
.
POSITION_LOGIN_CLICK
,
sign1
)
ActionCountUtils
.
count
(
UserBIConstants
.
POSITION_LOGIN_CLICK
,
sign1
)
UserHttpImpl
.
getInstance
()
UserHttpImpl
.
getInstance
()
...
@@ -183,7 +205,9 @@ class LoginPresenterImpl(view: ILoginContract.View) : BasePresenter<ILoginContra
...
@@ -183,7 +205,9 @@ class LoginPresenterImpl(view: ILoginContract.View) : BasePresenter<ILoginContra
mView
.
dismissProgressView
()
mView
.
dismissProgressView
()
}
}
.
observeOn
(
Schedulers
.
io
())
.
observeOn
(
Schedulers
.
io
())
.
flatMap
{
thirdLoginParam
->
UserHttpImpl
.
getInstance
().
thirdPartJavaLogin
(
thirdLoginParam
)
}
.
flatMap
{
thirdLoginParam
->
UserHttpImpl
.
getInstance
().
thirdPartJavaLogin
(
thirdLoginParam
)
}
.
doOnNext
{
LoginUtils
.
saveData
(
it
.
data
)
}
.
doOnNext
{
LoginUtils
.
saveData
(
it
.
data
)
}
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
({
.
subscribe
({
...
@@ -195,7 +219,10 @@ class LoginPresenterImpl(view: ILoginContract.View) : BasePresenter<ILoginContra
...
@@ -195,7 +219,10 @@ class LoginPresenterImpl(view: ILoginContract.View) : BasePresenter<ILoginContra
if
(
it
.
data
.
firstLogin
==
1
)
{
//第一次登录:是注册
if
(
it
.
data
.
firstLogin
==
1
)
{
//第一次登录:是注册
StatusUtils
.
isFirstLogin
=
true
StatusUtils
.
isFirstLogin
=
true
if
(
media
==
SHARE_MEDIA
.
QQ
)
{
if
(
media
==
SHARE_MEDIA
.
QQ
)
{
mView
.
baiduActionBury
(
it
.
data
.
uid
,
UserBIConstants
.
POSITION_QQ_REGISTER_CLICK
)
mView
.
baiduActionBury
(
it
.
data
.
uid
,
UserBIConstants
.
POSITION_QQ_REGISTER_CLICK
)
ActionCountUtils
.
baiduCount
(
ActionCountUtils
.
baiduCount
(
it
.
data
.
uid
,
it
.
data
.
uid
,
UserBIConstants
.
APP_REGISTER_PAGE
,
UserBIConstants
.
APP_REGISTER_PAGE
,
...
@@ -205,8 +232,11 @@ class LoginPresenterImpl(view: ILoginContract.View) : BasePresenter<ILoginContra
...
@@ -205,8 +232,11 @@ class LoginPresenterImpl(view: ILoginContract.View) : BasePresenter<ILoginContra
25
,
25
,
OneKeyLoginHelp
.
openInstallKey
OneKeyLoginHelp
.
openInstallKey
)
)
}
else
{
}
else
{
mView
.
baiduActionBury
(
it
.
data
.
uid
,
UserBIConstants
.
POSITION_WX_REGISTER_CLICK
)
mView
.
baiduActionBury
(
it
.
data
.
uid
,
UserBIConstants
.
POSITION_WX_REGISTER_CLICK
)
ActionCountUtils
.
baiduCount
(
ActionCountUtils
.
baiduCount
(
it
.
data
.
uid
,
it
.
data
.
uid
,
UserBIConstants
.
APP_REGISTER_PAGE
,
UserBIConstants
.
APP_REGISTER_PAGE
,
...
@@ -219,16 +249,29 @@ class LoginPresenterImpl(view: ILoginContract.View) : BasePresenter<ILoginContra
...
@@ -219,16 +249,29 @@ class LoginPresenterImpl(view: ILoginContract.View) : BasePresenter<ILoginContra
}
}
// 用户注册成功后调用
// 用户注册成功后调用
OpenInstall
.
reportRegister
()
OpenInstall
.
reportRegister
()
}
else
{
}
else
{
ActionCountUtils
.
countUid
(
UserBIConstants
.
POSITION_LOGIN_SUCCESS_CLICK
,
it
.
data
.
uid
!!
,
sign1
)
ActionCountUtils
.
countUid
(
UserBIConstants
.
POSITION_LOGIN_SUCCESS_CLICK
,
it
.
data
.
uid
!!
,
sign1
)
}
}
LoginUtils
.
onLogin
(
it
.
data
)
LoginUtils
.
onLogin
(
it
.
data
)
mView
.
thirdLoginSuccess
(
it
.
data
.
userInfo
!!
,
if
(
media
==
SHARE_MEDIA
.
QQ
)
"qq"
else
"weixin"
)
mView
.
thirdLoginSuccess
(
it
.
data
.
userInfo
!!
,
if
(
media
==
SHARE_MEDIA
.
QQ
)
"qq"
else
"weixin"
)
LogHelper
.
getInstance
().
writeLogSync
(
media
.
getName
()
+
"登录成功"
)
LogHelper
.
getInstance
().
writeLogSync
(
media
.
getName
()
+
"登录成功"
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
LOGIN
,
media
.
getName
()
+
"登录成功"
)
},
{
},
{
mView
.
dismissProgressView
()
mView
.
dismissProgressView
()
YdlCommonOut
.
showToast
(
it
.
message
!!
)
YdlCommonOut
.
showToast
(
it
.
message
!!
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
LOGIN
,
media
.
getName
()
+
"登录失败"
)
})
})
}
}
...
...
ydl-net/build.gradle
View file @
6107ffa1
...
@@ -41,6 +41,7 @@ dependencies {
...
@@ -41,6 +41,7 @@ dependencies {
androidTestImplementation
'com.android.support.test.espresso:espresso-core:3.0.2'
androidTestImplementation
'com.android.support.test.espresso:espresso-core:3.0.2'
api
rootProject
.
ext
.
dependencies
[
"gson"
]
api
rootProject
.
ext
.
dependencies
[
"gson"
]
api
rootProject
.
ext
.
dependencies
[
"aliyun"
]
api
rootProject
.
ext
.
dependencies
[
"rxjava2"
]
api
rootProject
.
ext
.
dependencies
[
"rxjava2"
]
api
(
rootProject
.
ext
.
dependencies
[
"rxandroid2"
])
{
api
(
rootProject
.
ext
.
dependencies
[
"rxandroid2"
])
{
exclude
module:
'rxjava'
exclude
module:
'rxjava'
...
...
ydl-net/src/main/java/com/ydl/ydlnet/builder/api/ApiUtil.kt
deleted
100644 → 0
View file @
c445a1b7
package
com.ydl.ydlnet.builder.api
import
com.google.gson.Gson
import
com.ydl.ydlnet.YDLHttpUtils.Companion.obtainApi
import
com.ydl.ydlnet.builder.bean.ApiErrorActionBean
import
com.ydl.ydlnet.builder.bean.BaseAPIResponse
import
io.reactivex.Observable
import
okhttp3.MediaType
import
okhttp3.RequestBody
/**
* Created by Ykai on 2021/3/15.
*/
class
ApiUtil
{
companion
object
{
/**
* 行为数据埋点统计
*/
fun
actionDataCount
(
actionDataParams
:
ApiErrorActionBean
):
Observable
<
BaseAPIResponse
<
String
>>
{
val
body
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json; charset=utf-8"
),
Gson
().
toJson
(
actionDataParams
)
)
return
obtainApi
(
NetApi
::
class
.
java
).
actionDataCount
(
body
)
}
}
}
\ No newline at end of file
ydl-net/src/main/java/com/ydl/ydlnet/builder/api/NetApi.kt
deleted
100644 → 0
View file @
c445a1b7
package
com.ydl.ydlnet.builder.api
import
com.ydl.ydlnet.builder.bean.BaseAPIResponse
import
io.reactivex.Observable
import
okhttp3.RequestBody
import
retrofit2.http.Body
import
retrofit2.http.Headers
import
retrofit2.http.POST
/**
* Created by Ykai on 2021/3/15.
*/
interface
NetApi
{
/**
* 行为动作埋点统计
*/
@Headers
(
"Domain-Name:JAVA_BASE_URL"
)
@POST
(
"data/bigdata/maidian/writeMaiDianData"
)
fun
actionDataCount
(
@Body
body
:
RequestBody
):
Observable
<
BaseAPIResponse
<
String
>>
}
\ No newline at end of file
ydl-net/src/main/java/com/ydl/ydlnet/builder/interceptor/log/RequestLogInterceptor.java
View file @
6107ffa1
...
@@ -2,7 +2,6 @@ package com.ydl.ydlnet.builder.interceptor.log;
...
@@ -2,7 +2,6 @@ package com.ydl.ydlnet.builder.interceptor.log;
import
android.support.annotation.Nullable
;
import
android.support.annotation.Nullable
;
import
com.ydl.ydlnet.utils.ApiErrorCountUtils
;
import
com.ydl.ydlnet.utils.CharacterHandler
;
import
com.ydl.ydlnet.utils.CharacterHandler
;
import
com.ydl.ydlnet.utils.NetLogUtils
;
import
com.ydl.ydlnet.utils.NetLogUtils
;
import
com.ydl.ydlnet.utils.UrlEncoderUtils
;
import
com.ydl.ydlnet.utils.UrlEncoderUtils
;
...
@@ -23,13 +22,14 @@ import okhttp3.Response;
...
@@ -23,13 +22,14 @@ import okhttp3.Response;
import
okhttp3.ResponseBody
;
import
okhttp3.ResponseBody
;
import
okio.Buffer
;
import
okio.Buffer
;
import
okio.BufferedSource
;
import
okio.BufferedSource
;
/**
/**
* Created by haorui on 2019-09-01 .
* Created by haorui on 2019-09-01 .
* Des: 解析框架中的网络请求和响应结果并打印
* Des: 解析框架中的网络请求和响应结果并打印
*/
*/
public
class
RequestLogInterceptor
implements
Interceptor
{
public
class
RequestLogInterceptor
implements
Interceptor
{
private
DefaultFormatPrinter
mPrinter
=
new
DefaultFormatPrinter
();
private
DefaultFormatPrinter
mPrinter
=
new
DefaultFormatPrinter
();
private
boolean
mIsDebug
;
private
boolean
mIsDebug
;
private
RequestHandler
mRequestHandler
;
private
RequestHandler
mRequestHandler
;
public
RequestLogInterceptor
(
boolean
isDebug
,
RequestHandler
requestHandler
)
{
public
RequestLogInterceptor
(
boolean
isDebug
,
RequestHandler
requestHandler
)
{
...
@@ -48,10 +48,10 @@ public class RequestLogInterceptor implements Interceptor {
...
@@ -48,10 +48,10 @@ public class RequestLogInterceptor implements Interceptor {
mPrinter
.
printFileRequest
(
request
);
mPrinter
.
printFileRequest
(
request
);
}
}
if
(
mRequestHandler
!=
null
)
if
(
mRequestHandler
!=
null
)
{
request
=
mRequestHandler
.
onHttpRequestBefore
(
chain
,
request
);
request
=
mRequestHandler
.
onHttpRequestBefore
(
chain
,
request
);
}
long
t1
=
System
.
nanoTime
()
;
long
t1
=
System
.
nanoTime
()
;
Response
originalResponse
;
Response
originalResponse
;
try
{
try
{
originalResponse
=
chain
.
proceed
(
request
);
originalResponse
=
chain
.
proceed
(
request
);
...
@@ -59,7 +59,7 @@ public class RequestLogInterceptor implements Interceptor {
...
@@ -59,7 +59,7 @@ public class RequestLogInterceptor implements Interceptor {
NetLogUtils
.
debugInfo
(
"Http Error: "
+
e
);
NetLogUtils
.
debugInfo
(
"Http Error: "
+
e
);
throw
e
;
throw
e
;
}
}
long
t2
=
System
.
nanoTime
()
;
long
t2
=
System
.
nanoTime
();
ResponseBody
responseBody
=
originalResponse
.
body
();
ResponseBody
responseBody
=
originalResponse
.
body
();
...
@@ -67,12 +67,12 @@ public class RequestLogInterceptor implements Interceptor {
...
@@ -67,12 +67,12 @@ public class RequestLogInterceptor implements Interceptor {
String
bodyString
=
null
;
String
bodyString
=
null
;
if
(
responseBody
!=
null
&&
isParseable
(
responseBody
.
contentType
()))
{
if
(
responseBody
!=
null
&&
isParseable
(
responseBody
.
contentType
()))
{
bodyString
=
printResult
(
request
,
originalResponse
);
bodyString
=
printResult
(
request
,
originalResponse
);
if
(
mRequestHandler
!=
null
){
if
(
mRequestHandler
!=
null
)
{
mRequestHandler
.
onHttpResultResponse
(
bodyString
,
chain
,
originalResponse
);
mRequestHandler
.
onHttpResultResponse
(
bodyString
,
chain
,
originalResponse
);
}
}
}
}
if
(
mIsDebug
)
{
if
(
mIsDebug
)
{
final
List
<
String
>
segmentList
=
request
.
url
().
encodedPathSegments
();
final
List
<
String
>
segmentList
=
request
.
url
().
encodedPathSegments
();
final
String
header
=
originalResponse
.
headers
().
toString
();
final
String
header
=
originalResponse
.
headers
().
toString
();
final
int
code
=
originalResponse
.
code
();
final
int
code
=
originalResponse
.
code
();
...
@@ -87,21 +87,6 @@ public class RequestLogInterceptor implements Interceptor {
...
@@ -87,21 +87,6 @@ public class RequestLogInterceptor implements Interceptor {
mPrinter
.
printFileResponse
(
TimeUnit
.
NANOSECONDS
.
toMillis
(
t2
-
t1
),
mPrinter
.
printFileResponse
(
TimeUnit
.
NANOSECONDS
.
toMillis
(
t2
-
t1
),
isSuccessful
,
code
,
header
,
segmentList
,
message
,
url
);
isSuccessful
,
code
,
header
,
segmentList
,
message
,
url
);
}
}
}
else
{
int
code
=
originalResponse
.
code
();
// 接口返回错误的情况下,埋点告诉服务器原因
if
(
code
!=
200
){
String
params
=
""
;
Request
rq
=
originalResponse
.
request
();
if
(
rq
.
method
().
equals
(
"GET"
)){
params
=
rq
.
url
().
query
();
}
else
if
(
rq
.
method
().
equals
(
"POST"
)){
params
=
parseParams
(
rq
);
}
String
message
=
originalResponse
.
message
();
ApiErrorCountUtils
.
Companion
.
baiDuCount
(
"pardId-ydl_user_error_business"
,
"error_log"
,
params
,
message
);
}
}
}
return
originalResponse
;
return
originalResponse
;
}
}
...
...
ydl-net/src/main/java/com/ydl/ydlnet/utils/ApiErrorCountUtils.kt
deleted
100644 → 0
View file @
c445a1b7
package
com.ydl.ydlnet.utils
import
android.annotation.SuppressLint
import
android.util.Log
import
com.ydl.ydlnet.builder.api.ApiUtil
import
com.ydl.ydlnet.builder.bean.ApiErrorActionBean
import
io.reactivex.android.schedulers.AndroidSchedulers
import
io.reactivex.schedulers.Schedulers
/**
* Created by Ykai on 2021/3/15.
*/
class
ApiErrorCountUtils
{
companion
object
{
private
const
val
TAG
:
String
=
"ActionCountUtils"
/**
* 接口返回错误埋点调用该方法
* @param partId pardId-ydl_user_error_business
* @param position error_log
* @param sign1 访问接口对应的参数
* @param sign2 接口返回的错误信息
*/
fun
baiDuCount
(
partId
:
String
,
position
:
String
,
sign1
:
String
,
sign2
:
String
)
{
val
actionDataParams
=
ApiErrorActionBean
.
Builder
()
actionDataParams
.
partId
=
partId
actionDataParams
.
position
=
position
actionDataParams
.
sign1
=
sign1
actionDataParams
.
sign2
=
sign2
//请求
request
(
actionDataParams
.
build
())
}
/**
* 传入ActionDataParams参数,访问接口
*/
@SuppressLint
(
"CheckResult"
)
private
fun
request
(
actionDataBean
:
ApiErrorActionBean
)
{
try
{
ApiUtil
.
actionDataCount
(
actionDataBean
)
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
({
Log
.
i
(
TAG
,
it
.
data
)
})
{
Log
.
i
(
TAG
,
it
.
toString
())
}
}
catch
(
e
:
Exception
)
{
e
.
printStackTrace
()
}
}
}
}
\ No newline at end of file
ydl-pay/src/main/java/com/yidianling/ydl_pay/common/CommonPayDialog.kt
View file @
6107ffa1
...
@@ -14,6 +14,8 @@ import android.widget.LinearLayout
...
@@ -14,6 +14,8 @@ import android.widget.LinearLayout
import
com.alipay.sdk.app.PayTask
import
com.alipay.sdk.app.PayTask
import
com.tencent.mm.opensdk.modelpay.PayReq
import
com.tencent.mm.opensdk.modelpay.PayReq
import
com.tencent.mm.opensdk.openapi.WXAPIFactory
import
com.tencent.mm.opensdk.openapi.WXAPIFactory
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
import
com.yidianling.common.tools.RxImageTool
import
com.yidianling.common.tools.RxImageTool
import
com.yidianling.ydl_pay.R
import
com.yidianling.ydl_pay.R
import
com.yidianling.ydl_pay.common.bean.*
import
com.yidianling.ydl_pay.common.bean.*
...
@@ -42,6 +44,7 @@ class CommonPayDialog : Dialog {
...
@@ -42,6 +44,7 @@ class CommonPayDialog : Dialog {
private
lateinit
var
activity
:
Activity
private
lateinit
var
activity
:
Activity
private
var
viewList
=
ArrayList
<
LinearLayout
>()
private
var
viewList
=
ArrayList
<
LinearLayout
>()
private
var
couponListBean
:
AllCouponListBean
?
=
null
private
var
couponListBean
:
AllCouponListBean
?
=
null
//选中的优惠券
//选中的优惠券
private
var
selectedCouponBean
:
CommonCouponBean
?
=
null
private
var
selectedCouponBean
:
CommonCouponBean
?
=
null
private
var
payCouponView
:
PayCouponView
?
=
null
private
var
payCouponView
:
PayCouponView
?
=
null
...
@@ -49,14 +52,17 @@ class CommonPayDialog : Dialog {
...
@@ -49,14 +52,17 @@ class CommonPayDialog : Dialog {
private
var
listener
:
OnPayResultListener
?
=
null
private
var
listener
:
OnPayResultListener
?
=
null
private
var
payMoney
:
Float
?
=
null
private
var
payMoney
:
Float
?
=
null
private
var
thankPayId
:
String
?
=
null
private
var
thankPayId
:
String
?
=
null
//加载中弹窗
//加载中弹窗
private
var
dialog
:
AlertDialog
?
=
null
private
var
dialog
:
AlertDialog
?
=
null
private
var
dialogContentView
:
View
?
=
null
private
var
dialogContentView
:
View
?
=
null
/**
/**
* 支付方式
* 支付方式
* 1024.微信支付 1025.支付宝支付
* 1024.微信支付 1025.支付宝支付
*/
*/
private
var
payWay
=
0
private
var
payWay
=
0
/**
/**
* 支付的业务类型
* 支付的业务类型
* [TYPE_COURSE] 课程支付
* [TYPE_COURSE] 课程支付
...
@@ -72,18 +78,22 @@ class CommonPayDialog : Dialog {
...
@@ -72,18 +78,22 @@ class CommonPayDialog : Dialog {
* 课程业务
* 课程业务
*/
*/
const
val
TYPE_COURSE
=
1
const
val
TYPE_COURSE
=
1
/**
/**
* 倾诉
* 倾诉
*/
*/
const
val
TYPE_CONFIDE
=
2
const
val
TYPE_CONFIDE
=
2
/**
/**
* 测评
* 测评
*/
*/
const
val
TYPE_TEST
=
3
const
val
TYPE_TEST
=
3
/**
/**
* 咨询
* 咨询
*/
*/
const
val
TYPE_CONSULTANT
=
4
const
val
TYPE_CONSULTANT
=
4
/**
/**
* 动态打赏
* 动态打赏
*/
*/
...
@@ -157,11 +167,14 @@ class CommonPayDialog : Dialog {
...
@@ -157,11 +167,14 @@ class CommonPayDialog : Dialog {
PAY_WECHAT
->
{
PAY_WECHAT
->
{
getWeiXinPayOrderId
(
getWeiXinPayOrderId
(
thankPayId
!!
,
thankPayId
!!
,
if
(
useMoneyType
==
2
)
1
else
0
,
bean
.
merchantType
if
(
useMoneyType
==
2
)
1
else
0
,
bean
.
merchantType
)
)
}
}
else
->
{
else
->
{
getAliPayOrderId
(
thankPayId
!!
,
if
(
useMoneyType
==
2
)
1
else
0
)
getAliPayOrderId
(
thankPayId
!!
,
if
(
useMoneyType
==
2
)
1
else
0
)
}
}
}
}
}
else
{
}
else
{
...
@@ -198,6 +211,7 @@ class CommonPayDialog : Dialog {
...
@@ -198,6 +211,7 @@ class CommonPayDialog : Dialog {
private
fun
getOrderInfo
()
{
private
fun
getOrderInfo
()
{
if
(!
NetUtils
.
isConnected
(
activity
))
{
if
(!
NetUtils
.
isConnected
(
activity
))
{
ToastHelper
.
show
(
activity
,
activity
.
getString
(
R
.
string
.
net_error
))
ToastHelper
.
show
(
activity
,
activity
.
getString
(
R
.
string
.
net_error
))
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"获取下单信息,无网络"
)
// progress.visibility = View.GONE
// progress.visibility = View.GONE
dismissProgressDialog
()
dismissProgressDialog
()
return
return
...
@@ -216,12 +230,18 @@ class CommonPayDialog : Dialog {
...
@@ -216,12 +230,18 @@ class CommonPayDialog : Dialog {
progress_layout
.
visibility
=
View
.
GONE
progress_layout
.
visibility
=
View
.
GONE
view_pager
.
visibility
=
View
.
VISIBLE
view_pager
.
visibility
=
View
.
VISIBLE
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"获取下单信息,成功"
)
updateDataOnView
(
it
.
data
)
updateDataOnView
(
it
.
data
)
}
else
{
}
else
{
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
PAY
,
"获取下单信息data=null msg: ${it.msg}"
)
ToastHelper
.
show
(
activity
,
it
.
msg
)
ToastHelper
.
show
(
activity
,
it
.
msg
)
// progress.visibility = View.GONE
// progress.visibility = View.GONE
}
}
}
else
{
}
else
{
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
PAY
,
"获取下单信息code!=200 msg: ${it.msg}"
)
ToastHelper
.
show
(
activity
,
it
.
msg
)
ToastHelper
.
show
(
activity
,
it
.
msg
)
// progress.visibility = View.GONE
// progress.visibility = View.GONE
}
}
...
@@ -229,6 +249,9 @@ class CommonPayDialog : Dialog {
...
@@ -229,6 +249,9 @@ class CommonPayDialog : Dialog {
dismissProgressDialog
()
dismissProgressDialog
()
// progress.visibility = View.GONE
// progress.visibility = View.GONE
ToastHelper
.
show
(
activity
,
e
.
message
!!
)
ToastHelper
.
show
(
activity
,
e
.
message
!!
)
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
PAY
,
"获取下单信息error e:${e.message}"
)
})
})
}
}
...
@@ -413,6 +436,10 @@ class CommonPayDialog : Dialog {
...
@@ -413,6 +436,10 @@ class CommonPayDialog : Dialog {
}
}
bean
.
orderType
=
payBusinessType
.
toString
()
bean
.
orderType
=
payBusinessType
.
toString
()
bean
.
payType
=
useMoneyType
.
toString
()
bean
.
payType
=
useMoneyType
.
toString
()
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"创建订单,支付方式payWay:$payWay---payMoney:$payMoney----useMoneyType:$useMoneyType"
)
showProgressDialog
()
showProgressDialog
()
HttpUtils
.
createOrder
(
bean
)
HttpUtils
.
createOrder
(
bean
)
...
@@ -422,6 +449,10 @@ class CommonPayDialog : Dialog {
...
@@ -422,6 +449,10 @@ class CommonPayDialog : Dialog {
if
(
it
.
code
==
200
)
{
if
(
it
.
code
==
200
)
{
if
(
it
.
data
!=
null
)
{
if
(
it
.
data
!=
null
)
{
if
(
it
.
data
.
payStatus
)
{
if
(
it
.
data
.
payStatus
)
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"创建订单,支付成功"
)
dismissProgressDialog
()
dismissProgressDialog
()
ToastHelper
.
show
(
activity
,
"支付成功"
)
ToastHelper
.
show
(
activity
,
"支付成功"
)
if
(
listener
!=
null
)
{
if
(
listener
!=
null
)
{
...
@@ -463,6 +494,10 @@ class CommonPayDialog : Dialog {
...
@@ -463,6 +494,10 @@ class CommonPayDialog : Dialog {
@SuppressLint
(
"CheckResult"
)
@SuppressLint
(
"CheckResult"
)
private
fun
getAliPayOrderId
(
payId
:
String
,
isThreePay
:
Int
)
{
private
fun
getAliPayOrderId
(
payId
:
String
,
isThreePay
:
Int
)
{
if
(!
NetUtils
.
isConnected
(
activity
))
{
if
(!
NetUtils
.
isConnected
(
activity
))
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付宝支付:无网络"
)
activity
.
runOnUiThread
{
activity
.
runOnUiThread
{
ToastHelper
.
show
(
activity
,
activity
.
getString
(
R
.
string
.
net_error
))
ToastHelper
.
show
(
activity
,
activity
.
getString
(
R
.
string
.
net_error
))
}
}
...
@@ -474,14 +509,26 @@ class CommonPayDialog : Dialog {
...
@@ -474,14 +509,26 @@ class CommonPayDialog : Dialog {
.
subscribeOn
(
Schedulers
.
io
())
.
subscribeOn
(
Schedulers
.
io
())
.
subscribe
({
.
subscribe
({
if
(
it
.
data
!=
null
)
{
if
(
it
.
data
!=
null
)
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付宝支付:无网络"
)
aliPay
(
it
.
data
.
aliSign
)
aliPay
(
it
.
data
.
aliSign
)
}
else
{
}
else
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付宝支付:data = null msg: ${it.msg} "
)
activity
.
runOnUiThread
{
activity
.
runOnUiThread
{
ToastHelper
.
show
(
activity
,
it
.
msg
)
ToastHelper
.
show
(
activity
,
it
.
msg
)
}
}
dismissProgressDialog
()
dismissProgressDialog
()
}
}
},
{
},
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付宝支付:error message: ${it.message} localizedMessage: ${it.localizedMessage}"
)
activity
.
runOnUiThread
{
activity
.
runOnUiThread
{
ToastHelper
.
show
(
activity
,
it
.
localizedMessage
)
ToastHelper
.
show
(
activity
,
it
.
localizedMessage
)
}
}
...
@@ -494,6 +541,10 @@ class CommonPayDialog : Dialog {
...
@@ -494,6 +541,10 @@ class CommonPayDialog : Dialog {
val
result
=
alipay
.
payV2
(
aliSign
,
true
)
val
result
=
alipay
.
payV2
(
aliSign
,
true
)
val
payResult
=
PayResult
(
result
)
val
payResult
=
PayResult
(
result
)
if
(
"9000"
==
payResult
.
resultStatus
)
{
if
(
"9000"
==
payResult
.
resultStatus
)
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付宝支付:支付成功"
)
activity
.
runOnUiThread
{
activity
.
runOnUiThread
{
ToastHelper
.
show
(
activity
,
"支付成功"
)
ToastHelper
.
show
(
activity
,
"支付成功"
)
listener
!!
.
onSuccesed
()
listener
!!
.
onSuccesed
()
...
@@ -501,6 +552,10 @@ class CommonPayDialog : Dialog {
...
@@ -501,6 +552,10 @@ class CommonPayDialog : Dialog {
}
}
dismissProgressDialog
()
dismissProgressDialog
()
}
else
{
}
else
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付宝支付:resultStatus != 9000 memo${payResult.memo} "
)
dismissProgressDialog
()
dismissProgressDialog
()
activity
.
runOnUiThread
{
activity
.
runOnUiThread
{
ToastHelper
.
show
(
activity
,
payResult
.
memo
)
ToastHelper
.
show
(
activity
,
payResult
.
memo
)
...
@@ -512,27 +567,39 @@ class CommonPayDialog : Dialog {
...
@@ -512,27 +567,39 @@ class CommonPayDialog : Dialog {
* 微信支付
* 微信支付
*/
*/
@SuppressLint
(
"CheckResult"
)
@SuppressLint
(
"CheckResult"
)
private
fun
getWeiXinPayOrderId
(
payId
:
String
,
isThreePay
:
Int
,
merchantType
:
String
)
{
private
fun
getWeiXinPayOrderId
(
payId
:
String
,
isThreePay
:
Int
,
merchantType
:
String
)
{
if
(!
NetUtils
.
isConnected
(
activity
))
{
if
(!
NetUtils
.
isConnected
(
activity
))
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"微信支付,无网络"
)
activity
.
runOnUiThread
{
activity
.
runOnUiThread
{
ToastHelper
.
show
(
activity
,
activity
.
getString
(
R
.
string
.
net_error
))
ToastHelper
.
show
(
activity
,
activity
.
getString
(
R
.
string
.
net_error
))
}
}
return
return
}
}
var
bean
=
WxPayParam
(
payId
,
isThreePay
,
merchantType
)
var
bean
=
WxPayParam
(
payId
,
isThreePay
,
merchantType
)
HttpUtils
.
wxPay
(
bean
)
HttpUtils
.
wxPay
(
bean
)
.
subscribeOn
(
Schedulers
.
io
())
.
subscribeOn
(
Schedulers
.
io
())
.
subscribe
({
.
subscribe
({
if
(
it
.
data
!=
null
)
{
if
(
it
.
data
!=
null
)
{
weixinPay
(
it
.
data
.
option
)
weixinPay
(
it
.
data
.
option
)
}
else
{
}
else
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"微信支付data=null ${it.msg}"
)
activity
.
runOnUiThread
{
activity
.
runOnUiThread
{
ToastHelper
.
show
(
activity
,
it
.
msg
)
ToastHelper
.
show
(
activity
,
it
.
msg
)
}
}
dismissProgressDialog
()
dismissProgressDialog
()
}
}
},
{
},
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"微信支付,异常:message:${it.message}----localizedMessage:${it.localizedMessage}"
)
activity
.
runOnUiThread
{
activity
.
runOnUiThread
{
ToastHelper
.
show
(
activity
,
it
.
localizedMessage
)
ToastHelper
.
show
(
activity
,
it
.
localizedMessage
)
}
}
...
@@ -566,16 +633,28 @@ class CommonPayDialog : Dialog {
...
@@ -566,16 +633,28 @@ class CommonPayDialog : Dialog {
.
subscribe
({
.
subscribe
({
dismissProgressDialog
()
dismissProgressDialog
()
if
(
it
.
data
!=
null
&&
it
.
code
==
0
)
{
if
(
it
.
data
!=
null
&&
it
.
code
==
0
)
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"余额支付:成功"
)
activity
.
runOnUiThread
{
activity
.
runOnUiThread
{
listener
!!
.
onSuccesed
()
listener
!!
.
onSuccesed
()
dismiss
()
dismiss
()
}
}
}
else
{
}
else
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"余额支付:失败 msg:${it.msg}"
)
activity
.
runOnUiThread
{
activity
.
runOnUiThread
{
ToastHelper
.
show
(
activity
,
it
.
msg
)
ToastHelper
.
show
(
activity
,
it
.
msg
)
}
}
}
}
},
{
},
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"余额支付:ERROR message:${it.message} localizedMessage: ${it.localizedMessage}"
)
activity
.
runOnUiThread
{
activity
.
runOnUiThread
{
ToastHelper
.
show
(
activity
,
it
.
localizedMessage
)
ToastHelper
.
show
(
activity
,
it
.
localizedMessage
)
}
}
...
@@ -587,10 +666,18 @@ class CommonPayDialog : Dialog {
...
@@ -587,10 +666,18 @@ class CommonPayDialog : Dialog {
fun
onEvent
(
event
:
WeiXinPayStatusEvent
)
{
fun
onEvent
(
event
:
WeiXinPayStatusEvent
)
{
dismissProgressDialog
()
dismissProgressDialog
()
if
(
event
.
success
)
{
if
(
event
.
success
)
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"微信支付成功"
)
ToastHelper
.
show
(
activity
,
"支付成功"
)
ToastHelper
.
show
(
activity
,
"支付成功"
)
listener
!!
.
onSuccesed
()
listener
!!
.
onSuccesed
()
dismiss
()
dismiss
()
}
else
{
}
else
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"微信支付:失败 msg:${event.msg}"
)
if
(!
TextUtils
.
isEmpty
(
event
.
msg
))
{
if
(!
TextUtils
.
isEmpty
(
event
.
msg
))
{
ToastHelper
.
show
(
activity
,
event
.
msg
!!
)
ToastHelper
.
show
(
activity
,
event
.
msg
!!
)
}
}
...
@@ -673,6 +760,7 @@ class CommonPayDialog : Dialog {
...
@@ -673,6 +760,7 @@ class CommonPayDialog : Dialog {
private
lateinit
var
ffrom
:
String
private
lateinit
var
ffrom
:
String
internal
lateinit
var
listener
:
OnPayResultListener
internal
lateinit
var
listener
:
OnPayResultListener
private
var
isTestEnvironment
=
true
private
var
isTestEnvironment
=
true
/**
/**
* 支付的业务类型[CommonPayDialog.payBusinessType]
* 支付的业务类型[CommonPayDialog.payBusinessType]
*/
*/
...
...
ydl-pay/src/main/java/com/yidianling/ydl_pay/pay/PayActivity.kt
View file @
6107ffa1
...
@@ -18,6 +18,8 @@ import com.ydl.ydlcommon.data.PlatformDataManager
...
@@ -18,6 +18,8 @@ import com.ydl.ydlcommon.data.PlatformDataManager
import
com.ydl.ydlcommon.data.http.RxUtils
import
com.ydl.ydlcommon.data.http.RxUtils
import
com.ydl.ydlcommon.data.http.ThrowableConsumer
import
com.ydl.ydlcommon.data.http.ThrowableConsumer
import
com.ydl.ydlcommon.modular.ModularServiceManager
import
com.ydl.ydlcommon.modular.ModularServiceManager
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
import
com.ydl.ydlcommon.utils.log.LogHelper
import
com.ydl.ydlcommon.utils.log.LogHelper
import
com.yidianling.common.tools.LogUtil
import
com.yidianling.common.tools.LogUtil
import
com.yidianling.common.tools.ToastUtil
import
com.yidianling.common.tools.ToastUtil
...
@@ -65,6 +67,7 @@ class PayActivity : BaseActivity() {
...
@@ -65,6 +67,7 @@ class PayActivity : BaseActivity() {
*/
*/
private
const
val
PARAMS
=
"params"
private
const
val
PARAMS
=
"params"
private
const
val
PARAMS_RED
=
"params_redPacket"
private
const
val
PARAMS_RED
=
"params_redPacket"
/**
/**
* 支付类型
* 支付类型
* 1.微信支付 2.支付宝支付
* 1.微信支付 2.支付宝支付
...
@@ -91,29 +94,41 @@ class PayActivity : BaseActivity() {
...
@@ -91,29 +94,41 @@ class PayActivity : BaseActivity() {
//订单信息数据
//订单信息数据
private
var
payParams
:
PayParams
?
=
null
private
var
payParams
:
PayParams
?
=
null
//红包列表数据+支付金额
//红包列表数据+支付金额
private
var
redPacketPayBean
:
RedPacketPayBean
?
=
null
private
var
redPacketPayBean
:
RedPacketPayBean
?
=
null
//入口
//入口
private
var
inlet
=
PayParams
.
INLET_NORMAL
private
var
inlet
=
PayParams
.
INLET_NORMAL
//红包列表弹窗
//红包列表弹窗
private
var
redPacketPopWindow
:
RedPacketPopWindow
?
=
null
private
var
redPacketPopWindow
:
RedPacketPopWindow
?
=
null
//加载中弹窗
//加载中弹窗
private
var
dialog
:
AlertDialog
?
=
null
private
var
dialog
:
AlertDialog
?
=
null
private
var
dialogContentView
:
View
?
=
null
private
var
dialogContentView
:
View
?
=
null
//红包id 默认为0
//红包id 默认为0
private
var
redPacketId
:
String
?
=
"0"
private
var
redPacketId
:
String
?
=
"0"
//使用红包金额
//使用红包金额
private
var
redPacketMoney
:
Float
=
0f
private
var
redPacketMoney
:
Float
=
0f
//使用红包文案
//使用红包文案
private
var
redPacketMoneyContent
:
String
=
""
private
var
redPacketMoneyContent
:
String
=
""
//账户余额
//账户余额
private
var
balanceMoney
:
Float
=
0f
private
var
balanceMoney
:
Float
=
0f
//支付金额
//支付金额
private
var
payMoney
:
Float
=
0F
private
var
payMoney
:
Float
=
0F
//可使用余额
//可使用余额
private
var
canBalanceMoney
=
0F
private
var
canBalanceMoney
=
0F
//支付类型
//支付类型
private
var
payType
=
PAY_ALI
private
var
payType
=
PAY_ALI
//测评下单数据bean
//测评下单数据bean
private
var
testAddOrderBean
:
TestAddOrderBean
?
=
null
private
var
testAddOrderBean
:
TestAddOrderBean
?
=
null
...
@@ -538,6 +553,7 @@ class PayActivity : BaseActivity() {
...
@@ -538,6 +553,7 @@ class PayActivity : BaseActivity() {
* 点击支付
* 点击支付
*/
*/
private
fun
onClickPay
()
{
private
fun
onClickPay
()
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"点击支付"
)
when
(
inlet
)
{
when
(
inlet
)
{
INLET_NORMAL
->
{
INLET_NORMAL
->
{
//正常入口
//正常入口
...
@@ -603,6 +619,7 @@ class PayActivity : BaseActivity() {
...
@@ -603,6 +619,7 @@ class PayActivity : BaseActivity() {
if
(
null
==
payParams
)
{
if
(
null
==
payParams
)
{
return
return
}
}
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"进入充值, 0微信充值,其他支付宝充值:$select"
)
HttpUtils
.
recharge
(
RechargeParam
(
payParams
!!
.
needPay
.
toInt
().
toString
()))
HttpUtils
.
recharge
(
RechargeParam
(
payParams
!!
.
needPay
.
toInt
().
toString
()))
.
subscribeOn
(
Schedulers
.
io
())
.
subscribeOn
(
Schedulers
.
io
())
...
@@ -622,6 +639,8 @@ class PayActivity : BaseActivity() {
...
@@ -622,6 +639,8 @@ class PayActivity : BaseActivity() {
.
doOnSubscribe
{
showProgressDialog
(
""
)
}
.
doOnSubscribe
{
showProgressDialog
(
""
)
}
.
doAfterTerminate
{
dismissProgressDialog
()
}
.
doAfterTerminate
{
dismissProgressDialog
()
}
.
subscribe
(
Consumer
{
.
subscribe
(
Consumer
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付成功"
)
LogHelper
.
getInstance
().
writeLogSync
(
"支付成功"
)
LogHelper
.
getInstance
().
writeLogSync
(
"支付成功"
)
ToastUtil
.
toastShort
(
"支付成功"
)
ToastUtil
.
toastShort
(
"支付成功"
)
var
intent
=
Intent
()
var
intent
=
Intent
()
...
@@ -633,6 +652,8 @@ class PayActivity : BaseActivity() {
...
@@ -633,6 +652,8 @@ class PayActivity : BaseActivity() {
override
fun
accept
(
msg
:
String
)
{
override
fun
accept
(
msg
:
String
)
{
ToastUtil
.
toastShort
(
msg
)
ToastUtil
.
toastShort
(
msg
)
LogHelper
.
getInstance
().
writeLogSync
(
"支付失败$msg"
)
LogHelper
.
getInstance
().
writeLogSync
(
"支付失败$msg"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付失败$msg"
)
}
}
})
})
...
@@ -644,13 +665,19 @@ class PayActivity : BaseActivity() {
...
@@ -644,13 +665,19 @@ class PayActivity : BaseActivity() {
when
(
inlet
)
{
when
(
inlet
)
{
INLET_NORMAL
->
{
INLET_NORMAL
->
{
//正常入口
//正常入口
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"余额支付 正常入口"
)
balancePayById
(
payParams
!!
.
payId
)
balancePayById
(
payParams
!!
.
payId
)
}
}
INLET_TEST
->
{
INLET_TEST
->
{
//测评入口
//测评入口
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"余额支付 测评入口"
)
balancePayById
(
testAddOrderBean
!!
.
payId
!!
)
balancePayById
(
testAddOrderBean
!!
.
payId
!!
)
}
}
else
->
{
else
->
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"余额支付"
)
balancePayById
(
payParams
!!
.
payId
)
balancePayById
(
payParams
!!
.
payId
)
}
}
}
}
...
@@ -673,6 +700,7 @@ class PayActivity : BaseActivity() {
...
@@ -673,6 +700,7 @@ class PayActivity : BaseActivity() {
.
doAfterTerminate
{
dismissProgressDialog
()
}
.
doAfterTerminate
{
dismissProgressDialog
()
}
.
subscribe
(
Consumer
{
.
subscribe
(
Consumer
{
LogHelper
.
getInstance
().
writeLogSync
(
"支付成功"
)
LogHelper
.
getInstance
().
writeLogSync
(
"支付成功"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"余额支付:支付成功"
)
ToastUtil
.
toastShort
(
"支付成功"
)
ToastUtil
.
toastShort
(
"支付成功"
)
setResult
(
Activity
.
RESULT_OK
)
setResult
(
Activity
.
RESULT_OK
)
finish
()
finish
()
...
@@ -680,6 +708,8 @@ class PayActivity : BaseActivity() {
...
@@ -680,6 +708,8 @@ class PayActivity : BaseActivity() {
override
fun
accept
(
msg
:
String
)
{
override
fun
accept
(
msg
:
String
)
{
ToastUtil
.
toastShort
(
msg
)
ToastUtil
.
toastShort
(
msg
)
LogHelper
.
getInstance
().
writeLogSync
(
"支付失败:$msg"
)
LogHelper
.
getInstance
().
writeLogSync
(
"支付失败:$msg"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"余额支付:支付失败:$msg"
)
}
}
})
})
}
}
...
@@ -689,6 +719,7 @@ class PayActivity : BaseActivity() {
...
@@ -689,6 +719,7 @@ class PayActivity : BaseActivity() {
*/
*/
@SuppressLint
(
"CheckResult"
)
@SuppressLint
(
"CheckResult"
)
private
fun
appPay
()
{
private
fun
appPay
()
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"微信支付 0 其他支付宝支付 select:${select}"
)
Observable
.
just
(
select
)
Observable
.
just
(
select
)
.
subscribeOn
(
Schedulers
.
io
())
.
subscribeOn
(
Schedulers
.
io
())
...
@@ -706,6 +737,7 @@ class PayActivity : BaseActivity() {
...
@@ -706,6 +737,7 @@ class PayActivity : BaseActivity() {
.
doOnSubscribe
{
showProgressDialog
(
""
)
}
.
doOnSubscribe
{
showProgressDialog
(
""
)
}
.
doAfterTerminate
{
dismissProgressDialog
()
}
.
doAfterTerminate
{
dismissProgressDialog
()
}
.
subscribe
(
Consumer
{
.
subscribe
(
Consumer
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付成功"
)
LogHelper
.
getInstance
().
writeLogSync
(
"支付成功"
)
LogHelper
.
getInstance
().
writeLogSync
(
"支付成功"
)
setResult
(
Activity
.
RESULT_OK
)
setResult
(
Activity
.
RESULT_OK
)
finish
()
finish
()
...
@@ -713,6 +745,8 @@ class PayActivity : BaseActivity() {
...
@@ -713,6 +745,8 @@ class PayActivity : BaseActivity() {
override
fun
accept
(
msg
:
String
)
{
override
fun
accept
(
msg
:
String
)
{
ToastUtil
.
toastShort
(
msg
)
ToastUtil
.
toastShort
(
msg
)
LogHelper
.
getInstance
().
writeLogSync
(
"支付失败:$msg"
)
LogHelper
.
getInstance
().
writeLogSync
(
"支付失败:$msg"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付失败:$msg"
)
}
}
})
})
}
}
...
@@ -724,18 +758,21 @@ class PayActivity : BaseActivity() {
...
@@ -724,18 +758,21 @@ class PayActivity : BaseActivity() {
return
when
(
inlet
)
{
return
when
(
inlet
)
{
INLET_NORMAL
->
{
INLET_NORMAL
->
{
//正常入口
//正常入口
wxPayById
(
payParams
!!
.
payId
,
payParams
?.
merchantType
.
toString
())
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"微信支付:正常入口"
)
wxPayById
(
payParams
!!
.
payId
,
payParams
?.
merchantType
.
toString
())
}
}
INLET_TEST
->
{
INLET_TEST
->
{
//测评入口
//测评入口
if
(
null
!=
testAddOrderBean
&&
!
TextUtils
.
isEmpty
(
testAddOrderBean
!!
.
payId
!!
))
{
if
(
null
!=
testAddOrderBean
&&
!
TextUtils
.
isEmpty
(
testAddOrderBean
!!
.
payId
!!
))
{
wxPayById
(
testAddOrderBean
!!
.
payId
!!
,
payParams
?.
merchantType
.
toString
())
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"微信支付:测评入口"
)
wxPayById
(
testAddOrderBean
!!
.
payId
!!
,
payParams
?.
merchantType
.
toString
())
}
else
{
}
else
{
null
null
}
}
}
}
else
->
{
else
->
{
wxPayById
(
payParams
!!
.
payId
,
payParams
?.
merchantType
.
toString
())
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"微信支付"
)
wxPayById
(
payParams
!!
.
payId
,
payParams
?.
merchantType
.
toString
())
}
}
}
}
}
}
...
@@ -744,8 +781,8 @@ class PayActivity : BaseActivity() {
...
@@ -744,8 +781,8 @@ class PayActivity : BaseActivity() {
* 微信支付
* 微信支付
* @param payId 支付id
* @param payId 支付id
*/
*/
private
fun
wxPayById
(
payId
:
String
,
merchantType
:
String
):
Observable
<
PayStatus
>
{
private
fun
wxPayById
(
payId
:
String
,
merchantType
:
String
):
Observable
<
PayStatus
>
{
val
bean
=
WxPayParam
(
payId
,
1
,
merchantType
)
val
bean
=
WxPayParam
(
payId
,
1
,
merchantType
)
return
HttpUtils
.
wxPay
(
bean
)
return
HttpUtils
.
wxPay
(
bean
)
.
compose
(
RxUtils
.
resultData
())
.
compose
(
RxUtils
.
resultData
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
...
@@ -760,17 +797,23 @@ class PayActivity : BaseActivity() {
...
@@ -760,17 +797,23 @@ class PayActivity : BaseActivity() {
return
when
(
inlet
)
{
return
when
(
inlet
)
{
INLET_NORMAL
->
{
INLET_NORMAL
->
{
//正常入口
//正常入口
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付宝支付:正常入口"
)
aliPayById
(
payParams
!!
.
payId
)
aliPayById
(
payParams
!!
.
payId
)
}
}
INLET_TEST
->
{
INLET_TEST
->
{
//测评入口
//测评入口
if
(
null
!=
testAddOrderBean
&&
!
TextUtils
.
isEmpty
(
testAddOrderBean
!!
.
payId
!!
))
{
if
(
null
!=
testAddOrderBean
&&
!
TextUtils
.
isEmpty
(
testAddOrderBean
!!
.
payId
!!
))
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付宝支付:测评入口"
)
aliPayById
(
testAddOrderBean
!!
.
payId
!!
)
aliPayById
(
testAddOrderBean
!!
.
payId
!!
)
}
else
{
}
else
{
null
null
}
}
}
}
else
->
{
else
->
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付宝支付"
)
aliPayById
(
payParams
!!
.
payId
)
aliPayById
(
payParams
!!
.
payId
)
}
}
}
}
...
@@ -811,7 +854,8 @@ class PayActivity : BaseActivity() {
...
@@ -811,7 +854,8 @@ class PayActivity : BaseActivity() {
.
create
()
.
create
()
}
}
if
(
dialogContentView
==
null
)
{
if
(
dialogContentView
==
null
)
{
dialogContentView
=
LayoutInflater
.
from
(
this
).
inflate
(
R
.
layout
.
pay_fragment_loading_dialog
,
null
)
dialogContentView
=
LayoutInflater
.
from
(
this
).
inflate
(
R
.
layout
.
pay_fragment_loading_dialog
,
null
)
dialogContentView
?.
tvMsg
?.
visibility
=
View
.
GONE
dialogContentView
?.
tvMsg
?.
visibility
=
View
.
GONE
}
}
dialog
?.
show
()
dialog
?.
show
()
...
...
ydl-pay/src/main/java/com/yidianling/ydl_pay/pay/RxPay.kt
View file @
6107ffa1
...
@@ -3,14 +3,16 @@ package com.yidianling.ydl_pay.pay
...
@@ -3,14 +3,16 @@ package com.yidianling.ydl_pay.pay
import
android.app.Activity
import
android.app.Activity
import
android.content.Context
import
android.content.Context
import
com.alipay.sdk.app.PayTask
import
com.alipay.sdk.app.PayTask
import
com.yidianling.ydl_pay.pay.bean.PayStatus
import
com.tencent.mm.opensdk.constants.Build
import
com.tencent.mm.opensdk.constants.Build
import
com.tencent.mm.opensdk.modelpay.PayReq
import
com.tencent.mm.opensdk.modelpay.PayReq
import
com.tencent.mm.opensdk.openapi.WXAPIFactory
import
com.tencent.mm.opensdk.openapi.WXAPIFactory
import
com.yidianling.ydl_pay.pay.bean.WXPayEvent
import
com.ydl.ydlcommon.data.http.CustomThrowable
import
com.ydl.ydlcommon.data.http.CustomThrowable
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
import
com.yidianling.ydl_pay.common.bean.CommonWXPayBean
import
com.yidianling.ydl_pay.common.bean.CommonWXPayBean
import
com.yidianling.ydl_pay.common.bean.PayResult
import
com.yidianling.ydl_pay.common.bean.PayResult
import
com.yidianling.ydl_pay.pay.bean.PayStatus
import
com.yidianling.ydl_pay.pay.bean.WXPayEvent
import
de.greenrobot.event.EventBus
import
de.greenrobot.event.EventBus
import
io.reactivex.Emitter
import
io.reactivex.Emitter
import
io.reactivex.Observable
import
io.reactivex.Observable
...
@@ -59,8 +61,18 @@ object RxPay {
...
@@ -59,8 +61,18 @@ object RxPay {
val
result
=
alipay
.
payV2
(
aliSign
,
true
)
val
result
=
alipay
.
payV2
(
aliSign
,
true
)
val
payResult
=
PayResult
(
result
)
val
payResult
=
PayResult
(
result
)
when
{
when
{
"9000"
==
payResult
.
resultStatus
->
it
.
onNext
(
PayStatus
(
true
))
else
->
it
.
onError
(
CustomThrowable
(
payResult
.
memo
))
"9000"
==
payResult
.
resultStatus
->
{
it
.
onNext
(
PayStatus
(
true
))
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付宝支付成功"
)
}
else
->
{
it
.
onError
(
CustomThrowable
(
payResult
.
memo
))
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付宝支付失败 memo:${payResult.memo}"
)
}
}
}
it
.
onComplete
()
it
.
onComplete
()
}
}
...
...
ydl-pay/src/main/java/com/yidianling/ydl_pay/pay/payDialog/PayDialog.kt
View file @
6107ffa1
...
@@ -9,6 +9,8 @@ import android.support.v7.app.AlertDialog
...
@@ -9,6 +9,8 @@ import android.support.v7.app.AlertDialog
import
android.view.*
import
android.view.*
import
com.ydl.ydlcommon.data.http.RxUtils
import
com.ydl.ydlcommon.data.http.RxUtils
import
com.ydl.ydlcommon.utils.StringUtils
import
com.ydl.ydlcommon.utils.StringUtils
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
import
com.ydl.ydlcommon.utils.log.LogHelper
import
com.ydl.ydlcommon.utils.log.LogHelper
import
com.ydl.ydlcommon.utils.remind.ToastHelper
import
com.ydl.ydlcommon.utils.remind.ToastHelper
import
com.yidianling.ydl_pay.R
import
com.yidianling.ydl_pay.R
...
@@ -160,6 +162,7 @@ class PayDialog : Dialog {
...
@@ -160,6 +162,7 @@ class PayDialog : Dialog {
if
(
data
?.
payId
==
null
)
{
if
(
data
?.
payId
==
null
)
{
ToastHelper
.
show
(
"支付id有误,请返回重试"
)
ToastHelper
.
show
(
"支付id有误,请返回重试"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付id有误,请返回重试"
)
return
return
}
}
...
@@ -187,9 +190,12 @@ class PayDialog : Dialog {
...
@@ -187,9 +190,12 @@ class PayDialog : Dialog {
this
.
callBack
?.
onSuccess
()
this
.
callBack
?.
onSuccess
()
}
}
LogHelper
.
getInstance
().
writeLogSync
(
"支付成功"
)
LogHelper
.
getInstance
().
writeLogSync
(
"支付成功"
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付成功"
)
this
.
callBack
?.
onSuccess
()
this
.
callBack
?.
onSuccess
()
dismiss
()
dismiss
()
},
{
},
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付失败:${it.message}"
)
ToastHelper
.
show
(
it
.
message
?:
"支付失败"
)
ToastHelper
.
show
(
it
.
message
?:
"支付失败"
)
LogHelper
.
getInstance
().
writeLogSync
(
"支付失败:${it.message}"
)
LogHelper
.
getInstance
().
writeLogSync
(
"支付失败:${it.message}"
)
})
})
...
@@ -200,6 +206,7 @@ class PayDialog : Dialog {
...
@@ -200,6 +206,7 @@ class PayDialog : Dialog {
* @param payId 支付id
* @param payId 支付id
*/
*/
private
fun
wxPayById
(
payId
:
String
,
merchantType
:
String
):
Observable
<
PayStatus
>
{
private
fun
wxPayById
(
payId
:
String
,
merchantType
:
String
):
Observable
<
PayStatus
>
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"微信支付"
)
val
bean
=
WxPayParam
(
payId
,
1
,
merchantType
)
val
bean
=
WxPayParam
(
payId
,
1
,
merchantType
)
return
HttpUtils
.
wxPay
(
bean
)
return
HttpUtils
.
wxPay
(
bean
)
.
compose
(
RxUtils
.
resultData
())
.
compose
(
RxUtils
.
resultData
())
...
@@ -212,6 +219,8 @@ class PayDialog : Dialog {
...
@@ -212,6 +219,8 @@ class PayDialog : Dialog {
* @param payId 支付Id
* @param payId 支付Id
*/
*/
private
fun
aliPayById
(
payId
:
String
):
Observable
<
PayStatus
>
{
private
fun
aliPayById
(
payId
:
String
):
Observable
<
PayStatus
>
{
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
PAY
,
"支付宝支付"
)
var
bean
=
AliPayParam
(
payId
,
1
)
var
bean
=
AliPayParam
(
payId
,
1
)
return
HttpUtils
.
getAliPayOrderId
(
bean
)
return
HttpUtils
.
getAliPayOrderId
(
bean
)
.
compose
(
RxUtils
.
resultData
())
.
compose
(
RxUtils
.
resultData
())
...
...
ydl-platform/build.gradle
View file @
6107ffa1
...
@@ -72,10 +72,11 @@ dependencies {
...
@@ -72,10 +72,11 @@ dependencies {
testImplementation
'junit:junit:4.12'
testImplementation
'junit:junit:4.12'
androidTestImplementation
'com.android.support.test:runner:1.0.2'
androidTestImplementation
'com.android.support.test:runner:1.0.2'
androidTestImplementation
'com.android.support.test.espresso:espresso-core:3.0.2'
androidTestImplementation
'com.android.support.test.espresso:espresso-core:3.0.2'
//====================YDL Repository====================
//====================YDL Repository====================
// api rootProject.ext.dependencies["ydl-pushagent"]
// api rootProject.ext.dependencies["ydl-pushagent"]
// api rootProject.ext.dependencies["ydl-hnet"]
// api rootProject.ext.dependencies["ydl-hnet"]
api
(
rootProject
.
ext
.
dependencies
[
"ydl-notracepoint"
])
{
api
(
rootProject
.
ext
.
dependencies
[
"ydl-notracepoint"
])
{
transitive
=
true
transitive
=
true
exclude
group:
'com.google.code.gson'
,
module:
'gson'
exclude
group:
'com.google.code.gson'
,
module:
'gson'
exclude
group:
'com.squareup.okhttp3'
,
module:
'okhttp3'
exclude
group:
'com.squareup.okhttp3'
,
module:
'okhttp3'
...
...
ydl-platform/src/main/java/com/ydl/ydlcommon/base/config/HttpConfig.kt
View file @
6107ffa1
...
@@ -16,9 +16,13 @@ import com.ydl.ydlcommon.data.http.RxUtils
...
@@ -16,9 +16,13 @@ import com.ydl.ydlcommon.data.http.RxUtils
import
com.ydl.ydlcommon.data.http.api.ApiRequestUtil
import
com.ydl.ydlcommon.data.http.api.ApiRequestUtil
import
com.ydl.ydlcommon.modular.ModularServiceManager
import
com.ydl.ydlcommon.modular.ModularServiceManager
import
com.ydl.ydlcommon.utils.YDLCacheUtils
import
com.ydl.ydlcommon.utils.YDLCacheUtils
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
import
com.ydl.ydlnet.builder.config.OkHttpConfig
import
com.ydl.ydlnet.builder.config.OkHttpConfig
import
com.ydl.ydlnet.builder.factory.ApiFactory
import
com.ydl.ydlnet.builder.factory.ApiFactory
import
com.ydl.ydlnet.builder.interceptor.log.RequestHandler
import
com.ydl.ydlnet.builder.interceptor.log.RequestHandler
import
com.ydl.ydlnet.builder.interceptor.log.RequestLogInterceptor
import
com.yidianling.common.tools.LogUtil
import
com.yidianling.common.tools.LogUtil
import
com.yidianling.common.tools.RxAppTool
import
com.yidianling.common.tools.RxAppTool
import
com.yidianling.common.tools.RxDeviceTool
import
com.yidianling.common.tools.RxDeviceTool
...
@@ -118,6 +122,7 @@ class HttpConfig {
...
@@ -118,6 +122,7 @@ class HttpConfig {
var
ENCRYPTION_APP_KEY
=
""
// 接口加密appKey
var
ENCRYPTION_APP_KEY
=
""
// 接口加密appKey
var
ENCRYPTION_APP_SECRET
=
""
// 接口加密appSecret
var
ENCRYPTION_APP_SECRET
=
""
// 接口加密appSecret
var
isEncryption
=
false
var
isEncryption
=
false
var
appDebug
:
Boolean
=
false
fun
getInstance
():
HttpConfig
{
fun
getInstance
():
HttpConfig
{
return
Holder
.
INSTANCE
return
Holder
.
INSTANCE
...
@@ -127,7 +132,7 @@ class HttpConfig {
...
@@ -127,7 +132,7 @@ class HttpConfig {
fun
createOkHttp
():
OkHttpClient
{
fun
createOkHttp
():
OkHttpClient
{
val
globalConfig
=
BaseApp
.
instance
.
getGlobalConfig
()
val
globalConfig
=
BaseApp
.
instance
.
getGlobalConfig
()
val
context
=
BaseApp
.
getApp
()
val
context
=
BaseApp
.
getApp
()
val
appDebug
=
globalConfig
.
appDebug
appDebug
=
globalConfig
.
appDebug
val
appName
=
globalConfig
.
appName
val
appName
=
globalConfig
.
appName
//获取证书
//获取证书
...
@@ -144,7 +149,8 @@ class HttpConfig {
...
@@ -144,7 +149,8 @@ class HttpConfig {
.
setInterceptor
(
.
setInterceptor
(
commonParams
(),
commonParams
(),
requestHead
(
appName
),
requestHead
(
appName
),
addEncryptionHeaderParamsInterceptor
()
addEncryptionHeaderParamsInterceptor
(),
responseErrorInterceptor
()
)
)
.
setRequestHandler
(
getRequestHandler
())
.
setRequestHandler
(
getRequestHandler
())
.
setReadTimeout
(
15
)
.
setReadTimeout
(
15
)
...
@@ -170,7 +176,7 @@ class HttpConfig {
...
@@ -170,7 +176,7 @@ class HttpConfig {
path
+=
it
.
request
().
url
().
encodedPath
().
substring
(
5
)
path
+=
it
.
request
().
url
().
encodedPath
().
substring
(
5
)
}
}
else
->
{
else
->
{
path
+
it
.
request
().
url
().
encodedPath
()
path
+
it
.
request
().
url
().
encodedPath
()
}
}
}
}
val
sign
=
EncryptionParams
.
getSign
(
path
,
timestamp
)
val
sign
=
EncryptionParams
.
getSign
(
path
,
timestamp
)
...
@@ -180,12 +186,39 @@ class HttpConfig {
...
@@ -180,12 +186,39 @@ class HttpConfig {
.
addHeader
(
"timestamp"
,
timestamp
)
.
addHeader
(
"timestamp"
,
timestamp
)
.
build
()
.
build
()
it
.
proceed
(
request
)
it
.
proceed
(
request
)
}
else
{
}
else
{
it
.
proceed
(
it
.
request
())
it
.
proceed
(
it
.
request
())
}
}
}
}
}
}
/**
* 接口返回错误日志埋点
*/
private
fun
responseErrorInterceptor
():
Interceptor
{
return
Interceptor
{
val
request
:
Request
=
it
.
request
()
val
originalResponse
:
Response
=
it
.
proceed
(
request
)
if
(!
appDebug
){
val
code
=
originalResponse
.
code
()
// 接口返回错误的情况下,埋点告诉服务器原因
if
(
code
!=
200
)
{
var
params
=
""
if
(
request
.
method
()
==
"GET"
)
{
params
=
request
.
url
().
query
().
toString
()
}
else
if
(
request
.
method
()
==
"POST"
)
{
params
=
RequestLogInterceptor
.
parseParams
(
request
)
}
val
message
=
originalResponse
.
message
()
val
api
=
request
.
url
().
encodedPath
()
ActionCountUtils
.
baiDuCount
(
"ydl_user_error_business"
,
"error_log"
,
api
,
params
,
message
)
AliYunRichLogsHelper
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
API
,
"error_log---api:$api---params:$params ---- message:$message"
)
}
}
originalResponse
}
}
private
fun
getRequestHandler
():
RequestHandler
{
private
fun
getRequestHandler
():
RequestHandler
{
return
object
:
RequestHandler
{
return
object
:
RequestHandler
{
override
fun
onHttpResultResponse
(
override
fun
onHttpResultResponse
(
...
...
ydl-platform/src/main/java/com/ydl/ydlcommon/utils/actionutil/ActionCountUtils.kt
View file @
6107ffa1
...
@@ -134,10 +134,10 @@ class ActionCountUtils {
...
@@ -134,10 +134,10 @@ class ActionCountUtils {
actionDataParams
.
appVersion
(
RxDeviceTool
.
getAppVersionName
(
BaseApp
.
getApp
()))
actionDataParams
.
appVersion
(
RxDeviceTool
.
getAppVersionName
(
BaseApp
.
getApp
()))
actionDataParams
.
appId
(
appId
)
actionDataParams
.
appId
(
appId
)
actionDataParams
.
api
(
api
)
actionDataParams
.
api
(
api
)
actionDataParams
.
manufacturer
(
android
.
os
.
Build
.
BRAND
.
trim
().
toUpperCase
())
actionDataParams
.
manufacturer
(
Build
.
BRAND
.
trim
().
toUpperCase
())
actionDataParams
.
model
(
android
.
os
.
Build
.
MODEL
)
actionDataParams
.
model
(
Build
.
MODEL
)
actionDataParams
.
os
(
BIConstants
.
OS
)
actionDataParams
.
os
(
BIConstants
.
OS
)
actionDataParams
.
osVersion
(
android
.
os
.
Build
.
VERSION
.
RELEASE
)
actionDataParams
.
osVersion
(
Build
.
VERSION
.
RELEASE
)
actionDataParams
.
wifi
(
if
(
isWifi
())
0
else
1
)
actionDataParams
.
wifi
(
if
(
isWifi
())
0
else
1
)
var
deviceId
=
""
var
deviceId
=
""
/*
/*
...
@@ -243,10 +243,10 @@ class ActionCountUtils {
...
@@ -243,10 +243,10 @@ class ActionCountUtils {
actionDataParams
.
appVersion
(
RxDeviceTool
.
getAppVersionName
(
BaseApp
.
getApp
()))
actionDataParams
.
appVersion
(
RxDeviceTool
.
getAppVersionName
(
BaseApp
.
getApp
()))
actionDataParams
.
appId
(
appId
)
actionDataParams
.
appId
(
appId
)
actionDataParams
.
api
(
api
)
actionDataParams
.
api
(
api
)
actionDataParams
.
manufacturer
(
android
.
os
.
Build
.
BRAND
.
trim
().
toUpperCase
())
actionDataParams
.
manufacturer
(
Build
.
BRAND
.
trim
().
toUpperCase
())
actionDataParams
.
model
(
android
.
os
.
Build
.
MODEL
)
actionDataParams
.
model
(
Build
.
MODEL
)
actionDataParams
.
os
(
BIConstants
.
OS
)
actionDataParams
.
os
(
BIConstants
.
OS
)
actionDataParams
.
osVersion
(
android
.
os
.
Build
.
VERSION
.
RELEASE
)
actionDataParams
.
osVersion
(
Build
.
VERSION
.
RELEASE
)
actionDataParams
.
wifi
(
if
(
isWifi
())
0
else
1
)
actionDataParams
.
wifi
(
if
(
isWifi
())
0
else
1
)
actionDataParams
.
screenWidth
(
RxDeviceTool
.
getScreenWidth
(
RxTool
.
getContext
()
!!
))
actionDataParams
.
screenWidth
(
RxDeviceTool
.
getScreenWidth
(
RxTool
.
getContext
()
!!
))
actionDataParams
.
screenHeight
(
RxDeviceTool
.
getScreenHeight
(
RxTool
.
getContext
()
!!
))
actionDataParams
.
screenHeight
(
RxDeviceTool
.
getScreenHeight
(
RxTool
.
getContext
()
!!
))
...
@@ -287,7 +287,7 @@ class ActionCountUtils {
...
@@ -287,7 +287,7 @@ class ActionCountUtils {
baiduActionDataParams
.
androidId
(
DeviceTool
.
getAndroidID
())
//MD5加密的androidId
baiduActionDataParams
.
androidId
(
DeviceTool
.
getAndroidID
())
//MD5加密的androidId
baiduActionDataParams
.
ip
(
""
)
baiduActionDataParams
.
ip
(
""
)
baiduActionDataParams
.
ipv6
(
""
)
//给服务端传IPV6地址DeviceTool.getLocalIpV6()
baiduActionDataParams
.
ipv6
(
""
)
//给服务端传IPV6地址DeviceTool.getLocalIpV6()
baiduActionDataParams
.
tp
(
android
.
os
.
Build
.
MODEL
)
baiduActionDataParams
.
tp
(
Build
.
MODEL
)
baiduActionDataParams
.
network
(
DeviceTool
.
getNetworkState
(
RxTool
.
getContext
()))
baiduActionDataParams
.
network
(
DeviceTool
.
getNetworkState
(
RxTool
.
getContext
()))
baiduActionDataParams
.
convertParam
(
""
)
baiduActionDataParams
.
convertParam
(
""
)
baiduActionDataParams
.
uid
(
uid
)
baiduActionDataParams
.
uid
(
uid
)
...
@@ -316,8 +316,52 @@ class ActionCountUtils {
...
@@ -316,8 +316,52 @@ class ActionCountUtils {
}
}
/**
/**
* 接口返回错误埋点调用该方法
* @param partId pardId-ydl_user_error_business
* @param position error_log
* @param sign1 访问接口对应的参数
* @param sign2 接口返回的错误信息
*/
fun
baiDuCount
(
partId
:
String
,
position
:
String
,
api
:
String
,
sign1
:
String
,
sign2
:
String
)
{
val
actionDataParams
=
ActionDataBean
.
Builder
()
actionDataParams
.
partId
=
partId
actionDataParams
.
position
=
position
actionDataParams
.
sign1
=
sign1
actionDataParams
.
sign2
=
sign2
actionDataParams
.
api
=
api
actionDataParams
.
appVersion
(
RxDeviceTool
.
getAppVersionName
(
BaseApp
.
getApp
()))
val
deviceId
=
if
(
Build
.
VERSION
.
SDK_INT
<=
Build
.
VERSION_CODES
.
P
)
{
val
topTaskActivity
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
//获取imei
Utils
.
getIMEI
(
topTaskActivity
)
}
else
{
//android Q及以上取oaid
DeviceIDHelper
.
getInstance
().
deviceId
}
actionDataParams
.
deviceId
=
deviceId
actionDataParams
.
time
(
System
.
currentTimeMillis
())
actionDataParams
.
appId
(
appId
)
actionDataParams
.
manufacturer
(
Build
.
BRAND
.
trim
().
toUpperCase
())
actionDataParams
.
model
(
Build
.
MODEL
)
actionDataParams
.
os
(
BIConstants
.
OS
)
actionDataParams
.
osVersion
(
Build
.
VERSION
.
RELEASE
)
actionDataParams
.
wifi
(
if
(
isWifi
())
0
else
1
)
actionDataParams
.
uid
=
ModularServiceManager
.
getPlatformUserService
()
!!
.
getUser
()
?.
userId
//请求
request
(
actionDataParams
.
build
())
}
/**
* 传入ActionDataParams参数,访问接口
* 传入ActionDataParams参数,访问接口
*/
*/
@SuppressLint
(
"CheckResult"
)
fun
request
(
actionDataBean
:
ActionDataBean
)
{
fun
request
(
actionDataBean
:
ActionDataBean
)
{
try
{
try
{
ApiRequestUtil
.
actionDataCount
(
actionDataBean
)
ApiRequestUtil
.
actionDataCount
(
actionDataBean
)
...
...
ydl-platform/src/main/java/com/ydl/ydlcommon/utils/log/AliYunLogConfig.kt
0 → 100644
View file @
6107ffa1
package
com.ydl.ydlcommon.utils.log
object
AliYunLogConfig
{
/**接口*/
const
val
API
=
"API"
/**声网*/
const
val
AGORA
=
"Agora"
/**登录*/
const
val
LOGIN
=
"Login"
/**WebView*/
const
val
WEB
=
"Web"
/**支付*/
const
val
PAY
=
"Pay"
/**云信*/
const
val
YUNXIN
=
"YunXin"
/**RTM*/
const
val
RTM
=
"Rtm"
/**网络状态*/
const
val
NETSTATUS
=
"NetStatus"
/**其他*/
const
val
OTHER
=
"Other"
}
\ No newline at end of file
ydl-platform/src/main/java/com/ydl/ydlcommon/utils/log/AliYunRichLogsHelper.kt
0 → 100644
View file @
6107ffa1
package
com.ydl.ydlcommon.utils.log
import
com.aliyun.sls.android.producer.*
import
com.ydl.ydlcommon.base.BaseApp.Companion.getApp
import
com.ydl.ydlcommon.data.PlatformDataManager.getRam
import
com.ydl.ydlcommon.modular.ModularServiceManager.getPlatformUserService
import
com.yidianling.common.tools.RxAppTool
import
com.yidianling.common.tools.RxDeviceTool
/**
* @author liupeng
*
* 阿里云埋点,携带基本参数,方便后续排查问题定位
* */
class
AliYunRichLogsHelper
{
companion
object
{
var
mConfig
:
LogProducerConfig
?
=
null
var
mClient
:
LogProducerClient
?
=
null
fun
getInstance
():
AliYunRichLogsHelper
{
return
Holder
.
INSTANCE
}
}
constructor
()
{
val
endpoint
=
"cn-hangzhou.log.aliyuncs.com"
val
project
=
"ydl-app-log"
val
logstore
=
"ydl-app-log"
val
accesskeyid
=
"LTAI5tH6WGqWUqzo4u5GfrCS"
val
accesskeysecret
=
"uzccm79mr9d4rIsABu3xwfbdUdaeWT"
try
{
mConfig
=
LogProducerConfig
(
endpoint
,
project
,
logstore
,
accesskeyid
,
accesskeysecret
)
mClient
=
LogProducerClient
(
mConfig
)
}
catch
(
e
:
LogProducerException
)
{
e
.
printStackTrace
()
}
}
private
object
Holder
{
val
INSTANCE
=
AliYunRichLogsHelper
()
}
/**
*
* @param key AliYunLogConfig 接口、登录、声网、WebView、支付、其他
* @param value 具体的状态值
* */
fun
sendRichLog
(
key
:
String
,
value
:
String
)
{
val
log
=
Log
()
val
userInfo
=
getPlatformUserService
()
!!
.
getUser
()
log
.
putContent
(
key
,
value
)
log
.
putContent
(
"ffrom"
,
getRam
().
getChannelName
())
log
.
putContent
(
"isFromApp"
,
"1"
)
log
.
putContent
(
"osBuild"
,
RxDeviceTool
.
getBuildBrandModel
())
log
.
putContent
(
RxDeviceTool
.
getSDKVersionName
(),
RxAppTool
.
getAppVersionName
(
getApp
()))
log
.
putContent
(
"version"
,
RxAppTool
.
getAppVersionName
(
getApp
()))
if
(
null
!=
userInfo
)
{
log
.
putContent
(
"uid"
,
userInfo
.
userId
)
log
.
putContent
(
"accessToken"
,
userInfo
.
token
)
}
if
(
mClient
!=
null
)
{
val
res
:
LogProducerResult
=
mClient
!!
.
addLog
(
log
)
}
}
/**
*
* @param key AliYunLogConfig 接口、登录、声网、WebView、支付、其他
* @param value 具体的状态值
* */
fun
sendLog
(
key
:
String
,
value
:
String
)
{
val
log
=
Log
()
log
.
putContent
(
key
,
value
)
if
(
mClient
!=
null
)
{
val
res
:
LogProducerResult
=
mClient
!!
.
addLog
(
log
)
}
}
}
\ No newline at end of file
ydl-webview/src/main/java/com/ydl/webview/NewH5Activity.java
View file @
6107ffa1
...
@@ -48,6 +48,8 @@ import com.ydl.ydlcommon.utils.LogUtil;
...
@@ -48,6 +48,8 @@ import com.ydl.ydlcommon.utils.LogUtil;
import
com.ydl.ydlcommon.utils.NetWorkSpeedUtils
;
import
com.ydl.ydlcommon.utils.NetWorkSpeedUtils
;
import
com.ydl.ydlcommon.utils.StatusBarUtils
;
import
com.ydl.ydlcommon.utils.StatusBarUtils
;
import
com.ydl.ydlcommon.utils.URLUtils
;
import
com.ydl.ydlcommon.utils.URLUtils
;
import
com.ydl.ydlcommon.utils.log.AliYunLogConfig
;
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
;
import
com.ydl.ydlcommon.view.TitleBar
;
import
com.ydl.ydlcommon.view.TitleBar
;
import
com.ydl.ydlcommon.view.dialog.YDLCommonDialog
;
import
com.ydl.ydlcommon.view.dialog.YDLCommonDialog
;
import
com.ydl.ydlcommon.view.dialog.YDLShareDialog
;
import
com.ydl.ydlcommon.view.dialog.YDLShareDialog
;
...
@@ -81,24 +83,21 @@ import static android.view.View.VISIBLE;
...
@@ -81,24 +83,21 @@ import static android.view.View.VISIBLE;
/**
/**
* 通用h5显示页面
* 通用h5显示页面
* <p>
* 跳转此h5页面,请使用唯一参数 H5ParamsBaseActivity
* 跳转此h5页面,请使用唯一参数 H5ParamsBaseActivity
*/
*/
@Route
(
path
=
"/new_h5/h5"
)
@Route
(
path
=
"/new_h5/h5"
)
public
class
NewH5Activity
extends
BaseActivity
implements
PtrHandler
{
public
class
NewH5Activity
extends
BaseActivity
implements
PtrHandler
{
public
static
final
String
PARAMS
=
"h5Params"
;
public
static
final
String
PARAMS
=
"h5Params"
;
/**
/*** 路由传递过来的参数*/
* 路由传递过来的参数
*/
public
static
final
String
ROUTER_PARAMS
=
"routerParam"
;
public
static
final
String
ROUTER_PARAMS
=
"routerParam"
;
/
/下单选择时间请求吗
/
***下单选择时间请求吗*/
public
static
final
int
ORDER_TIME_REQUEST_CODE
=
110
;
public
static
final
int
ORDER_TIME_REQUEST_CODE
=
110
;
/
/启动类型
/
***启动类型 0正常模式 1从下至上打开页面*/
private
int
startType
=
0
;
//0正常模式 1从下至上打开页面
private
int
startType
=
0
;
/
/右侧按钮文字
/
***右侧按钮文字*/
private
String
rightText
=
""
;
private
String
rightText
=
""
;
protected
TitleBar
tb_title
;
protected
TitleBar
tb_title
;
...
@@ -107,10 +106,10 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -107,10 +106,10 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
protected
ProgressWebView
wv_content
;
protected
ProgressWebView
wv_content
;
protected
PtrFrameLayout
store_house_ptr_frame
;
protected
PtrFrameLayout
store_house_ptr_frame
;
protected
SafeTipView
safeTipView
;
protected
SafeTipView
safeTipView
;
/
/接收参数
/
***接收参数*/
private
H5Params
h5Params
;
private
H5Params
h5Params
;
/***分享到发布需要的url*/
protected
String
purl
;
//分享到发布需要的url
protected
String
purl
;
protected
String
shareUrl
;
protected
String
shareUrl
;
protected
String
shareTitle
;
protected
String
shareTitle
;
protected
String
shareDesc
;
protected
String
shareDesc
;
...
@@ -121,11 +120,9 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -121,11 +120,9 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
protected
ValueCallback
<
Uri
>
uploadMessage
;
protected
ValueCallback
<
Uri
>
uploadMessage
;
protected
ValueCallback
<
Uri
[]>
uploadMessageAboveL
;
protected
ValueCallback
<
Uri
[]>
uploadMessageAboveL
;
private
boolean
shouldClearHistory
=
false
;
private
boolean
shouldClearHistory
=
false
;
/
/要分享出去的url
/
***要分享出去的url*/
private
String
shareToUrl
;
private
String
shareToUrl
;
/**
/*** 拍照/选择文件请求码*/
* 拍照/选择文件请求码
*/
protected
final
static
int
FILE_CHOOSER_RESULT_CODE
=
10000
;
protected
final
static
int
FILE_CHOOSER_RESULT_CODE
=
10000
;
protected
IJavascriptHandler
jtoJHandle
;
protected
IJavascriptHandler
jtoJHandle
;
...
@@ -133,37 +130,46 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -133,37 +130,46 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
private
LinearLayout
llWebView
;
private
LinearLayout
llWebView
;
/***加载url开始的时间*/
private
long
loadStartTime
=
0
;
//加载url开始的时间
private
long
loadStartTime
=
0
;
private
long
initStartTime
=
0
;
//webview初始化开始的时间
/***webview初始化开始的时间*/
private
long
initStartTime
=
0
;
private
long
initDuration
=
0
;
//webview初始化耗时
/***webview初始化耗时*/
private
long
loadDuration
=
0
;
//加载url耗时
private
long
initDuration
=
0
;
/***加载url耗时*/
private
long
loadDuration
=
0
;
private
NetWorkSpeedUtils
workSpeedUtils
;
private
NetWorkSpeedUtils
workSpeedUtils
;
private
boolean
hasLoad
=
false
;
//部分机型中webview加载完成回调方法会调用多次,增加本地标识符
/***部分机型中webview加载完成回调方法会调用多次,增加本地标识符*/
//是否跳转到动态
private
boolean
hasLoad
=
false
;
/***是否跳转到动态*/
private
boolean
isToTrend
=
false
;
private
boolean
isToTrend
=
false
;
private
LogoLoadingView
v_loading
;
private
LogoLoadingView
v_loading
;
/***是否超时*/
private
boolean
isTimeOut
=
false
;
//是否超时
private
boolean
isTimeOut
=
false
;
private
Handler
mTimeOutHandler
=
null
;
//超时处理handler
/***超时处理handler*/
private
int
timeOutLong
=
15000
;
//超时限定时间
private
Handler
mTimeOutHandler
=
null
;
private
int
TIME_OUT_TYPE
=
0x1000
;
//超时消息
/***超时限定时间*/
// 设置微信 H5 支付调用 loadDataWithBaseURL 的标记位,避免循环调用,
private
int
timeOutLong
=
15000
;
// 再次进入微信 H5 支付流程时记得重置此标记位状态
/***超时消息*/
private
int
TIME_OUT_TYPE
=
0x1000
;
/**
* 设置微信 H5 支付调用 loadDataWithBaseURL 的标记位,避免循环调用,
* 再次进入微信 H5 支付流程时记得重置此标记位状态
*/
boolean
firstVisitWXH5PayUrl
=
true
;
boolean
firstVisitWXH5PayUrl
=
true
;
private
String
WX_H5_PAY_HOST
=
"http://testnewm.ydl.com"
;
private
String
WX_H5_PAY_HOST
=
"http://testnewm.ydl.com"
;
/**
/*** 当前页面类型*/
* 当前页面类型
*/
private
int
selfPageType
=
-
1
;
private
int
selfPageType
=
-
1
;
private
int
TEST_QUESTIONS_PAGE_TYPE
=
1000001
;
//测评题页面
/***测评题页面*/
private
int
TEST_QUESTIONS_PAGE_TYPE
=
1000001
;
private
YDLCommonDialog
testQuestionsPageReturnDialog
=
null
;
private
YDLCommonDialog
testQuestionsPageReturnDialog
=
null
;
private
boolean
isTitleBarCover
=
false
;
// 标题栏是否被覆盖隐藏
/*** 标题栏是否被覆盖隐藏*/
private
static
IWebRightClickListener
webRightClickListener
=
null
;
private
boolean
isTitleBarCover
=
false
;
private
static
IWebRightClickListener
webRightClickListener
=
null
;
/**
/**
* 设置当前h5页面类型
* 设置当前h5页面类型
*
*
...
@@ -202,7 +208,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -202,7 +208,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
context
.
startActivity
(
intent
);
context
.
startActivity
(
intent
);
}
}
public
static
void
start
(
Context
context
,
H5Params
h5Params1
,
String
rightText
,
IWebRightClickListener
listener
)
{
public
static
void
start
(
Context
context
,
H5Params
h5Params1
,
String
rightText
,
IWebRightClickListener
listener
)
{
if
(
null
==
context
)
{
if
(
null
==
context
)
{
return
;
return
;
}
}
...
@@ -238,9 +244,6 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -238,9 +244,6 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
intent
.
putExtra
(
PARAMS
,
h5Params1
);
intent
.
putExtra
(
PARAMS
,
h5Params1
);
context
.
startActivity
(
intent
);
context
.
startActivity
(
intent
);
// if (startType == 1) {
// context.overridePendingTransition(R.anim.activity_open_up, 0);
// }
}
}
public
static
void
startForResult
(
Activity
context
,
H5Params
h5Params1
,
int
requestCode
)
{
public
static
void
startForResult
(
Activity
context
,
H5Params
h5Params1
,
int
requestCode
)
{
...
@@ -299,9 +302,10 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -299,9 +302,10 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
* 15秒后发送一条消息通知展示无网络页面
* 15秒后发送一条消息通知展示无网络页面
*/
*/
private
void
sendNetLossMessage
()
{
private
void
sendNetLossMessage
()
{
if
(
null
!=
mTimeOutHandler
)
if
(
null
!=
mTimeOutHandler
)
{
mTimeOutHandler
.
sendEmptyMessageDelayed
(
TIME_OUT_TYPE
,
timeOutLong
);
mTimeOutHandler
.
sendEmptyMessageDelayed
(
TIME_OUT_TYPE
,
timeOutLong
);
}
}
}
/**
/**
* 取消预定15秒后发送的消息
* 取消预定15秒后发送的消息
...
@@ -372,6 +376,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -372,6 +376,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
rightText
=
getIntent
().
getStringExtra
(
"rightText"
);
rightText
=
getIntent
().
getStringExtra
(
"rightText"
);
if
(
h5Params
==
null
)
{
if
(
h5Params
==
null
)
{
ToastUtil
.
toastShort
(
"参数错误"
);
ToastUtil
.
toastShort
(
"参数错误"
);
AliYunRichLogsHelper
.
Companion
.
getInstance
().
sendRichLog
(
AliYunLogConfig
.
WEB
,
"参数错误 Params == null"
);
finish
();
finish
();
return
;
return
;
}
}
...
@@ -387,7 +392,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -387,7 +392,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
tb_title
.
setOnRightTextClick
((
view
,
isActive
)
->
{
tb_title
.
setOnRightTextClick
((
view
,
isActive
)
->
{
finish
();
finish
();
});
});
}
else
if
(!
TextUtils
.
isEmpty
(
rightText
)&&
webRightClickListener
!=
null
)
{
}
else
if
(!
TextUtils
.
isEmpty
(
rightText
)
&&
webRightClickListener
!=
null
)
{
tb_title
.
setmRightText
(
rightText
);
tb_title
.
setmRightText
(
rightText
);
tb_title
.
setOnRightTextClick
((
view
,
isActive
)
->
{
tb_title
.
setOnRightTextClick
((
view
,
isActive
)
->
{
webRightClickListener
.
onCLick
(
view
);
webRightClickListener
.
onCLick
(
view
);
...
@@ -438,7 +443,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -438,7 +443,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
if
(
null
!=
uri
&&
!
TextUtils
.
isEmpty
(
host
)
&&
host
.
contains
(
"nodeapi.ydl"
))
{
if
(
null
!=
uri
&&
!
TextUtils
.
isEmpty
(
host
)
&&
host
.
contains
(
"nodeapi.ydl"
))
{
//马亮的需求,在nodeapi.ydl.com 地址后面拼上公共参数,用于判断是否为app
//马亮的需求,在nodeapi.ydl.com 地址后面拼上公共参数,用于判断是否为app
String
uriAppendSuffix
=
jtoJHandle
.
getUriAppendSuffix
();
String
uriAppendSuffix
=
jtoJHandle
.
getUriAppendSuffix
();
resultUrl
=
WebUrlParamsUtils
.
getSuffix
(
url
,
uriAppendSuffix
);
resultUrl
=
WebUrlParamsUtils
.
getSuffix
(
url
,
uriAppendSuffix
);
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
...
@@ -479,7 +484,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -479,7 +484,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
hideJavaTitleBar
();
hideJavaTitleBar
();
}
}
}
catch
(
NumberFormatException
e
)
{
}
catch
(
NumberFormatException
e
)
{
e
.
printStackTrace
();
}
}
}
}
}
}
...
@@ -616,15 +621,18 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -616,15 +621,18 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
tb_title
.
setImage
(
getResources
().
getDrawable
(
R
.
drawable
.
web_common_back
));
tb_title
.
setImage
(
getResources
().
getDrawable
(
R
.
drawable
.
web_common_back
));
WebSettings
setting
=
wv_content
.
getSettings
();
WebSettings
setting
=
wv_content
.
getSettings
();
setting
.
setJavaScriptEnabled
(
true
);
//支持js
//支持js
setting
.
setDefaultTextEncodingName
(
"GBK"
);
//设置字符编码
setting
.
setJavaScriptEnabled
(
true
);
//设置字符编码
setting
.
setDefaultTextEncodingName
(
"GBK"
);
setting
.
setDomStorageEnabled
(
true
);
setting
.
setDomStorageEnabled
(
true
);
String
appCachePath
=
getApplicationContext
().
getCacheDir
().
getAbsolutePath
();
String
appCachePath
=
getApplicationContext
().
getCacheDir
().
getAbsolutePath
();
setting
.
setAppCachePath
(
appCachePath
);
setting
.
setAppCachePath
(
appCachePath
);
setting
.
setAllowFileAccessFromFileURLs
(
true
);
setting
.
setAllowFileAccessFromFileURLs
(
true
);
setting
.
setAppCacheEnabled
(
true
);
setting
.
setAppCacheEnabled
(
true
);
setting
.
setAllowFileAccess
(
true
);
setting
.
setAllowFileAccess
(
true
);
setting
.
setBlockNetworkImage
(
false
);
// 解决图片不显示
// 解决图片不显示
setting
.
setBlockNetworkImage
(
false
);
//设置自动缩放 degmi的测试题不能设置 不然界面展示有问题
//设置自动缩放 degmi的测试题不能设置 不然界面展示有问题
if
(
h5Params
.
getUrl
().
contains
(
"l.yidianling.com"
)
||
h5Params
.
getUrl
().
contains
(
"l.ydl.com"
))
{
if
(
h5Params
.
getUrl
().
contains
(
"l.yidianling.com"
)
||
h5Params
.
getUrl
().
contains
(
"l.ydl.com"
))
{
//l.yidianling.com 这个域名 只有云凤蝶使用 这个平台需要设置自适应 不然显示有问题
//l.yidianling.com 这个域名 只有云凤蝶使用 这个平台需要设置自适应 不然显示有问题
...
@@ -641,8 +649,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -641,8 +649,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
WebModularServiceUtils
.
Companion
.
startMain
(
NewH5Activity
.
this
);
WebModularServiceUtils
.
Companion
.
startMain
(
NewH5Activity
.
this
);
finish
();
finish
();
}
}
else
{
else
{
if
(
ActivityManager
.
Companion
.
getInstance
().
getActivitys
().
size
()
==
1
)
{
if
(
ActivityManager
.
Companion
.
getInstance
().
getActivitys
().
size
()
==
1
)
{
WebModularServiceUtils
.
Companion
.
startMain
(
NewH5Activity
.
this
);
WebModularServiceUtils
.
Companion
.
startMain
(
NewH5Activity
.
this
);
}
}
...
@@ -666,8 +673,9 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -666,8 +673,9 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
if
(
newProgress
==
100
)
{
if
(
newProgress
==
100
)
{
wv_content
.
getProgressbar
().
setVisibility
(
GONE
);
wv_content
.
getProgressbar
().
setVisibility
(
GONE
);
}
else
{
}
else
{
if
(
wv_content
.
getProgressbar
().
getVisibility
()
==
GONE
)
if
(
wv_content
.
getProgressbar
().
getVisibility
()
==
GONE
)
{
wv_content
.
getProgressbar
().
setVisibility
(
VISIBLE
);
wv_content
.
getProgressbar
().
setVisibility
(
VISIBLE
);
}
wv_content
.
getProgressbar
().
setProgress
(
newProgress
);
wv_content
.
getProgressbar
().
setProgress
(
newProgress
);
}
}
super
.
onProgressChanged
(
view
,
newProgress
);
super
.
onProgressChanged
(
view
,
newProgress
);
...
@@ -682,6 +690,10 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -682,6 +690,10 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
safeTipView
.
updateVisibility
();
safeTipView
.
updateVisibility
();
safeTipView
.
setLocation
(
"orderList"
);
safeTipView
.
setLocation
(
"orderList"
);
}
}
if
(
title
.
contains
(
"404"
)
||
title
.
contains
(
"500"
)
||
title
.
contains
(
"Error"
))
{
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
WEB
,
"页面错误 : url:"
+
view
.
getUrl
()
+
"title:"
+
title
);
}
}
}
// For Android < 3.0
// For Android < 3.0
...
@@ -697,12 +709,14 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -697,12 +709,14 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
}
}
//For Android >= 4.1
//For Android >= 4.1
@Override
public
void
openFileChooser
(
ValueCallback
<
Uri
>
valueCallback
,
String
acceptType
,
String
capture
)
{
public
void
openFileChooser
(
ValueCallback
<
Uri
>
valueCallback
,
String
acceptType
,
String
capture
)
{
uploadMessage
=
valueCallback
;
uploadMessage
=
valueCallback
;
openImageChooserActivity
();
openImageChooserActivity
();
}
}
// For Android >= 5.0
// For Android >= 5.0
@Override
public
boolean
onShowFileChooser
(
WebView
webView
,
ValueCallback
<
Uri
[]>
filePathCallback
,
WebChromeClient
.
FileChooserParams
fileChooserParams
)
{
public
boolean
onShowFileChooser
(
WebView
webView
,
ValueCallback
<
Uri
[]>
filePathCallback
,
WebChromeClient
.
FileChooserParams
fileChooserParams
)
{
uploadMessageAboveL
=
filePathCallback
;
uploadMessageAboveL
=
filePathCallback
;
openImageChooserActivity
();
openImageChooserActivity
();
...
@@ -721,15 +735,13 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -721,15 +735,13 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
return
overridePayUrl
;
return
overridePayUrl
;
}
}
if
(!
TextUtils
.
isEmpty
(
url
)
&&
url
.
endsWith
(
".apk"
))
{
if
(!
TextUtils
.
isEmpty
(
url
)
&&
url
.
endsWith
(
".apk"
))
{
Intent
intent
=
new
Intent
(
Intent
.
ACTION_VIEW
,
Uri
.
parse
(
url
));
Intent
intent
=
new
Intent
(
Intent
.
ACTION_VIEW
,
Uri
.
parse
(
url
));
startActivity
(
intent
);
startActivity
(
intent
);
}
else
if
(!
TextUtils
.
isEmpty
(
url
)
&&
url
.
startsWith
(
"http"
))
{
}
else
if
(!
TextUtils
.
isEmpty
(
url
)
&&
url
.
startsWith
(
"http"
))
{
loadUrl
(
setUrlHeightParams
(
url
));
loadUrl
(
setUrlHeightParams
(
url
));
}
else
{
}
else
{
if
(
YDLRouterManager
.
Companion
.
router
(
url
))
{
if
(!
YDLRouterManager
.
Companion
.
router
(
url
))
{
}
else
{
loadUrl
(
setUrlHeightParams
(
url
));
loadUrl
(
setUrlHeightParams
(
url
));
}
}
}
}
...
@@ -772,6 +784,8 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -772,6 +784,8 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
@Override
@Override
public
void
onReceivedError
(
WebView
view
,
int
errorCode
,
String
description
,
String
failingUrl
)
{
public
void
onReceivedError
(
WebView
view
,
int
errorCode
,
String
description
,
String
failingUrl
)
{
super
.
onReceivedError
(
view
,
errorCode
,
description
,
failingUrl
);
super
.
onReceivedError
(
view
,
errorCode
,
description
,
failingUrl
);
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
WEB
,
"onReceivedError---- errorCode: "
+
errorCode
+
"----failingUrl:"
+
failingUrl
);
loadFailed
=
true
;
loadFailed
=
true
;
tb_title
.
setTitle
(
"加载中"
);
tb_title
.
setTitle
(
"加载中"
);
if
(
wv_content
!=
null
)
{
if
(
wv_content
!=
null
)
{
...
@@ -803,20 +817,16 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -803,20 +817,16 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
return
overridePayUrl
;
return
overridePayUrl
;
}
}
if
(!
TextUtils
.
isEmpty
(
url
)
&&
url
.
endsWith
(
".apk"
))
{
if
(!
TextUtils
.
isEmpty
(
url
)
&&
url
.
endsWith
(
".apk"
))
{
Intent
intent
=
new
Intent
(
Intent
.
ACTION_VIEW
,
Uri
.
parse
(
url
));
Intent
intent
=
new
Intent
(
Intent
.
ACTION_VIEW
,
Uri
.
parse
(
url
));
startActivity
(
intent
);
startActivity
(
intent
);
}
else
if
(!
TextUtils
.
isEmpty
(
url
)
&&
url
.
startsWith
(
"http"
))
{
}
else
if
(!
TextUtils
.
isEmpty
(
url
)
&&
url
.
startsWith
(
"http"
))
{
loadUrl
(
setUrlHeightParams
(
url
));
loadUrl
(
setUrlHeightParams
(
url
));
}
else
{
}
else
{
if
(
YDLRouterManager
.
Companion
.
router
(
url
))
{
if
(!
YDLRouterManager
.
Companion
.
router
(
url
))
{
}
else
{
loadUrl
(
setUrlHeightParams
(
url
));
loadUrl
(
setUrlHeightParams
(
url
));
}
}
}
}
return
true
;
return
true
;
}
}
...
@@ -844,8 +854,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -844,8 +854,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
tb_title
.
setImageListener
(
v
->
{
tb_title
.
setImageListener
(
v
->
{
if
(
wv_content
.
canGoBack
())
{
if
(
wv_content
.
canGoBack
())
{
wv_content
.
goBack
();
wv_content
.
goBack
();
}
}
else
{
else
{
finish
();
finish
();
}
}
});
});
...
@@ -859,8 +868,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -859,8 +868,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
if
(
h5Params
.
getShowUrlTitle
())
{
if
(
h5Params
.
getShowUrlTitle
())
{
WebModularServiceUtils
.
Companion
.
startMain
(
NewH5Activity
.
this
);
WebModularServiceUtils
.
Companion
.
startMain
(
NewH5Activity
.
this
);
finish
();
finish
();
}
}
else
{
else
{
if
(
ActivityManager
.
Companion
.
getInstance
().
getActivitys
().
size
()
==
1
)
{
if
(
ActivityManager
.
Companion
.
getInstance
().
getActivitys
().
size
()
==
1
)
{
WebModularServiceUtils
.
Companion
.
startMain
(
NewH5Activity
.
this
);
WebModularServiceUtils
.
Companion
.
startMain
(
NewH5Activity
.
this
);
}
}
...
@@ -887,6 +895,8 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -887,6 +895,8 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
@Override
@Override
public
void
onReceivedError
(
WebView
view
,
int
errorCode
,
String
description
,
String
failingUrl
)
{
public
void
onReceivedError
(
WebView
view
,
int
errorCode
,
String
description
,
String
failingUrl
)
{
super
.
onReceivedError
(
view
,
errorCode
,
description
,
failingUrl
);
super
.
onReceivedError
(
view
,
errorCode
,
description
,
failingUrl
);
AliYunRichLogsHelper
.
Companion
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
WEB
,
"onReceivedError---- errorCode: "
+
errorCode
+
"----failingUrl:"
+
failingUrl
);
tb_title
.
setTitle
(
"加载中"
);
tb_title
.
setTitle
(
"加载中"
);
loadFailed
=
true
;
loadFailed
=
true
;
if
(
wv_content
!=
null
)
{
if
(
wv_content
!=
null
)
{
...
@@ -909,8 +919,9 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -909,8 +919,9 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
});
});
}
}
wv_content
.
setDownloadListener
((
url
,
userAgent
,
contentDisposition
,
mimetype
,
contentLength
)
->
{
wv_content
.
setDownloadListener
((
url
,
userAgent
,
contentDisposition
,
mimetype
,
contentLength
)
->
{
if
(
url
!=
null
&&
url
.
startsWith
(
"http://"
))
if
(
url
!=
null
&&
url
.
startsWith
(
"http://"
))
{
startActivity
(
new
Intent
(
Intent
.
ACTION_VIEW
,
Uri
.
parse
(
url
)));
startActivity
(
new
Intent
(
Intent
.
ACTION_VIEW
,
Uri
.
parse
(
url
)));
}
});
});
initDuration
=
System
.
currentTimeMillis
()
-
initStartTime
;
initDuration
=
System
.
currentTimeMillis
()
-
initStartTime
;
workSpeedUtils
=
new
NetWorkSpeedUtils
(
this
);
workSpeedUtils
=
new
NetWorkSpeedUtils
(
this
);
...
@@ -1079,7 +1090,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -1079,7 +1090,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
return
;
return
;
}
}
String
resultUrl
=
h5Params
.
getSuffix
()
?
WebUrlParamsUtils
.
getSuffix
(
url
,
jtoJHandle
.
getUriAppendSuffix
())
:
url
;
String
resultUrl
=
h5Params
.
getSuffix
()
?
WebUrlParamsUtils
.
getSuffix
(
url
,
jtoJHandle
.
getUriAppendSuffix
())
:
url
;
Log
.
e
(
"AAAA"
,
resultUrl
);
Log
.
e
(
"AAAA"
,
resultUrl
);
wv_content
.
loadUrl
(
resultUrl
);
wv_content
.
loadUrl
(
resultUrl
);
pointBI
(
resultUrl
);
pointBI
(
resultUrl
);
...
@@ -1097,7 +1108,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -1097,7 +1108,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
private
void
initHead
()
{
private
void
initHead
()
{
// header
// header
final
MaterialHeader
header
=
new
MaterialHeader
(
this
);
final
MaterialHeader
header
=
new
MaterialHeader
(
this
);
int
[]
colors
=
new
int
[]{
getResources
().
getColor
(
R
.
color
.
platform_main_theme
)};
int
[]
colors
=
new
int
[]{
getResources
().
getColor
(
R
.
color
.
platform_main_theme
)};
header
.
setColorSchemeColors
(
colors
);
header
.
setColorSchemeColors
(
colors
);
header
.
setLayoutParams
(
new
PtrFrameLayout
.
LayoutParams
(-
1
,
-
2
));
header
.
setLayoutParams
(
new
PtrFrameLayout
.
LayoutParams
(-
1
,
-
2
));
int
padding
=
(
int
)
getResources
().
getDimension
(
R
.
dimen
.
platform_default_dis_size
);
int
padding
=
(
int
)
getResources
().
getDimension
(
R
.
dimen
.
platform_default_dis_size
);
...
@@ -1155,8 +1166,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -1155,8 +1166,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
if
(
h5Params
.
isSplash
())
{
if
(
h5Params
.
isSplash
())
{
WebModularServiceUtils
.
Companion
.
startMain
(
NewH5Activity
.
this
);
WebModularServiceUtils
.
Companion
.
startMain
(
NewH5Activity
.
this
);
finish
();
finish
();
}
}
else
{
else
{
if
(
ActivityManager
.
Companion
.
getInstance
().
getActivitys
().
size
()
==
1
)
{
if
(
ActivityManager
.
Companion
.
getInstance
().
getActivitys
().
size
()
==
1
)
{
WebModularServiceUtils
.
Companion
.
startMain
(
NewH5Activity
.
this
);
WebModularServiceUtils
.
Companion
.
startMain
(
NewH5Activity
.
this
);
}
}
...
@@ -1213,10 +1223,15 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -1213,10 +1223,15 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
startActivityForResult
(
Intent
.
createChooser
(
i
,
"Image Chooser"
),
FILE_CHOOSER_RESULT_CODE
);
startActivityForResult
(
Intent
.
createChooser
(
i
,
"Image Chooser"
),
FILE_CHOOSER_RESULT_CODE
);
}
}
//最后在OnActivityResult中接受返回的结果
/**
* 最后在OnActivityResult中接受返回的结果
*/
@Override
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
Intent
data
)
{
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
Intent
data
)
{
if
(
requestCode
==
FILE_CHOOSER_RESULT_CODE
)
{
if
(
requestCode
==
FILE_CHOOSER_RESULT_CODE
)
{
if
(
null
==
uploadMessage
&&
null
==
uploadMessageAboveL
)
return
;
if
(
null
==
uploadMessage
&&
null
==
uploadMessageAboveL
)
{
return
;
}
Uri
result
=
data
==
null
||
resultCode
!=
RESULT_OK
?
null
:
data
.
getData
();
Uri
result
=
data
==
null
||
resultCode
!=
RESULT_OK
?
null
:
data
.
getData
();
if
(
uploadMessageAboveL
!=
null
)
{
if
(
uploadMessageAboveL
!=
null
)
{
onActivityResultAboveL
(
requestCode
,
resultCode
,
data
);
onActivityResultAboveL
(
requestCode
,
resultCode
,
data
);
...
@@ -1250,8 +1265,9 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -1250,8 +1265,9 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
@TargetApi
(
Build
.
VERSION_CODES
.
LOLLIPOP
)
@TargetApi
(
Build
.
VERSION_CODES
.
LOLLIPOP
)
private
void
onActivityResultAboveL
(
int
requestCode
,
int
resultCode
,
Intent
intent
)
{
private
void
onActivityResultAboveL
(
int
requestCode
,
int
resultCode
,
Intent
intent
)
{
if
(
requestCode
!=
FILE_CHOOSER_RESULT_CODE
||
uploadMessageAboveL
==
null
)
if
(
requestCode
!=
FILE_CHOOSER_RESULT_CODE
||
uploadMessageAboveL
==
null
)
{
return
;
return
;
}
Uri
[]
results
=
null
;
Uri
[]
results
=
null
;
if
(
resultCode
==
Activity
.
RESULT_OK
)
{
if
(
resultCode
==
Activity
.
RESULT_OK
)
{
if
(
intent
!=
null
)
{
if
(
intent
!=
null
)
{
...
@@ -1264,10 +1280,11 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -1264,10 +1280,11 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
results
[
i
]
=
item
.
getUri
();
results
[
i
]
=
item
.
getUri
();
}
}
}
}
if
(
dataString
!=
null
)
if
(
dataString
!=
null
)
{
results
=
new
Uri
[]{
Uri
.
parse
(
dataString
)};
results
=
new
Uri
[]{
Uri
.
parse
(
dataString
)};
}
}
}
}
}
uploadMessageAboveL
.
onReceiveValue
(
results
);
uploadMessageAboveL
.
onReceiveValue
(
results
);
uploadMessageAboveL
=
null
;
uploadMessageAboveL
=
null
;
}
}
...
@@ -1278,8 +1295,6 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -1278,8 +1295,6 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
/**
/**
* 判断是否是测评题页面,如果是,则走测评题页面的返回逻辑
* 判断是否是测评题页面,如果是,则走测评题页面的返回逻辑
*/
*/
if
(
keyCode
==
KeyEvent
.
KEYCODE_BACK
)
{
if
(
keyCode
==
KeyEvent
.
KEYCODE_BACK
)
{
/**
/**
* 是否是测评题目页面
* 是否是测评题目页面
...
@@ -1358,7 +1373,9 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -1358,7 +1373,9 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
}
else
{
}
else
{
tb_title
.
setImage_right
(
getResources
().
getDrawable
(
R
.
drawable
.
web_common_notice_more_un
));
tb_title
.
setImage_right
(
getResources
().
getDrawable
(
R
.
drawable
.
web_common_notice_more_un
));
}
}
}
catch
(
Exception
e
)
{}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
if
(
backgroundView
.
getVisibility
()
==
View
.
VISIBLE
)
{
if
(
backgroundView
.
getVisibility
()
==
View
.
VISIBLE
)
{
backgroundView
.
setVisibility
(
View
.
GONE
);
backgroundView
.
setVisibility
(
View
.
GONE
);
...
@@ -1387,19 +1404,18 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
...
@@ -1387,19 +1404,18 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
if
(
params
!=
null
&&
!
TextUtils
.
isEmpty
(
params
.
getCourse_id
()))
{
if
(
params
!=
null
&&
!
TextUtils
.
isEmpty
(
params
.
getCourse_id
()))
{
dialog
=
YDLShareDialog
.
Companion
.
style5
(
this
,
shareTitle
,
shareUrl
,
shareDesc
,
cover
);
dialog
=
YDLShareDialog
.
Companion
.
style5
(
this
,
shareTitle
,
shareUrl
,
shareDesc
,
cover
);
}
else
{
}
else
{
if
(!
H5RouterUtils
.
INSTANCE
.
isDependByClz
(
IDynamicService
.
class
))
{
if
(!
H5RouterUtils
.
INSTANCE
.
isDependByClz
(
IDynamicService
.
class
))
{
//如果未引入动态模块的话,隐藏分享至动态按钮
//如果未引入动态模块的话,隐藏分享至动态按钮
dialog
=
YDLShareDialog
.
Companion
.
style4
(
this
,
shareTitle
,
shareUrl
,
shareDesc
,
cover
);
dialog
=
YDLShareDialog
.
Companion
.
style4
(
this
,
shareTitle
,
shareUrl
,
shareDesc
,
cover
);
}
else
{
}
else
{
dialog
=
YDLShareDialog
.
Companion
.
style1
(
this
,
shareTitle
,
shareUrl
,
shareDesc
,
cover
,
minPath
,
minId
);
dialog
=
YDLShareDialog
.
Companion
.
style1
(
this
,
shareTitle
,
shareUrl
,
shareDesc
,
cover
,
minPath
,
minId
);
}
}
}
}
dialog
.
setCallBack
(
type
->
{
dialog
.
setCallBack
(
type
->
{
if
(
1
==
type
)
{
if
(
1
==
type
)
{
if
(!
WebModularServiceUtils
.
Companion
.
getUserService
().
loginByOneKeyLogin
(
NewH5Activity
.
this
,
true
))
{
if
(!
WebModularServiceUtils
.
Companion
.
getUserService
().
loginByOneKeyLogin
(
NewH5Activity
.
this
,
true
))
{
isToTrend
=
true
;
isToTrend
=
true
;
}
else
{
}
else
{
//分享到心事动态
//分享到心事动态
...
...
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