diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fce21fa242..e6f468037f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -506,6 +506,10 @@
android:name="com.gh.gamecenter.QaActivity"
android:screenOrientation="portrait" />
+
+
+ android:grantUriPermissions="true">
+ tools:replace="android:resource" />
diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftActivity.kt
new file mode 100644
index 0000000000..530917188e
--- /dev/null
+++ b/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftActivity.kt
@@ -0,0 +1,18 @@
+package com.gh.gamecenter.qa.answer.draft
+
+import android.content.Context
+import android.content.Intent
+import android.os.Bundle
+import com.gh.common.util.EntranceUtils
+import com.gh.gamecenter.NormalActivity
+
+class AnswerDraftActivity : NormalActivity() {
+
+ companion object {
+ fun getIntent(context: Context, answerId: String? = null): Intent {
+ val bundle = Bundle()
+ bundle.putString(EntranceUtils.KEY_ANSWER_ID, answerId)
+ return getTargetIntent(context, AnswerDraftActivity::class.java, AnswerDraftFragment::class.java, bundle)
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/gh/gamecenter/qa/myqa/MyDraftAdapter.java b/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftAdapter.java
similarity index 76%
rename from app/src/main/java/com/gh/gamecenter/qa/myqa/MyDraftAdapter.java
rename to app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftAdapter.java
index c70da987c4..02c9922de4 100644
--- a/app/src/main/java/com/gh/gamecenter/qa/myqa/MyDraftAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftAdapter.java
@@ -1,14 +1,19 @@
-package com.gh.gamecenter.qa.myqa;
+package com.gh.gamecenter.qa.answer.draft;
+import android.app.Activity;
import android.content.Context;
+import android.content.Intent;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
+import androidx.recyclerview.widget.RecyclerView;
+
import com.facebook.drawee.view.SimpleDraweeView;
import com.gh.base.OnListClickListener;
import com.gh.common.constant.ItemViewType;
import com.gh.common.util.DialogUtils;
+import com.gh.common.util.EntranceUtils;
import com.gh.common.util.ImageUtils;
import com.gh.common.util.PermissionHelper;
import com.gh.gamecenter.R;
@@ -21,6 +26,7 @@ import com.gh.gamecenter.manager.UserManager;
import com.gh.gamecenter.qa.answer.edit.AnswerEditActivity;
import com.gh.gamecenter.qa.entity.AnswerEntity;
import com.gh.gamecenter.qa.entity.Questions;
+import com.gh.gamecenter.qa.myqa.AnswerDraftViewHolder;
import com.gh.gamecenter.qa.questions.detail.QuestionsDetailActivity;
import com.gh.gamecenter.retrofit.Response;
import com.gh.gamecenter.retrofit.RetrofitManager;
@@ -29,7 +35,6 @@ import com.lightgame.utils.Utils;
import java.util.ArrayList;
import java.util.List;
-import androidx.recyclerview.widget.RecyclerView;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import okhttp3.ResponseBody;
@@ -39,32 +44,31 @@ import retrofit2.HttpException;
* Created by khy on 20/12/17.
*/
-class MyDraftAdapter extends ListAdapter {
-
+class AnswerDraftAdapter extends ListAdapter {
+
private OnListClickListener mListClickListener;
-
+
private ListViewModel mListViewModel;
-
+
private String mEntrance;
-
-
- MyDraftAdapter(Context context, String entrance, OnListClickListener listClickListener, ListViewModel longClickListener) {
+
+ AnswerDraftAdapter(Context context, String entrance, OnListClickListener listClickListener, ListViewModel longClickListener) {
super(context);
mListClickListener = listClickListener;
mListViewModel = longClickListener;
mEntrance = entrance;
}
-
+
@Override
protected boolean areItemsTheSame(AnswerEntity oldItem, AnswerEntity newItem) {
return !TextUtils.isEmpty(oldItem.getId()) && oldItem.getId().equals(newItem.getId());
}
-
+
@Override
protected boolean areContentsTheSame(AnswerEntity oldItem, AnswerEntity newItem) {
return oldItem == newItem;
}
-
+
@Override
protected void setListData(List updateData) {
if (updateData != null && mEntityList != null && updateData.size() == mEntityList.size()) {
@@ -74,13 +78,13 @@ class MyDraftAdapter extends ListAdapter {
}
super.setListData(updateData);
}
-
+
@Override
public int getItemViewType(int position) {
if (position == getItemCount() - 1) return ItemViewType.ITEM_FOOTER;
return ItemViewType.ITEM_BODY;
}
-
+
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view;
@@ -95,7 +99,7 @@ class MyDraftAdapter extends ListAdapter {
return null;
}
}
-
+
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
switch (getItemViewType(position)) {
@@ -129,12 +133,18 @@ class MyDraftAdapter extends ListAdapter {
});
draftViewHolder.itemView.setOnClickListener(v -> {
PermissionHelper.checkReadPhoneStateAndStoragePermissionBeforeAction(mContext, () -> {
- mContext.startActivity(AnswerEditActivity.Companion.getIntent(
- mContext,
- answerEntity.getQuestions(),
- answerEntity.getId(),
- true,
- answerEntity.getCommunityName()));
+ if (mContext instanceof AnswerDraftActivity) {
+ // 不需要回传任何数据
+ ((AnswerDraftActivity) mContext).setResult(Activity.RESULT_OK);
+ ((AnswerDraftActivity) mContext).finish();
+ } else {
+ mContext.startActivity(AnswerEditActivity.Companion.getIntent(
+ mContext,
+ answerEntity.getQuestions(),
+ answerEntity.getId(),
+ true,
+ answerEntity.getCommunityName()));
+ }
});
});
break;
@@ -145,29 +155,29 @@ class MyDraftAdapter extends ListAdapter {
break;
}
}
-
+
@Override
public int getItemCount() {
return mEntityList == null || mEntityList.isEmpty() ? 0 : mEntityList.size() + FOOTER_ITEM_COUNT;
}
-
-
+
+
private void deleteAnswerDraft(AnswerEntity entity) {
RetrofitManager.getInstance(mContext)
- .getApi()
- .deleteAnswerDrafts(UserManager.getInstance().getUserId(), entity.getId())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Response() {
- @Override
- public void onResponse(ResponseBody response) {
- mListViewModel.load(LoadType.REFRESH);
- }
-
- @Override
- public void onFailure(HttpException e) {
- Utils.toast(mContext, R.string.loading_network_error);
- }
- });
+ .getApi()
+ .deleteAnswerDrafts(UserManager.getInstance().getUserId(), entity.getId())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Response() {
+ @Override
+ public void onResponse(ResponseBody response) {
+ mListViewModel.load(LoadType.REFRESH);
+ }
+
+ @Override
+ public void onFailure(HttpException e) {
+ Utils.toast(mContext, R.string.loading_network_error);
+ }
+ });
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/qa/myqa/MyDraftFragment.java b/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftFragment.java
similarity index 55%
rename from app/src/main/java/com/gh/gamecenter/qa/myqa/MyDraftFragment.java
rename to app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftFragment.java
index 3b2e7411a3..dc499b4f70 100644
--- a/app/src/main/java/com/gh/gamecenter/qa/myqa/MyDraftFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftFragment.java
@@ -1,8 +1,11 @@
-package com.gh.gamecenter.qa.myqa;
+package com.gh.gamecenter.qa.answer.draft;
import android.os.Bundle;
+import androidx.annotation.Nullable;
+
import com.gh.common.util.EntranceUtils;
+import com.gh.common.util.UrlFilterUtils;
import com.gh.gamecenter.baselist.ListAdapter;
import com.gh.gamecenter.baselist.ListFragment;
import com.gh.gamecenter.baselist.LoadType;
@@ -24,26 +27,45 @@ import io.reactivex.Observable;
* Created by khy on 20/12/17.
*/
-public class MyDraftFragment extends ListFragment {
+public class AnswerDraftFragment extends ListFragment {
- private MyDraftAdapter mAdapter;
+ private AnswerDraftAdapter mAdapter;
- public static MyDraftFragment getInstance(String entrance) {
- MyDraftFragment fragment = new MyDraftFragment();
+ @Nullable
+ private String mAnswerId;
+
+ public static AnswerDraftFragment getInstance(String entrance) {
+ AnswerDraftFragment fragment = new AnswerDraftFragment();
Bundle args = new Bundle();
args.putString(EntranceUtils.KEY_ENTRANCE, entrance);
fragment.setArguments(args);
return fragment;
}
+ @Override
+ public void onCreate(@Nullable Bundle savedInstanceState) {
+ Bundle arguments = getArguments();
+ if (arguments != null) {
+ mAnswerId = arguments.getString(EntranceUtils.KEY_ANSWER_ID);
+ }
+
+ super.onCreate(savedInstanceState);
+ if (getActivity() instanceof AnswerDraftActivity) {
+ setNavigationTitle("回答草稿");
+ }
+ }
+
@Override
protected ListAdapter provideListAdapter() {
- return mAdapter == null ? mAdapter = new MyDraftAdapter(getContext(), mEntrance, this, mListViewModel) : mAdapter;
+ return mAdapter == null ? mAdapter = new AnswerDraftAdapter(getContext(), mEntrance, this, mListViewModel) : mAdapter;
}
@Override
public Observable> provideDataObservable(int page) {
- return RetrofitManager.getInstance(getContext()).getApi().getMyAnswerDrafts(UserManager.getInstance().getUserId(), page);
+ return RetrofitManager.getInstance(getContext()).getApi().getAnswerDrafts(
+ UserManager.getInstance().getUserId(),
+ UrlFilterUtils.getFilterQuery("answer_id", mAnswerId),
+ page);
}
@Subscribe(threadMode = ThreadMode.MAIN)
diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditActivity.kt
index d7a62cd1cc..6ed3907e35 100644
--- a/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditActivity.kt
@@ -25,6 +25,7 @@ import com.gh.gamecenter.entity.NotificationUgc
import com.gh.gamecenter.manager.UserManager
import com.gh.gamecenter.mvvm.Status
import com.gh.gamecenter.qa.answer.detail.AnswerDetailActivity
+import com.gh.gamecenter.qa.answer.draft.AnswerDraftActivity
import com.gh.gamecenter.qa.entity.Questions
import com.gh.gamecenter.video.VideoVerifyItemViewHolder
import com.gh.gamecenter.video.detail.VideoDetailContainerViewModel
@@ -65,6 +66,8 @@ class AnswerEditActivity : BaseRichEditorActivity() {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == REQUEST_CODE_IMAGE && resultCode == Activity.RESULT_OK) {
if (data != null) mViewModel.postImg(data)
+ } else if (requestCode == ANSWER_DRAFT_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
+ mViewModel.getUserAnswerDrafts()
}
}
@@ -111,9 +114,11 @@ class AnswerEditActivity : BaseRichEditorActivity() {
setNavigationTitle(getString(R.string.answer_patch_title))
mViewModel.cacheAnswerContent = mViewModel.answerContent
mRichEditor.setHtml(mViewModel.answerContent, false)
+ mDraftBtn.visibility = View.VISIBLE
} else {
setNavigationTitle(getString(R.string.answer_edit_title))
mViewModel.getUserAnswerDrafts()
+ mDraftBtn.visibility = View.GONE
}
}
@@ -345,7 +350,11 @@ class AnswerEditActivity : BaseRichEditorActivity() {
override fun handleBackPressed(): Boolean {
return if (TextUtils.isEmpty(UserManager.getInstance().token)) {
false
- } else if (!TextUtils.isEmpty(mViewModel.answerId)) {
+ } else if (!TextUtils.isEmpty(mViewModel.answerId)
+ && TextUtils.isEmpty(mViewModel.cacheAnswerContent)
+ && mRichEditor.html.contains("
showQuestionImageDetail(1 - videoSize)
R.id.question_images_3 -> showQuestionImageDetail(2 - videoSize)
+ R.id.draft_btn -> {
+ startActivityForResult(AnswerDraftActivity.getIntent(this, mViewModel.answerId), ANSWER_DRAFT_REQUEST_CODE)
+ }
}
}
@@ -495,6 +514,7 @@ class AnswerEditActivity : BaseRichEditorActivity() {
const val SAVE_DRAFTS_TOAST_COUNT = 3
const val MIN_ANSWER_TEXT_LENGTH = 6
const val MAX_ANSWER_TEXT_LENGTH = 10000
+ const val ANSWER_DRAFT_REQUEST_CODE = 112
const val FILE_HOST = "file:///"
const val ANSWER_DRAFT_CHANGE_TAG = "ANSWER_DRAFT_CHANGE_TAG"
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 d3a2def6dc..66613c6b82 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
@@ -13,6 +13,7 @@ import com.gh.common.syncpage.SyncFieldConstants
import com.gh.common.syncpage.SyncPageRepository
import com.gh.common.util.ImageUtils
import com.gh.common.util.UploadImageUtils
+import com.gh.common.util.UrlFilterUtils
import com.gh.gamecenter.R
import com.gh.gamecenter.eventbus.EBReuse
import com.gh.gamecenter.manager.UserManager
@@ -199,7 +200,9 @@ class AnswerEditViewModel(application: Application,
fun getUserAnswerDrafts() {
mApi
- .getUserAnswerDrafts(question.id, Utils.getTime(getApplication()))
+ .getUserAnswerDrafts(question.id,
+ UrlFilterUtils.getFilterQuery("answer_id", answerId),
+ Utils.getTime(getApplication()))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(object : Response() {
@@ -223,6 +226,9 @@ class AnswerEditViewModel(application: Application,
try {
content.put("content", editContent)
content.put("question_id", question.id)
+ if (!answerId.isNullOrEmpty()) {
+ content.put("answer_id", answerId)
+ }
} catch (e: JSONException) {
e.printStackTrace()
}
diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/draft/ArticleDraftActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/article/draft/ArticleDraftActivity.kt
index 9effc136e6..575f7cbb5e 100644
--- a/app/src/main/java/com/gh/gamecenter/qa/article/draft/ArticleDraftActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/qa/article/draft/ArticleDraftActivity.kt
@@ -2,13 +2,17 @@ package com.gh.gamecenter.qa.article.draft
import android.content.Context
import android.content.Intent
+import android.os.Bundle
+import com.gh.common.util.EntranceUtils
import com.gh.gamecenter.NormalActivity
class ArticleDraftActivity : NormalActivity() {
companion object {
- fun getIntent(context: Context): Intent {
- return getTargetIntent(context, ArticleDraftActivity::class.java, ArticleDraftFragment::class.java)
+ fun getIntent(context: Context, articleId: String? = null): Intent {
+ val bundle = Bundle()
+ bundle.putString(EntranceUtils.KEY_COMMUNITY_ARTICLE_ID, articleId)
+ return getTargetIntent(context, ArticleDraftActivity::class.java, ArticleDraftFragment::class.java, bundle)
}
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/draft/ArticleDraftFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/article/draft/ArticleDraftFragment.kt
index 8d81512db8..e32090bd0e 100644
--- a/app/src/main/java/com/gh/gamecenter/qa/article/draft/ArticleDraftFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/qa/article/draft/ArticleDraftFragment.kt
@@ -4,6 +4,8 @@ import android.app.Activity
import android.content.Intent
import android.os.Bundle
import androidx.lifecycle.ViewModelProviders
+import com.gh.common.util.EntranceUtils
+import com.gh.common.util.UrlFilterUtils
import com.gh.common.util.checkReadPhoneStateAndStoragePermissionBeforeAction
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.ListFragment
@@ -28,6 +30,7 @@ import retrofit2.HttpException
class ArticleDraftFragment : ListFragment>() {
private val mApi = RetrofitManager.getInstance(context).api
private var mAdapter: ArticleDraftAdapter? = null
+ private var mArticleId: String? = null
override fun provideListAdapter(): ArticleDraftAdapter {
if (mAdapter == null) {
@@ -52,7 +55,10 @@ class ArticleDraftFragment : ListFragment> {
- return mApi.getMyArticleDrafts(UserManager.getInstance().userId, page)
+ return mApi.getArticleDrafts(
+ UserManager.getInstance().userId,
+ UrlFilterUtils.getFilterQuery("article_id", mArticleId),
+ page)
}
override fun provideListViewModel(): NormalListViewModel {
@@ -61,6 +67,8 @@ class ArticleDraftFragment : ListFragment() {
diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditActivity.kt
index f64b0f4340..ad7ba2bf9a 100644
--- a/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditActivity.kt
@@ -124,7 +124,7 @@ class ArticleEditActivity : BaseRichEditorActivity() {
})
//setEditTextInputSpace()
- mEditTitle.filters= arrayOf(TextHelper.getFilter(50, "最多输入50个字"))
+ mEditTitle.filters = arrayOf(TextHelper.getFilter(50, "最多输入50个字"))
// 上传图片完成后的回调(本地图片)
mViewModel.postImageLiveData.observe(this, Observer {
@@ -259,7 +259,8 @@ class ArticleEditActivity : BaseRichEditorActivity() {
R.id.draft_btn -> {
MtaHelper.onEvent("发表文章", "文章草稿", UserManager.getInstance().community.name)
if (checkDraft(SaveDraftType.SKIP)) {
- startActivityForResult(ArticleDraftActivity.getIntent(this), ARTICLE_DRAFT_REQUEST_CODE)
+ val intent = ArticleDraftActivity.getIntent(this, mViewModel.detailEntity?.id)
+ startActivityForResult(intent, ARTICLE_DRAFT_REQUEST_CODE)
}
}
}
@@ -312,7 +313,7 @@ class ArticleEditActivity : BaseRichEditorActivity() {
mViewModel.mSelectCommunityData = mViewModel.detailEntity?.community
mEditTitle.setText(mViewModel.detailEntity?.title)
setEditHtml(mViewModel.detailEntity?.content)
- mDraftBtn.visibility = View.GONE
+ mDraftBtn.visibility = View.VISIBLE
mGameName.isEnabled = false
setGameName()
mGameName.setTextColor(resources.getColor(R.color.hint))
@@ -342,14 +343,25 @@ class ArticleEditActivity : BaseRichEditorActivity() {
override fun handleBackPressed(): Boolean {
if (TextUtils.isEmpty(UserManager.getInstance().token)) {
return false
- } else if (mViewModel.detailEntity != null) {
- showPatchBackDialog()
- return true
}
+
+ if (mViewModel.detailEntity != null) {
+ return if (!TextUtils.isEmpty(mEditTitle.text)
+ || mRichEditor.html.contains("
() {
diff --git a/app/src/main/java/com/gh/gamecenter/qa/draft/CommunityDraftWrapperActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/draft/CommunityDraftWrapperActivity.kt
index a3cdf141e1..5bcaf20d29 100644
--- a/app/src/main/java/com/gh/gamecenter/qa/draft/CommunityDraftWrapperActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/qa/draft/CommunityDraftWrapperActivity.kt
@@ -6,7 +6,7 @@ import android.os.Bundle
import androidx.fragment.app.Fragment
import com.gh.base.BaseActivity_TabLayout
import com.gh.gamecenter.qa.article.draft.ArticleDraftFragment
-import com.gh.gamecenter.qa.myqa.MyDraftFragment
+import com.gh.gamecenter.qa.answer.draft.AnswerDraftFragment
class CommunityDraftWrapperActivity : BaseActivity_TabLayout() {
@@ -16,7 +16,7 @@ class CommunityDraftWrapperActivity : BaseActivity_TabLayout() {
}
override fun initFragmentList(fragments: MutableList) {
- fragments.add(MyDraftFragment())
+ fragments.add(AnswerDraftFragment())
fragments.add(ArticleDraftFragment())
}
diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailFragment.kt
index 38546f4b3a..e7abe804e6 100644
--- a/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailFragment.kt
@@ -556,7 +556,7 @@ class QuestionsDetailFragment :
private fun getUserAnswerDrafts() {
RetrofitManager.getInstance(context).api
- .getUserAnswerDrafts(mQuestionsId, Utils.getTime(context))
+ .getUserAnswerDrafts(mQuestionsId, "",Utils.getTime(context))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(object : Response() {
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 72c948221e..2cfd8d75f3 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
@@ -908,7 +908,7 @@ public interface ApiService {
* 获取用户的草稿列表
*/
@GET("users/{user_id}/answer_drafts")
- Observable> getMyAnswerDrafts(@Path("user_id") String userId, @Query("page") int page);
+ Observable> getAnswerDrafts(@Path("user_id") String userId, @Query("filter") String filter, @Query("page") int page);
/**
* 获取用户的关注问题列表
@@ -943,9 +943,10 @@ public interface ApiService {
/**
* 获取用户在相应问题的回答草稿
+ * filter:编辑文章时的草稿使用
*/
@GET("questions/{question_id}/answer_drafts")
- Observable getUserAnswerDrafts(@Path("question_id") String questionId, @Query("timestamp") long timestamp);
+ Observable getUserAnswerDrafts(@Path("question_id") String questionId, @Query("filter") String filter, @Query("timestamp") long timestamp);
/**
* 保存用户回答的草稿
@@ -1372,14 +1373,22 @@ public interface ApiService {
* 获取用户的文章草稿列表
*/
@GET("users/{user_id}/communities/article_drafts")
- Observable> getMyArticleDrafts(@Path("user_id") String userId, @Query("page") int page);
+ Observable> getArticleDrafts(@Path("user_id") String userId, @Query("filter") String filter, @Query("page") int page);
/**
- * 删除社区文章的草稿
+ * 删除社区文章的草稿(撰写)
*/
@DELETE("communities/{community_id}/article_drafts/{draft_id}")
Observable deleteArticleDrafts(@Path("community_id") String communityId, @Path("draft_id") String draftId);
+ /**
+ * 删除社区文章的草稿(编辑)
+ */
+ @DELETE("communities/{community_id}/articles/{article_id}/article_drafts/{draft_id}")
+ Observable deleteArticleDrafts(@Path("community_id") String communityId,
+ @Path("article_id") String articleId,
+ @Path("draft_id") String draftId);
+
/**
* 获取社区文章详情
*/
@@ -1411,11 +1420,17 @@ public interface ApiService {
Observable postCommunityArticleUnoppose(@Path("community_id") String communityId, @Path("article_id") String articleId);
/**
- * 获取社区文章草稿内容
+ * 获取社区文章草稿内容(撰写)
*/
@GET("communities/{community_id}/article_drafts/{draft_id}")
Observable getArticleDraftsContent(@Path("community_id") String communityId, @Path("draft_id") String draftId);
+ /**
+ * 获取社区文章草稿内容(编辑)
+ */
+ @GET("communities/{community_id}/articles/{article_id}/article_drafts/{draft_id}")
+ Observable getArticleDraftsContent(@Path("community_id") String communityId, @Path("article_id") String articleId, @Path("draft_id") String draftId);
+
/**
* 获取收藏的社区文章列表
*/