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

1.对版本更新接口特殊处理 404 提示已是最新版本

ZhangXinYu пре 6 година
родитељ
комит
e9f4995306

+ 2 - 2
app/build.gradle

@@ -23,8 +23,8 @@ android {
         minSdkVersion rootProject.ext.minSdkVersion
         targetSdkVersion rootProject.ext.targetSdkVersion
         multiDexEnabled true
-        versionCode 1
-        versionName "1.0.0"
+        versionCode 2
+        versionName "1.0.1"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
         flavorDimensions "versionCode"
         ndk {

+ 3 - 1
app/src/main/java/com/webrain/happywork/ui/mvp/model/MainModel.java

@@ -5,6 +5,7 @@ import android.content.Context;
 import android.text.TextUtils;
 
 import com.webrain.baselibrary.utils.AppUtils;
+import com.webrain.baselibrary.utils.ToastUtils;
 import com.webrain.happywork.AppCacheManager;
 import com.webrain.happywork.bean.AreaBean;
 import com.webrain.happywork.bean.BaseInformationBean;
@@ -17,6 +18,7 @@ import com.webrain.happywork.bean.api.ApiCheckVersion;
 import com.webrain.happywork.bean.api.ApiRequirementListBean;
 import com.webrain.happywork.bean.base.ApiNormalBean;
 import com.webrain.happywork.callback.MvpDataCallBack;
+import com.webrain.happywork.http.ApiCode;
 import com.webrain.happywork.http.ApiObserver;
 import com.webrain.happywork.http.RetrofitHttpParams;
 import com.webrain.happywork.http.exception.ApiException;
@@ -213,7 +215,7 @@ public class MainModel extends BaseModel implements MainContacts.IMainModel {
         RetrofitHttpParams params = new RetrofitHttpParams(mContext);
         params.put("version", AppUtils.getVersionName(mContext));
         params.put("app_system", 0);//表示Android系统
-        new VersionSubscribe(mContext).requestCheckVersion(params.getRequestParams(), new ApiObserver<ApiCheckVersion>(mContext) {
+        new VersionSubscribe(mContext).requestCheckVersion(params.getRequestParams(), new ApiObserver<ApiCheckVersion>(mContext,false,false,false) {
             @Override
             public void onSuccess(ApiCheckVersion data) {
                 if (data != null && !data.isLatest() && data.getHwVersion() != null) {

+ 17 - 1
app/src/main/java/com/webrain/happywork/ui/mvp/model/MineCenterModel.java

@@ -4,14 +4,18 @@ package com.webrain.happywork.ui.mvp.model;
 import android.content.Context;
 
 import com.webrain.baselibrary.utils.AppUtils;
+import com.webrain.baselibrary.utils.ToastUtils;
 import com.webrain.happywork.AppCacheManager;
+import com.webrain.happywork.R;
 import com.webrain.happywork.bean.UserBean;
 import com.webrain.happywork.bean.VersionBean;
 import com.webrain.happywork.bean.api.ApiCheckVersion;
 import com.webrain.happywork.bean.api.ApiUserBean;
 import com.webrain.happywork.callback.MvpDataCallBack;
+import com.webrain.happywork.http.ApiCode;
 import com.webrain.happywork.http.ApiObserver;
 import com.webrain.happywork.http.RetrofitHttpParams;
+import com.webrain.happywork.http.exception.ApiException;
 import com.webrain.happywork.http.subscribe.UserSubscribe;
 import com.webrain.happywork.http.subscribe.VersionSubscribe;
 import com.webrain.happywork.ui.base.BaseModel;
@@ -66,11 +70,23 @@ public class MineCenterModel extends BaseModel implements MineCenterContacts.IMi
         RetrofitHttpParams params = new RetrofitHttpParams(mContext);
         params.put("version", AppUtils.getVersionName(mContext));
         params.put("app_system", 0);//表示Android系统
-        new VersionSubscribe(mContext).requestCheckVersion(params.getRequestParams(), new ApiObserver<ApiCheckVersion>(mContext) {
+        new VersionSubscribe(mContext).requestCheckVersion(params.getRequestParams(), new ApiObserver<ApiCheckVersion>(mContext, true, true, false) {
             @Override
             public void onSuccess(ApiCheckVersion data) {
                 if (data != null && !data.isLatest() && data.getHwVersion() != null) {
                     callBack.onData(data.getHwVersion());
+                } else {
+                    ToastUtils.show(mContext, R.string.toast_is_new_version);
+                }
+            }
+
+            @Override
+            public void onError(ApiCheckVersion data, ApiException exception) {
+                super.onError(data, exception);
+                if (exception != null && ApiCode.Request.HTTP_ERROR.equals(exception.getErrorCode())) {
+                    ToastUtils.show(mContext, R.string.toast_is_new_version);
+                } else {
+                    ToastUtils.show(mContext, exception.getErrorMessage());
                 }
             }
 

+ 6 - 2
app/src/main/java/com/webrain/happywork/ui/mvp/presenter/MineCenterPresenter.java

@@ -1,6 +1,8 @@
 package com.webrain.happywork.ui.mvp.presenter;
 
 
+import com.webrain.baselibrary.utils.ToastUtils;
+import com.webrain.happywork.R;
 import com.webrain.happywork.bean.VersionBean;
 import com.webrain.happywork.callback.MvpDataCallBack;
 import com.webrain.happywork.ui.activity.MineCenterActivity;
@@ -61,8 +63,10 @@ public class MineCenterPresenter extends BasePresenter<MineCenterActivity> imple
             mMineCenterModel.httpCheckUpdate(new MvpDataCallBack<VersionBean>() {
                 @Override
                 public void onData(VersionBean data) {
-                    if (isViewAttach())
-                        new UpdateAppDialog(mvpReference.get(), data).show();
+                    if (isViewAttach()) {
+                        if (data != null)
+                            new UpdateAppDialog(mvpReference.get(), data).show();
+                    }
                 }
             });
         }

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -32,6 +32,7 @@
     <string name="wait_a_moment">稍后再说</string>
     <string name="update_now">立刻升级</string>
     <string name="user_tips">开心灵工用户协议</string>
+    <string name="toast_is_new_version">已是最新版本</string>
 
     <string name="demand_need_apply">我要报名</string>
     <string name="demand_detail">需求详情</string>