From 093c0dded7f021c2312ac77bae2ce37d73526179 Mon Sep 17 00:00:00 2001 From: fanhuitong <981964879@qq.com> Date: Wed, 13 Jul 2022 20:12:59 +0800 Subject: [PATCH] =?UTF-8?q?version:2.7=20fix:=E4=BF=AE=E5=A4=8D=E4=B8=8D?= =?UTF-8?q?=E4=BC=9A=E4=B8=8A=E4=BC=A0=E8=AE=BE=E5=A4=87=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E5=A4=8Dbody().String()=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=20add:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/uiui/sn/network/UrlAddress.java | 2 +- .../interceptor/RepeatRequestInterceptor.java | 13 +++++++++---- .../java/com/uiui/sn/service/main/MainSContact.java | 3 +++ .../com/uiui/sn/service/main/MainSPresenter.java | 6 ++++++ .../java/com/uiui/sn/service/main/MainService.java | 5 +++++ 5 files changed, 24 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/uiui/sn/network/UrlAddress.java b/app/src/main/java/com/uiui/sn/network/UrlAddress.java index 76aa948..3deee54 100644 --- a/app/src/main/java/com/uiui/sn/network/UrlAddress.java +++ b/app/src/main/java/com/uiui/sn/network/UrlAddress.java @@ -37,7 +37,7 @@ public class UrlAddress { public final static String QUERY_APP_INSIDE = "control/queryAppInside"; /*发送卸载或者安装信息*/ public final static String SEND_INSTALLEDORREMOVED = "app/addAppInstall"; - /*发送卸载或者安装信息*/ + /*发送设备基本信息*/ public final static String UPDATE_SNINFO = "sn/updateAdminSn"; /*根据包名获取更新*/ public final static String GET_NEWESTAPPUPDATE = "app/newestAppUpdate"; diff --git a/app/src/main/java/com/uiui/sn/network/interceptor/RepeatRequestInterceptor.java b/app/src/main/java/com/uiui/sn/network/interceptor/RepeatRequestInterceptor.java index 509d475..563ff82 100644 --- a/app/src/main/java/com/uiui/sn/network/interceptor/RepeatRequestInterceptor.java +++ b/app/src/main/java/com/uiui/sn/network/interceptor/RepeatRequestInterceptor.java @@ -16,6 +16,7 @@ import okhttp3.Protocol; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; +import okhttp3.ResponseBody; import okio.Buffer; public class RepeatRequestInterceptor implements Interceptor { @@ -28,11 +29,15 @@ public class RepeatRequestInterceptor implements Interceptor { @Override public Response intercept(@NotNull Chain chain) throws IOException { Request request = chain.request(); + Response response = chain.proceed(request); + ResponseBody responseBody = response.body(); - Response response = chain.proceed(chain.request()); - String content = response.body().string(); + //会消费请求,导致请求多次 + String content = responseBody.string(); +// Response copy = response.newBuilder().body(responseBody).build(); + ResponseBody copy = ResponseBody.create(responseBody.contentType(), content); if (BuildConfig.DEBUG) { -// Log.e(TAG, "请求体返回:| Response:" + content); + Log.e(TAG, "请求体返回:| Response: " + request.url().encodedPath() + "\t body: " + content); } //相同的请求 String requestKey = MD5Util.getUpperMD5Str(request.method() + request.url().toString() + requestBodyToString(request.body())); @@ -51,7 +56,7 @@ public class RepeatRequestInterceptor implements Interceptor { log("注册请求:", requestKey, request); // RepeatRequestInterceptor.Builder builder = request.newBuilder(); // builder.addHeader("header", jsonObject.toString()); - return chain.proceed(request); + return response.newBuilder().body(copy).build(); } catch (IOException e) { Log.e(TAG, "intercept: " + e.getMessage()); throw e; diff --git a/app/src/main/java/com/uiui/sn/service/main/MainSContact.java b/app/src/main/java/com/uiui/sn/service/main/MainSContact.java index a479ced..2a47625 100644 --- a/app/src/main/java/com/uiui/sn/service/main/MainSContact.java +++ b/app/src/main/java/com/uiui/sn/service/main/MainSContact.java @@ -9,6 +9,7 @@ public class MainSContact { public interface MainView extends BaseView { void setSnInfo(BaseResponse response); void setLocked(int lockedStatus); + void updateInfoFinish(); void checkUpdateFinish(); void getAllAppFinish(); void setAppInside(); @@ -26,6 +27,8 @@ public class MainSContact { void getSnInfo(); //获取锁定状态 void getLocked(); + //上传设备信息 + void updateDeviceInfo(); //检查更新 void checkUpdate(); //获取所有app包名 diff --git a/app/src/main/java/com/uiui/sn/service/main/MainSPresenter.java b/app/src/main/java/com/uiui/sn/service/main/MainSPresenter.java index ddd76e9..fcf1915 100644 --- a/app/src/main/java/com/uiui/sn/service/main/MainSPresenter.java +++ b/app/src/main/java/com/uiui/sn/service/main/MainSPresenter.java @@ -110,6 +110,12 @@ public class MainSPresenter implements MainSContact.Presenter { mView.setLocked(statu); } + @Override + public void updateDeviceInfo() { + NetInterfaceManager.getInstance().updateAdminInfo(); + mView.updateInfoFinish(); + } + @Override public void checkUpdate() { NetInterfaceManager.getInstance().checkAllAppUpdate(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { diff --git a/app/src/main/java/com/uiui/sn/service/main/MainService.java b/app/src/main/java/com/uiui/sn/service/main/MainService.java index e0f5b9f..5c176df 100644 --- a/app/src/main/java/com/uiui/sn/service/main/MainService.java +++ b/app/src/main/java/com/uiui/sn/service/main/MainService.java @@ -407,6 +407,11 @@ public class MainService extends Service implements MainSContact.MainView, Netwo break; default: } + mPresenter.updateDeviceInfo(); + } + + @Override + public void updateInfoFinish() { mPresenter.checkUpdate(); }