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
19a761e2
Commit
19a761e2
authored
Mar 07, 2020
by
严久程
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
声网
parent
ad1e5e44
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
320 additions
and
287 deletions
+320
-287
build.gradle
app/build.gradle
+1
-1
MainActivity.kt
app/src/main/java/com/ydl/component/MainActivity.kt
+7
-5
config.gradle
config.gradle
+3
-3
build.gradle
m-audioim/build.gradle
+1
-1
AudioHomeActivity.kt
m-audioim/src/main/java/com/ydl/audioim/AudioHomeActivity.kt
+89
-60
audioim_activity_audio_home.xml
m-audioim/src/main/res/layout/audioim_activity_audio_home.xml
+219
-217
No files found.
app/build.gradle
View file @
19a761e2
...
...
@@ -183,7 +183,7 @@ dependencies {
api
project
(
':m-tests'
)
// api project(':m-consultant')
implementation
modularPublication
(
'com.ydl:m-consultant-api'
)
//
implementation project(':m-confide')
implementation
project
(
':m-confide'
)
api
project
(
':m-home'
)
...
...
app/src/main/java/com/ydl/component/MainActivity.kt
View file @
19a761e2
...
...
@@ -15,9 +15,11 @@ import com.alibaba.android.arouter.facade.annotation.Route
import
com.alibaba.android.arouter.launcher.ARouter
import
com.tbruyelle.rxpermissions2.RxPermissions
import
com.umeng.analytics.MobclickAgent
import
com.ydl.audioim.YDLavManager
import
com.ydl.component.music.FragmentContainerActivity
import
com.ydl.component.mvp.DemoContract
import
com.ydl.component.mvp.DemoPresenter
import
com.ydl.confide.home.ConfideHomeActivity
//import com.ydl.confide.home.ConfideHomeActivity
import
com.ydl.media.audio.PlayService
import
com.ydl.ydl_router.manager.YDLRouterManager
...
...
@@ -109,14 +111,14 @@ class MainActivity : BaseLceActivity<DemoContract.View, DemoContract.Presenter>(
startActivity
(
Intent
(
this
,
NewTestHomeActivity
::
class
.
java
))
}
bt_to_confide
.
setOnClickListener
{
//
YDLavManager.instances.login("1193016")
//
startActivity(Intent(this, ConfideHomeActivity::class.java))
YDLavManager
.
instances
.
login
(
"1193016"
)
startActivity
(
Intent
(
this
,
ConfideHomeActivity
::
class
.
java
))
}
bt_to_muse
.
setOnClickListener
{
YDLRouterManager
.
router
(
IYDLRouterConstant
.
ROUTER_MUSE_CENTER
,
YDLRouterParams
().
putExtra
(
"url"
,
"http://video.yidianling.com/2019/05/30/746851e2f335baf5f44499f4fb49d3a9.mp3"
))
//
YDLRouterManager.router(IYDLRouterConstant.ROUTER_MUSE_CENTER,
//
YDLRouterParams().putExtra
//
("url", "http://video.yidianling.com/2019/05/30/746851e2f335baf5f44499f4fb49d3a9.mp3"))
// YDLRouterManager.router(
// IYDLRouterConstant.ROUTER_MUSE,
...
...
config.gradle
View file @
19a761e2
...
...
@@ -42,7 +42,7 @@ ext {
ydlPublishVersion
=
[
// -------------- 业务模块 --------------
//第三步 若干
"m-confide"
:
"0.0.48.
6
"
,
"m-confide"
:
"0.0.48.
7
"
,
"m-consultant"
:
"0.0.57.4"
,
"m-fm"
:
"0.0.29.3"
,
"m-user"
:
"0.0.58.2"
,
...
...
@@ -75,7 +75,7 @@ ext {
"ydl-webview"
:
"0.0.37.1"
,
"ydl-media"
:
"0.0.20"
,
"ydl-pay"
:
"0.0.17"
,
"m-audioim"
:
"0.0.48.
1
"
,
"m-audioim"
:
"0.0.48.
2
"
,
"ydl-flutter-base"
:
"0.0.10.9"
,
//以下 几乎不会动
...
...
@@ -121,7 +121,7 @@ ext {
"ydl-webview"
:
"0.0.37.1"
,
"ydl-media"
:
"0.0.20"
,
"ydl-pay"
:
"0.0.17"
,
"m-audioim"
:
"0.0.48.
1
"
,
"m-audioim"
:
"0.0.48.
2
"
,
"ydl-flutter-base"
:
"0.0.10.9"
,
//以下 几乎不会动
...
...
m-audioim/build.gradle
View file @
19a761e2
...
...
@@ -75,7 +75,7 @@ dependencies {
kapt
"com.alibaba:arouter-compiler:$arouter_compiler"
api
"com.alibaba:arouter-api:$arouter_api"
api
(
'com.ydl:ydl-av:1.
1.9
@aar'
){
api
(
'com.ydl:ydl-av:1.
2.0
@aar'
){
transitive
=
true
}
...
...
m-audioim/src/main/java/com/ydl/audioim/AudioHomeActivity.kt
View file @
19a761e2
...
...
@@ -40,14 +40,10 @@ import com.ydl.webview.H5Params
import
com.ydl.webview.NewH5Activity
import
com.ydl.webview.RefreshWebEvent
import
com.ydl.ydl_av.chat.bean.AudioMessageBean
import
com.ydl.ydl_av.messge_service.ChannelManager
import
com.ydl.ydl_av.messge_service.YDLRTMClient
import
com.ydl.ydl_av.messge_service.bean.RTMMesssage
import
com.ydl.ydl_av.messge_service.callback.CallListener
import
com.ydl.ydl_av.messge_service.callback.ChannelListener
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.ChannelMember
import
com.ydl.ydl_av.voice.listener.IYDLVoiceEventHandler
import
com.ydl.ydl_av.voice.manager.YDLVoiceManager
import
com.ydl.ydl_image.config.SimpleImageOpConfiger
...
...
@@ -62,6 +58,7 @@ import com.ydl.ydlcommon.utils.remind.ToastHelper
import
com.yidianling.user.api.service.IUserService
import
de.greenrobot.event.EventBus
import
io.agora.rtc.IRtcEngineEventHandler
import
io.agora.rtm.RtmStatusCode
import
io.reactivex.Observable
import
io.reactivex.android.schedulers.AndroidSchedulers
import
io.reactivex.disposables.Disposable
...
...
@@ -78,7 +75,8 @@ import java.util.concurrent.TimeUnit
* @date 2018/10/30
*/
@Route
(
path
=
"/av/AudioHomeActivity"
)
class
AudioHomeActivity
:
BaseMvpActivity
<
IAudioHomeActivityContract
.
View
,
IAudioHomeActivityContract
.
Presenter
>(),
class
AudioHomeActivity
:
BaseMvpActivity
<
IAudioHomeActivityContract
.
View
,
IAudioHomeActivityContract
.
Presenter
>(),
IAudioHomeActivityContract
.
View
,
SensorEventListener
{
/**
...
...
@@ -158,6 +156,7 @@ class AudioHomeActivity : BaseMvpActivity<IAudioHomeActivityContract.View, IAudi
//电源锁
private
var
localWakeLock
:
PowerManager
.
WakeLock
?
=
null
private
var
sensorManager
:
SensorManager
?
=
null
private
var
sendDoctocrMsg
:
String
?
=
null
private
var
axbPhone
:
String
?
=
null
//是否跳转到拨号页面
private
var
isJumpDail
:
Boolean
=
false
...
...
@@ -168,7 +167,7 @@ class AudioHomeActivity : BaseMvpActivity<IAudioHomeActivityContract.View, IAudi
private
var
voiceManage
:
YDLVoiceManager
?
=
null
//频道管理器
private
var
channelManager
:
ChannelManager
?
=
null
//
private var channelManager: ChannelManager? = null
private
var
isLeavelChannel
:
Boolean
=
false
private
var
hasUpLoadLog
=
false
...
...
@@ -257,7 +256,14 @@ class AudioHomeActivity : BaseMvpActivity<IAudioHomeActivityContract.View, IAudi
super
.
onJoinChannelSuccess
(
channel
,
uid
,
elapsed
)
LogUtil
.
e
(
"[agora]$uid 用户声网加入频道成功:channel=$channel"
)
//更新ui
onJoinChannelSuccess
()
// onJoinChannelSuccess()
//更新:现在专家先加入频道,所以不会有等待的过程,
runOnUiThread
{
//自己加入频道成功
connectSuccess
()
}
}
override
fun
onRtcStats
(
stats
:
IRtcEngineEventHandler
.
RtcStats
?)
{
...
...
@@ -302,11 +308,6 @@ class AudioHomeActivity : BaseMvpActivity<IAudioHomeActivityContract.View, IAudi
override
fun
onUserJoined
(
uid
:
Int
,
elapsed
:
Int
)
{
super
.
onUserJoined
(
uid
,
elapsed
)
LogUtil
.
e
(
"[agora]远端用户/主播加入频道回调"
)
runOnUiThread
{
//另一方加入频道成功
connectSuccess
()
}
}
override
fun
onUserOffline
(
uid
:
Int
,
elapsed
:
Int
)
{
...
...
@@ -333,7 +334,8 @@ class AudioHomeActivity : BaseMvpActivity<IAudioHomeActivityContract.View, IAudi
*/
private
fun
uploadException
(
message
:
String
,
zhu
:
String
=
""
)
{
var
time
:
String
=
(
System
.
currentTimeMillis
()
/
1000
).
toString
()
var
uid
:
String
=
ModularServiceManager
.
provide
(
IUserService
::
class
.
java
).
getUserInfo
()
?.
uid
!!
var
uid
:
String
=
ModularServiceManager
.
provide
(
IUserService
::
class
.
java
).
getUserInfo
()
?.
uid
!!
var
payLoad
=
PayLoad
(
channelId
?:
"0"
,
time
,
uid
,
"1"
,
"999"
,
message
)
var
connectException
=
ConnectExceptionCommand
(
time
+
zhu
,
"2"
,
"99"
,
payLoad
)
getPresenter
().
connectException
(
connectException
)
...
...
@@ -373,7 +375,10 @@ class AudioHomeActivity : BaseMvpActivity<IAudioHomeActivityContract.View, IAudi
sensorManager
=
getSystemService
(
Context
.
SENSOR_SERVICE
)
as
SensorManager
?
localPowerManager
=
getSystemService
(
POWER_SERVICE
)
as
PowerManager
?
localWakeLock
=
localPowerManager
!!
.
newWakeLock
(
PowerManager
.
PROXIMITY_SCREEN_OFF_WAKE_LOCK
,
"yidianling"
)
localWakeLock
=
localPowerManager
!!
.
newWakeLock
(
PowerManager
.
PROXIMITY_SCREEN_OFF_WAKE_LOCK
,
"yidianling"
)
}
private
fun
initIntentData
()
{
...
...
@@ -485,18 +490,21 @@ class AudioHomeActivity : BaseMvpActivity<IAudioHomeActivityContract.View, IAudi
private
fun
setCallBack
()
{
//RTC 回调
YDLRTMClient
.
instances
.
setCallListener
(
object
:
CallListener
{
override
fun
onCallRecivedByPeer
(
response
:
CallLocalResponse
?)
{
//返回给主叫:被叫已收到呼叫邀请
LogUtil
.
i
(
"[agora]${response?.calleeId}已收到呼叫邀请,频道号${response?.ChannelId}"
)
}
override
fun
onCallAccepted
(
response
:
CallLocalResponse
?)
{
override
fun
onCallAccepted
(
response
:
CallLocalResponse
?
,
msg
:
String
?
)
{
//返回给主叫
LogUtil
.
i
(
"[agora]${response?.calleeId}已接收呼叫邀请"
)
LogUtil
.
i
(
"[agora]${response?.calleeId}已接受呼叫邀请"
)
//加入声网频道时机修改:用户收到专家接受邀请的回调后再加入声网频道
joinChannel
()
}
override
fun
onCallRefused
(
response
:
CallLocalResponse
?)
{
override
fun
onCallRefused
(
response
:
CallLocalResponse
?
,
msg
:
String
?
)
{
//返回给主叫
LogUtil
.
i
(
"[agora]${response?.calleeId}已拒绝呼叫邀请"
)
ToastUtil
.
showToast
(
applicationContext
,
"对方已挂断"
)
...
...
@@ -510,9 +518,20 @@ class AudioHomeActivity : BaseMvpActivity<IAudioHomeActivityContract.View, IAudi
LogUtil
.
i
(
"[agora]主叫已取消呼叫邀请"
)
}
override
fun
onCallFailure
(
response
:
CallLocalResponse
?)
{
override
fun
onCallFailure
(
response
:
CallLocalResponse
?
,
errorCode
:
Int
)
{
//返回给主叫
LogUtil
.
i
(
"[agora]呼叫${response?.calleeId}用户失败:${response?.response}"
)
//专家离线或者30 秒后仍未收到专家响应,重新再邀请一次
when
(
errorCode
)
{
//被叫不在线 呼叫邀请发出 30 秒后被叫仍未 ACK 响应呼叫邀请
RtmStatusCode
.
LocalInvitationError
.
LOCAL_INVITATION_ERR_PEER_OFFLINE
,
RtmStatusCode
.
LocalInvitationError
.
LOCAL_INVITATION_ERR_PEER_NO_RESPONSE
->
{
YDLRTMClient
.
instances
.
call
(
listenerUid
!!
,
channelId
,
sendDoctocrMsg
)
}
RtmStatusCode
.
LocalInvitationError
.
LOCAL_INVITATION_ERR_INVITATION_EXPIRE
->
{
//呼叫邀请过期。被叫 ACK 响应呼叫邀请后 60 秒呼叫邀请未被取消、接受、拒绝,则呼叫邀请过期。
}
}
}
override
fun
onRemoteInvitationReceived
(
response
:
CallRemoteResponse
?)
{
...
...
@@ -535,7 +554,7 @@ class AudioHomeActivity : BaseMvpActivity<IAudioHomeActivityContract.View, IAudi
LogUtil
.
i
(
"[agora]主叫${response?.callerId}已取消呼叫邀请"
)
}
override
fun
onRemoteInvitationFailure
(
response
:
CallRemoteResponse
?)
{
override
fun
onRemoteInvitationFailure
(
response
:
CallRemoteResponse
?
,
errorCode
:
Int
)
{
//返回给被叫
LogUtil
.
i
(
"[agora]来自主叫${response?.callerId}的呼叫邀请进程失败:${response?.response}"
)
}
...
...
@@ -544,26 +563,27 @@ class AudioHomeActivity : BaseMvpActivity<IAudioHomeActivityContract.View, IAudi
LogUtil
.
i
(
"[agora]其它消息:${error}"
)
}
})
channelManager
=
YDLRTMClient
.
instances
.
createChannelManager
(
channelId
,
object
:
ChannelListener
{
override
fun
onMemberCountUpdated
(
memberCount
:
Int
)
{
//频道人数更新
LogUtil
.
i
(
"[agora]当前频道人数:$memberCount"
)
}
override
fun
onMessageReceived
(
message
:
RTMMesssage
?,
member
:
ChannelMember
?)
{
//接到频道消息
LogUtil
.
i
(
"[agora]接到${member?.channelId}频道${member?.userId}的消息:"
+
message
?.
text
)
}
override
fun
onMemberJoined
(
member
:
ChannelMember
?)
{
//新用户加入频道
LogUtil
.
i
(
"[agora]新用户加入${member?.channelId}频道:${member?.userId}"
)
}
override
fun
onMemberLeft
(
member
:
ChannelMember
?)
{
LogUtil
.
i
(
"[agora]有用户离开${member?.channelId}频道:${member?.userId}"
)
}
})
// channelManager = YDLRTMClient.instances.createChannelManager(channelId, object : ChannelListener {
// override fun onMemberCountUpdated(memberCount: Int) {
// //频道人数更新
// LogUtil.i("[agora]当前频道人数:$memberCount")
// }
//
// override fun onMessageReceived(message: RTMMesssage?, member: ChannelMember?) {
// //接到频道消息
// LogUtil.i("[agora]接到${member?.channelId}频道${member?.userId}的消息:" + message?.text)
// }
//
// override fun onMemberJoined(member: ChannelMember?) {
// //新用户加入频道
// LogUtil.i("[agora]新用户加入${member?.channelId}频道:${member?.userId}")
// }
//
// override fun onMemberLeft(member: ChannelMember?) {
// LogUtil.i("[agora]有用户离开${member?.channelId}频道:${member?.userId}")
// }
// })
}
/**
...
...
@@ -609,11 +629,13 @@ class AudioHomeActivity : BaseMvpActivity<IAudioHomeActivityContract.View, IAudi
null
,
channelId
)
YDLRTMClient
.
instances
.
call
(
listenerUid
!!
,
channelId
,
Gson
().
toJson
(
msgBean
))
//开始25s等待倒计时
sendDoctocrMsg
=
Gson
().
toJson
(
msgBean
)
YDLRTMClient
.
instances
.
call
(
listenerUid
!!
,
channelId
,
sendDoctocrMsg
)
//开始60s等待倒计时
Observable
.
interval
(
0
,
100
,
TimeUnit
.
MILLISECONDS
)
.
subscribeOn
(
Schedulers
.
computation
())
.
take
(
25
3
)
.
take
(
60
3
)
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
({
progress_view
.
setProgress
(
it
.
toFloat
()
/
2.5f
)
...
...
@@ -622,7 +644,6 @@ class AudioHomeActivity : BaseMvpActivity<IAudioHomeActivityContract.View, IAudi
},
{
waittingStatus
()
if
(!
isConnectSuccess
)
{
// iv_hang_up.setImageResource(R.mipmap.audioim_ico_close)
//关闭音乐
stopPlaying
()
//提示切换传统线路
...
...
@@ -634,8 +655,7 @@ class AudioHomeActivity : BaseMvpActivity<IAudioHomeActivityContract.View, IAudi
showChooseDialog
(
2
)
}
})
//加入频道135
joinChannel
()
//双重保险:加入频道成功,通过服务端发推送给专家
noticeServerPush
(
true
)
}
...
...
@@ -717,23 +737,24 @@ class AudioHomeActivity : BaseMvpActivity<IAudioHomeActivityContract.View, IAudi
*/
private
fun
showChooseDialog
(
type
:
Int
)
{
val
dialog
=
AxbConfirmDialog
(
mContext
,
type
,
object
:
AxbConfirmDialog
.
OnClickEnsureListener
{
override
fun
onClickEnsure
()
{
//是手动切换且连接成功
if
(
type
==
1
&&
isConnectSuccess
)
{
uploadException
(
""
,
"zhu"
)
val
dialog
=
AxbConfirmDialog
(
mContext
,
type
,
object
:
AxbConfirmDialog
.
OnClickEnsureListener
{
override
fun
onClickEnsure
()
{
//是手动切换且连接成功
if
(
type
==
1
&&
isConnectSuccess
)
{
uploadException
(
""
,
"zhu"
)
}
switchAXB
()
}
switchAXB
()
}
override
fun
onClose
()
{
// 如果声网未连接成功,切换axb的弹框是自动弹出的,当关闭弹框的时候,执行用户挂断操作
// 如果声网连接成功,点击右上角按钮弹出切换axb弹框,但是关闭时用户不执行挂断操作
if
(!
isConnectSuccess
)
{
userCloseCalling
()
override
fun
onClose
()
{
// 如果声网未连接成功,切换axb的弹框是自动弹出的,当关闭弹框的时候,执行用户挂断操作
// 如果声网连接成功,点击右上角按钮弹出切换axb弹框,但是关闭时用户不执行挂断操作
if
(!
isConnectSuccess
)
{
userCloseCalling
()
}
}
}
})
})
dialog
.
show
()
}
...
...
@@ -932,11 +953,19 @@ class AudioHomeActivity : BaseMvpActivity<IAudioHomeActivityContract.View, IAudi
if
(
localRemainTime
!!
<=
60
)
{
if
(
tv_change_route
.
isEnabled
)
{
tv_change_route
.
isEnabled
=
false
tv_change_route
.
setTextColor
(
ContextCompat
.
getColor
(
this
,
R
.
color
.
audioim_color_50ffffff
))
tv_change_route
.
setTextColor
(
ContextCompat
.
getColor
(
this
,
R
.
color
.
audioim_color_50ffffff
)
)
tv_change_route
.
setCompoundDrawablesWithIntrinsicBounds
(
null
,
null
,
ContextCompat
.
getDrawable
(
this
,
R
.
drawable
.
audioim_img_choose_arrow_unuse
),
ContextCompat
.
getDrawable
(
this
,
R
.
drawable
.
audioim_img_choose_arrow_unuse
),
null
)
}
...
...
m-audioim/src/main/res/layout/audioim_activity_audio_home.xml
View file @
19a761e2
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/platform_color_80353535"
>
<TextView
android:id=
"@+id/tv_change_route"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:layout_marginTop=
"25dp"
android:layout_marginRight=
"10dp"
android:background=
"?android:attr/selectableItemBackground"
android:drawableRight=
"@drawable/audioim_img_choose_arrow_unuse"
android:drawablePadding=
"6dp"
android:padding=
"5dp"
android:text=
"切换至传统电话"
android:textColor=
"@color/platform_color_50FFFFFF"
android:textSize=
"13sp"
android:visibility=
"visible"
/>
<RelativeLayout
android:id=
"@+id/rl_head"
android:layout_width=
"250dp"
android:layout_height=
"250dp"
android:layout_centerHorizontal=
"true"
android:layout_marginTop=
"74dp"
>
<com.ydl.ydlcommon.view.WaveView
android:id=
"@+id/wave_view"
android:layout_width=
"250dp"
android:layout_height=
"250dp"
android:layout_centerInParent=
"true"
/>
<ImageView
android:layout_width=
"126dp"
android:layout_height=
"126dp"
android:layout_centerInParent=
"true"
android:background=
"@drawable/audioim_head_background"
/>
<ImageView
android:id=
"@+id/iv_head"
android:layout_width=
"120dp"
android:layout_height=
"120dp"
android:layout_centerInParent=
"true"
android:scaleType=
"centerCrop"
android:src=
"@drawable/audioim_head_place_hold_pic"
/>
</RelativeLayout>
<TextView
android:id=
"@+id/tv_name"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/rl_head"
android:layout_centerHorizontal=
"true"
android:layout_marginTop=
"-20dp"
android:textColor=
"@color/white"
android:textSize=
"26sp"
tools:text=
"留意"
/>
<TextView
android:id=
"@+id/tv_tips"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/tv_name"
android:layout_centerHorizontal=
"true"
android:layout_marginLeft=
"25dp"
android:layout_marginTop=
"6dp"
android:layout_marginRight=
"25dp"
android:ellipsize=
"end"
android:gravity=
"center"
android:maxLines=
"2"
android:textColor=
"@color/white"
android:textSize=
"15sp"
tools:text=
"你存在的本身就是值得被爱的你存在的本身就是值得被爱的"
/>
<!-- 倾诉剩余时间-->
<RelativeLayout
android:id=
"@+id/rl_remain_time"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_above=
"@+id/rl_hang_up"
android:layout_marginBottom=
"20dp"
android:visibility=
"gone"
>
<TextView
android:id=
"@+id/tv_notes"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerHorizontal=
"true"
android:text=
"您的倾诉时间还有"
android:textColor=
"@color/platform_color_30FFFFFF"
android:textSize=
"12sp"
/>
<TextView
android:id=
"@+id/tv_remain_time"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/tv_notes"
android:layout_centerHorizontal=
"true"
android:text=
"23:23"
android:textColor=
"@color/white"
android:textSize=
"20sp"
/>
</RelativeLayout>
<TextView
android:id=
"@+id/tv_change_doctor"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_above=
"@+id/rl_hang_up"
android:layout_centerHorizontal=
"true"
android:layout_marginBottom=
"48dp"
android:gravity=
"center"
android:text=
"聆听者长时间未接听,\n您可以点击右上角切换线路,或者挂断换一位"
android:textColor=
"@color/white"
android:visibility=
"gone"
/>
<TextView
android:id=
"@+id/tv_waiting"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_above=
"@+id/rl_hang_up"
android:layout_centerHorizontal=
"true"
android:layout_marginBottom=
"50dp"
android:text=
"正在等待聆听者接受邀请…"
android:textColor=
"@color/platform_color_70FFFFFF"
android:textSize=
"12sp"
android:visibility=
"visible"
/>
<!--挂断按钮-->
<RelativeLayout
android:id=
"@+id/rl_hang_up"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentBottom=
"true"
android:layout_marginLeft=
"72dp"
android:layout_marginBottom=
"18dp"
>
<com.ydl.ydlcommon.view.ProgressView
android:id=
"@+id/progress_view"
android:layout_width=
"70dp"
android:layout_height=
"70dp"
app:pa_progressWidth=
"2dp"
/>
<ImageView
android:id=
"@+id/iv_hang_up"
android:layout_width=
"66dp"
android:layout_height=
"66dp"
android:layout_centerHorizontal=
"true"
android:layout_marginTop=
"1dp"
android:src=
"@drawable/audioim_img_hang_up_unuse"
android:visibility=
"visible"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/iv_hang_up"
android:layout_centerHorizontal=
"true"
android:layout_marginTop=
"8dp"
android:text=
"挂断"
android:textColor=
"@color/white"
android:textSize=
"12sp"
/>
</RelativeLayout>
<!-- 免提按钮-->
<RelativeLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:layout_alignParentBottom=
"true"
android:layout_marginRight=
"72dp"
android:layout_marginBottom=
"18dp"
>
<ImageView
android:id=
"@+id/iv_hands_free"
android:layout_width=
"66dp"
android:layout_height=
"66dp"
android:layout_marginTop=
"1dp"
android:src=
"@drawable/audioim_img_hands_free_unuse"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/iv_hands_free"
android:layout_centerHorizontal=
"true"
android:layout_marginTop=
"8dp"
android:text=
"免提"
android:textColor=
"@color/white"
android:textSize=
"12sp"
/>
</RelativeLayout>
<!--自定义弹窗-->
<TextView
android:id=
"@+id/tv_toast"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/tv_tips"
android:layout_centerHorizontal=
"true"
android:layout_marginTop=
"34dp"
android:background=
"@drawable/audioim_toast_view_background"
android:elevation=
"6dp"
android:paddingLeft=
"11dp"
android:paddingTop=
"4dp"
android:paddingRight=
"11dp"
android:paddingBottom=
"4dp"
android:textColor=
"@color/white"
android:visibility=
"gone"
tools:text=
"已接通"
/>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/platform_color_80353535"
>
<TextView
android:id=
"@+id/tv_change_route"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:layout_marginTop=
"25dp"
android:layout_marginRight=
"10dp"
android:background=
"?android:attr/selectableItemBackground"
android:drawableRight=
"@drawable/audioim_img_choose_arrow_unuse"
android:drawablePadding=
"6dp"
android:padding=
"5dp"
android:text=
"切换至传统电话"
android:textColor=
"@color/platform_color_50FFFFFF"
android:textSize=
"13sp"
android:visibility=
"visible"
/>
<RelativeLayout
android:id=
"@+id/rl_head"
android:layout_width=
"250dp"
android:layout_height=
"250dp"
android:layout_centerHorizontal=
"true"
android:layout_marginTop=
"74dp"
>
<com.ydl.ydlcommon.view.WaveView
android:id=
"@+id/wave_view"
android:layout_width=
"250dp"
android:layout_height=
"250dp"
android:layout_centerInParent=
"true"
/>
<ImageView
android:layout_width=
"126dp"
android:layout_height=
"126dp"
android:layout_centerInParent=
"true"
android:background=
"@drawable/audioim_head_background"
/>
<ImageView
android:id=
"@+id/iv_head"
android:layout_width=
"120dp"
android:layout_height=
"120dp"
android:layout_centerInParent=
"true"
android:scaleType=
"centerCrop"
android:src=
"@drawable/audioim_head_place_hold_pic"
/>
</RelativeLayout>
<TextView
android:id=
"@+id/tv_name"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/rl_head"
android:layout_centerHorizontal=
"true"
android:layout_marginTop=
"-20dp"
android:textColor=
"@color/white"
android:textSize=
"26sp"
tools:text=
"留意"
/>
<TextView
android:id=
"@+id/tv_tips"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/tv_name"
android:layout_centerHorizontal=
"true"
android:layout_marginLeft=
"25dp"
android:layout_marginTop=
"6dp"
android:layout_marginRight=
"25dp"
android:ellipsize=
"end"
android:gravity=
"center"
android:maxLines=
"2"
android:textColor=
"@color/white"
android:textSize=
"15sp"
tools:text=
"你存在的本身就是值得被爱的你存在的本身就是值得被爱的"
/>
<!-- 倾诉剩余时间-->
<RelativeLayout
android:id=
"@+id/rl_remain_time"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_above=
"@+id/rl_hang_up"
android:layout_marginBottom=
"20dp"
android:visibility=
"gone"
>
<TextView
android:id=
"@+id/tv_notes"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerHorizontal=
"true"
android:text=
"您的倾诉时间还有"
android:textColor=
"@color/platform_color_30FFFFFF"
android:textSize=
"12sp"
/>
<TextView
android:id=
"@+id/tv_remain_time"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/tv_notes"
android:layout_centerHorizontal=
"true"
android:text=
"23:23"
android:textColor=
"@color/white"
android:textSize=
"20sp"
/>
</RelativeLayout>
<TextView
android:id=
"@+id/tv_change_doctor"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_above=
"@+id/rl_hang_up"
android:layout_centerHorizontal=
"true"
android:layout_marginBottom=
"48dp"
android:gravity=
"center"
android:text=
"聆听者长时间未接听,\n您可以点击右上角切换线路,或者挂断换一位"
android:textColor=
"@color/white"
android:visibility=
"gone"
/>
<TextView
android:id=
"@+id/tv_waiting"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_above=
"@+id/rl_hang_up"
android:layout_centerHorizontal=
"true"
android:layout_marginBottom=
"50dp"
android:text=
"正在等待聆听者接受邀请…"
android:textColor=
"@color/platform_color_70FFFFFF"
android:textSize=
"12sp"
android:visibility=
"visible"
/>
<!--挂断按钮-->
<RelativeLayout
android:id=
"@+id/rl_hang_up"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentBottom=
"true"
android:layout_marginLeft=
"72dp"
android:layout_marginBottom=
"18dp"
>
<com.ydl.ydlcommon.view.ProgressView
android:id=
"@+id/progress_view"
android:layout_width=
"70dp"
android:layout_height=
"70dp"
app:pa_progressWidth=
"2dp"
/>
<ImageView
android:id=
"@+id/iv_hang_up"
android:layout_width=
"66dp"
android:layout_height=
"66dp"
android:layout_centerHorizontal=
"true"
android:layout_marginTop=
"1dp"
android:src=
"@drawable/audioim_img_hang_up_unuse"
android:visibility=
"visible"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/iv_hang_up"
android:layout_centerHorizontal=
"true"
android:layout_marginTop=
"8dp"
android:text=
"挂断"
android:textColor=
"@color/white"
android:textSize=
"12sp"
/>
</RelativeLayout>
<!-- 免提按钮-->
<RelativeLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:layout_alignParentBottom=
"true"
android:layout_marginRight=
"72dp"
android:layout_marginBottom=
"18dp"
>
<ImageView
android:id=
"@+id/iv_hands_free"
android:layout_width=
"66dp"
android:layout_height=
"66dp"
android:layout_marginTop=
"1dp"
android:src=
"@drawable/audioim_img_hands_free_unuse"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/iv_hands_free"
android:layout_centerHorizontal=
"true"
android:layout_marginTop=
"8dp"
android:text=
"免提"
android:textColor=
"@color/white"
android:textSize=
"12sp"
/>
</RelativeLayout>
<!--自定义弹窗-->
<TextView
android:id=
"@+id/tv_toast"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/tv_tips"
android:layout_centerHorizontal=
"true"
android:layout_marginTop=
"34dp"
android:background=
"@drawable/audioim_toast_view_background"
android:elevation=
"6dp"
android:paddingLeft=
"11dp"
android:paddingTop=
"4dp"
android:paddingRight=
"11dp"
android:paddingBottom=
"4dp"
android:textColor=
"@color/white"
android:visibility=
"gone"
tools:visibility=
"visible"
tools:text=
"已接通"
/>
</RelativeLayout>
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