|
@@ -10,6 +10,7 @@ import android.graphics.Color
|
|
import android.media.session.MediaSession
|
|
import android.media.session.MediaSession
|
|
import android.net.wifi.WifiManager
|
|
import android.net.wifi.WifiManager
|
|
import android.os.Bundle
|
|
import android.os.Bundle
|
|
|
|
+import android.os.CountDownTimer
|
|
import android.provider.Settings
|
|
import android.provider.Settings
|
|
import android.support.v4.app.ActivityCompat
|
|
import android.support.v4.app.ActivityCompat
|
|
import android.support.v4.content.ContextCompat
|
|
import android.support.v4.content.ContextCompat
|
|
@@ -23,6 +24,9 @@ import android.view.KeyEvent
|
|
import android.view.View
|
|
import android.view.View
|
|
import com.enation.javashop.net.engine.model.NetState
|
|
import com.enation.javashop.net.engine.model.NetState
|
|
import com.enation.javashop.net.engine.plugin.permission.RxPermissions
|
|
import com.enation.javashop.net.engine.plugin.permission.RxPermissions
|
|
|
|
+import com.enation.javashop.utils.base.tool.CommonTool
|
|
|
|
+import com.enation.javashop.utils.base.widget.LoadingDialog
|
|
|
|
+import com.google.common.base.Strings
|
|
import com.wdkl.core.consts.Urls
|
|
import com.wdkl.core.consts.Urls
|
|
import com.wdkl.core.socket.IUserState
|
|
import com.wdkl.core.socket.IUserState
|
|
import com.wdkl.core.socket.SocketManager
|
|
import com.wdkl.core.socket.SocketManager
|
|
@@ -52,8 +56,10 @@ import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
|
|
import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
|
|
import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
|
|
import com.wdkl.ncs.android.middleware.tcp.TcpClient
|
|
import com.wdkl.ncs.android.middleware.tcp.TcpClient
|
|
import com.wdkl.ncs.android.middleware.utils.MessageEvent
|
|
import com.wdkl.ncs.android.middleware.utils.MessageEvent
|
|
|
|
+import com.wdkl.ncs.keepbackground.utils.SpManager
|
|
import com.wdkl.ncs.keepbackground.work.DaemonEnv
|
|
import com.wdkl.ncs.keepbackground.work.DaemonEnv
|
|
import io.reactivex.Observable
|
|
import io.reactivex.Observable
|
|
|
|
+import kotlinx.android.synthetic.main.watch_activity_call_records.*
|
|
import kotlinx.android.synthetic.main.watch_activity_home2.*
|
|
import kotlinx.android.synthetic.main.watch_activity_home2.*
|
|
import kotlinx.android.synthetic.main.watch_activity_register.*
|
|
import kotlinx.android.synthetic.main.watch_activity_register.*
|
|
import org.greenrobot.eventbus.Subscribe
|
|
import org.greenrobot.eventbus.Subscribe
|
|
@@ -72,6 +78,8 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
lateinit var batteryBroadcastReceiver: BatteryBroadcastReceiver
|
|
lateinit var batteryBroadcastReceiver: BatteryBroadcastReceiver
|
|
lateinit var myMediaButtonReceiver: MyMediaButtonReceiver
|
|
lateinit var myMediaButtonReceiver: MyMediaButtonReceiver
|
|
private var isRegister = true
|
|
private var isRegister = true
|
|
|
|
+ lateinit var loadingDialog: LoadingDialog
|
|
|
|
+ lateinit var countDownTimer: CountDownTimer
|
|
|
|
|
|
private val WRITE_EXTERNAL_STORAGE_REQUEST_CODE = 127//这个值是自定义的一个int值,在申请多个权限时要
|
|
private val WRITE_EXTERNAL_STORAGE_REQUEST_CODE = 127//这个值是自定义的一个int值,在申请多个权限时要
|
|
|
|
|
|
@@ -103,6 +111,9 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
//保活守护进程
|
|
//保活守护进程
|
|
DaemonEnv.init(this);
|
|
DaemonEnv.init(this);
|
|
|
|
|
|
|
|
+ loadingDialog = CommonTool.createLoadingDialog(this, R.layout.custom_loading,R.id.loadding_image)
|
|
|
|
+ initCountDownTimer()
|
|
|
|
+
|
|
//网络强度监听
|
|
//网络强度监听
|
|
teleManager = (applicationContext.getSystemService(Context.TELEPHONY_SERVICE)) as TelephonyManager
|
|
teleManager = (applicationContext.getSystemService(Context.TELEPHONY_SERVICE)) as TelephonyManager
|
|
netType = NetHelper.getInstance().getNetworkState(applicationContext)
|
|
netType = NetHelper.getInstance().getNetworkState(applicationContext)
|
|
@@ -131,12 +142,7 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
}
|
|
}
|
|
DaemonEnv.startServiceSafelyWithData(this, WdKeepAliveService::class.java)
|
|
DaemonEnv.startServiceSafelyWithData(this, WdKeepAliveService::class.java)
|
|
} else {
|
|
} else {
|
|
- val permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE)
|
|
|
|
-
|
|
|
|
- if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
|
|
|
|
- ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.READ_PHONE_STATE), WRITE_EXTERNAL_STORAGE_REQUEST_CODE)
|
|
|
|
- } else {
|
|
|
|
- }
|
|
|
|
|
|
+ requestPermissions()
|
|
|
|
|
|
Constants.imei = Util.getIMEI(this)
|
|
Constants.imei = Util.getIMEI(this)
|
|
Log.i(TAG, "IMEI " + Util.getIMEI(this))
|
|
Log.i(TAG, "IMEI " + Util.getIMEI(this))
|
|
@@ -196,30 +202,35 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
Constants.heartBeat = tcpSeverDTO.readerIdleTime
|
|
Constants.heartBeat = tcpSeverDTO.readerIdleTime
|
|
tv_server_ip.text = tcpSeverDTO.publicIp
|
|
tv_server_ip.text = tcpSeverDTO.publicIp
|
|
|
|
|
|
- Thread(Runnable {
|
|
|
|
- //连接TCP
|
|
|
|
- TcpClient.getInstance().init(Constants.tcpServer, Constants.tcpPort, Constants.heartBeat)
|
|
|
|
- }).start()
|
|
|
|
-
|
|
|
|
- AppTool.Time.delay(1500) {
|
|
|
|
- requestPermissions()
|
|
|
|
|
|
+ if (SpManager.getInstance().getBoolean(Constants.SYSTEM_REGISTERED)){
|
|
|
|
+ tv_register_ok.visibility = View.GONE
|
|
|
|
+ tv_register_status.text = "本机已注册,进入系统中"
|
|
|
|
+ tv_register_status.setTextColor(Color.GREEN)
|
|
|
|
+ presenter.getDeviceVO(Constants.imei)
|
|
|
|
+ } else {
|
|
|
|
+ tv_register_status.text = "本机未注册,请将识别码发给管理员。管理员注册本机后请点击注册完成进入"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
private fun requestPermissions() {
|
|
private fun requestPermissions() {
|
|
- 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.READ_PHONE_STATE)).subscribe {
|
|
|
|
- if (it) {
|
|
|
|
- presenter.getDeviceVO(Constants.imei)// 传imei
|
|
|
|
- } 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.READ_PHONE_STATE
|
|
|
|
+ )
|
|
|
|
+ )
|
|
|
|
+ .subscribe {
|
|
|
|
+ if (!it) {
|
|
showMessage("请重新授权,进入App")
|
|
showMessage("请重新授权,进入App")
|
|
- requestPermissions()
|
|
|
|
|
|
+ } else {
|
|
|
|
+ showMessage("授权已完成")
|
|
}
|
|
}
|
|
}.joinManager(disposableManager)
|
|
}.joinManager(disposableManager)
|
|
}
|
|
}
|
|
@@ -228,9 +239,40 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
* 返回的设备信息
|
|
* 返回的设备信息
|
|
*/
|
|
*/
|
|
override fun setDeviceDo(data: DeviceVO) {
|
|
override fun setDeviceDo(data: DeviceVO) {
|
|
|
|
+ if (data.id == null || data.id<=0){
|
|
|
|
+ loadingDialog.dismiss()
|
|
|
|
+ showMessage("本机未注册,请将识别码发给管理员")
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (Strings.isNullOrEmpty(data.ethIp)){
|
|
|
|
+ Thread(Runnable {
|
|
|
|
+ //连接TCP
|
|
|
|
+ if (TcpClient.getInstance().channel==null || !TcpClient.getInstance().channel.isActive) {
|
|
|
|
+ TcpClient.getInstance().init(Constants.tcpServer, Constants.tcpPort, Constants.heartBeat)
|
|
|
|
+ }
|
|
|
|
+ while (!(TcpClient.getInstance().channel==null || !TcpClient.getInstance().channel.isActive)) {
|
|
|
|
+ presenter.getDeviceVO(Constants.imei)
|
|
|
|
+ Thread.sleep(1000)
|
|
|
|
+ }
|
|
|
|
+ }).start()
|
|
|
|
+ showMessage("获取设备数据中,请稍候")
|
|
|
|
+ return
|
|
|
|
+ } else {
|
|
|
|
+ Thread(Runnable {
|
|
|
|
+ //连接TCP
|
|
|
|
+ if (TcpClient.getInstance().channel==null || !TcpClient.getInstance().channel.isActive) {
|
|
|
|
+ TcpClient.getInstance().init(Constants.tcpServer, Constants.tcpPort, Constants.heartBeat)
|
|
|
|
+ }
|
|
|
|
+ }).start()
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ loadingDialog.dismiss()
|
|
watch_activity_register_layout.visibility = View.GONE
|
|
watch_activity_register_layout.visibility = View.GONE
|
|
watch_activity_home_linyout.visibility = View.VISIBLE
|
|
watch_activity_home_linyout.visibility = View.VISIBLE
|
|
|
|
|
|
|
|
+ SpManager.getInstance().putBoolean(Constants.SYSTEM_REGISTERED,true)
|
|
|
|
+
|
|
Log.i(TAG, "收到返回的设备信息 ")
|
|
Log.i(TAG, "收到返回的设备信息 ")
|
|
Constants.partId = data.partId
|
|
Constants.partId = data.partId
|
|
Constants.deviceId = data.id
|
|
Constants.deviceId = data.id
|
|
@@ -257,12 +299,27 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
SocketManager.getInstance().addUserStateCallback(this)
|
|
SocketManager.getInstance().addUserStateCallback(this)
|
|
presenter.getDeviceSettingData(""+Constants.partId)
|
|
presenter.getDeviceSettingData(""+Constants.partId)
|
|
|
|
|
|
- watch_name_tv.text = Constants.userName
|
|
|
|
- if (Constants.userName!=null){
|
|
|
|
- if (Constants.userRoleName!!.contains("腕表")) {
|
|
|
|
- watch_role_name_tv.text = Constants.userRoleName!!.substring(0, (Constants.userRoleName)!!.indexOf("腕表"))
|
|
|
|
- } else {
|
|
|
|
- watch_role_name_tv.text = Constants.userRoleName
|
|
|
|
|
|
+ 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{
|
|
|
|
+ loadingDialog.show()
|
|
|
|
+ presenter.getDeviceVO(Constants.imei)
|
|
|
|
+ return@setOnClickListener
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ watch_role_name_tv.text = "请使用PC设置使用人"
|
|
|
|
+ watch_role_name_tv.textSize = 12f
|
|
|
|
+ } else {
|
|
|
|
+ watch_name_tv.text = Constants.userName
|
|
|
|
+ if (Constants.userName != null) {
|
|
|
|
+ if (Constants.userRoleName!!.contains("腕表")) {
|
|
|
|
+ watch_role_name_tv.text = Constants.userRoleName!!.substring(0, (Constants.userRoleName)!!.indexOf("腕表"))
|
|
|
|
+ } else {
|
|
|
|
+ watch_role_name_tv.text = Constants.userRoleName
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -271,7 +328,7 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
startActivity(intent)
|
|
startActivity(intent)
|
|
}
|
|
}
|
|
|
|
|
|
- showMessage("初始化完成")
|
|
|
|
|
|
+ showMessage("载入完成")
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -325,12 +382,24 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
user_name_linlyout.setOnClickListener(this)
|
|
user_name_linlyout.setOnClickListener(this)
|
|
state_linlyout.setOnClickListener(this)
|
|
state_linlyout.setOnClickListener(this)
|
|
other_linyout.setOnClickListener(this)
|
|
other_linyout.setOnClickListener(this)
|
|
- setting_tv.setOnClickListener({
|
|
|
|
- val intent = Intent(Settings.ACTION_SETTINGS)
|
|
|
|
- startActivity(intent)
|
|
|
|
|
|
+ tv_register_ok.setOnClickListener({
|
|
|
|
+ loadingDialog.show()
|
|
|
|
+ presenter.getDeviceVO(Constants.imei)
|
|
|
|
+ countDownTimer.start()
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ fun initCountDownTimer() {
|
|
|
|
+ countDownTimer = object : CountDownTimer(1 * 1000L, 1000) {
|
|
|
|
+ override fun onTick(millisUntilFinished: Long) {
|
|
|
|
+ }
|
|
|
|
+ override fun onFinish() {
|
|
|
|
+ tv_register_ok.isEnabled = true
|
|
|
|
+ loadingDialog.dismiss()
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
override fun onError(message: String, type: Int) {
|
|
override fun onError(message: String, type: Int) {
|
|
}
|
|
}
|
|
|
|
|
|
@@ -351,6 +420,10 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
|
|
releaseReceiver()
|
|
releaseReceiver()
|
|
//停止服务
|
|
//停止服务
|
|
DaemonEnv.sendStopWorkBroadcast(this)
|
|
DaemonEnv.sendStopWorkBroadcast(this)
|
|
|
|
+
|
|
|
|
+ if(countDownTimer != null){
|
|
|
|
+ countDownTimer.cancel()
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|