diff --git a/app/src/main/java/com/gh/gamecenter/manager/UpdateManager.java b/app/src/main/java/com/gh/gamecenter/manager/UpdateManager.java index 6e027632fd..586d4ec49e 100644 --- a/app/src/main/java/com/gh/gamecenter/manager/UpdateManager.java +++ b/app/src/main/java/com/gh/gamecenter/manager/UpdateManager.java @@ -120,7 +120,7 @@ public class UpdateManager { UpdateManager.this.appEntity = appEntity; // 手动更新 强制更新 每次都提示 - if (!isAutoCheck || appEntity.isForce() || "EVERY_TIME_OPEN".equals(appEntity.getAlert())) { + if (!isAutoCheck || "EVERY_TIME_OPEN".equals(appEntity.getAlert())) { md5 = MD5Utils.getUpdateMD5(appEntity.getUrl(), appEntity.getContent()); } else if (!"NEVER".equals(appEntity.getAlert())) { // 一天提示一次 SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(mContext); @@ -170,7 +170,7 @@ public class UpdateManager { if (handler != null) { handler.sendEmptyMessage(1); } - if (e != null && e.code() == 304) { + if (e != null && (e.code() == 304 || e.code() == 404)) { Utils.toast(mContext, "您的光环助手已是最新版本"); return; } diff --git a/app/src/main/java/com/gh/gamecenter/qa/column/detail/AskColumnDetailActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/column/detail/AskColumnDetailActivity.kt index 73d98605c5..246d0f94c5 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/column/detail/AskColumnDetailActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/column/detail/AskColumnDetailActivity.kt @@ -43,6 +43,7 @@ class AskColumnDetailActivity : BaseActivity() { private val mLoading by bindView(R.id.column_detail_loading) private val mNoConn by bindView(R.id.reuse_no_connection) private val mAppBar by bindView(R.id.column_detail_appbar) + private val mNoData by bindView(R.id.reuse_none_data) private var mCommunityEntity: CommunityEntity? = null private var mColumnEntity: AskTagGroupsEntity? = null @@ -140,8 +141,14 @@ class AskColumnDetailActivity : BaseActivity() { } override fun onFailure(e: HttpException?) { + if (e?.code() == 404) { + mNoData.visibility = View.VISIBLE + mNoConn.visibility = View.GONE + } else { + mNoData.visibility = View.GONE + mNoConn.visibility = View.VISIBLE + } mLoading.visibility = View.GONE - mNoConn.visibility = View.VISIBLE mAppBar.visibility = View.GONE } }) diff --git a/app/src/main/java/com/gh/gamecenter/qa/entity/QuestionHistoryDetailEntity.kt b/app/src/main/java/com/gh/gamecenter/qa/entity/QuestionHistoryDetailEntity.kt index 54c0581010..1eed7ee693 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/entity/QuestionHistoryDetailEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/entity/QuestionHistoryDetailEntity.kt @@ -12,9 +12,9 @@ data class QuestionHistoryDetailEntity(@SerializedName("_id") val modifier: ModifierEntity = ModifierEntity(), val tags: List = ArrayList(), @SerializedName("prev_version_id") - val prevVersionId: String = "", + var prevVersionId: String = "", @SerializedName("next_version_id") - val nextVersionId: String = "") + var nextVersionId: String = "") data class ModifierEntity(@SerializedName("_id") diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/edit/manager/HistoryDetailViewModel.kt b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/manager/HistoryDetailViewModel.kt index 281217b117..2fdd5b6dfa 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/questions/edit/manager/HistoryDetailViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/manager/HistoryDetailViewModel.kt @@ -20,14 +20,39 @@ class HistoryDetailViewModel(application: Application, val detailLiveData = MutableLiveData() + private val mApi = RetrofitManager.getInstance(getApplication()).api + + private var mOriginVersion: String = "" + fun getModeratorModifiedVersionDetail(versionId: String) { processDialog.postValue(WaitingDialogFragment.WaitingDialogData("加载中...", true)) - RetrofitManager.getInstance(getApplication()).api - .getModeratorModifiedVersionDetail(questionId, versionId) + + var isOrigin = false + + val observable = if (mOriginVersion != versionId) { + mOriginVersion = "" + mApi.getModeratorModifiedVersionDetail(questionId, versionId) + } else { + isOrigin = true + mApi.getModeratorOriginVersionDetail(questionId, versionId, "origin") + } + + observable .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(object : Response() { override fun onResponse(response: QuestionHistoryDetailEntity?) { + if (response?.prevVersionId.isNullOrEmpty()) { + mOriginVersion = versionId + response?.prevVersionId = versionId + } + + if (isOrigin) { + response?.prevVersionId = "" + response?.nextVersionId = mOriginVersion + mOriginVersion = "" + } + detailLiveData.postValue(response) processDialog.postValue(WaitingDialogFragment.WaitingDialogData("加载中...", false)) } diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java index 7761e65fcc..2cab5a2498 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java @@ -1469,12 +1469,20 @@ public interface ApiService { @Query("page") int page); /** - * 版主隐藏问题 + * 获取版主修改后的数据 */ @GET("questions/{question_id}/modified-versions/{version_id}") Observable getModeratorModifiedVersionDetail(@Path("question_id") String questionId, @Path("version_id") String versionId); + /** + * 获取版主修改前的原始数据 + */ + @GET("questions/{question_id}/modified-versions/{version_id}") + Observable getModeratorOriginVersionDetail(@Path("question_id") String questionId, + @Path("version_id") String versionId, + @Query("view") String view); + /** * 获取问答-推荐的推荐关注列表 */ diff --git a/app/src/main/res/layout/activity_ask_column_detail.xml b/app/src/main/res/layout/activity_ask_column_detail.xml index b2e54890a1..08a32d34e8 100644 --- a/app/src/main/res/layout/activity_ask_column_detail.xml +++ b/app/src/main/res/layout/activity_ask_column_detail.xml @@ -45,10 +45,10 @@ + android:paddingBottom = "10dp" > @@ -167,6 +167,8 @@ + +