From 2fd12d56edddd54ce3a151f928efd439ab77fc22 Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Thu, 28 May 2020 11:07:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9B=9E=E7=AD=94/=E6=96=87?= =?UTF-8?q?=E7=AB=A0=E8=8D=89=E7=A8=BF=E5=8F=91=E5=B8=83=E5=90=8E=E7=9A=84?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/gh/common/util/EntranceUtils.java | 1 + .../gamecenter/qa/answer/draft/AnswerDraftAdapter.java | 1 + .../gh/gamecenter/qa/answer/edit/AnswerEditActivity.kt | 4 +++- .../qa/article/draft/ArticleDraftFragment.kt | 2 +- .../gamecenter/qa/article/edit/ArticleEditActivity.kt | 10 ++++++++-- .../gamecenter/qa/article/edit/ArticleEditViewModel.kt | 2 ++ .../qa/article/edit/ArticleTagsSelectFragment.kt | 4 ++-- 7 files changed, 18 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/gh/common/util/EntranceUtils.java b/app/src/main/java/com/gh/common/util/EntranceUtils.java index 215d26e2b2..6bbe2d008d 100644 --- a/app/src/main/java/com/gh/common/util/EntranceUtils.java +++ b/app/src/main/java/com/gh/common/util/EntranceUtils.java @@ -159,6 +159,7 @@ public class EntranceUtils { public static final String KEY_QA_ID = "qaId"; public static final String KEY_QA_COLLECTION_ID = "qaCollectionId"; public static final String KEY_SHOW_EDIT_DRAFT = "showEditDraft"; + public static final String KEY_ARTICLE_OPEN_IN_NEW_PAGE = "openArticleInNewPage"; public static void jumpActivity(Context context, Bundle bundle) { bundle.putBoolean(KEY_REQUIRE_REDIRECT, true); diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftAdapter.java b/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftAdapter.java index 465b1938b5..b6c3b7570c 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftAdapter.java @@ -151,6 +151,7 @@ class AnswerDraftAdapter extends ListAdapter { answerEntity.getQuestions(), "",// 会自动获取草稿所以该数据可以不填 answerEntity.getCommunityName(), + true, true)); } }); 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 1a096f6e3e..5f73df1c27 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 @@ -593,13 +593,15 @@ class AnswerEditActivity : BaseRichEditorActivity(), KeyboardHeightObserver { question: Questions?, content: String?, communityName: String?, - showEditDraft: Boolean = false): Intent { + showEditDraft: Boolean = false, + showInNewPage: Boolean = false): Intent { val intent = Intent(context, AnswerEditActivity::class.java) intent.putExtra(EntranceUtils.KEY_ANSWER_ID, answerId) intent.putExtra(EntranceUtils.KEY_ANSWER_CONTENT, content) intent.putExtra(EntranceUtils.KEY_COMMUNITY_NAME, communityName) intent.putExtra(EntranceUtils.KEY_SHOW_EDIT_DRAFT, showEditDraft) intent.putExtra(Questions::class.java.simpleName, question) + intent.putExtra(EntranceUtils.KEY_ANSWER_OPEN_IN_NEW_PAGE, showInNewPage) return intent } } 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 3662caf61d..9824902ddf 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 @@ -47,7 +47,7 @@ class ArticleDraftFragment : ListFragment @@ -518,17 +519,22 @@ class ArticleEditActivity : BaseRichEditorActivity() { } @JvmStatic - fun getPatchIntent(context: Context, detailEntity: ArticleDetailEntity, draftEntity: ArticleDraftEntity? = null): Intent { + fun getPatchIntent(context: Context, + detailEntity: ArticleDetailEntity, + draftEntity: ArticleDraftEntity? = null, + showInNewPage: Boolean = false): Intent { val intent = Intent(context, ArticleEditActivity::class.java) intent.putExtra(ArticleDetailEntity::class.java.simpleName, detailEntity) intent.putExtra(ArticleDraftEntity::class.java.simpleName, draftEntity) + intent.putExtra(EntranceUtils.KEY_ARTICLE_OPEN_IN_NEW_PAGE, showInNewPage) return intent } @JvmStatic - fun getDraftIntent(context: Context, draftEntity: ArticleDraftEntity): Intent { + fun getDraftIntent(context: Context, draftEntity: ArticleDraftEntity, showInNewPage: Boolean = true): Intent { val intent = Intent(context, ArticleEditActivity::class.java) intent.putExtra(ArticleDraftEntity::class.java.simpleName, draftEntity) + intent.putExtra(EntranceUtils.KEY_ARTICLE_OPEN_IN_NEW_PAGE, showInNewPage) return intent } } diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditViewModel.kt b/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditViewModel.kt index 6da4a0d076..ea5c2fccb6 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditViewModel.kt @@ -63,6 +63,8 @@ class ArticleEditViewModel(application: Application) : AndroidViewModel(applicat var title: String? = null var content: String? = null + var openArticleInNewPage: Boolean = false + /** * 获取默认标签和确定当前communityId */ diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleTagsSelectFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleTagsSelectFragment.kt index b575e14f9e..7ce48ab089 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleTagsSelectFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleTagsSelectFragment.kt @@ -59,13 +59,13 @@ class ArticleTagsSelectFragment : BaseFragment() { initTags() mViewModel?.postArticle?.observe(this, Observer { - if (mViewModel?.detailEntity != null) { + if (mViewModel?.openArticleInNewPage == false) { val intent = Intent() intent.putExtra(ArticleDetailEntity::class.java.simpleName, mViewModel?.detailEntity) activity?.setResult(Activity.RESULT_OK, intent) } else { activity?.setResult(Activity.RESULT_OK) - val articleId = JSONObject(it).getString("_id") + val articleId = mViewModel?.detailEntity?.id ?: JSONObject(it).getString("_id") val intent = ArticleDetailActivity.getIntent(requireContext(), mViewModel?.mSelectCommunityData!!, articleId, mEntrance, "撰写文章")