|
@@ -46,7 +46,10 @@ import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
|
|
|
import com.wdkl.ncs.android.middleware.tcp.NettyClient
|
|
|
import com.wdkl.ncs.android.lib.vo.MessageEvent
|
|
|
import com.wdkl.ncs.android.middleware.model.dos.ChannelDO
|
|
|
+import com.wdkl.ncs.android.middleware.model.vo.WatchContactVO
|
|
|
+import com.wdkl.ncs.android.middleware.model.vo.WatchContactsVO
|
|
|
import com.wdkl.ncs.android.middleware.tcp.TcpClientHandler
|
|
|
+import com.wdkl.ncs.android.middleware.utils.ContactHelper
|
|
|
import com.wdkl.ncs.keepbackground.utils.SpManager
|
|
|
import com.wdkl.ncs.keepbackground.work.DaemonEnv
|
|
|
import io.reactivex.Observable
|
|
@@ -56,9 +59,10 @@ import org.greenrobot.eventbus.Subscribe
|
|
|
import org.greenrobot.eventbus.ThreadMode
|
|
|
|
|
|
//@Router(path = "/watch/home")
|
|
|
-class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivityHome2Binding>(), WatchHomeActivityContract.View, View.OnClickListener{
|
|
|
+class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivityHome2Binding>(), WatchHomeActivityContract.View, View.OnClickListener {
|
|
|
|
|
|
var TAG = WatchHome2Activity::class.java.getSimpleName()
|
|
|
+
|
|
|
//监听网络变化
|
|
|
lateinit var teleManager: TelephonyManager
|
|
|
private var netType: Int = -1
|
|
@@ -72,14 +76,14 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
|
|
|
private var clickTime: Long = 0
|
|
|
|
|
|
- private lateinit var netWorkChangeReceiver:NetWorkChangeReceiver
|
|
|
+ private lateinit var netWorkChangeReceiver: NetWorkChangeReceiver
|
|
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
- if (!isTaskRoot){
|
|
|
+ if (!isTaskRoot) {
|
|
|
finish()
|
|
|
}
|
|
|
- loadingDialog = CommonTool.createLoadingDialog(this, R.layout.custom_loading,R.id.loadding_image)
|
|
|
- netOffLoadingDialog = CommonTool.createLoadingDialog(this, R.layout.netoff_loading,R.id.netoff_loading_image)
|
|
|
+ loadingDialog = CommonTool.createLoadingDialog(this, R.layout.custom_loading, R.id.loadding_image)
|
|
|
+ netOffLoadingDialog = CommonTool.createLoadingDialog(this, R.layout.netoff_loading, R.id.netoff_loading_image)
|
|
|
|
|
|
super.onCreate(savedInstanceState)
|
|
|
}
|
|
@@ -95,7 +99,7 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
//初始化
|
|
|
override fun init() {
|
|
|
// DaemonEnv.sendStopWorkBroadcast(this)
|
|
|
- AnrFcExceptionUtil.getInstance(application).initFCException()
|
|
|
+// AnrFcExceptionUtil.getInstance(application).initFCException()
|
|
|
//注册广播
|
|
|
regReceiver()
|
|
|
|
|
@@ -123,7 +127,7 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
if (teleManager != null) {
|
|
|
teleManager.listen(object : PhoneStateListener() {
|
|
|
override fun onSignalStrengthsChanged(signalStrength: SignalStrength) {
|
|
|
- if (NetHelper.getInstance().getNetworkState(applicationContext) == NetHelper.NETWORK_NONE){
|
|
|
+ if (NetHelper.getInstance().getNetworkState(applicationContext) == NetHelper.NETWORK_NONE) {
|
|
|
tv_signal_strength.text = "网络断开"
|
|
|
} else {
|
|
|
val signalinfo = signalStrength.toString()
|
|
@@ -163,8 +167,8 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
if (Build.VERSION.SDK_INT >= 23) {
|
|
|
if (!Settings.canDrawOverlays(this)) {
|
|
|
val intent = Intent(
|
|
|
- Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
|
|
|
- Uri.parse("package:$packageName"))
|
|
|
+ Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
|
|
|
+ Uri.parse("package:$packageName"))
|
|
|
startActivityForResult(intent, 10)
|
|
|
}
|
|
|
}
|
|
@@ -201,12 +205,12 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
registerReceiver(batteryBroadcastReceiver, intentFilter2)
|
|
|
}
|
|
|
|
|
|
- private fun releaseReceiver(){
|
|
|
+ private fun releaseReceiver() {
|
|
|
if (batteryBroadcastReceiver != null) {
|
|
|
unregisterReceiver(batteryBroadcastReceiver)
|
|
|
}
|
|
|
|
|
|
- if (netWorkChangeReceiver!=null){
|
|
|
+ if (netWorkChangeReceiver != null) {
|
|
|
unregisterReceiver(netWorkChangeReceiver)
|
|
|
}
|
|
|
// if (myMediaButtonReceiver != null ){
|
|
@@ -218,16 +222,16 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
* 返回的tcp信息
|
|
|
*/
|
|
|
override fun setTcpServerHost(tcpSeverDTO: TcpSeverDTO) {
|
|
|
- Log.d(TAG,"获取服务器IP完成")
|
|
|
- if(tcpSeverDTO.publicIp!= null && tcpSeverDTO.tcpPort != null && tcpSeverDTO.readerIdleTime != null){
|
|
|
+ Log.d(TAG, "获取服务器IP完成")
|
|
|
+ if (tcpSeverDTO.publicIp != null && tcpSeverDTO.tcpPort != null && tcpSeverDTO.readerIdleTime != null) {
|
|
|
Constants.tcpServer = tcpSeverDTO.publicIp
|
|
|
Constants.tcpPort = tcpSeverDTO.tcpPort
|
|
|
Constants.heartBeat = tcpSeverDTO.readerIdleTime
|
|
|
tv_server_ip.text = tcpSeverDTO.publicIp
|
|
|
|
|
|
//成功获取到数据后再启动keepService并连接tcp服务器
|
|
|
- if (DaemonEnv.app==null && !Strings.isNullOrEmpty(Constants.tcpServer) && !WdKeepAliveService.instanceCreated){
|
|
|
- Log.d(TAG,"开始 WdKeepAliveService")
|
|
|
+ if (DaemonEnv.app == null && !Strings.isNullOrEmpty(Constants.tcpServer) && !WdKeepAliveService.instanceCreated) {
|
|
|
+ Log.d(TAG, "开始 WdKeepAliveService")
|
|
|
//保活守护进程
|
|
|
DaemonEnv.init(this)
|
|
|
DaemonEnv.startServiceSafely(this, WdKeepAliveService::class.java)
|
|
@@ -237,63 +241,67 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private fun requestPermissions(){
|
|
|
+ private fun requestPermissions() {
|
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
|
Observable.just("")
|
|
|
- .compose(
|
|
|
- RxPermissions(this)
|
|
|
- .ensure(
|
|
|
- Manifest.permission.CAMERA,
|
|
|
- Manifest.permission.READ_EXTERNAL_STORAGE,
|
|
|
- Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
|
|
- Manifest.permission.ACCESS_WIFI_STATE,
|
|
|
- Manifest.permission.BLUETOOTH,
|
|
|
- Manifest.permission.RECORD_AUDIO,
|
|
|
- Manifest.permission.CALL_PHONE,
|
|
|
- Manifest.permission.READ_PHONE_STATE,
|
|
|
- Manifest.permission.READ_CALL_LOG,
|
|
|
- Manifest.permission.ANSWER_PHONE_CALLS,
|
|
|
- Manifest.permission.WRITE_CALL_LOG
|
|
|
- )
|
|
|
- )
|
|
|
- .subscribe {
|
|
|
- if (!it) {
|
|
|
- showMessage("请重新授权,进入App")
|
|
|
- requestPermissions()
|
|
|
- } else {
|
|
|
- permissionGranted()
|
|
|
- }
|
|
|
- }.joinManager(disposableManager)
|
|
|
+ .compose(
|
|
|
+ RxPermissions(this)
|
|
|
+ .ensure(
|
|
|
+ Manifest.permission.CAMERA,
|
|
|
+ Manifest.permission.READ_EXTERNAL_STORAGE,
|
|
|
+ Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
|
|
+ Manifest.permission.ACCESS_WIFI_STATE,
|
|
|
+ Manifest.permission.BLUETOOTH,
|
|
|
+ Manifest.permission.RECORD_AUDIO,
|
|
|
+ Manifest.permission.CALL_PHONE,
|
|
|
+ Manifest.permission.READ_PHONE_STATE,
|
|
|
+ Manifest.permission.READ_CALL_LOG,
|
|
|
+ Manifest.permission.ANSWER_PHONE_CALLS,
|
|
|
+ Manifest.permission.WRITE_CALL_LOG,
|
|
|
+ Manifest.permission.READ_CONTACTS,
|
|
|
+ Manifest.permission.WRITE_CONTACTS
|
|
|
+ )
|
|
|
+ )
|
|
|
+ .subscribe {
|
|
|
+ if (!it) {
|
|
|
+ showMessage("请重新授权,进入App")
|
|
|
+ requestPermissions()
|
|
|
+ } else {
|
|
|
+ permissionGranted()
|
|
|
+ }
|
|
|
+ }.joinManager(disposableManager)
|
|
|
} else {
|
|
|
Observable.just("")
|
|
|
- .compose(
|
|
|
- RxPermissions(this)
|
|
|
- .ensure(
|
|
|
- Manifest.permission.CAMERA,
|
|
|
- Manifest.permission.READ_EXTERNAL_STORAGE,
|
|
|
- Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
|
|
- Manifest.permission.ACCESS_WIFI_STATE,
|
|
|
- Manifest.permission.BLUETOOTH,
|
|
|
- Manifest.permission.RECORD_AUDIO,
|
|
|
- Manifest.permission.CALL_PHONE,
|
|
|
- Manifest.permission.READ_PHONE_STATE,
|
|
|
- Manifest.permission.READ_CALL_LOG,
|
|
|
- Manifest.permission.WRITE_CALL_LOG
|
|
|
- )
|
|
|
- )
|
|
|
- .subscribe {
|
|
|
- if (!it) {
|
|
|
- showMessage("请重新授权,进入App")
|
|
|
- requestPermissions()
|
|
|
- } else {
|
|
|
- permissionGranted()
|
|
|
- }
|
|
|
- }.joinManager(disposableManager)
|
|
|
+ .compose(
|
|
|
+ RxPermissions(this)
|
|
|
+ .ensure(
|
|
|
+ Manifest.permission.CAMERA,
|
|
|
+ Manifest.permission.READ_EXTERNAL_STORAGE,
|
|
|
+ Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
|
|
+ Manifest.permission.ACCESS_WIFI_STATE,
|
|
|
+ Manifest.permission.BLUETOOTH,
|
|
|
+ Manifest.permission.RECORD_AUDIO,
|
|
|
+ Manifest.permission.CALL_PHONE,
|
|
|
+ Manifest.permission.READ_PHONE_STATE,
|
|
|
+ Manifest.permission.READ_CALL_LOG,
|
|
|
+ Manifest.permission.WRITE_CALL_LOG,
|
|
|
+ Manifest.permission.READ_CONTACTS,
|
|
|
+ Manifest.permission.WRITE_CONTACTS
|
|
|
+ )
|
|
|
+ )
|
|
|
+ .subscribe {
|
|
|
+ if (!it) {
|
|
|
+ showMessage("请重新授权,进入App")
|
|
|
+ requestPermissions()
|
|
|
+ } else {
|
|
|
+ permissionGranted()
|
|
|
+ }
|
|
|
+ }.joinManager(disposableManager)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
override fun handleAppVersion(appInfo: AppVersionDO) {
|
|
|
- if (BuildConfig.VERSION_CODE < appInfo.versionNo && !AppUpdateActivity.opened){
|
|
|
+ if (BuildConfig.VERSION_CODE < appInfo.versionNo && !AppUpdateActivity.opened) {
|
|
|
showMessage("有新版本")
|
|
|
val intent = Intent()
|
|
|
intent.setClass(this, AppUpdateActivity::class.java)
|
|
@@ -305,7 +313,7 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
* 返回的设备信息
|
|
|
*/
|
|
|
override fun setDeviceDo(data: DeviceVO) {
|
|
|
- if (data.id == null || data.id<=0){
|
|
|
+ if (data.id == null || data.id <= 0) {
|
|
|
loadingDialog.dismiss()
|
|
|
showMessage("本机未注册,请将识别码发给管理员")
|
|
|
tv_register_status.text = "本机未注册,请将识别码发给管理员。管理员注册本机后请点击注册完成进入"
|
|
@@ -340,8 +348,9 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
Constants.userRoleName = data.roleName
|
|
|
|
|
|
presenter.getAppVersion(Constants.partId, 7)
|
|
|
+ presenter.getWatchContacts(Constants.deviceId)
|
|
|
|
|
|
- if (Constants.deviceId<=0 || TextUtils.isEmpty(Constants.sipId)) {
|
|
|
+ if (Constants.deviceId <= 0 || TextUtils.isEmpty(Constants.sipId)) {
|
|
|
showMessage("初始化数据时服务器返回数据不全,请联系管理员")
|
|
|
tv_feedback_device_info.text = "初始化数据时服务器返回数据不全,请联系管理员"
|
|
|
return
|
|
@@ -359,12 +368,12 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
|
|
|
//onTcpConnectSuccess()
|
|
|
|
|
|
- if (Strings.isNullOrEmpty(Constants.userName)){
|
|
|
+ if (Strings.isNullOrEmpty(Constants.userName)) {
|
|
|
watch_name_tv.text = "重载"
|
|
|
watch_name_tv.setTextColor(Color.BLACK)
|
|
|
watch_name_tv.textSize = 13f
|
|
|
watch_name_tv.setBackgroundResource(R.drawable.javashop_btn_balck_line_bg)
|
|
|
- watch_name_tv.setOnClickListener{
|
|
|
+ watch_name_tv.setOnClickListener {
|
|
|
loadingDialog.show()
|
|
|
presenter.getDeviceVO(Constants.imei)
|
|
|
return@setOnClickListener
|
|
@@ -416,13 +425,24 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
Constants.phoneWhiteList.addAll(phoneList)
|
|
|
}
|
|
|
|
|
|
+ //写手机通讯录
|
|
|
+ override fun setContact(contactVOs: List<WatchContactVO>) {
|
|
|
+ if (contactVOs != null && contactVOs.size > 0) {
|
|
|
+ for (contactVO in contactVOs) {
|
|
|
+ if (!Strings.isNullOrEmpty(contactVO.name) && !Strings.isNullOrEmpty(contactVO.phoneNumber)) {
|
|
|
+ ContactHelper.setContact(this, contactVO.name, contactVO.phoneNumber)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 设置设备数据
|
|
|
*/
|
|
|
override fun setDeviceSettingData(partSettingDO: PartSettingDO) {
|
|
|
- Log.i(TAG,"收到设置设备数据 transferDuration"+partSettingDO.transferDuration)
|
|
|
- Log.i(TAG,"收到设置设备数据 transferDurationLeader"+partSettingDO.transferDurationLeader)
|
|
|
- if(partSettingDO != null&&partSettingDO.transferDuration !=null&&partSettingDO.transferDurationLeader != null){
|
|
|
+ Log.i(TAG, "收到设置设备数据 transferDuration" + partSettingDO.transferDuration)
|
|
|
+ Log.i(TAG, "收到设置设备数据 transferDurationLeader" + partSettingDO.transferDurationLeader)
|
|
|
+ if (partSettingDO != null && partSettingDO.transferDuration != null && partSettingDO.transferDurationLeader != null) {
|
|
|
if (Constants.userRoleName != null) {
|
|
|
if (!Constants.userRoleName!!.contains("护士组长") && Constants.userRoleName!!.contains("护士")) {
|
|
|
SettingConfig.setCountdownTime(application, partSettingDO.transferDuration)
|
|
@@ -468,11 +488,11 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
|
|
|
//等30秒
|
|
|
var waitSeconds = 0;
|
|
|
- Thread{
|
|
|
- while (!NettyClient.instance.isConnect()){
|
|
|
+ Thread {
|
|
|
+ while (!NettyClient.instance.isConnect()) {
|
|
|
Log.w(TAG, "无网络" + waitSeconds)
|
|
|
waitSeconds++
|
|
|
- if (waitSeconds>30){
|
|
|
+ if (waitSeconds > 30) {
|
|
|
break
|
|
|
}
|
|
|
Thread.sleep(5000)
|
|
@@ -492,7 +512,7 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
other_linyout.setOnClickListener(this)
|
|
|
channel_im_layout.setOnClickListener(this)
|
|
|
tv_register_ok.setOnClickListener({
|
|
|
- Log.d(TAG,"注册完成")
|
|
|
+ Log.d(TAG, "注册完成")
|
|
|
initTcp()
|
|
|
|
|
|
//presenter.getDeviceVO(Constants.imei)
|
|
@@ -504,15 +524,15 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
return false
|
|
|
}
|
|
|
|
|
|
- fun initTcp(){
|
|
|
- if (!Strings.isNullOrEmpty(Constants.tcpServer)){ //有网且得到了服务器IP
|
|
|
+ fun initTcp() {
|
|
|
+ if (!Strings.isNullOrEmpty(Constants.tcpServer)) { //有网且得到了服务器IP
|
|
|
presenter.getTcpServerHost()
|
|
|
return
|
|
|
}
|
|
|
|
|
|
var count = 30
|
|
|
Thread(Runnable {
|
|
|
- while (isUnRegister && count>0 && Strings.isNullOrEmpty(Constants.tcpServer)) {
|
|
|
+ while (isUnRegister && count > 0 && Strings.isNullOrEmpty(Constants.tcpServer)) {
|
|
|
//DaemonEnv.sendStopWorkBroadcast(this)
|
|
|
Log.i(TAG, "获取TCP服务器IP和端口")
|
|
|
presenter.getTcpServerHost()
|
|
@@ -536,6 +556,7 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
countDownTimer = object : CountDownTimer(1 * 1000L, 1000) {
|
|
|
override fun onTick(millisUntilFinished: Long) {
|
|
|
}
|
|
|
+
|
|
|
override fun onFinish() {
|
|
|
tv_register_ok.isEnabled = true
|
|
|
//loadingDialog.dismiss()
|
|
@@ -578,7 +599,7 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
//停止服务
|
|
|
//DaemonEnv.sendStopWorkBroadcast(this)
|
|
|
|
|
|
- if(countDownTimer != null){
|
|
|
+ if (countDownTimer != null) {
|
|
|
countDownTimer.cancel()
|
|
|
}
|
|
|
}
|
|
@@ -598,7 +619,7 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
startActivity(intent)
|
|
|
}
|
|
|
R.id.user_name_linlyout -> {
|
|
|
- if (Constants.userName==null){
|
|
|
+ if (Constants.userName == null) {
|
|
|
var intent = Intent(this, TakeoverActivity().javaClass)
|
|
|
startActivity(intent)
|
|
|
} else {
|
|
@@ -612,7 +633,7 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
//群留言
|
|
|
if (Constants.channelId == -1) {
|
|
|
showMessage("请先建立频道")
|
|
|
- } else if (TextUtils.isEmpty(Constants.userName)){
|
|
|
+ } else if (TextUtils.isEmpty(Constants.userName)) {
|
|
|
showMessage("设备未绑定")
|
|
|
} else {
|
|
|
var intent = Intent(this, ChannelImActivity::class.java)
|
|
@@ -659,10 +680,10 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
|
|
|
override fun onDestroy() {
|
|
|
super.onDestroy()
|
|
|
- if (loadingDialog!=null){
|
|
|
+ if (loadingDialog != null) {
|
|
|
loadingDialog.dismiss()
|
|
|
}
|
|
|
- if (netOffLoadingDialog!=null){
|
|
|
+ if (netOffLoadingDialog != null) {
|
|
|
netOffLoadingDialog.dismiss()
|
|
|
}
|
|
|
}
|
|
@@ -688,16 +709,16 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
|
battery_warning_tv.visibility = View.GONE
|
|
|
electric_quantity_tv.text = "" + message
|
|
|
}
|
|
|
- } else if (messageEvent.tag == Constants.EVENT_RTC_STATE){
|
|
|
+ } else if (messageEvent.tag == Constants.EVENT_RTC_STATE) {
|
|
|
runOnUiThread(Runnable {
|
|
|
sip_state_tv.setBackgroundColor(Color.parseColor("#00FFFF"))
|
|
|
netOffLoadingDialog.dismiss()
|
|
|
//tv_signal_strength.text = "网络恢复"
|
|
|
tv_net_reconnect_text.visibility = View.GONE
|
|
|
})
|
|
|
- } else if (messageEvent.tag== Constants.EVENT_TCP_BREAK){
|
|
|
+ } else if (messageEvent.tag == Constants.EVENT_TCP_BREAK) {
|
|
|
onTcpConnectFailed()
|
|
|
- } else if (messageEvent.tag== Constants.EVENT_TCP_CONNECTED){
|
|
|
+ } else if (messageEvent.tag == Constants.EVENT_TCP_CONNECTED) {
|
|
|
onTcpConnectSuccess()
|
|
|
}
|
|
|
}
|