123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- package com.cr.pages
- import android.graphics.Color
- import android.os.Bundle
- import android.view.LayoutInflater
- import android.view.View
- import android.view.ViewGroup
- import android.widget.Button
- import com.bigkoo.pickerview.adapter.ArrayWheelAdapter
- import com.contrarywind.listener.OnItemSelectedListener
- import com.cr.common.DataManager
- import com.cr.cruav.CrApplication
- import com.cr.cruav.R
- import com.cr.data.CrUtil
- import com.cr.dialog.DialogNormal
- import com.cr.event.BarAction
- import com.cr.event.EventFragmentBarAction
- import com.cr.models.IPAndComModel
- import com.cr.view.CrViewWheel
- import com.cr.widget.CrEditTextWidget
- import dji.v5.utils.common.ContextUtil
- /**
- * 操作系统:MAC系统
- * 创建者:王成
- * 创建日期:2023/3/30 13:44
- * 描述:设置IP和COM
- */
- class FragmentSetIpAndCom : CrNavigationFragment(),View.OnClickListener{
- // define: 2023/3/30 选择组件
- var wheelSelectIpAndCom: CrViewWheel? = null
- var lblIp: CrEditTextWidget? = null
- var lblCom: CrEditTextWidget? = null
- var lblServerName: CrEditTextWidget? = null
- var btnSetting:Button? = null
- // define: 2023/4/3 变量定义
- var networkLinks:List<IPAndComModel> = mutableListOf()
- /**
- * 创建视图
- * @param inflater LayoutInflater
- * @param container ViewGroup?
- * @param savedInstanceState Bundle?
- * @return View?
- */
- override fun onCreateView(
- inflater: LayoutInflater,
- container: ViewGroup?,
- savedInstanceState: Bundle?
- ): View? {
- self = this
- mainView = inflater.inflate(R.layout.frag_set_ip_and_com, null)
- // todo: 2023/3/30 设置导航栏
- setBar(R.id.nv)
- setBarVisible(isVisible = false)
- // todo: 2023/3/30 关联组件
- joinControls()
- // todo: 2023/3/30 初始化显示
- initPage()
- return mainView
- }
- /**
- * 挂接控件
- */
- override fun joinControls() {
- // todo: 2023/3/30 挂接选择组件
- wheelSelectIpAndCom = mainView!!.findViewById(R.id.frm_ic_view_list)
- // todo: 2023/4/3 挂接展示组件
- lblIp = mainView!!.findViewById(R.id.frm_ic_txt_ip)
- lblCom = mainView!!.findViewById(R.id.frm_ic_txt_com)
- lblServerName = mainView!!.findViewById(R.id.frm_ic_txt_server)
- btnSetting = mainView!!.findViewById(R.id.frm_ic_btn_set)
- btnSetting?.setOnClickListener(this)
- // todo: 2023/3/31 最后调用超类的关联方法 以便初始化控件
- super.joinControls()
- }
- /**
- * 初始化控件
- */
- override fun initControls() {
- super.initControls()
- // todo: 2023/3/30 服务信息选择滑动组件初始化
- wheelSelectIpAndCom?.setTextColorCenter(Color.YELLOW) // TODO: 4/17/21 设置选中项颜色
- wheelSelectIpAndCom?.setItemsVisibleCount(8)
- wheelSelectIpAndCom?.setTextSize(CrUtil.getDimens(R.dimen.sp_6))
- wheelSelectIpAndCom?.setTypeface(CrUtil.getFont(CrApplication.getContext()))
- wheelSelectIpAndCom?.setCyclic(false) // TODO: 6/9/21 禁止循环
- wheelSelectIpAndCom?.setOnItemSelectedListener(onItemSelectedListener)
- // todo: 2023/4/3 初始化网络连接信息
- var nLinkInfo: IPAndComModel = DataManager.getNetworkLinkInfo()
- setLinkView(nLinkInfo)
- }
- /**
- * 初始化页面
- */
- override fun initPage() {
- super.initPage()
- networkLinks = DataManager.getNetworkLinks()
- var strList = arrayListOf<String>()
- var selIndex:Int = 0
- for(index in networkLinks.indices){
- var link = networkLinks[index]
- strList.add(link!!.toString())
- if(link.isSelect) selIndex = index
- }
- wheelSelectIpAndCom!!.adapter = ArrayWheelAdapter(strList)
- wheelSelectIpAndCom!!.currentItem = selIndex
- }
- /**
- * 设置显示连接信息
- * @param link IPAndComModel
- */
- private fun setLinkView(link:IPAndComModel){
- link.let {
- lblIp?.setContent(it.ip)
- lblCom?.setContent(it.com)
- lblServerName?.setContent(it.serverName)
- }
- }
- /**
- * 滑动选择器的滑动选择事件
- */
- private var onItemSelectedListener: OnItemSelectedListener = OnItemSelectedListener {
- setLinkView(networkLinks[it])
- }
- /**
- * 设置连接
- */
- private fun setLink(){
- // todo: 2023/4/3 先进行检测
- if (lblIp?.getContent().equals("") || !CrUtil.checkIP(lblIp?.getContent())!!){
- showWarning("Ip地址不符合要求!")
- return
- }
- if (lblCom?.getContent().equals("") || !CrUtil.checkCOM(lblCom?.getContent())!!){
- showWarning("端口不符合要求!")
- return
- }
- if (lblServerName?.getContent().equals("")){
- showWarning("服务名不符合要求!")
- return
- }
- var link = IPAndComModel(lblIp!!.getContent(),lblCom!!.getContent(),lblServerName!!.getContent())
- // todo: 2023/4/3 查询
- var isExists:Boolean = DataManager.queryNetworkLink(link)
- if(isExists){
- // todo: 2023/4/3 存在则更新
- var isReset:Boolean = DataManager.cancelNetworkChecked()
- var isUpdate:Boolean = DataManager.updateNetworkChecked(link,true)
- showInformation(if(isReset && isUpdate) "设置成功" else "设置失败")
- }else{
- // todo: 2023/4/3 不存在 则追加
- var isReset:Boolean = DataManager.cancelNetworkChecked()
- var isInsert:Boolean = DataManager.insertNetworkLink(link)
- showInformation(if(isReset && isInsert) "设置成功" else "设置失败")
- }
- // todo: 2023/4/3 重置页面
- initPage()
- }
- /**
- * 点击事件
- * @param view View
- */
- override fun onClick(view: View?) {
- when(view?.id){
- R.id.frm_ic_btn_set->{
- setLink()
- }
- }
- }
- /**
- * 重写导航栏回退事件
- */
- override fun gotoBack() {
- CrApplication.getEventBus().post(EventFragmentBarAction(self!!,BarAction.ACTION_BACK))
- }
- /**
- * 重写导航栏关闭事件
- */
- override fun dismiss() {
- CrApplication.getEventBus().post(EventFragmentBarAction(self!!,BarAction.ACTION_DISMISS))
- }
- }
|