Browse Source

1.自动登录之前隐藏布局。

2025_1_7x505f
wangwanlei 1 month ago
parent
commit
f12d4d1806

+ 169
- 150
app/src/main/java/com/xhly/manageapp/ui/main/activity/MainActivity.kt View File

147
     //标记当前是否锁定
147
     //标记当前是否锁定
148
     private var mainLockFlag = false
148
     private var mainLockFlag = false
149
     private var autoAppFlag = true
149
     private var autoAppFlag = true
150
+
150
     //标记是否来自广播退出登录
151
     //标记是否来自广播退出登录
151
-    private var loginoutFlag=false
152
+    private var loginoutFlag = false
152
 
153
 
153
     private var accountDialog: CustomDialog? = null
154
     private var accountDialog: CustomDialog? = null
154
     private var quitAccountDialog: CustomDialog? = null
155
     private var quitAccountDialog: CustomDialog? = null
183
 
184
 
184
     //判断是否在onresume状态
185
     //判断是否在onresume状态
185
     private var isResumeFlag = true
186
     private var isResumeFlag = true
187
+
186
     //判断是否在onDestroy状态
188
     //判断是否在onDestroy状态
187
-    private var isDestroyFlag=false
189
+    private var isDestroyFlag = false
190
+
188
     //执行了自启请求
191
     //执行了自启请求
189
-    private var netAutoAppFlag=false
192
+    private var netAutoAppFlag = false
193
+
190
     //表示请求了策略更新
194
     //表示请求了策略更新
191
-    private var netStrategyDataFlag=false
195
+    private var netStrategyDataFlag = false
196
+
192
     //表示请求了退出
197
     //表示请求了退出
193
-    private var quitFlag=false
198
+    private var quitFlag = false
199
+
194
     //处理连续点击电源键的操作
200
     //处理连续点击电源键的操作
195
-    private var lastClickPowerTime=0L
201
+    private var lastClickPowerTime = 0L
202
+
196
     //标记更新了user
203
     //标记更新了user
197
-    private var updateUser=false
204
+    private var updateUser = false
198
 
205
 
199
     override fun getBinding() = ActivityMainBinding.inflate(layoutInflater)
206
     override fun getBinding() = ActivityMainBinding.inflate(layoutInflater)
200
 
207
 
248
                 registerLoginOutReceiver()
255
                 registerLoginOutReceiver()
249
                 registerLoginEditReceiver()
256
                 registerLoginEditReceiver()
250
                 registerXhlyUpdeteStrategyReceiver()
257
                 registerXhlyUpdeteStrategyReceiver()
251
-                adapter?.userBean=it
258
+                adapter?.userBean = it
252
             }
259
             }
253
-        }catch (e:Exception){
254
-            LogShow("错误是"+e.toString())
260
+        } catch (e: Exception) {
261
+            LogShow("错误是" + e.toString())
255
         }
262
         }
