diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditViewModel.kt b/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditViewModel.kt index 97fc2f89ab..5b6abb0908 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditViewModel.kt @@ -7,7 +7,6 @@ import android.arch.lifecycle.ViewModel import android.arch.lifecycle.ViewModelProvider import android.content.Intent import android.text.TextUtils -import anet.channel.util.Utils.context import com.gh.base.fragment.WaitingDialogFragment import com.gh.common.util.ImageUtils import com.gh.common.util.UploadImageUtils @@ -42,6 +41,7 @@ class AnswerEditViewModel(application: Application, var questionsId: String?) : AndroidViewModel(application) { private var mPostDraftsCount: Int = 0 + private val mApi = RetrofitManager.getInstance(getApplication()).api var cacheAnswerContent: String? = null @@ -71,10 +71,10 @@ class AnswerEditViewModel(application: Application, val responseBody = RealResponseBody("", 0, null) Single.just(responseBody).toObservable() } else { - RetrofitManager.getInstance(context).api.patchQuestionAnswer(body, answerId) + mApi.patchQuestionAnswer(body, answerId) } } else { - RetrofitManager.getInstance(context).api.postQuestionAnswer(body, questionsId) + mApi.postQuestionAnswer(body, questionsId) } observable .subscribeOn(Schedulers.io()) @@ -94,7 +94,7 @@ class AnswerEditViewModel(application: Application, fun deleteAnswerDraft() { processDialog.postValue(WaitingDialogFragment.WaitingDialogData("删除中...", true)) - RetrofitManager.getInstance(context).api + mApi .deleteAnswerDrafts(UserManager.getInstance().userId, draftId) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) @@ -116,11 +116,11 @@ class AnswerEditViewModel(application: Application, val uris = Matisse.obtainResult(data) val pictureList = ArrayList() for (uri in uris) { - val picturePath = PathUtils.getPath(context, uri) + val picturePath = PathUtils.getPath(getApplication(), uri) if (File(picturePath).length() > ImageUtils.getUploadFileMaxSize()) { val count = ImageUtils.getUploadFileMaxSize() / 1024 / 1024 val application: Application = getApplication() - Utils.toast(context, application.getString(R.string.pic_max_hint, count)) + Utils.toast(getApplication(), application.getString(R.string.pic_max_hint, count)) continue } Utils.log("picturePath = $picturePath") @@ -128,7 +128,7 @@ class AnswerEditViewModel(application: Application, } if (pictureList.size == 0) return - processDialog.postValue(WaitingDialogFragment.WaitingDialogData("上传...", true)) + processDialog.postValue(WaitingDialogFragment.WaitingDialogData("上传中...", true)) uploadImageSubscription = UploadImageUtils.compressAndUploadImageList(UploadImageUtils.UploadType.answer, pictureList , false, object : UploadImageUtils.OnUploadImageListListener { @@ -139,12 +139,12 @@ class AnswerEditViewModel(application: Application, } override fun onSuccess(imageUrl: Map) { - processDialog.postValue(WaitingDialogFragment.WaitingDialogData("上传...", false)) + processDialog.postValue(WaitingDialogFragment.WaitingDialogData("上传中...", false)) postImageLiveData.postValue(Resource.success(imageUrl)) } override fun onError() { // todo 失败提示?????? - processDialog.postValue(WaitingDialogFragment.WaitingDialogData("上传...", false)) + processDialog.postValue(WaitingDialogFragment.WaitingDialogData("上传中...", false)) Utils.toast(getApplication(), "图片上传失败,请检查网络") postImageLiveData.postValue(Resource.error(null)) // if (e != null && e instanceof HttpException && ((HttpException) e).code() == 403) { @@ -157,8 +157,8 @@ class AnswerEditViewModel(application: Application, } fun getUserAnswerDrafts() { - RetrofitManager.getInstance(context).api - .getUserAnswerDrafts(questionsId, Utils.getTime(context)) + mApi + .getUserAnswerDrafts(questionsId, Utils.getTime(getApplication())) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(object : Response() { @@ -194,7 +194,7 @@ class AnswerEditViewModel(application: Application, } val body = RequestBody.create(MediaType.parse("application/json"), content.toString()) - RetrofitManager.getInstance(context).api + mApi .postAnswerDrafts(body, UserManager.getInstance().userId) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread())