From ee6337276c5564a478117cc952666b562baefdcb Mon Sep 17 00:00:00 2001 From: chenjuntao Date: Wed, 11 Apr 2018 19:01:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=9E=E7=AD=94=E8=AF=A6=E6=83=85=E4=B9=9F?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E5=9B=9E=E7=AD=94=E5=88=97=E8=A1=A8=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gh/common/util/CommentUtils.java | 57 +++++++++++++++++- .../com/gh/common/util/PostCommentUtils.java | 20 ++++++ .../java/com/gh/common/view/RichEditor.java | 2 +- .../gamecenter/ask/AnswerCommentFragment.java | 31 +++++++++- .../gamecenter/ask/AnswerDetailFragment.java | 50 ++++++++------- .../gh/gamecenter/entity/UserDataEntity.kt | 5 ++ .../retrofit/service/ApiService.java | 6 ++ .../res/drawable-xhdpi/ic_answer_like.png | Bin 0 -> 561 bytes .../res/drawable-xhdpi/ic_answer_liked.png | Bin 0 -> 564 bytes .../drawable-xxhdpi/answer_detail_unvote.png | Bin 4047 -> 0 bytes .../drawable-xxhdpi/answer_detail_vote.png | Bin 5043 -> 0 bytes .../answer_edit_questions_icon.png | Bin 1648 -> 0 bytes .../res/layout/fragment_answer_comment.xml | 14 +++-- .../res/layout/fragment_answer_detail.xml | 42 ++----------- .../main/res/layout/fragment_answer_edit.xml | 10 --- 15 files changed, 156 insertions(+), 81 deletions(-) create mode 100644 app/src/main/res/drawable-xhdpi/ic_answer_like.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_answer_liked.png delete mode 100644 app/src/main/res/drawable-xxhdpi/answer_detail_unvote.png delete mode 100644 app/src/main/res/drawable-xxhdpi/answer_detail_vote.png delete mode 100644 app/src/main/res/drawable-xxhdpi/answer_edit_questions_icon.png diff --git a/app/src/main/java/com/gh/common/util/CommentUtils.java b/app/src/main/java/com/gh/common/util/CommentUtils.java index 1d6ae56d5d..ccc13aca6f 100644 --- a/app/src/main/java/com/gh/common/util/CommentUtils.java +++ b/app/src/main/java/com/gh/common/util/CommentUtils.java @@ -155,7 +155,7 @@ public class CommentUtils { List dialogType = new ArrayList<>(); - if (commentEntity.getUserData() == null || !commentEntity.getUserData().isCommentOwn()) { + if (commentEntity.getUserData() == null || !commentEntity.getUserData().isAnswerCommented()) { dialogType.add("回复"); } @@ -197,8 +197,7 @@ public class CommentUtils { LibaoUtils.copyLink(commentEntity.getContent(), context); break; case "举报": - CheckLoginUtils.checkLogin(context, () -> showReportTypeDialog(commentEntity, context)); - + CheckLoginUtils.checkLogin(context, () -> showAnswerReportDialog(answerId, commentEntity, context)); break; case "查看对话": context.startActivity(CommentDetailActivity.getAnswerCommentIntent(context, commentEntity.getId(), answerId)); @@ -212,6 +211,58 @@ public class CommentUtils { dialog.show(); } + private static void showAnswerReportDialog(final String answerId, final CommentEntity commentEntity, final Context context) { + final String[] arrReportType = new String[]{"垃圾广告营销", "恶意攻击谩骂", "淫秽色情信息", + "违法有害信息", "其它"}; + int widthPixels = context.getResources().getDisplayMetrics().widthPixels; + + final Dialog reportTypeDialog = new Dialog(context); + LinearLayout container = new LinearLayout(context); + container.setOrientation(LinearLayout.VERTICAL); + container.setPadding(0, DisplayUtils.dip2px(context, 12), 0, DisplayUtils.dip2px(context, 12)); + container.setBackgroundColor(Color.WHITE); + + for (final String s : arrReportType) { + TextView reportTypeTv = new TextView(context); + reportTypeTv.setText(s); + reportTypeTv.setTextSize(17); + reportTypeTv.setTextColor(ContextCompat.getColor(context, R.color.title)); + reportTypeTv.setBackgroundResource(R.drawable.textview_white_style); + reportTypeTv.setLayoutParams(new LinearLayout.LayoutParams((widthPixels * 9) / 10, + LinearLayout.LayoutParams.WRAP_CONTENT)); + reportTypeTv.setPadding(DisplayUtils.dip2px(context, 20), DisplayUtils.dip2px(context, 12), + 0, DisplayUtils.dip2px(context, 12)); + container.addView(reportTypeTv); + + reportTypeTv.setOnClickListener(v -> { + JSONObject jsonObject = new JSONObject(); + try { + jsonObject.put("reason", s); + } catch (JSONException e) { + e.printStackTrace(); + } + + PostCommentUtils.postAnswerReportData(context, commentEntity.getId(), answerId, jsonObject.toString(), + new PostCommentUtils.PostCommentListener() { + @Override + public void postSuccess(JSONObject response) { + Utils.toast(context, "感谢您的举报"); + } + + @Override + public void postFailed(Throwable error) { + Utils.toast(context, error.toString()); + } + }); + reportTypeDialog.cancel(); + }); + } + + reportTypeDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); + reportTypeDialog.setContentView(container); + reportTypeDialog.show(); + } + private static void showReportTypeDialog(final CommentEntity commentEntity, final Context context) { final String[] arrReportType = new String[]{"垃圾广告营销", "恶意攻击谩骂", "淫秽色情信息", "违法有害信息", "其它"}; diff --git a/app/src/main/java/com/gh/common/util/PostCommentUtils.java b/app/src/main/java/com/gh/common/util/PostCommentUtils.java index f373c70ccd..1f4401a35a 100644 --- a/app/src/main/java/com/gh/common/util/PostCommentUtils.java +++ b/app/src/main/java/com/gh/common/util/PostCommentUtils.java @@ -156,6 +156,26 @@ public class PostCommentUtils { }); } + public static void postAnswerReportData(final Context context, final String commentId, final String answerId, final String reportData, + final PostCommentListener listener) { + RequestBody body = RequestBody.create(MediaType.parse("application/json"), reportData); + RetrofitManager.getInstance(context).getApi() + .postReportOfAnswerComment(answerId, commentId, body) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Response() { + @Override + public void onResponse(ResponseBody response) { + listener.postSuccess(null); + } + + @Override + public void onFailure(HttpException e) { + listener.postFailed(e); + } + }); + } + public interface PostCommentListener { void postSuccess(JSONObject response); diff --git a/app/src/main/java/com/gh/common/view/RichEditor.java b/app/src/main/java/com/gh/common/view/RichEditor.java index 2116041900..6bdb00ae31 100644 --- a/app/src/main/java/com/gh/common/view/RichEditor.java +++ b/app/src/main/java/com/gh/common/view/RichEditor.java @@ -189,7 +189,7 @@ public class RichEditor extends WebView { try { exec("javascript:RE.setHtml('" + URLEncoder.encode(contents, "UTF-8") + "');"); - if (isLoadTbImage && NetworkUtils.isWifiConnected(getContext())) { + if (isLoadTbImage && !NetworkUtils.isWifiConnected(getContext())) { exec("javascript:RE.replaceTbImage()"); } diff --git a/app/src/main/java/com/gh/gamecenter/ask/AnswerCommentFragment.java b/app/src/main/java/com/gh/gamecenter/ask/AnswerCommentFragment.java index 20a937b563..d58a36a809 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/AnswerCommentFragment.java +++ b/app/src/main/java/com/gh/gamecenter/ask/AnswerCommentFragment.java @@ -1,6 +1,7 @@ package com.gh.gamecenter.ask; import android.annotation.SuppressLint; +import android.app.Activity; import android.app.Application; import android.app.Dialog; import android.arch.lifecycle.ViewModelProviders; @@ -12,9 +13,12 @@ import android.support.v4.app.Fragment; import android.support.v7.widget.RecyclerView; import android.text.Editable; import android.text.TextWatcher; +import android.util.DisplayMetrics; import android.view.View; +import android.view.ViewGroup; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; +import android.widget.FrameLayout; import android.widget.TextView; import com.gh.base.fragment.BaseDialogWrapperFragment; @@ -39,6 +43,9 @@ import retrofit2.HttpException; public class AnswerCommentFragment extends ListFragment implements OnCommentCallBackListener { + @Nullable + @BindView(R.id.answer_comment_container) + protected View mCommentContainer; @BindView(R.id.answer_comment_et) protected EditText mCommentDetailCommentEt; @BindView(R.id.answer_comment_send_btn) @@ -46,6 +53,7 @@ public class AnswerCommentFragment extends ListFragment { - if (mDetailEntity != null && !mDetailEntity.getMe().isAnswerVoted()) { - mViewModel.postVote(mAnswerId); - } else { - toast(R.string.ask_vote_hint); - } - }); - break; case R.id.reuse_no_connection: mNoConn.setVisibility(View.GONE); mLoading.setVisibility(View.VISIBLE); @@ -377,8 +367,14 @@ public class AnswerDetailFragment extends NormalFragment { startActivity(QuestionsDetailActivity.getIntent(getContext(), mDetailEntity.getQuestion().getId(), mEntrance)); } break; - case R.id.answer_detail_do_comment_container: - showCommentDialog(true); + case R.id.answer_detail_like_container: + CheckLoginUtils.checkLogin(getContext(), () -> { + if (mDetailEntity != null && !mDetailEntity.getMe().isAnswerVoted()) { + mViewModel.postVote(mAnswerId); + } else { + toast(R.string.ask_vote_hint); + } + }); break; case R.id.answer_detail_comment_count_container: showCommentDialog(false); @@ -410,7 +406,11 @@ public class AnswerDetailFragment extends NormalFragment { commentCount = mDetailEntity.getCommentCount(); } - BaseDialogWrapperFragment dialog = BaseDialogWrapperFragment.getInstance(AnswerCommentFragment.getInstance(mAnswerId, showKeyBoard, commentCount)); + BaseDialogWrapperFragment dialog = BaseDialogWrapperFragment.getInstance( + AnswerCommentFragment.getInstance(mAnswerId, showKeyBoard, commentCount, count -> { + mDetailEntity.setCommentCount(count); + mAnswerCommentCountTv.setText(String.format("%d 评论", mDetailEntity.getCommentCount())); + })); dialog.show(getFragmentManager(), "CommentDialog"); } @@ -481,15 +481,15 @@ public class AnswerDetailFragment extends NormalFragment { } private void updateVote() { - mVoteCount.setText(getString(R.string.ask_vote_count, AskUtils.voteCountFormat(mDetailEntity.getVote()))); + mAnswerDetailLikeTv.setText(getString(R.string.ask_vote_count, AskUtils.voteCountFormat(mDetailEntity.getVote()))); if (getContext() == null) return; if (mDetailEntity.getMe().isAnswerVoted()) { - mVote.setImageResource(R.drawable.answer_detail_unvote); - mVoteCount.setTextColor(ContextCompat.getColor(getContext(), R.color.theme)); + mAnswerDetailLiveIv.setImageResource(R.drawable.ic_answer_liked); + mAnswerDetailLikeTv.setTextColor(ContextCompat.getColor(getContext(), R.color.theme)); } else { - mVote.setImageResource(R.drawable.answer_detail_vote); - mVoteCount.setTextColor(ContextCompat.getColor(getContext(), R.color.hint)); + mAnswerDetailLiveIv.setImageResource(R.drawable.ic_answer_like); + mAnswerDetailLikeTv.setTextColor(ContextCompat.getColor(getContext(), R.color.text_5d5d5d)); } } @@ -531,4 +531,8 @@ public class AnswerDetailFragment extends NormalFragment { } } } + + public interface CommentCountListener { + void onChange(int count); + } } diff --git a/app/src/main/java/com/gh/gamecenter/entity/UserDataEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/UserDataEntity.kt index 4d62e4ea2e..fbb8ac31c5 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/UserDataEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/UserDataEntity.kt @@ -25,6 +25,9 @@ class UserDataEntity : Parcelable { @SerializedName("is_comment_voted") var isCommentVoted: Boolean = false + @SerializedName("is_answer_commented") + var isAnswerCommented: Boolean = false + @SerializedName("is_version_requested") var isVersionRequested: Boolean = false @@ -41,6 +44,7 @@ class UserDataEntity : Parcelable { dest.writeByte(if (this.isToolkitFavorite) 1.toByte() else 0.toByte()) dest.writeByte(if (this.isCommentOwn) 1.toByte() else 0.toByte()) dest.writeByte(if (this.isCommentVoted) 1.toByte() else 0.toByte()) + dest.writeByte(if (this.isAnswerCommented) 1.toByte() else 0.toByte()) dest.writeTypedList(this.userDataLibaoList) } @@ -52,6 +56,7 @@ class UserDataEntity : Parcelable { this.isToolkitFavorite = `in`.readByte().toInt() != 0 this.isCommentOwn = `in`.readByte().toInt() != 0 this.isCommentVoted = `in`.readByte().toInt() != 0 + this.isAnswerCommented = `in`.readByte().toInt() != 0 this.userDataLibaoList = `in`.createTypedArrayList(UserDataLibaoEntity.CREATOR) } 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 e0ceaf3555..8fc36a1c80 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 @@ -943,6 +943,12 @@ public interface ApiService { @POST("answers/{answer_id}/comments/{comment_id}:vote") Observable postVoteAnswerComment(@Path("answer_id") String answerId, @Path("comment_id") String commentId); + /** + * 举报回答的评论 + */ + @POST("answers/{answer_id}/comments/{comment_id}:report") + Observable postReportOfAnswerComment(@Path("answer_id") String answerId, @Path("comment_id") String commentId, @Body RequestBody reportData); + /** * 获取评论列表.可以分页 */ diff --git a/app/src/main/res/drawable-xhdpi/ic_answer_like.png b/app/src/main/res/drawable-xhdpi/ic_answer_like.png new file mode 100644 index 0000000000000000000000000000000000000000..499e8d5004d31be6b2c086f1ead03dd34f9e718e GIT binary patch literal 561 zcmV-10?z%3P)9QY;i%$Oy#$)_vg3zGk7C2)=Qf2NkmSb@pSRYnl7&CcXO|VH!U=C-n5@#_gyIrbj zD#p084h)14hH(KWbLOir$gZeSd`z)dbzsftcJkHbRr;d^iEF8JX}oXd$NwMgPG0O3 zu=JhV4-6snU~9*K3APYl@vIZTUCAHD80R_(d_Z&UscD4}a@diE#kK>n5ldv3$Ky@_ zOUF4CW1Ou7cC`VxCwZ|H$YT~gI3Vj9%y*7OvIbjIHF{t-_F`We-zx{+z%g0B8>@J5 zyzc%R(?pE%U$4yJ6t3fY3zC=Xv#k3ZED!z#RW4|kb+u0p00000NkvXXu0mjfzcu}= literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_answer_liked.png b/app/src/main/res/drawable-xhdpi/ic_answer_liked.png new file mode 100644 index 0000000000000000000000000000000000000000..8ec5058d9c916caddc48a54e835db97e0014c33e GIT binary patch literal 564 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 - - + + diff --git a/app/src/main/res/layout/fragment_answer_detail.xml b/app/src/main/res/layout/fragment_answer_detail.xml index 9e56ff1cd4..1f132b2be1 100644 --- a/app/src/main/res/layout/fragment_answer_detail.xml +++ b/app/src/main/res/layout/fragment_answer_detail.xml @@ -42,22 +42,12 @@ android:paddingRight="20dp" app:layout_constraintTop_toBottomOf="@id/answer_detail_line"> - - - - - - @@ -218,7 +185,7 @@ android:background="@android:color/white"> + android:src="@drawable/ic_answer_like" /> @@ -262,6 +231,7 @@ android:id="@+id/answer_detail_comment_count_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:text="0 评论" android:layout_marginLeft="9dp" android:textColor="@color/text_5d5d5d" android:textSize="13sp" /> diff --git a/app/src/main/res/layout/fragment_answer_edit.xml b/app/src/main/res/layout/fragment_answer_edit.xml index e2b6e85320..9c230629c6 100644 --- a/app/src/main/res/layout/fragment_answer_edit.xml +++ b/app/src/main/res/layout/fragment_answer_edit.xml @@ -17,23 +17,13 @@ android:paddingLeft = "20dp" android:paddingRight = "10dp" > - -