Преглед изворни кода

1.网络不可用时允许点击网络设置。

2.网络不可用时显示更新策略。
20241218TB223FC(测试jar包)
wangwanlei пре 11 месеци
родитељ
комит
63552d35c5

+ 11
- 6
app/src/main/java/com/xhly/manageapp/AppAdapter.kt Прегледај датотеку

@@ -15,6 +15,7 @@ import com.xhly.corelib.bean.AppInfo
15 15
 import com.xhly.corelib.eventbus.UIEvent
16 16
 import com.xhly.corelib.utils.AppUtils
17 17
 import com.xhly.corelib.utils.LogShow
18
+import com.xhly.corelib.utils.NetworkUtils
18 19
 import com.xhly.corelib.utils.SystemUtil
19 20
 import com.xhly.manageapp.utils.InstallUtils
20 21
 import com.xhly.manageapp.utils.StrategyUtils
@@ -61,12 +62,16 @@ class AppAdapter(var context: Context, var data: ArrayList<AppInfo>) :
61 62
                     it.changeCode()
62 63
                 }
63 64
             }else if (appInfo.packageName.equals(Const.UPDATESTRATEGYPKGNAME)){
64
-                if (lastTimeLong+20*1000<System.currentTimeMillis()){
65
-                    lastTimeLong=System.currentTimeMillis()
66
-                    UIEvent(Const.CODE2004.toString()).post()
67
-                }else{
68
-                    Toaster.show(context.getString(R.string.strategyupdatetips))
69
-                }
65
+               if (NetworkUtils.isAvailable(context)){
66
+                   if (lastTimeLong+20*1000<System.currentTimeMillis()){
67
+                       lastTimeLong=System.currentTimeMillis()
68
+                       UIEvent(Const.CODE2004.toString()).post()
69
+                   }else{
70
+                       Toaster.show(context.getString(R.string.strategyupdatetips))
71
+                   }
72
+               }else{
73
+                   Toaster.show(context.getString(R.string.checknettips))
74
+               }
70 75
             }else if (appInfo.packageName.equals(Const.WIFISEETTINGPKG)){
71 76
                 context.startActivity(Intent(Settings.ACTION_WIFI_SETTINGS))
72 77
             }else if (appInfo.packageName.equals(Const.STOREAPPPKG)){

+ 23
- 1
app/src/main/java/com/xhly/manageapp/ui/main/activity/MainActivity.kt Прегледај датотеку

@@ -28,6 +28,7 @@ import android.widget.LinearLayout
28 28
 import android.widget.TextView
29 29
 import android.widget.Toast
30 30
 import androidx.activity.addCallback
31
+import androidx.appcompat.content.res.AppCompatResources
31 32
 import androidx.lifecycle.lifecycleScope
32 33
 import androidx.lifecycle.viewModelScope
33 34
 import androidx.recyclerview.widget.GridLayoutManager
@@ -710,7 +711,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),Download
710 711
 
711 712
     override fun onResume() {
712 713
         super.onResume()
713
-
714
+        updateNetErrorAppRv()
714 715
         lifecycleScope.launch(Dispatchers.IO){
715 716
             try {
716 717
                 val json = spUtils.getFromJson(Const.USERINFO, UserBean().javaClass)
@@ -1388,6 +1389,27 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),Download
1388 1389
 
1389 1390
         }
1390 1391
     }
1392
+     //在网络无连接时显示数据
1393
+    private fun updateNetErrorAppRv(){
1394
+        if (!NetworkUtils.isAvailable(this)&&mBinding.rv.visibility==View.INVISIBLE){
1395
+            //未联网时,默认只显示更新策略图标
1396
+            dataList.clear()
1397
+            dataList.add(CustomAppUtils().getCusomAppBean(
1398
+                getString(R.string.updatestrategy),
1399
+                Const.UPDATESTRATEGYPKGNAME,
1400
+                AppCompatResources.getDrawable(this,R.drawable.icon_updatestrategy)!!
1401
+            ))
1402
+            mBinding.rv.visibility=View.VISIBLE
1403
+            if (adapter == null) {
1404
+                adapter = AppAdapter(this, dataList)
1405
+                adapter?.changePwdListener = getChangeCodeListener()
1406
+                mBinding.rv.adapter = adapter
1407
+            }
1408
+            adapter?.let {
1409
+                it.notifyDataSetChanged()
1410
+            }
1411
+        }
1412
+    }
1391 1413
 
1392 1414
     fun checkAccessibility(context: Context): Boolean {
1393 1415
         // 判断辅助功能是否开启

+ 1
- 1
app/src/main/java/com/xhly/manageapp/utils/CustomAppUtils.kt Прегледај датотеку

@@ -49,7 +49,7 @@ class CustomAppUtils {
49 49
         return appList
50 50
     }
51 51
 
52
-    private fun getCusomAppBean(name: String, pkg: String, icon: Drawable):AppInfo{
52
+    public fun getCusomAppBean(name: String, pkg: String, icon: Drawable):AppInfo{
53 53
         val appInfo = AppInfo()
54 54
         appInfo.name = name
55 55
         appInfo.packageName = pkg

+ 2
- 0
app/src/main/res/layout/activity_main.xml Прегледај датотеку

@@ -162,6 +162,8 @@
162 162
             android:layout_gravity="bottom|right"
163 163
             android:layout_marginRight="10dp"
164 164
             android:layout_marginBottom="10dp"
165
+            android:paddingLeft="10dp"
166
+            android:paddingTop="10dp"
165 167
             android:gravity="center"
166 168
             android:orientation="horizontal">
167 169
 

+ 1
- 0
app/src/main/res/values/strings.xml Прегледај датотеку

@@ -47,4 +47,5 @@
47 47
     <string name="checkcode">密码校验</string>
48 48
     <string name="startapptips">应用正在安装,请稍后</string>
49 49
     <string name="strategyupdatetips">请求过于频繁,请稍等</string>
50
+    <string name="checknettips">请检查网络连接是否正常</string>
50 51
 </resources>

Loading…
Откажи
Сачувај