From 4230457ee9edca6af738ec3f832ed0f49d0d99c3 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 04 十二月 2024 18:10:30 +0800
Subject: [PATCH] 1.下载地图瓦片判断是否有网。 2.没有上传成功的巡检坐标有网时重新上传。 3.添加网络判断的工具类

---
 app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java |   90 +++++++++++++-------------------------------
 1 files changed, 27 insertions(+), 63 deletions(-)

diff --git a/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java b/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java
index 8e03e6f..dc7a736 100644
--- a/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java
+++ b/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java
@@ -1,10 +1,6 @@
 package com.dayu.pipirrapp.net;
 
 import android.content.Context;
-import android.net.ConnectivityManager;
-import android.net.NetworkCapabilities;
-import android.net.NetworkInfo;
-import android.os.Build;
 import android.util.Log;
 
 import com.dayu.pipirrapp.MyApplication;
@@ -18,6 +14,7 @@
 import com.dayu.pipirrapp.net.upload.UploadFileListener;
 import com.dayu.pipirrapp.utils.MapJpgUtils;
 import com.dayu.pipirrapp.utils.MyJsonParser;
+import com.dayu.pipirrapp.utils.NetUtils;
 
 import java.util.HashMap;
 import java.util.List;
@@ -88,6 +85,7 @@
     public <T> void requestGet(final Context context, final String path, final Class<T> tClass, final Map<String, Object> params, final SubscriberListener listener) {
         request(context, false, path, true, tClass, params, listener);
     }
+
     public <T> void requestGetHideLoading(final Context context, final String path, final Class<T> tClass, final Map<String, Object> params, final SubscriberListener listener) {
         request(context, true, path, true, tClass, params, listener);
     }
@@ -201,7 +199,7 @@
      * @param <T>
      */
     public <T> void getCode(Map<String, Object> params, CodeListener listener) {
-        if (isNetworkAvailable(MyApplication.myApplication)) {
+        if (NetUtils.isNetworkAvailable(MyApplication.myApplication)) {
             Observable observable;
             observable = apiService.getCode(params);
             observable.subscribeOn(Schedulers.io())
@@ -224,33 +222,31 @@
      *
      * @param urlPath
      */
-    public void donwLoadTile(String urlPath) {
-        Observable<ResponseBody> observable;
-        observable = apiService.downloadTile(urlPath);
+    public void donwLoadTile(Context context, String urlPath) {
+        if (NetUtils.isNetworkAvailable(context)) {
+            Observable<ResponseBody> observable;
+            observable = apiService.downloadTile(urlPath);
+            observable
+                    .subscribeOn(Schedulers.io())  // 缃戠粶璇锋眰鍦� I/O 绾跨▼涓繘琛�
+                    .observeOn(Schedulers.io())    // 鍥炶皟澶勭悊涔熷湪 I/O 绾跨▼
+                    .subscribe(
+                            responseBody -> {
 
-
-//        compositeDisposable.add(
-        observable
-                .subscribeOn(Schedulers.io())  // 缃戠粶璇锋眰鍦� I/O 绾跨▼涓繘琛�
-                .observeOn(Schedulers.io())    // 鍥炶皟澶勭悊涔熷湪 I/O 绾跨▼
-                .subscribe(
-                        responseBody -> {
-
-                            boolean success = false;
-                            if (!MapJpgUtils.getInsatance().isHasFiles(urlPath)) {
-                                success = MapJpgUtils.getInsatance().saveTileToCache(urlPath, responseBody);
-                            }
-                            if (success) {
-                                Log.d(TAG, "Download success for tile: " + urlPath);
-                            } else {
-                                Log.e(TAG, "Failed to save tile to disk: " + urlPath);
-                            }
-                        },
-                        throwable -> Log.e(TAG, "Download failed for tile: " + urlPath)
-                );
-//        );
-
-
+                                boolean success = false;
+                                if (!MapJpgUtils.getInsatance().isHasFiles(urlPath)) {
+                                    success = MapJpgUtils.getInsatance().saveTileToCache(urlPath, responseBody);
+                                }
+                                if (success) {
+                                    Log.d(TAG, "Download success for tile: " + urlPath);
+                                } else {
+                                    Log.e(TAG, "Failed to save tile to disk: " + urlPath);
+                                }
+                            },
+                            throwable -> Log.e(TAG, "Download failed for tile: " + urlPath)
+                    );
+        } else {
+            Log.e(TAG, "娌℃湁缃戠粶涓嶄笅杞�: " + urlPath);
+        }
     }
 
     // 鍋滄绾跨▼姹狅紝閲婃斁璧勬簮
@@ -260,36 +256,6 @@
         }
     }
 
-    /**
-     * 鍒ゆ柇褰撳墠鏄惁鏈夌綉缁�
-     *
-     * @param context
-     * @return
-     */
-    public boolean isNetworkAvailable(Context context) {
-        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
-
-        if (connectivityManager != null) {
-            // 瀵逛簬 Android 鐗堟湰澶т簬绛変簬 Android Q (API level 29)
-            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
-                NetworkCapabilities capabilities = connectivityManager.getNetworkCapabilities(connectivityManager.getActiveNetwork());
-                if (capabilities != null) {
-                    // 妫�鏌ョ綉缁滄槸鍚︽湁浼犺緭鑳藉姏锛堝寘鎷� Wi-Fi 鍜岀Щ鍔ㄦ暟鎹級
-                    if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) || capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) {
-                        return true;
-                    }
-                }
-            } else {
-                // 瀵逛簬 Android Q 浠ヤ笅鐗堟湰
-                NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
-                if (activeNetworkInfo != null && activeNetworkInfo.isConnected()) {
-                    return true;
-                }
-            }
-        }
-
-        return false;  // 鏃犵綉缁滆繛鎺�
-    }
 
     /**
      * 涓婁紶鏂囦欢
@@ -340,8 +306,6 @@
             }
         });
     }
-
-
 
 
 }
\ No newline at end of file

--
Gitblit v1.8.0