256
         /*
263
         /*
257
          使用情况权限
264
          使用情况权限
352
                         LogShow("冻结失败" + e.toString())
359
                         LogShow("冻结失败" + e.toString())
353
                     }
360
                     }
354
                     unInstallAppList.clear()
361
                     unInstallAppList.clear()
355
-                    if (modelList.size>0){
362
+                    if (modelList.size > 0) {
356
                         ManageApplication.disableInstallation(true)
363
                         ManageApplication.disableInstallation(true)
357
                         //modelList为0表示未打开应用策略,不删除应用,并且打开应用安装权限,其余情况关闭
364
                         //modelList为0表示未打开应用策略,不删除应用,并且打开应用安装权限,其余情况关闭
358
                         appList.forEach { app ->
365
                         appList.forEach { app ->
365
                                 ManageApplication.uninstallPackage(app.packageName)
372
                                 ManageApplication.uninstallPackage(app.packageName)
366
                             }
373
                             }
367
                         }
374
                         }
368
-                    }else{
375
+                    } else {
369
                         //modelList为0表示未打开应用策略,所以打开打开应用安装权限
376
                         //modelList为0表示未打开应用策略,所以打开打开应用安装权限
370
                         ManageApplication.disableInstallation(false)
377
                         ManageApplication.disableInstallation(false)
371
                     }
378
                     }
457
         viewModel.viewModelScope.launch {
464
         viewModel.viewModelScope.launch {
458
             viewModel.strategyData.collect {
465
             viewModel.strategyData.collect {
459
                 //netStrategyDataFlag表示接口请求了,才可以接收数据
466
                 //netStrategyDataFlag表示接口请求了,才可以接收数据
460
-                if (netStrategyDataFlag){
461
-                    netStrategyDataFlag=false
467
+                if (netStrategyDataFlag) {
468
+                    netStrategyDataFlag = false
462
                     it?.let {
469
                     it?.let {
463
                         spUtils.saveJson(Const.STRATEGYBEANKEY, it)
470
                         spUtils.saveJson(Const.STRATEGYBEANKEY, it)
464
                         StrategyUtils.setStrategy(it)
471
                         StrategyUtils.setStrategy(it)
527
                     mBinding.rv.visibility = View.VISIBLE
534
                     mBinding.rv.visibility = View.VISIBLE
528
                     updateAppRv()
535
                     updateAppRv()
529
                     if (it.fromNetWorkType == 1) {
536
                     if (it.fromNetWorkType == 1) {
530
-                        if (quitFlag){
531
-                            quitFlag=false
537
+                        if (quitFlag) {
538
+                            quitFlag = false
532
                             quitAccount(it)
539
                             quitAccount(it)
533
                         }
540
                         }
534
                     } else if (it.fromNetWorkType == 2) {
541
                     } else if (it.fromNetWorkType == 2) {
610
         }
617
         }
611
 
618
 
612
         viewModel.viewModelScope.launch {
619
         viewModel.viewModelScope.launch {
613
-            lifecycleScope.launch {
614
-                withContext(Dispatchers.IO){
615
-                    delay(2000)
616
-                }
617
-                viewModel.autoAppData.collect {
618
-                    it?.let {
619
-                        if (!netAutoAppFlag||isDestroyFlag){
620
-                            return@collect
621
-                        }else{
622
-                            netAutoAppFlag=false
623
-                        }
624
-                        //连接不为空,并且应用已安装则跳转应用
625
-                        /* it.authUrl="com.xhkjedu.xh_control_browser.MainActivity"
626
-                         it.appPackage="com.xhkjedu.xh_control_browser"*/
627
-                        LogShow("锁定了吧" + mainLockFlag)
628
-                        //未锁定则执行跳转,锁定则跳转主页再次锁定并且不在请求接口
629
-                        if (!mainLockFlag) {
630
-                            //如果地址为空并且请求为true则不跳转,否则跳转
631
-                            try {
632
-                                if ((it.authUrl.isNullOrEmpty()||it.appPackage.isNullOrEmpty())&&it.netSucessFlag){
633
-                                    //请求成功但地址为空,不跳转
634
-                                    canClickFlag = true
635
-                                    autoAppFlag = false
636
-                                    spUtils.saveJson(Const.AUTOAPPKEY, it)
637
-                                } else if ((!it.authUrl.isNullOrEmpty()&&!it.appPackage.isNullOrEmpty()) && AppUtils.isAppInstalled(this@MainActivity, it.appPackage)) {
638
-                                    //请求成功地址不为空,并且安装了跳转
639
-                                    spUtils.saveJson(Const.AUTOAPPKEY, it)
640
-                                    LogShow("打开app拉起111")
641
-                                    startAutoApp(it)
642
-                                } else if (!it.netSucessFlag){
643
-                                    //请求失败走缓存
644
-                                    val autoAppBean = spUtils.getFromJson(
645
-                                        Const.AUTOAPPKEY,
646
-                                        AutoAppBean().javaClass
647
-                                    ) as AutoAppBean
648
-                                    if ((!autoAppBean.authUrl.isNullOrEmpty()&&!autoAppBean.appPackage.isNullOrEmpty())&&
649
-                                        AppUtils.isAppInstalled(this@MainActivity, autoAppBean.appPackage) && !it.netSucessFlag) {
650
-                                        //缓存地址不为空,并且安装了则跳转
651
-                                        LogShow("打开app拉起222")
652
-                                        startAutoApp(autoAppBean)
653
-                                    } else {
654
-                                        //其余情况都允许触控
655
-                                        canClickFlag = true
656
-                                    }
657
-                                }else{
620
+            viewModel.autoAppData.collect {
621
+                it?.let {
622
+                    if (!netAutoAppFlag || isDestroyFlag) {
623
+                        mBinding.flayoutRoot.visibility = View.GONE
624
+                        return@collect
625
+                    } else {
626
+                        netAutoAppFlag = false
627
+                    }
628
+                    //连接不为空,并且应用已安装则跳转应用
629
+                    /* it.authUrl="com.xhkjedu.xh_control_browser.MainActivity"
630
+                     it.appPackage="com.xhkjedu.xh_control_browser"*/
631
+                    LogShow("锁定了吧" + mainLockFlag)
632
+                    //未锁定则执行跳转,锁定则跳转主页再次锁定并且不在请求接口
633
+                    if (!mainLockFlag) {
634
+                        //如果地址为空并且请求为true则不跳转,否则跳转
635
+                        try {
636
+                            if ((it.authUrl.isNullOrEmpty() || it.appPackage.isNullOrEmpty()) && it.netSucessFlag) {
637
+                                mBinding.flayoutRoot.visibility = View.GONE
638
+                                //请求成功但地址为空,不跳转
639
+                                canClickFlag = true
640
+                                autoAppFlag = false
641
+                                spUtils.saveJson(Const.AUTOAPPKEY, it)
642
+                            } else if ((!it.authUrl.isNullOrEmpty() && !it.appPackage.isNullOrEmpty()) && AppUtils.isAppInstalled(
643
+                                    this@MainActivity,
644
+                                    it.appPackage
645
+                                )
646
+                            ) {
647
+                                //请求成功地址不为空,并且安装了跳转
648
+                                spUtils.saveJson(Const.AUTOAPPKEY, it)
649
+                                LogShow("打开app拉起111")
650
+                                startAutoApp(it)
651
+                            } else if (!it.netSucessFlag) {
652
+                                //请求失败走缓存
653
+                                val autoAppBean = spUtils.getFromJson(
654
+                                    Const.AUTOAPPKEY,
655
+                                    AutoAppBean().javaClass
656
+                                ) as AutoAppBean
657
+                                if ((!autoAppBean.authUrl.isNullOrEmpty() && !autoAppBean.appPackage.isNullOrEmpty()) &&
658
+                                    AppUtils.isAppInstalled(
659
+                                        this@MainActivity,
660
+                                        autoAppBean.appPackage
661
+                                    ) && !it.netSucessFlag
662
+                                ) {
663
+                                    //缓存地址不为空,并且安装了则跳转
664
+                                    LogShow("打开app拉起222")
665
+                                    startAutoApp(autoAppBean)
666
+                                } else {
667
+                                    //其余情况都允许触控
658
                                     canClickFlag = true
668
                                     canClickFlag = true
669
+                                    mBinding.flayoutRoot.visibility = View.GONE
659
                                 }
670
                                 }
660
-                            } catch (e: Exception) {
671
+                            } else {
672
+                                mBinding.flayoutRoot.visibility = View.GONE
661
                                 canClickFlag = true
673
                                 canClickFlag = true
662
                             }
674
                             }
663
-                        } else {
675
+                        } catch (e: Exception) {
664
                             canClickFlag = true
676
                             canClickFlag = true
665
-                            autoAppFlag = false
666
-                            startIntentActivity(MainActivity().javaClass)
677
+                            mBinding.flayoutRoot.visibility = View.GONE
667
                         }
678
                         }
668
-
679
+                    } else {
680
+                        mBinding.flayoutRoot.visibility = View.GONE
681
+                        canClickFlag = true
682
+                        autoAppFlag = false
683
+                        startIntentActivity(MainActivity().javaClass)
669
                     }
684
                     }
670
                 }
