Browse Source

1.初始化时不在启动socket

2.默认加载缓存的网络壁纸图片
20241218TB223FC(测试jar包)
wangwanlei 10 months ago
parent
commit
be9a2edc81

+ 18
- 9
app/src/main/java/com/xhly/manageapp/ManageApplication.kt View File

10
 import androidx.multidex.MultiDexApplication
10
 import androidx.multidex.MultiDexApplication
11
 import com.hjq.toast.Toaster
11
 import com.hjq.toast.Toaster
12
 import com.xhly.corelib.Const
12
 import com.xhly.corelib.Const
13
+import com.xhly.corelib.utils.GsonUtils
13
 import com.xhly.corelib.utils.LogShow
14
 import com.xhly.corelib.utils.LogShow
14
 import com.xhly.corelib.utils.ModelNameUtils
15
 import com.xhly.corelib.utils.ModelNameUtils
15
 import com.xhly.corelib.utils.SharedPreferencesUtils
16
 import com.xhly.corelib.utils.SharedPreferencesUtils
506
         fun setUrlWhiteListWrite(list:ArrayList<String>){
507
         fun setUrlWhiteListWrite(list:ArrayList<String>){
507
             if (ModelNameUtils.IS_LianxX505f()) {
508
             if (ModelNameUtils.IS_LianxX505f()) {
508
                 setUrlWhiteListEnable(true)
509
                 setUrlWhiteListEnable(true)
509
-                //默认添加自己应用为白名单
510
-               /* list.add("mcapitest.xhkjedu.com")
511
-                list.add("mcwstest.xhkjedu.com")*/
510
+                //先清除再添加
511
+                 ClearIpHostRules()
512
                 csdkManager?.urlWhiteListWrite(list)
512
                 csdkManager?.urlWhiteListWrite(list)
513
+                csdkManager?.urlBlackListWrite(arrayListOf("*"))
513
             }
514
             }
514
         }
515
         }
515
         /**
516
         /**
523
         /**
524
         /**
524
          * 移除网络白名单505f使用这个
525
          * 移除网络白名单505f使用这个
525
          */
526
          */
526
-        fun ClearIpHostRules(){
527
+        fun ClearIpHostRules():Boolean{
527
             if (ModelNameUtils.IS_LianxX505f()){
528
             if (ModelNameUtils.IS_LianxX505f()){
528
-                csdkManager?.ClearIpHostRules()
529
+                var clearIpHostRules = csdkManager?.ClearIpHostRules()
530
+                clearIpHostRules?.let {
531
+                    return it
532
+                }
529
             }
533
             }
534
+            return false
530
         }
535
         }
531
 
536
 
