From be9bea2335d4e4617844a1603aa624098c84b2a2 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期二, 15 十月 2024 13:55:00 +0800
Subject: [PATCH] 1、退出登录 2.显示当前版本号 3.删除缓存 4.地图相关

---
 app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java |   72 +++++++++++++++++++++++++++++-------
 1 files changed, 58 insertions(+), 14 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 9bf38c8..0735ae5 100644
--- a/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java
+++ b/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java
@@ -1,8 +1,13 @@
 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;
 import com.dayu.pipirrapp.bean.net.CodeResult;
 import com.dayu.pipirrapp.bean.net.WeatherResponse;
 import com.dayu.pipirrapp.net.subscribers.BaseProgressSubscriber;
@@ -77,6 +82,9 @@
     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);
+    }
 
     /**
      * 鍙戦�佽姹�
@@ -97,10 +105,9 @@
 
         if (isGet) {
             if (params == null) {
-                observable = apiService.requestGet(path);
+                observable = apiService.requestGet(path, MyApplication.myApplication.token);
             } else {
-
-                observable = apiService.requestGet(path, params);
+                observable = apiService.requestGet(path, params, MyApplication.myApplication.token);
             }
         } else {
             observable = apiService.requestPost(path, params);
@@ -182,21 +189,27 @@
 
     /**
      * 鑾峰彇楠岃瘉鐮�
+     *
      * @param params
      * @param listener
      * @param <T>
      */
-    public <T> void getCode( Map<String, Object> params, CodeListener listener) {
-        Observable observable;
-        observable = apiService.getCode(params);
-        observable.subscribeOn(Schedulers.io())
-                .unsubscribeOn(Schedulers.newThread())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(responseBody -> {
-                    listener.onNext((CodeResult) responseBody);
-                }, throwable -> {
-                    listener.error((Throwable) throwable);
-                });
+    public <T> void getCode(Map<String, Object> params, CodeListener listener) {
+        if (isNetworkAvailable(MyApplication.myApplication)) {
+            Observable observable;
+            observable = apiService.getCode(params);
+            observable.subscribeOn(Schedulers.io())
+                    .unsubscribeOn(Schedulers.newThread())
+                    .observeOn(AndroidSchedulers.mainThread())
+                    .subscribe(responseBody -> {
+                        listener.onNext((CodeResult) responseBody);
+                    }, throwable -> {
+                        listener.error((Throwable) throwable);
+                    });
+        } else {
+            listener.onNext(null);
+        }
+
     }
 
 
@@ -241,4 +254,35 @@
         }
     }
 
+    /**
+     * 鍒ゆ柇褰撳墠鏄惁鏈夌綉缁�
+     *
+     * @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;  // 鏃犵綉缁滆繛鎺�
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.8.0