685
                 }
671
-
672
             }
686
             }
673
         }
687
         }
674
         viewModel.timeResultData.observe(this) {
688
         viewModel.timeResultData.observe(this) {
675
-            if (SystemUtil.updateTimeFlag){
676
-                SystemUtil.updateTimeFlag=false
689
+            if (SystemUtil.updateTimeFlag) {
690
+                SystemUtil.updateTimeFlag = false
677
                 ManageApplication.setSysTime(it)
691
                 ManageApplication.setSysTime(it)
678
-                LogShow("当前设置的时间是"+it+"|||"+SystemClock.getDateString(it))
692
+                LogShow("当前设置的时间是" + it + "|||" + SystemClock.getDateString(it))
679
                 try {
693
                 try {
680
                     tipsDialog?.dismiss()
694
                     tipsDialog?.dismiss()
681
-                }catch (e:Exception){
695
+                } catch (e: Exception) {
682
 
696
 
683
                 }
697
                 }
684
             }
698
             }
685
         }
699
         }
686
         viewModel.viewModelScope.launch {
700
         viewModel.viewModelScope.launch {
687
-            viewModel.mainLoginData.collect{bean->
688
-               bean?.let {suserBean->
689
-                    if (!updateUser){
701
+            viewModel.mainLoginData.collect { bean ->
702
+                bean?.let { suserBean ->
703
+                    if (!updateUser) {
690
                         return@collect
704
                         return@collect
691
                     }
705
                     }
692
-                    updateUser=false
693
-                    if (suserBean.xhlyLoginSucess){
694
-                        userBean=suserBean
706
+                    updateUser = false
707
+                    if (suserBean.xhlyLoginSucess) {
708
+                        userBean = suserBean
695
                         val data = LogdOperateBean()
709
                         val data = LogdOperateBean()
696
                         ManageApplication.getDeviceInfo()?.let {
710
                         ManageApplication.getDeviceInfo()?.let {
697
                             data.sn = it
711
                             data.sn = it
698
                         }
712
                         }
699
                         data.doEvent = EventLog.ACCOUNTLOGINEVENT
713
                         data.doEvent = EventLog.ACCOUNTLOGINEVENT
700
-                        data.comm=EventLog.ACCOUNTLOGINEVENTSTRING
714
+                        data.comm = EventLog.ACCOUNTLOGINEVENTSTRING
701
                         viewModel.eventLog(data)
715
                         viewModel.eventLog(data)
702
-                        Const.USERID=suserBean.userid
703
-                        Const.USERNAME=suserBean.username.toString()
704
-                        Const.SCHOOLID=suserBean.schoolid
705
-                        Const.CLASSID=suserBean.classid
706
-                        spUtils.saveJson(Const.USERINFO,suserBean)
716
+                        Const.USERID = suserBean.userid
717
+                        Const.USERNAME = suserBean.username.toString()
718
+                        Const.SCHOOLID = suserBean.schoolid
719
+                        Const.CLASSID = suserBean.classid
720
+                        spUtils.saveJson(Const.USERINFO, suserBean)
707
                         val parseClassToJson = GsonUtils.parseClassToJson(suserBean)
721
                         val parseClassToJson = GsonUtils.parseClassToJson(suserBean)
708
-                        ZSpProvider.save(this@MainActivity,Const.USERINFO,parseClassToJson)
722
+                        ZSpProvider.save(this@MainActivity, Const.USERINFO, parseClassToJson)
709
                         AppSocket.onDestroy()
723
                         AppSocket.onDestroy()
710
                         AppSocket.startSocket(ManageApplication.instance)
724
                         AppSocket.startSocket(ManageApplication.instance)
711
-                    }else{
725
+                        updateAllStrategy()
726
+                    } else {
712
                         suserBean.xhlyLoginMessage?.let {
727
                         suserBean.xhlyLoginMessage?.let {
713
                             Toast(it)
728
                             Toast(it)
714
                         }
729
                         }
723
 */
738
 */
724
         lifecycleScope.launch {
739
         lifecycleScope.launch {
725
             isCreatFlag = true
740
             isCreatFlag = true
726
-            isDestroyFlag=false
727
-            withContext(Dispatchers.IO){
741
+            isDestroyFlag = false
742
+            withContext(Dispatchers.IO) {
728
                 delay(2000)
743
                 delay(2000)
729
             }
744
             }
730
             //自动同时一次时间
745
             //自动同时一次时间
737
     }
752
     }
738
 
753
 
739
 
754
 
740
-
741
     private fun startAutoApp(autoAppBean: AutoAppBean) {
755
     private fun startAutoApp(autoAppBean: AutoAppBean) {
742
         try {
756
         try {
743
             StrategyUtils.initMainResume()
757
             StrategyUtils.initMainResume()
744
             try {
758
             try {
745
-                canClickFlag=true
759
+                canClickFlag = true
746
                 val am = getSystemService(ACTIVITY_SERVICE) as ActivityManager
760
                 val am = getSystemService(ACTIVITY_SERVICE) as ActivityManager
747
                 /*val runningTasks = am.getRunningTasks(1)
761
                 /*val runningTasks = am.getRunningTasks(1)
748
                 if (!runningTasks.isNullOrEmpty()){
762
                 if (!runningTasks.isNullOrEmpty()){
755
                 }*/
769
                 }*/
756
 
770
 
757
                 //不在判断栈顶activity,现在根据进程名字判断,包含则不拉起(增加条件,当前页面为管控桌面则拉起)
771
                 //不在判断栈顶activity,现在根据进程名字判断,包含则不拉起(增加条件,当前页面为管控桌面则拉起)
758
-                var manageFlag=false
772
+                var manageFlag = false
759
                 val runningTasks = am.getRunningTasks(1)
773
                 val runningTasks = am.getRunningTasks(1)
760
-                if (!runningTasks.isNullOrEmpty()){
774
+                if (!runningTasks.isNullOrEmpty()) {
761
                     //判断栈顶是不是管控桌面
775
                     //判断栈顶是不是管控桌面
762
-                    manageFlag= runningTasks[0].topActivity?.className.toString() == this.javaClass.name
776
+                    manageFlag =
777
+                        runningTasks[0].topActivity?.className.toString() == this.javaClass.name
763
                 }
778
                 }
764
                 //当前不是管控桌面才判断下一步,是的话不判断进程。
779
                 //当前不是管控桌面才判断下一步,是的话不判断进程。
765
-                if (!manageFlag){
780
+                if (!manageFlag) {
766
                     val runningApps = am.runningAppProcesses
781
                     val runningApps = am.runningAppProcesses
767
-                    val filter = runningApps.filter { it.processName.equals(autoAppBean.appPackage!!) }
768
-                    if (filter.isNotEmpty()){
782
+                    val filter =
783
+                        runningApps.filter { it.processName.equals(autoAppBean.appPackage!!) }
784
+                    if (filter.isNotEmpty()) {
769
                         //允许触摸不然会出现无法触摸的问题
785
                         //允许触摸不然会出现无法触摸的问题
770
                         canClickFlag = true
786
                         canClickFlag = true
771
                         return
787
                         return
772
                     }
788
                     }
773
                 }
789
                 }
774
-            }catch (e:Exception){
790
+            } catch (e: Exception) {
775
 
791
 
776
             }
792
             }
777
             val launchIntent = Intent()
793
             val launchIntent = Intent()
786
                 val parseClassToJson = GsonUtils.parseClassToJson(it)
802
                 val parseClassToJson = GsonUtils.parseClassToJson(it)
787
                 launchIntent.putExtra("authData", parseClassToJson)
803
                 launchIntent.putExtra("authData", parseClassToJson)
788
             }
804
             }
789
-            if (isDestroyFlag){
805
+            if (isDestroyFlag) {
790
                 return
806
                 return
791
             }
807
             }
792
             startActivity(launchIntent)
808
             startActivity(launchIntent)
794
             canClickFlag = true
810
             canClickFlag = true
795
             LogShow("跳转问题是$e")
811
             LogShow("跳转问题是$e")
796
         }
812
         }
797
-
813
+        mBinding.flayoutRoot.visibility = View.GONE
798
     }
814
     }
799
 
815
 
800
     private fun showSucessToast() {
816
     private fun showSucessToast() {
839
         }
855
         }
840
         mBinding.loginoutLlayout.setOnClickListener {
856
         mBinding.loginoutLlayout.setOnClickListener {
841
             userBean?.let {
857
             userBean?.let {
842
-                quitFlag=true
858
+                quitFlag = true
843
                 viewModel.getSchoolSetData(it.schoolid)
859
                 viewModel.getSchoolSetData(it.schoolid)
844
             }
860
             }
845
         }
861
         }
904
         //禁用注销则需要输入密码才能注销,不限制则直接注销登录
920
         //禁用注销则需要输入密码才能注销,不限制则直接注销登录
905
         if (schoolDeviceSetBean != null && schoolDeviceSetBean.logout == 1) {
921
         if (schoolDeviceSetBean != null && schoolDeviceSetBean.logout == 1) {
906
             //禁用注销
922
             //禁用注销
907
-            if (accountDialog!=null&&accountDialog?.isShow!!){
923
+            if (accountDialog != null && accountDialog?.isShow!!) {
908
                 return
924
                 return
909
-            }else{
925
+            } else {
910
                 showEditDialog()
926
                 showEditDialog()
911
             }
927
             }
912
         } else {
928
         } else {
913
-            if (quitAccountDialog!=null&&quitAccountDialog?.isShow!!){
929
+            if (quitAccountDialog != null && quitAccountDialog?.isShow!!) {
914
                 return
930
                 return
915
-            }else{
931
+            } else {
916
                 showTwoBtnDialog(
932
                 showTwoBtnDialog(
917
                     getString(R.string.loginout), getString(R.string.loginouttips)
933
                     getString(R.string.loginout), getString(R.string.loginouttips)
918
                 ) {
934
                 ) {
1019
         updateMcApp()
1035
         updateMcApp()
1020
         val appVersionCode = SystemUtil.getAppVersionCode(this, packageName)
1036
         val appVersionCode = SystemUtil.getAppVersionCode(this, packageName)
1021
         val appVersionName = SystemUtil.getAppVersionName(this, packageName)
1037
         val appVersionName = SystemUtil.getAppVersionName(this, packageName)
1022
-        mBinding.versionTv.text =if (com.xhkjedu.manageapp.BuildConfig.IS_DEBUG){
1038
+        mBinding.versionTv.text = if (com.xhkjedu.manageapp.BuildConfig.IS_DEBUG) {
1023
             "版本 v${appVersionName} (Build ${appVersionCode})测试版"
1039
             "版本 v${appVersionName} (Build ${appVersionCode})测试版"
1024
-        }else{
1040
+        } else {
1025
             "版本 v${appVersionName} (Build ${appVersionCode})正式版"
1041
             "版本 v${appVersionName} (Build ${appVersionCode})正式版"
1026
         }
1042
         }
1027
         if (SystemUtil.isSuEnable()) {
1043
         if (SystemUtil.isSuEnable()) {
1060
                 useTimeStrategy(4)
1076
                 useTimeStrategy(4)
1061
                 hasNetFlag = false
1077
                 hasNetFlag = false
1062
                 lifecycleScope.launch {
1078
                 lifecycleScope.launch {
1063
-                    withContext(Dispatchers.IO){
1079
+                    withContext(Dispatchers.IO) {
1064
                         delay(2000)
1080
                         delay(2000)
1065
-                        if (!NetworkUtils.isAvailable(applicationContext)){
1081
+                        if (!NetworkUtils.isAvailable(applicationContext)) {
1066
                             showTipsDialog(getString(R.string.checknettips))
1082
                             showTipsDialog(getString(R.string.checknettips))
1067
                         }
1083
                         }
1068
                     }
1084
                     }
1082
             updateAllStrategy()
1098
             updateAllStrategy()
1083
         } else {
1099
         } else {
1084
             if (!isCreatFlag) {
1100
             if (!isCreatFlag) {
1085
-               //!isCreatFlag表示不是第一次启动时使用useTimeStrategy
1086
-               useTimeStrategy(5)
1101
+                //!isCreatFlag表示不是第一次启动时使用useTimeStrategy
1102
+                useTimeStrategy(5)
1087
             }
1103
             }
1088
             isCreatFlag = false
1104
             isCreatFlag = false
1089
         }
1105
         }
1096
             Const.USERNAME = it.username.toString()
1112
             Const.USERNAME = it.username.toString()
1097
             viewModel.postDevicesetDetail(it.schoolid)
1113
             viewModel.postDevicesetDetail(it.schoolid)
1098
         }
1114
         }
1099
-        netStrategyDataFlag=true
1115
+        netStrategyDataFlag = true
1100
         viewModel.postWallpaperPad()
1116
         viewModel.postWallpaperPad()
1101
         viewModel.updateStrategy()
1117
         viewModel.updateStrategy()
1102
         viewModel.uploadAppStrategy()
1118
         viewModel.uploadAppStrategy()
1326
         locationClient?.start()
1342
         locationClient?.start()
1327
     }
1343
     }
1328
 
1344
 
1329
-    private fun useTimeStrategy(type:Int) {
1345
+    private fun useTimeStrategy(type: Int) {
1330
         LogShow("开始获得时间策略$type")
1346
         LogShow("开始获得时间策略$type")
1331
         //获得sputils中的平板锁定策略
1347
         //获得sputils中的平板锁定策略
1332
         try {
1348
         try {
1373
         }
1389
         }
1374
         LogShow("锁定了吧" + mainLockFlag + "|||" + autoAppFlag)
1390
         LogShow("锁定了吧" + mainLockFlag + "|||" + autoAppFlag)
1375
         //自动退出时优先退出而不是拉起app
1391
         //自动退出时优先退出而不是拉起app
1376
-        if (autoAppFlag&&!loginoutFlag) {
1392
+        if (autoAppFlag && !loginoutFlag) {
1377
             /*//因为对于学生端app退出登录的处理,所以类型为5(这时认为执行的时机是学生主动退出了登录,所以不拉起)时不执行拉起
1393
             /*//因为对于学生端app退出登录的处理,所以类型为5(这时认为执行的时机是学生主动退出了登录,所以不拉起)时不执行拉起
1378
             if (type!=5){
1394
             if (type!=5){
1379
                 userBean?.let {
1395
                 userBean?.let {
1383
             }*/
1399
             }*/
1384
             //没有单点登录所以不再判断
1400
             //没有单点登录所以不再判断
1385
             userBean?.let {
1401
             userBean?.let {
1386
-                netAutoAppFlag=true
1402
+                netAutoAppFlag = true
1387
                 viewModel.postAutoAppDetail(it.regionid)
1403
                 viewModel.postAutoAppDetail(it.regionid)
1388
             }
1404
             }
1389
         }
1405
         }
1661
 
1677
 
1662
             Const.ACCOUNTLOGINOUT -> {
1678
             Const.ACCOUNTLOGINOUT -> {
1663
                 //退出则不拉起app
1679
                 //退出则不拉起app
1664
-                loginoutFlag=true
1680
+                loginoutFlag = true
1665
                 loginOut()
1681
                 loginOut()
1666
             }
1682
             }
1667
 
1683
 
1703
                     startTimeTask(it, true)
1719
                     startTimeTask(it, true)
1704
                 }
1720
                 }
1705
                 screenFlag = true
1721
                 screenFlag = true
1706
-                if (System.currentTimeMillis()-lastClickPowerTime>50000){
1707
-                    lastClickPowerTime=System.currentTimeMillis()
1722
+                if (System.currentTimeMillis() - lastClickPowerTime > 50000) {
1723
+                    lastClickPowerTime = System.currentTimeMillis()
1708
                     Const.backNum++
1724
                     Const.backNum++
1709
                     updateResumeStrategy()
1725
                     updateResumeStrategy()
1710
                 }
1726
                 }
1726
             Const.STARTLOCATION -> {
1742
             Const.STARTLOCATION -> {
1727
                 getLocation()
1743
                 getLocation()
1728
             }
1744
             }
1729
-            Const.THIRDLOGINSUCCESS->{
1730
-                loginoutFlag=false
1731
-                 loginEdit(uiEvent.bundle)
1745
+
1746
+            Const.THIRDLOGINSUCCESS -> {
1747
+                loginoutFlag = false
1748
+                loginEdit(uiEvent.bundle)
1732
             }
1749
             }
1733
-            Const.LOGINOUTTOMAINACTIVITY->{
1734
-                loginoutFlag=true
1750
+
1751
+            Const.LOGINOUTTOMAINACTIVITY -> {
1752
+                loginoutFlag = true
1735
             }
1753
             }
1736
         }
1754
         }
1737
     }
1755
     }
1739
     private fun loginEdit(bundle: Bundle?) {
1757
     private fun loginEdit(bundle: Bundle?) {
1740
         bundle?.let {
1758
         bundle?.let {
1741
             val string = it.getString("loginEdit")
1759
             val string = it.getString("loginEdit")
1742
-            if (string!=null){
1760
+            if (string != null) {
1743
                 try {
1761
                 try {
1744
                     val mcUserBean = GsonUtils.parseJsonWithGson(string, McUserBean::class.java)
1762
                     val mcUserBean = GsonUtils.parseJsonWithGson(string, McUserBean::class.java)
1745
-                    val loginStudentBean=LoginStudentBean()
1763
+                    val loginStudentBean = LoginStudentBean()
1746
                     userBean?.let {
1764
                     userBean?.let {
1747
-                        loginStudentBean.userid=it.userid
1748
-                        loginStudentBean.regionid=it.regionid
1765
+                        loginStudentBean.userid = it.userid
1766
+                        loginStudentBean.regionid = it.regionid
1749
                     }
1767
                     }
1750
-                    loginStudentBean.username=mcUserBean?.username
1751
-                    loginStudentBean.studentno=mcUserBean?.studentno
1752
-                    loginStudentBean.cardid=mcUserBean?.cardid
1753
-                    loginStudentBean.classname=mcUserBean?.classname
1754
-                    loginStudentBean.schoolname=mcUserBean?.schoolname
1755
-                    loginStudentBean.userphone=mcUserBean?.userphone
1756
-                    if (mcUserBean?.usersex==1){
1757
-                        loginStudentBean.usersex=1
1758
-                    }else{
1759
-                        loginStudentBean.usersex=0
1768
+                    loginStudentBean.username = mcUserBean?.username
1769
+                    loginStudentBean.studentno = mcUserBean?.studentno
1770
+                    loginStudentBean.cardid = mcUserBean?.cardid
1771
+                    loginStudentBean.classname = mcUserBean?.classname
1772
+                    loginStudentBean.schoolname = mcUserBean?.schoolname
1773
+                    loginStudentBean.userphone = mcUserBean?.userphone
1774
+                    if (mcUserBean?.usersex == 1) {
1775
+                        loginStudentBean.usersex = 1
1776
+                    } else {
1777
+                        loginStudentBean.usersex = 0
1760
                     }
1778
                     }
1761
-                    updateUser=true
1779
+                    updateUser = true
1762
                     viewModel.editLogin(loginStudentBean)
1780
                     viewModel.editLogin(loginStudentBean)
1763
-                }catch (e:Exception){
1764
-                    Log.d("修改登录信息失败",e.toString())
1781
+                } catch (e: Exception) {
1782
+                    Log.d("修改登录信息失败", e.toString())
1765
                 }
1783
                 }
1766
             }
1784
             }
1767
         }
1785
         }
1939
             var schoolDeviceSetBean: SchoolDeviceSetBean? = null
1957
             var schoolDeviceSetBean: SchoolDeviceSetBean? = null
1940
             schoolDeviceSetBean = StrategyUtils.getSchoolDeviceSetBean(this)
1958
             schoolDeviceSetBean = StrategyUtils.getSchoolDeviceSetBean(this)
1941
             schoolDeviceSetBean?.let {
1959
             schoolDeviceSetBean?.let {
1942
-                if (it.calendar==0){
1960
+                if (it.calendar == 0) {
1943
                     //如果不隐藏日历则需要先解除冻结,否则继续冻结,需要优先处理否则之后会存在读取不到日历安装包的情况
1961
                     //如果不隐藏日历则需要先解除冻结,否则继续冻结,需要优先处理否则之后会存在读取不到日历安装包的情况
1944
-                    ManageApplication.setPackageEnabled(Const.ANDROIDCALENDAR,true)
1945
-                }else{
1946
-                    ManageApplication.setPackageEnabled(Const.ANDROIDCALENDAR,false)
1962
+                    ManageApplication.setPackageEnabled(Const.ANDROIDCALENDAR, true)
1963
+                } else {
1964
+                    ManageApplication.setPackageEnabled(Const.ANDROIDCALENDAR, false)
1947
                 }
1965
                 }
1948
             }
1966
             }
1949
             val storeList = arrayListOf<String>()
1967
             val storeList = arrayListOf<String>()
2106
 
2124
 
2107
     private fun registerBleStateReceiver() {
2125
     private fun registerBleStateReceiver() {
2108
         val filter = IntentFilter()
2126
         val filter = IntentFilter()
2109
-        mBleReceiver= BLEStateReceiver()
2127
+        mBleReceiver = BLEStateReceiver()
2110
         filter.addAction("android.bluetooth.adapter.action.STATE_CHANGED")
2128
         filter.addAction("android.bluetooth.adapter.action.STATE_CHANGED")
2111
         filter.addAction("android.bluetooth.BluetoothAdapter.STATE_OFF")
2129
         filter.addAction("android.bluetooth.BluetoothAdapter.STATE_OFF")
2112
-        filter.addAction("android.bluetooth.BluetoothAdapter.STATE_ON" )
2130
+        filter.addAction("android.bluetooth.BluetoothAdapter.STATE_ON")
2113
         registerReceiver(mBleReceiver, filter)
2131
         registerReceiver(mBleReceiver, filter)
2114
     }
2132
     }
2115
 
2133
 
2129
         filter.addAction(Intent.ACTION_MEDIA_EJECT)
2147
         filter.addAction(Intent.ACTION_MEDIA_EJECT)
2130
         registerReceiver(mSDReceiver, filter)
2148
         registerReceiver(mSDReceiver, filter)
2131
     }
2149
     }
2150
+
2132
     private fun registerLoginOutReceiver() {
2151
     private fun registerLoginOutReceiver() {
2133
         val filter = IntentFilter()
2152
         val filter = IntentFilter()
2134
         mLoginOutReceiver = XhlyLoginOutReceiver()
2153
         mLoginOutReceiver = XhlyLoginOutReceiver()
2264
 
2283
 
2265
     override fun onDestroy() {
2284
     override fun onDestroy() {
2266
         super.onDestroy()
2285
         super.onDestroy()
2267
-        isDestroyFlag=true
2286
+        isDestroyFlag = true
2268
         if (timer != null) {
2287
         if (timer != null) {
2269
             timer?.cancel()
2288
             timer?.cancel()
2270
             timer = null
2289
             timer = null
2273
             //销毁时清除所有缓存
2292
             //销毁时清除所有缓存
2274
             val appList = AppUtils.GetAppList(this@MainActivity)
2293
             val appList = AppUtils.GetAppList(this@MainActivity)
2275
             StrategyUtils.clearMemory(this@MainActivity, appList)
2294
             StrategyUtils.clearMemory(this@MainActivity, appList)
2276
-        }catch (e:Exception){
2295
+        } catch (e: Exception) {
2277
 
2296
 
2278
         }
2297
         }
2279
         locationClient?.stop()
2298
         locationClient?.stop()
2352
     override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
2371
     override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
2353
         val x = mBinding.netsetLlayout.x
2372
         val x = mBinding.netsetLlayout.x
2354
         val y = mBinding.netsetLlayout.y
2373
         val y = mBinding.netsetLlayout.y
2355
-        if (ev!=null){
2356
-            if (ev.x>=x&&ev.y>=y){
2374
+        if (ev != null) {
2375
+            if (ev.x >= x && ev.y >= y) {
2357
                 super.dispatchTouchEvent(ev)
2376
                 super.dispatchTouchEvent(ev)
2358
             }
2377
             }
2359
         }
2378
         }
2365
     }
2384
     }
2366
 
2385
 
2367
     override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
2386
     override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
2368
-        when(keyCode){
2369
-            KeyEvent.KEYCODE_HOME->{
2387
+        when (keyCode) {
2388
+            KeyEvent.KEYCODE_HOME -> {
2370
                 return true
2389
                 return true
2371
             }
2390
             }
2372
         }
2391
         }

+ 4
- 1
app/src/main/java/com/xhly/manageapp/viewmodel/BaseViewModel.kt View File

18
 import com.xhly.manageapp.bean.user.UserBean
18
 import com.xhly.manageapp.bean.user.UserBean
19
 import com.xhly.manageapp.network.log.LogService
19
 import com.xhly.manageapp.network.log.LogService
20
 import com.xhly.manageapp.ui.login.netservice.LoginService
20
 import com.xhly.manageapp.ui.login.netservice.LoginService
21
+import com.xhly.manageapp.utils.SystemClock
21
 import kotlinx.coroutines.flow.Flow
22
 import kotlinx.coroutines.flow.Flow
22
 import kotlinx.coroutines.flow.MutableStateFlow
23
 import kotlinx.coroutines.flow.MutableStateFlow
23
 import kotlinx.coroutines.flow.asStateFlow
24
 import kotlinx.coroutines.flow.asStateFlow
183
                 SystemUtil.updateTimeFlag=true
184
                 SystemUtil.updateTimeFlag=true
184
                 val endTime = System.currentTimeMillis()
185
                 val endTime = System.currentTimeMillis()
185
                 val obj = postSyncTime.obj
186
                 val obj = postSyncTime.obj
186
-                timeResult.value = obj + (endTime - startTime) / 2
187
+                val l = obj + (endTime - startTime) / 2
188
+                LogShow("设置的时间是"+SystemClock.getDateString(l))
189
+                timeResult.value = l
187
             } else {
190
             } else {
188
                 if (!postSyncTime.msg.isNullOrEmpty()) {
191
                 if (!postSyncTime.msg.isNullOrEmpty()) {
189
                     netMessage.value = postSyncTime.msg
192
                     netMessage.value = postSyncTime.msg

BIN
app/src/main/res/drawable/icon_code_sn.png View File


+ 8
- 1
app/src/main/res/layout/activity_main.xml View File

84
                 android:layout_marginTop="24dp"
84
                 android:layout_marginTop="24dp"
85
                 android:overScrollMode="never" />
85
                 android:overScrollMode="never" />
86
         </LinearLayout>
86
         </LinearLayout>
87
-
87
+        <LinearLayout
88
+            android:id="@+id/flayout_root"
89
+            android:layout_width="match_parent"
90
+            android:layout_height="match_parent"
91
+            android:background="@drawable/main_bg"
92
+            android:gravity="center_horizontal"
93
+            android:orientation="vertical"
94
+            />
88
         <LinearLayout
95
         <LinearLayout
89
             android:id="@+id/lock_llayout"
96
             android:id="@+id/lock_llayout"
90
             android:layout_width="match_parent"
97
             android:layout_width="match_parent"

Loading…
Cancel
Save