532
         /**
537
         /**
580
         //获取是否已经解除管控
585
         //获取是否已经解除管控
581
         val currentSpUtils by lazy { CurrentAppSharedPreferencesUtils.getInstance(this) }
586
         val currentSpUtils by lazy { CurrentAppSharedPreferencesUtils.getInstance(this) }
582
         val exitControlFlag = currentSpUtils.getParam(Const.EXIT_CONTROL, false) as Boolean
587
         val exitControlFlag = currentSpUtils.getParam(Const.EXIT_CONTROL, false) as Boolean
588
+        Toaster.init(this)
589
+        //如果解除管控为真,则不在执行以下代码
583
         try {
590
         try {
584
             val userBean = spUtils.getFromJson(
591
             val userBean = spUtils.getFromJson(
585
                 Const.USERINFO, UserBean().javaClass
592
                 Const.USERINFO, UserBean().javaClass
588
             Const.SCHOOLID=userBean.schoolid
595
             Const.SCHOOLID=userBean.schoolid
589
             Const.CLASSID=userBean.classid
596
             Const.CLASSID=userBean.classid
590
             Const.USERNAME=userBean.username
597
             Const.USERNAME=userBean.username
598
+            if (!exitControlFlag){
599
+                //未解除管控才使用socket
600
+                AppSocket.startSocket(this)
601
+            }
591
         }catch (e:Exception){
602
         }catch (e:Exception){
592
 
603
 
593
         }
604
         }
594
-        Toaster.init(this)
595
-        //如果解除管控为真,则不在执行以下代码
596
-        setUrlWhiteListEnable(true)
597
         if (!exitControlFlag){
605
         if (!exitControlFlag){
598
-            AppSocket.startSocket(this)
599
             if (ModelNameUtils.IS_LianxX505f()) {
606
             if (ModelNameUtils.IS_LianxX505f()) {
600
                 //是505f则执行
607
                 //是505f则执行
601
                 csdkManager = CSDKManager(this)
608
                 csdkManager = CSDKManager(this)
609
+                //启用白名单
610
+                setUrlWhiteListEnable(true)
602
                 addInstallPackageWhiteList(
611
                 addInstallPackageWhiteList(
603
                     arrayListOf(
612
                     arrayListOf(
604
                         Const.CURRENTAPPPKG,
613
                         Const.CURRENTAPPPKG,

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

40
 import com.xhly.corelib.utils.CustomOSUtils
40
 import com.xhly.corelib.utils.CustomOSUtils
41
 import com.xhly.corelib.utils.FileUtils
41
 import com.xhly.corelib.utils.FileUtils
42
 import com.xhly.corelib.utils.GsonUtils
42
 import com.xhly.corelib.utils.GsonUtils
43
+import com.xhly.corelib.utils.ImageUtils
43
 import com.xhly.corelib.utils.LogShow
44
 import com.xhly.corelib.utils.LogShow
44
 import com.xhly.corelib.utils.MD5Utils
45
 import com.xhly.corelib.utils.MD5Utils
45
 import com.xhly.corelib.utils.SharedPreferencesUtils
46
 import com.xhly.corelib.utils.SharedPreferencesUtils
69
 import com.xhly.manageapp.utils.StrategyUtils
70
 import com.xhly.manageapp.utils.StrategyUtils
70
 import com.xhly.manageapp.workmanager.TimingWorker
71
 import com.xhly.manageapp.workmanager.TimingWorker
71
 import kotlinx.coroutines.launch
72
 import kotlinx.coroutines.launch
73
+import java.io.File
72
 import java.util.Calendar
74
 import java.util.Calendar
73
 import java.util.Timer
75
 import java.util.Timer
74
 import java.util.TimerTask
76
 import java.util.TimerTask
96
             return
98
             return
97
         } else {
99
         } else {
98
             userBean = json as UserBean
100
             userBean = json as UserBean
101
+        }
102
+        try {
103
+            val file = File(filesDir, "wallpaper.png")
104
+            if (file.exists()){
105
+                Glide.with(this).load(file).placeholder(R.drawable.main_bg)
106
+                    .error(R.drawable.main_bg)
107
+                    .into(object : CustomViewTarget<LinearLayout, Drawable>(mBinding.root) {
108
+                        override fun onLoadFailed(errorDrawable: Drawable?) {
109
+                            errorDrawable?.let { drawble ->
110
+                                mBinding.root.background = drawble
111
+                            }
112
+                        }
113
+
114
+                        override fun onResourceCleared(placeholder: Drawable?) {
115
+                            placeholder?.let { drawble ->
116
+                                mBinding.root.background = drawble
117
+                            }
118
+                        }
119
+
120
+                        override fun onResourceReady(
121
+                            resource: Drawable,
122
+                            transition: Transition<in Drawable>?
123
+                        ) {
124
+                            mBinding.root.background = resource
125
+                        }
126
+                    })
127
+            }
128
+        }catch (e:Exception){
129
+
99
         }
130
         }
100
         adapter = AppAdapter(this, dataList)
131
         adapter = AppAdapter(this, dataList)
101
         mBinding.rv.layoutManager = GridLayoutManager(this, 6, GridLayoutManager.VERTICAL, false)
132
         mBinding.rv.layoutManager = GridLayoutManager(this, 6, GridLayoutManager.VERTICAL, false)
182
             spUtils.saveJson(Const.STRATEGYBEANKEY, it)
213
             spUtils.saveJson(Const.STRATEGYBEANKEY, it)
183
             StrategyUtils.setStrategy(it)
214
             StrategyUtils.setStrategy(it)
184
             useTimeStrategy()
215
             useTimeStrategy()
216
+            updateStrategyFlag=true
217
+            if (updateTimeFlag){
218
+                showSucessToast()
219
+                updateStrategyFlag=false
220
+            }
185
         }
221
         }
186
         viewModel.appStrategyData.observe(this) {
222
         viewModel.appStrategyData.observe(this) {
187
             //存储app时间策略
223
             //存储app时间策略
188
             spUtils.saveJson(Const.APPSTRATEGYBEANKEY, it)
224
             spUtils.saveJson(Const.APPSTRATEGYBEANKEY, it)
189
-            showSucessToast()
225
+            updateTimeFlag=true
226
+            if (updateStrategyFlag){
227
+                showSucessToast()
228
+                updateTimeFlag=false
229
+            }
190
         }
230
         }
191
         viewModel.padInfoData.observe(this) {
231
         viewModel.padInfoData.observe(this) {
192
             //存储信息上传时间
232
             //存储信息上传时间
234
                             transition: Transition<in Drawable>?
274
                             transition: Transition<in Drawable>?
235
                         ) {
275
                         ) {
236
                             mBinding.root.background = resource
276
                             mBinding.root.background = resource
277
+                            val imageUtil=ImageUtils()
278
+                            imageUtil.saveBitmapToFile(this@MainActivity,imageUtil.drawableToBitmap(resource), File(filesDir,"wallpaper.png"))
237
                         }
279
                         }
238
                     })
280
                     })
239
             }
281
             }

+ 42
- 0
corelib/src/main/java/com/xhly/corelib/utils/ImageUtils.kt View File

1
+package com.xhly.corelib.utils
2
+
3
+import android.content.Context
4
+import android.graphics.Bitmap
5
+import android.graphics.Canvas
6
+import android.graphics.drawable.BitmapDrawable
7
+import android.graphics.drawable.Drawable
8
+import android.os.Environment
9
+import java.io.File
10
+import java.io.FileOutputStream
11
+import java.io.IOException
12
+
13
+class ImageUtils {
14
+    fun drawableToBitmap(drawable: Drawable): Bitmap {
15
+        if (drawable is BitmapDrawable) {
16
+            return drawable.bitmap
17
+        }
18
+
19
+        val bitmap = Bitmap.createBitmap(
20
+            drawable.intrinsicWidth,
21
+            drawable.intrinsicHeight,
22
+            Bitmap.Config.ARGB_8888
23
+        )
24
+        val canvas = Canvas(bitmap)
25
+        drawable.setBounds(0, 0, canvas.width, canvas.height)
26
+        drawable.draw(canvas)
27
+        return bitmap
28
+    }
29
+
30
+    fun saveBitmapToFile(context: Context, bitmap: Bitmap, file: File): Boolean {
31
+        try {
32
+            val stream = FileOutputStream(file)
33
+            bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream)
34
+            stream.flush()
35
+            stream.close()
36
+            return true
37
+        } catch (e: IOException) {
38
+            e.printStackTrace()
39
+            return false
40
+        }
41
+    }
42
+}

Loading…
Cancel
Save