|
@@ -1,8 +1,11 @@
|
|
|
package com.wdkl.ncs.android.component.nursehome.activity
|
|
|
|
|
|
import android.Manifest
|
|
|
+import android.content.Intent
|
|
|
import android.graphics.Color
|
|
|
+import android.net.Uri
|
|
|
import android.os.Build
|
|
|
+import android.provider.Settings
|
|
|
import android.text.TextUtils
|
|
|
import android.util.Log
|
|
|
import com.enation.javashop.net.engine.model.NetState
|
|
@@ -13,10 +16,14 @@ import com.wdkl.ncs.android.component.nursehome.launch.NurseHomeLaunch
|
|
|
import com.wdkl.ncs.android.lib.base.BaseActivity
|
|
|
import io.reactivex.Observable
|
|
|
import com.wdkl.ncs.android.component.nursehome.BuildConfig
|
|
|
+import com.wdkl.ncs.android.component.nursehome.settingconfig.SettingConfig
|
|
|
+import com.wdkl.ncs.android.component.nursehome.util.AppUpdateHelper
|
|
|
import com.wdkl.ncs.android.middleware.common.Constants
|
|
|
import com.wdkl.ncs.android.component.nursehome.util.NetHelper
|
|
|
+import com.wdkl.ncs.android.component.nursehome.util.StatusBarHelper
|
|
|
import com.wdkl.ncs.android.lib.base.BaseApplication
|
|
|
import com.wdkl.ncs.android.lib.utils.*
|
|
|
+import com.wdkl.ncs.android.middleware.helper.PassCheckDialogHelper
|
|
|
import com.wdkl.ncs.android.middleware.helper.SipDialogHelper
|
|
|
import com.wdkl.ncs.android.middleware.logic.contract.nursehome.DeviceContract
|
|
|
import com.wdkl.ncs.android.middleware.logic.presenter.nursehome.DevicePresenter
|
|
@@ -54,6 +61,24 @@ class RegisterActivity : BaseActivity<DevicePresenter, ActivityRegisterBinding>(
|
|
|
override fun init() {
|
|
|
AppTool.SystemUI.showNavigationBar(this,false)
|
|
|
AppTool.SystemUI.ImmersiveWithBottomBarColor(this, Color.BLACK)
|
|
|
+
|
|
|
+ if (!Settings.canDrawOverlays(this)) {
|
|
|
+ val intent = Intent(
|
|
|
+ Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
|
|
|
+ Uri.parse("package:$packageName")
|
|
|
+ )
|
|
|
+ startActivityForResult(intent, 10)
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if (!Settings.System.canWrite(this)) {
|
|
|
+ val intent = Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS)
|
|
|
+ intent.data = Uri.parse("package:" + this.packageName)
|
|
|
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
|
|
+ startActivityForResult(intent, 11)
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
requestPermissions()
|
|
|
|
|
|
Constants.mac = NetHelper.getInstance().macAddress
|
|
@@ -68,6 +93,8 @@ class RegisterActivity : BaseActivity<DevicePresenter, ActivityRegisterBinding>(
|
|
|
Constants.device_serial_id = Constants.mac
|
|
|
}
|
|
|
|
|
|
+ SettingConfig.setSipEnable(activity, true)
|
|
|
+
|
|
|
val macAddr = NetHelper.getInstance().macAddress
|
|
|
val ipAddr = NetHelper.getInstance().localIP
|
|
|
Constants.sip_id = CommonUtils.getSipAccount(activity)
|
|
@@ -79,7 +106,9 @@ class RegisterActivity : BaseActivity<DevicePresenter, ActivityRegisterBinding>(
|
|
|
}
|
|
|
|
|
|
private fun requestPermissions(){
|
|
|
- Observable.just("").compose(RxPermissions(this).ensure(Manifest.permission.CAMERA,
|
|
|
+ Observable.just("")
|
|
|
+ .compose(RxPermissions(this).ensure(
|
|
|
+ Manifest.permission.CAMERA,
|
|
|
Manifest.permission.READ_EXTERNAL_STORAGE,
|
|
|
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
|
|
Manifest.permission.ACCESS_WIFI_STATE,
|
|
@@ -89,13 +118,14 @@ class RegisterActivity : BaseActivity<DevicePresenter, ActivityRegisterBinding>(
|
|
|
if (it){
|
|
|
Log.e(TAG,"拿到APP所有权限")
|
|
|
permissionGrant = true
|
|
|
- if (!TextUtils.isEmpty(CommonUtils.getSipAccount(activity))) {
|
|
|
+ if (!TextUtils.isEmpty(CommonUtils.getSipAccount(activity))
|
|
|
+ && !TextUtils.isEmpty(NetHelper.getInstance().localIP)) {
|
|
|
AppTool.Time.delay(1000) {
|
|
|
push("/siphome/main")
|
|
|
finish()
|
|
|
}
|
|
|
} else {
|
|
|
- showMessage("没有sip账号!")
|
|
|
+ showMessage("网络异常或没有sip账号,请检查!")
|
|
|
}
|
|
|
}else{
|
|
|
showMessage("请授权...")
|
|
@@ -120,17 +150,37 @@ class RegisterActivity : BaseActivity<DevicePresenter, ActivityRegisterBinding>(
|
|
|
SipDialogHelper.showDialog(activity, ip) {
|
|
|
showMessage("设置成功")
|
|
|
CommonUtils.setSipAccount(BaseApplication.appContext, it)
|
|
|
+ Constants.sip_id = CommonUtils.getSipAccount(activity)
|
|
|
+
|
|
|
+ tv_sip_account.text = "本机SIP: " + Constants.sip_id
|
|
|
|
|
|
if (permissionGrant) {
|
|
|
- AppTool.Time.delay(1000) {
|
|
|
- push("/siphome/main")
|
|
|
- finish()
|
|
|
+ if (!TextUtils.isEmpty(NetHelper.getInstance().localIP)) {
|
|
|
+ AppTool.Time.delay(1000) {
|
|
|
+ push("/siphome/main")
|
|
|
+ finish()
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
showMessage("请授权...")
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ btn_settings.setOnClickListener {
|
|
|
+ PassCheckDialogHelper.showDialog(activity) {
|
|
|
+ val intent = Intent(Settings.ACTION_SETTINGS)
|
|
|
+ startActivity(intent)
|
|
|
+
|
|
|
+ if (Build.BOARD.equals("k37tv1_64_bsp") || Build.BOARD.equals("k37mv1_64_bsp") || Build.MODEL.equals("KT10-3F") || "m3520b_bnkj_zx".equals(Build.MODEL)) {
|
|
|
+ StatusBarHelper.toggleStatusBar(activity, true)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ btn_restart_app.setOnClickListener {
|
|
|
+ AppUpdateHelper.restartApp(BaseApplication.appContext)
|
|
|
+ }
|
|
|
}
|
|
|
/**
|
|
|
*页面销毁回调
|