Просмотр исходного кода

1.初始化时不在启动socket

2.默认加载缓存的网络壁纸图片
20241218TB223FC(测试jar包)
wangwanlei 10 месяцев назад
Родитель
Сommit
be9a2edc81

+ 18
- 9
app/src/main/java/com/xhly/manageapp/ManageApplication.kt Просмотреть файл

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

+ 43
- 1
app/src/main/java/com/xhly/manageapp/ui/main/activity/MainActivity.kt Просмотреть файл

@@ -40,6 +40,7 @@ import com.xhly.corelib.utils.AppUtils
40 40
 import com.xhly.corelib.utils.CustomOSUtils
41 41
 import com.xhly.corelib.utils.FileUtils
42 42
 import com.xhly.corelib.utils.GsonUtils
43
+import com.xhly.corelib.utils.ImageUtils
43 44
 import com.xhly.corelib.utils.LogShow
44 45
 import com.xhly.corelib.utils.MD5Utils
45 46
 import com.xhly.corelib.utils.SharedPreferencesUtils
@@ -69,6 +70,7 @@ import com.xhly.manageapp.utils.PadInfoUtils
69 70
 import com.xhly.manageapp.utils.StrategyUtils
70 71
 import com.xhly.manageapp.workmanager.TimingWorker
71 72
 import kotlinx.coroutines.launch
73
+import java.io.File
72 74
 import java.util.Calendar
73 75
 import java.util.Timer
74 76
 import java.util.TimerTask
@@ -96,6 +98,35 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
96 98
             return
97 99
         } else {
98 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 131
         adapter = AppAdapter(this, dataList)
101 132
         mBinding.rv.layoutManager = GridLayoutManager(this, 6, GridLayoutManager.VERTICAL, false)
@@ -182,11 +213,20 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
182 213
             spUtils.saveJson(Const.STRATEGYBEANKEY, it)
183 214
             StrategyUtils.setStrategy(it)
184 215
             useTimeStrategy()
216
+            updateStrategyFlag=true
217
+            if (updateTimeFlag){
218
+                showSucessToast()
219
+                updateStrategyFlag=false
220
+            }
185 221
         }
186 222
         viewModel.appStrategyData.observe(this) {
187 223
             //存储app时间策略
188 224
             spUtils.saveJson(Const.APPSTRATEGYBEANKEY, it)
189
-            showSucessToast()
225
+            updateTimeFlag=true
226
+            if (updateStrategyFlag){
227
+                showSucessToast()
228
+                updateTimeFlag=false
229
+            }
190 230
         }
191 231
         viewModel.padInfoData.observe(this) {
192 232
             //存储信息上传时间
@@ -234,6 +274,8 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
234 274
                             transition: Transition<in Drawable>?
235 275
                         ) {
236 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 Просмотреть файл

@@ -0,0 +1,42 @@
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
+}

Загрузка…
Отмена
Сохранить