From 8c884b6d23ded4efb9e5a04287d5f82f0e75acdd Mon Sep 17 00:00:00 2001 From: juntao Date: Thu, 27 Aug 2020 14:33:32 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=A4=BC=E4=BB=AA?= =?UTF-8?q?=E8=80=83=E8=AF=9520200826=E6=B5=8B=E8=AF=95=E9=97=AE=E9=A2=982?= =?UTF-8?q?=20https://gitlab.ghzs.com/pm/halo-app-issues/-/issues/945?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/com/gh/common/util/DialogUtils.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/main/java/com/gh/common/util/DialogUtils.java b/app/src/main/java/com/gh/common/util/DialogUtils.java index 5f9f7e358c..6276a0ebcd 100644 --- a/app/src/main/java/com/gh/common/util/DialogUtils.java +++ b/app/src/main/java/com/gh/common/util/DialogUtils.java @@ -62,6 +62,7 @@ import com.halo.assistant.fragment.SettingsFragment; import com.lightgame.adapter.BaseRecyclerAdapter; import com.lightgame.download.DownloadEntity; import com.lightgame.utils.AppManager; +import com.lightgame.utils.Util_System_Keyboard; import com.lightgame.utils.Utils; import java.util.ArrayList; @@ -1487,7 +1488,10 @@ public class DialogUtils { dialog.dismiss(); }); + Context finalContext1 = context; confirmBtn.setOnClickListener(v -> { + Util_System_Keyboard.hideSoftKeyboard((Activity) finalContext1); + confirmListener.onConfirm(); dialog.dismiss(); }); From 78c4d7acef04d9a69ce6a27153045e73ee973bd5 Mon Sep 17 00:00:00 2001 From: lyr <15622190878@163.com> Date: Thu, 27 Aug 2020 14:51:41 +0800 Subject: [PATCH 2/6] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9"=E6=B3=A8=E5=86=8C?= =?UTF-8?q?=E6=96=B9=E5=BC=8F"=E5=88=A4=E6=96=AD=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=9B2.=E4=BC=98=E5=8C=96"=E8=B4=A6=E5=8F=B7=E4=B8=8E?= =?UTF-8?q?=E5=AE=89=E5=85=A8"=E6=A8=A1=E5=9D=97UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gh/gamecenter/fragment/LoginFragment.java | 2 +- .../security/BindPhoneConflictFragment.kt | 12 +- .../gamecenter/security/BindPhoneFragment.kt | 6 +- .../gamecenter/security/SecurityFragment.kt | 30 ++-- app/src/main/res/layout/dialog_notice.xml | 1 + app/src/main/res/layout/fragment_security.xml | 143 +++++++++--------- 6 files changed, 99 insertions(+), 95 deletions(-) diff --git a/app/src/main/java/com/gh/gamecenter/fragment/LoginFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/LoginFragment.java index 6b14d8c8bc..51b40d3c3e 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/LoginFragment.java +++ b/app/src/main/java/com/gh/gamecenter/fragment/LoginFragment.java @@ -391,7 +391,7 @@ public class LoginFragment extends NormalFragment implements LoginUtils.onCaptch mLoginBtn.setAlpha(1f); } else { mLoginBtn.setEnabled(false); - mLoginBtn.setAlpha(0.6f); + mLoginBtn.setAlpha(0.4f); } } } diff --git a/app/src/main/java/com/gh/gamecenter/security/BindPhoneConflictFragment.kt b/app/src/main/java/com/gh/gamecenter/security/BindPhoneConflictFragment.kt index 0104f45bb5..584d1399c4 100644 --- a/app/src/main/java/com/gh/gamecenter/security/BindPhoneConflictFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/security/BindPhoneConflictFragment.kt @@ -1,5 +1,6 @@ package com.gh.gamecenter.security +import android.annotation.SuppressLint import android.os.Bundle import android.view.View import android.view.ViewGroup @@ -39,15 +40,17 @@ class BindPhoneConflictFragment : NormalFragment() { mConflictUser = requireArguments().getParcelable(EntranceUtils.KEY_CONFLICT_USER)!! } + @SuppressLint("SetTextI18n") override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) mBindPhoneConflictDesc.text = "手机号${mConflictPhone}已经绑定在另一个冲突号上," - mCurrentDesc.text = "注册方式:${getRegisterType(UserManager.getInstance().loginTokenEntity.loginType)}" - val userInfo = UserManager.getInstance().userInfoEntity - mCurrentName.text = userInfo.name - ImageUtils.display(mCurrentIcon, userInfo.icon) + UserManager.getInstance().userInfoEntity.run { + mCurrentDesc.text = "注册方式:${getRegisterType(registerType)}" + mCurrentName.text = name + ImageUtils.display(mCurrentIcon, icon) + } mConflictUser.run { mConflictName.text = user?.name @@ -62,6 +65,7 @@ class BindPhoneConflictFragment : NormalFragment() { "wechat" -> "微信" "weibo" -> "微博" "douyin" -> "抖音" +// "mobile" -> "手机" else -> "手机" } } diff --git a/app/src/main/java/com/gh/gamecenter/security/BindPhoneFragment.kt b/app/src/main/java/com/gh/gamecenter/security/BindPhoneFragment.kt index 5d3599d34a..8a9f441d78 100644 --- a/app/src/main/java/com/gh/gamecenter/security/BindPhoneFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/security/BindPhoneFragment.kt @@ -125,13 +125,14 @@ class BindPhoneFragment : NormalFragment() { } private fun setTextChangedListener() { + // 手机号EditText监听 mBindPhoneEt.setTextChangedListener { s, _, _, _ -> if (s.isNotEmpty()) { mBindPhoneBtn.isEnabled = true mBindPhoneBtn.alpha = 1f } else { mBindPhoneBtn.isEnabled = false - mBindPhoneBtn.alpha = 0.6f + mBindPhoneBtn.alpha = 0.4f } // 输入手机号码加空格 @@ -153,13 +154,14 @@ class BindPhoneFragment : NormalFragment() { } } + // 验证码EditText监听 mBindPhonePassEt.setTextChangedListener { s, _, _, _ -> if (s.length > 5) { mBindPhoneBtn.isEnabled = true mBindPhoneBtn.alpha = 1f } else { mBindPhoneBtn.isEnabled = false - mBindPhoneBtn.alpha = 0.6f + mBindPhoneBtn.alpha = 0.4f } } } diff --git a/app/src/main/java/com/gh/gamecenter/security/SecurityFragment.kt b/app/src/main/java/com/gh/gamecenter/security/SecurityFragment.kt index 4d3345309d..c708ceeffb 100644 --- a/app/src/main/java/com/gh/gamecenter/security/SecurityFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/security/SecurityFragment.kt @@ -24,27 +24,17 @@ class SecurityFragment : NormalFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - mSecurityBindPhone.text = if (UserManager.getInstance().userInfoEntity.loginMobile.isNullOrEmpty()) { - "立即绑定" - } else { - UserManager.getInstance().userInfoEntity.loginMobile - } - - val loginToken = UserManager.getInstance().loginTokenEntity - if (loginToken != null) { - if (!TextUtils.isEmpty(loginToken.loginType)) { - var loginType = loginToken.loginType.trim { it <= ' ' } - when (loginType) { - "qq" -> loginType = "QQ" - "wechat" -> loginType = "微信" - "weibo" -> loginType = "微博" - "douyin" -> loginType = "抖音" - else -> if (loginType.length == 11) { - loginType = "手机" - } - } - mSecurityRegisterWay.text = loginType + UserManager.getInstance().userInfoEntity.run { + mSecurityRegisterWay.text = when (registerType) { + "qq" -> "QQ" + "wechat" -> "微信" + "weibo" -> "微博" + "douyin" -> "抖音" +// "mobile" -> "手机" + else -> "手机" } + + mSecurityBindPhone.text = if (loginMobile.isNullOrEmpty()) "立即绑定" else loginMobile } } diff --git a/app/src/main/res/layout/dialog_notice.xml b/app/src/main/res/layout/dialog_notice.xml index 0556e9c9f4..b6b0acc0ee 100644 --- a/app/src/main/res/layout/dialog_notice.xml +++ b/app/src/main/res/layout/dialog_notice.xml @@ -44,6 +44,7 @@ android:paddingBottom="18dp" android:gravity="center" android:textColor="@color/text_333333" + android:textStyle="bold" android:textSize="14sp" android:text="@string/change_phone_same_ok" /> diff --git a/app/src/main/res/layout/fragment_security.xml b/app/src/main/res/layout/fragment_security.xml index 220145cd29..52ea573ce6 100644 --- a/app/src/main/res/layout/fragment_security.xml +++ b/app/src/main/res/layout/fragment_security.xml @@ -4,78 +4,85 @@ android:layout_height="match_parent" android:orientation="vertical" android:background="@color/text_F5F5F5"> - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + From e3f41543a47cee02d9356e67b334d30f9b5e9b8a Mon Sep 17 00:00:00 2001 From: juntao Date: Thu, 27 Aug 2020 15:09:45 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=B8=96=E5=AD=90?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=B5=8B=E8=AF=95=E5=86=85=E5=AE=B9=20https:?= =?UTF-8?q?//gitlab.ghzs.com/pm/halo-app-issues/-/issues/967?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gh/common/util/CommentHelper.kt | 5 ++ .../com/gh/gamecenter/entity/MessageEntity.kt | 6 ++ .../entity/PersonalHistoryEntity.kt | 1 + .../detail/ForumArticleAskListAdapter.kt | 5 +- .../home/ForumArticleAskItemViewHolder.kt | 4 +- .../message/MessageItemViewHolder.java | 24 +++-- .../detail/ArticleDetailContentViewHolder.kt | 2 +- .../article/detail/ArticleDetailFragment.kt | 10 --- .../detail/BaseArticleDetailCommentAdapter.kt | 60 ++++++++++--- .../comment/ArticleDetailCommentAdapter.kt | 6 ++ .../comment/ArticleDetailCommentFragment.kt | 23 +++-- .../qa/comment/NewCommentAdapter.kt | 1 + .../res/drawable-xxhdpi/ic_hint_author.png | Bin 0 -> 2108 bytes .../res/drawable-xxxhdpi/ic_hint_author.png | Bin 0 -> 2847 bytes .../layout/item_article_detail_comment.xml | 85 ++---------------- .../layout/item_article_detail_content.xml | 16 ++-- .../piece_article_detail_comment_filter.xml | 14 ++- .../layout/piece_article_input_container.xml | 11 ++- app/src/main/res/values/colors.xml | 1 + 19 files changed, 136 insertions(+), 138 deletions(-) create mode 100644 app/src/main/res/drawable-xxhdpi/ic_hint_author.png create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_hint_author.png diff --git a/app/src/main/java/com/gh/common/util/CommentHelper.kt b/app/src/main/java/com/gh/common/util/CommentHelper.kt index 84bb5260c9..2e0a01b807 100644 --- a/app/src/main/java/com/gh/common/util/CommentHelper.kt +++ b/app/src/main/java/com/gh/common/util/CommentHelper.kt @@ -33,12 +33,14 @@ object CommentHelper { showConversation: Boolean, articleId: String, communityId: String, + ignoreModerator: Boolean = false, listener: OnCommentOptionClickListener?) { showCommentOptions(view = view, commentEntity = commentEntity, showConversation = showConversation, articleId = articleId, communityId = communityId, + ignoreModerator = ignoreModerator, listener = listener) } @@ -77,6 +79,7 @@ object CommentHelper { communityId: String? = null, answerId: String? = null, videoId: String? = null, + ignoreModerator: Boolean = false, isVideoAuthor: Boolean = false, listener: OnCommentOptionClickListener? = null) { val context = view.context @@ -88,6 +91,8 @@ object CommentHelper { dialogOptions.add("投诉") commentEntity.me?.let { + if (ignoreModerator) return@let + if (it.isModerator || (it.moderatorPermissions.hideAnswerComment > Permissions.GUEST || it.moderatorPermissions.topAnswerComment > Permissions.GUEST || it.moderatorPermissions.hideCommunityArticleComment > Permissions.GUEST diff --git a/app/src/main/java/com/gh/gamecenter/entity/MessageEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/MessageEntity.kt index 29d727cf13..bf9b0c4730 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/MessageEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/MessageEntity.kt @@ -158,6 +158,9 @@ class MessageEntity { @SerializedName("_id") var id: String? = null + @SerializedName("top_id") + var topId: String? = null + var content: String? = null } @@ -165,6 +168,9 @@ class MessageEntity { @SerializedName("_id") var id: String? = null + @SerializedName("top_id") + var topId: String? = null + var content: String? = null } diff --git a/app/src/main/java/com/gh/gamecenter/entity/PersonalHistoryEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/PersonalHistoryEntity.kt index e31546a190..b5ff015bf0 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/PersonalHistoryEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/PersonalHistoryEntity.kt @@ -111,6 +111,7 @@ data class PersonalHistoryEntity( answer.commentCount = count.comment answer.me = me answer.commentable = commentable + answer.articleCommunityId = community.id if (type.contains("article")) { answer.type = "community_article" } diff --git a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListAdapter.kt b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListAdapter.kt index 88c61a79b6..88f7cb9870 100644 --- a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListAdapter.kt @@ -17,13 +17,10 @@ import com.gh.gamecenter.baselist.ListAdapter import com.gh.gamecenter.databinding.CommunityAnswerItemBinding import com.gh.gamecenter.entity.CommunityEntity import com.gh.gamecenter.forum.home.ForumArticleAskItemViewHolder -import com.gh.gamecenter.manager.UserManager -import com.gh.gamecenter.qa.answer.detail.AnswerDetailActivity import com.gh.gamecenter.qa.article.detail.ArticleDetailActivity import com.gh.gamecenter.qa.entity.AnswerEntity import com.gh.gamecenter.qa.entity.Questions import com.gh.gamecenter.qa.questions.detail.QuestionsDetailActivity -import java.io.LineNumberReader class ForumArticleAskListAdapter(context: Context, val bbsId: String, val mEntrance: String, val path: String) : ListAdapter(context), ISyncAdapterHandler { @@ -63,6 +60,8 @@ class ForumArticleAskListAdapter(context: Context, val bbsId: String, val mEntra if (path == "精华") answer.type = "community_article" if (path == "问答") answer.type = "question" + if (answer.bbs.id.isEmpty()) answer.bbs.id = bbsId + val answerViewHolder = holder as ForumArticleAskItemViewHolder val binding = answerViewHolder.binding binding.forumNameLl.visibility = View.GONE diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/ForumArticleAskItemViewHolder.kt b/app/src/main/java/com/gh/gamecenter/forum/home/ForumArticleAskItemViewHolder.kt index 9427ed321d..107b09e9a4 100644 --- a/app/src/main/java/com/gh/gamecenter/forum/home/ForumArticleAskItemViewHolder.kt +++ b/app/src/main/java/com/gh/gamecenter/forum/home/ForumArticleAskItemViewHolder.kt @@ -85,8 +85,7 @@ class ForumArticleAskItemViewHolder(val binding: CommunityAnswerItemBinding) : B commentCountContainer.setOnClickListener { if (filterIllegalCommentStatus(entity.commentable, entity.active)) return@setOnClickListener if (entity.type == "community_article") { - val communityId = if (entity.articleCommunityId.isNotEmpty()) entity.articleCommunityId - else UserManager.getInstance().community.id + val communityId = if (entity.bbs.id.isNotEmpty()) entity.bbs.id else UserManager.getInstance().community.id val intent = ArticleDetailActivity.getCommentIntent(itemView.context, CommunityEntity(communityId, entity.communityName ?: ""), entity.id ?: "", @@ -102,7 +101,6 @@ class ForumArticleAskItemViewHolder(val binding: CommunityAnswerItemBinding) : B } itemView.context.startActivity(intent) } - } voteCountContainer.setOnClickListener { diff --git a/app/src/main/java/com/gh/gamecenter/message/MessageItemViewHolder.java b/app/src/main/java/com/gh/gamecenter/message/MessageItemViewHolder.java index 4163bdbbf1..7a22122179 100644 --- a/app/src/main/java/com/gh/gamecenter/message/MessageItemViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/message/MessageItemViewHolder.java @@ -6,6 +6,9 @@ import android.text.TextUtils; import android.view.View; import android.widget.RelativeLayout; +import androidx.annotation.Nullable; +import androidx.fragment.app.FragmentActivity; + import com.gh.base.BaseActivity; import com.gh.base.BaseRecyclerViewHolder; import com.gh.base.OnListClickListener; @@ -42,8 +45,6 @@ import com.lightgame.utils.Utils; import java.util.ArrayList; import java.util.List; -import androidx.annotation.Nullable; -import androidx.fragment.app.FragmentActivity; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; import retrofit2.HttpException; @@ -251,6 +252,19 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder mBinding.messageArticleIcon.setVisibility(View.GONE); voteMoreUser(messageEntity); break; + case "community_article_comment_reply_vote": + mBinding.messageCommand.setText("赞了你的回复"); + mBinding.messageContent.setVisibility(View.GONE); + mBinding.messageOriginalTitle.setText(messageEntity.getArticle().getTitle()); + images = messageEntity.getArticle().getImages(); + if (images.size() > 0) { + targetUrl = images.get(0); + } + ImageUtils.displayIcon(mBinding.messageAskIcon, targetUrl); + mBinding.messageAskIcon.setVisibility(View.VISIBLE); + mBinding.messageArticleIcon.setVisibility(View.GONE); + voteMoreUser(messageEntity); + break; case "reply_community_article_comment": mBinding.messageCommand.setText("回复了你"); mBinding.messageContent.setVisibility(View.VISIBLE); @@ -531,9 +545,10 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder } break; case "community_article_comment_vote": + case "community_article_comment_reply_vote": community = new CommunityEntity(entity.getArticle().getCommunityId(), ""); if (view.getId() == R.id.message_original || view.getId() == R.id.message_item) { - context.startActivity(ArticleDetailCommentActivity.Companion.getIntent(context, entity.getComment().getId(), community.getId(), entity.getArticle().getId(), false, entrance, path)); + context.startActivity(ArticleDetailCommentActivity.Companion.getIntent(context, entity.getComment().getTopId(), community.getId(), entity.getArticle().getId(), false, entrance, path)); } break; case "community_article_comment": @@ -552,8 +567,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder break; case "reply_community_article_comment": if (view.getId() == R.id.message_original || view.getId() == R.id.message_item) { - community = new CommunityEntity(entity.getArticle().getCommunityId(), ""); - context.startActivity(ArticleDetailCommentActivity.Companion.getIntent(context, entity.getComment().getId(), community.getId(), entity.getArticle().getId(), false, entrance, path)); + context.startActivity(ArticleDetailCommentActivity.Companion.getIntent(context, entity.getDialogue().getTo().getTopId(), entity.getArticle().getCommunityId(), entity.getArticle().getId(), false, entrance, path)); } break; case "game_comment_vote": diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailContentViewHolder.kt b/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailContentViewHolder.kt index d3a8e95152..e09de8182c 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailContentViewHolder.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailContentViewHolder.kt @@ -36,7 +36,7 @@ class ArticleDetailContentViewHolder(var binding: ItemArticleDetailContentBindin fun bindView(article: ArticleDetailEntity) { binding.run { richEditor.setInputEnabled(false) - richEditor.setPadding(20, 15, 20, 15) + richEditor.setPadding(20, 20, 20, 15) richEditor.addJavascriptInterface(JsInterface(), "imagelistener") richEditor.addJavascriptInterface(OnLinkClickListener(root.context, mEntrance, "帖子详情"), "OnLinkClickListener") richEditor.setLayoutCallback(object : EmptyCallback { diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailFragment.kt index 0f3899d488..7fa1531914 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailFragment.kt @@ -4,7 +4,6 @@ import android.annotation.SuppressLint import android.app.Activity import android.content.Intent import android.graphics.drawable.ColorDrawable -import android.graphics.drawable.InsetDrawable import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -13,7 +12,6 @@ import android.widget.ImageView import android.widget.LinearLayout import android.widget.PopupWindow import android.widget.TextView -import androidx.core.content.ContextCompat import androidx.core.view.ViewCompat import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.RecyclerView @@ -22,7 +20,6 @@ import com.ethanhua.skeleton.Skeleton import com.gh.common.TimeElapsedHelper import com.gh.common.history.HistoryHelper import com.gh.common.util.* -import com.gh.common.view.CustomDividerItemDecoration import com.gh.gamecenter.ImageViewerActivity import com.gh.gamecenter.R import com.gh.gamecenter.SuggestionActivity @@ -159,13 +156,6 @@ class ArticleDetailFragment : BaseArticleDetailCommentFragment?) { + fun updateSubComment(subCommentList: ArrayList?, articleOwnerUserId: String) { binding.subCommentContainer.goneIf(subCommentList.isNullOrEmpty()) binding.firstSubCommentTv.goneIf(subCommentList?.firstOrNull() == null) binding.secondSubCommentTv.goneIf(subCommentList?.secondOrNull() == null) + binding.subCommentContainer.setRoundedColorBackground(R.color.text_F5F5F5, 5F) subCommentList?.firstOrNull()?.let { - binding.firstSubCommentTv.text = "${it.user.name}:${it.content}" + binding.firstSubCommentTv.text = getSubCommentSpanned(it.user.name, if (it.user.id == articleOwnerUserId) "作者" else "", it.content) } subCommentList?.secondOrNull()?.let { - binding.secondSubCommentTv.text = "${it.user.name}:${it.content}" + binding.secondSubCommentTv.text = getSubCommentSpanned(it.user.name, if (it.user.id == articleOwnerUserId) "作者" else "", it.content) } } + private fun getSubCommentSpanned(name: String?, author: String?, content: String?): SpannableStringBuilder { + val finalAuthor = author ?: "" + val finalName = "$name " + val colon = " :" + + val nameSpan = SpanBuilder(finalName).bold(0, finalName.length).build() + val authorSpan = if (finalAuthor.isNotEmpty()) SpanBuilder(finalAuthor).image(0, finalAuthor.length, R.drawable.ic_hint_author).build() else "" + val colonSpan = SpanBuilder(colon).bold(0, colon.length).build() + return SpannableStringBuilder().append(nameSpan).append(authorSpan).append(colonSpan).append(content) + } + companion object { fun bindComment(binding: ItemArticleDetailCommentBinding, viewModel: BaseArticleDetailCommentViewModel, @@ -310,6 +343,7 @@ abstract class BaseArticleDetailCommentAdapter(context: Context, false, viewModel.articleId, viewModel.communityId, + true, null) if (viewModel is ArticleDetailViewModel) { diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/detail/comment/ArticleDetailCommentAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/article/detail/comment/ArticleDetailCommentAdapter.kt index bd4513c13d..cc5cca8a77 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/article/detail/comment/ArticleDetailCommentAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/article/detail/comment/ArticleDetailCommentAdapter.kt @@ -7,6 +7,7 @@ import androidx.constraintlayout.widget.ConstraintLayout import androidx.constraintlayout.widget.ConstraintSet import androidx.databinding.DataBindingUtil import androidx.recyclerview.widget.RecyclerView +import com.gh.common.util.dip2px import com.gh.gamecenter.R import com.gh.gamecenter.databinding.ItemArticleDetailCommentBinding import com.gh.gamecenter.entity.CommentEntity @@ -57,11 +58,16 @@ class ArticleDetailCommentAdapter(context: Context, constraintSet.connect(binding.contentTv.id, ConstraintSet.START, binding.iconContainer.id, ConstraintSet.START) constraintSet.applyTo(binding.contentTv.parent as ConstraintLayout) + val lp: ConstraintLayout.LayoutParams = binding.contentTv.layoutParams as ConstraintLayout.LayoutParams + lp.topMargin = 16F.dip2px() + binding.contentTv.layoutParams = lp + binding.comment = comment binding.moreIv.visibility = View.GONE binding.floorHintTv.text = "1楼" binding.commentCountTv.text = mViewModel.getCommentText(comment.reply, "回复") binding.commentCountTv.setOnClickListener { commentClosure?.invoke(comment) } + binding.contentTv.text = comment.content ArticleDetailCommentViewHolder.bindComment(binding, mViewModel, comment, mEntrance) } diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/detail/comment/ArticleDetailCommentFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/article/detail/comment/ArticleDetailCommentFragment.kt index d1e48e8f69..7f23ccb39c 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/article/detail/comment/ArticleDetailCommentFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/article/detail/comment/ArticleDetailCommentFragment.kt @@ -1,5 +1,6 @@ package com.gh.gamecenter.qa.article.detail.comment +import android.annotation.SuppressLint import android.content.Intent import android.os.Bundle import android.view.View @@ -11,6 +12,7 @@ import com.gh.gamecenter.R import com.gh.gamecenter.baselist.ListAdapter import com.gh.gamecenter.baselist.LoadType import com.gh.gamecenter.entity.CommentEntity +import com.gh.gamecenter.manager.UserManager import com.gh.gamecenter.qa.article.detail.BaseArticleDetailCommentAdapter import com.gh.gamecenter.qa.article.detail.BaseArticleDetailCommentFragment import com.gh.gamecenter.qa.article.detail.BaseArticleDetailCommentViewModel @@ -26,7 +28,7 @@ class ArticleDetailCommentFragment : BaseArticleDetailCommentFragment { return mAdapter ?: ArticleDetailCommentAdapter(requireContext(), mViewModel, BaseArticleDetailCommentAdapter.AdapterType.SUB_COMMENT, mEntrance) { - mCurrentComment = it - startCommentActivity(it) +// mCurrentComment = it + if (it.user.id == UserManager.getInstance().userId) { + toast("不能回复自己") + } else { + startCommentActivity(it) + } }.apply { mAdapter = this } } @@ -84,11 +90,9 @@ class ArticleDetailCommentFragment : BaseArticleDetailCommentFragment { if (it == BaseArticleDetailCommentViewModel.LoadResult.DELETED) { diff --git a/app/src/main/java/com/gh/gamecenter/qa/comment/NewCommentAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/comment/NewCommentAdapter.kt index ceb7c4323a..d2a40662da 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/comment/NewCommentAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/comment/NewCommentAdapter.kt @@ -163,6 +163,7 @@ class NewCommentAdapter(context: Context, mIsShowingConversation, mViewModel.articleId, mViewModel.communityId, + false, mCommentOptionClickListener) } diff --git a/app/src/main/res/drawable-xxhdpi/ic_hint_author.png b/app/src/main/res/drawable-xxhdpi/ic_hint_author.png new file mode 100644 index 0000000000000000000000000000000000000000..a186799ba19abafb7cd76d30b125c04ea4cfb9a2 GIT binary patch literal 2108 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 @@ -65,6 +65,7 @@ android:text="@{comment.user.name}" android:textColor="@color/text_333333" android:textSize="14sp" + android:textStyle="bold" app:layout_constrainedWidth="true" app:layout_constraintEnd_toStartOf="@+id/authorHintTv" app:layout_constraintHorizontal_bias="0" @@ -79,7 +80,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="4dp" - android:layout_marginRight="4dp" + android:layout_marginRight="8dp" android:background="@drawable/button_round_2496ff" android:includeFontPadding="false" android:paddingLeft="4dp" @@ -120,6 +121,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="2dp" + android:layout_marginRight="11dp" android:gravity="center" android:includeFontPadding="false" android:text="@{comment.user.badge.name}" @@ -128,7 +130,7 @@ android:visibility="gone" app:layout_constrainedWidth="true" app:layout_constraintBottom_toBottomOf="@+id/userNameTv" - app:layout_constraintEnd_toStartOf="@+id/commentHintTv" + app:layout_constraintEnd_toStartOf="@+id/moreIv" app:layout_constraintStart_toEndOf="@+id/badgeIv" app:layout_constraintTop_toTopOf="@+id/userNameTv" tools:text="答题先锋" @@ -147,76 +149,6 @@ app:layout_constraintTop_toBottomOf="@id/userNameTv" tools:text="一个小时前" /> - - - - - - - - - - - + app:layout_constraintTop_toTopOf="parent" /> @@ -241,7 +173,6 @@ android:includeFontPadding="false" android:lineSpacingExtra="6dp" android:maxLines="4" - android:text="@{comment.content}" android:textColor="@color/text_333333" android:textSize="14sp" app:layout_constraintEnd_toEndOf="parent" @@ -306,8 +237,8 @@ android:id="@+id/floorHintTv" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="22dp" - android:layout_marginBottom="22dp" + android:layout_marginTop="20dp" + android:layout_marginBottom="20dp" android:textColor="@color/text_999999" android:textSize="12sp" app:layout_constraintBottom_toBottomOf="parent" diff --git a/app/src/main/res/layout/item_article_detail_content.xml b/app/src/main/res/layout/item_article_detail_content.xml index 31e8760ae5..7ac57e9a32 100644 --- a/app/src/main/res/layout/item_article_detail_content.xml +++ b/app/src/main/res/layout/item_article_detail_content.xml @@ -24,14 +24,15 @@ android:layout_height="wrap_content" android:gravity="center_vertical" android:paddingLeft="18dp" - android:paddingTop="20dp" + android:paddingTop="8dp" android:paddingRight="18dp" - android:paddingBottom="20dp" + android:paddingBottom="5dp" + android:lineSpacingMultiplier="1.4" android:text="@{detail.title}" android:textColor="@color/text_333333" android:textSize="18sp" android:textStyle="bold" - tools:text="这是标题" /> + tools:text="这是一个很长很长很长很长很长很长很长很长很长很长的标题" /> - - - - diff --git a/app/src/main/res/layout/piece_article_detail_comment_filter.xml b/app/src/main/res/layout/piece_article_detail_comment_filter.xml index e65088e2db..9b40bfef48 100644 --- a/app/src/main/res/layout/piece_article_detail_comment_filter.xml +++ b/app/src/main/res/layout/piece_article_detail_comment_filter.xml @@ -9,17 +9,17 @@ android:layout_height="44dp" android:background="@color/white" android:clickable="false" - android:paddingLeft="20dp" - android:paddingRight="20dp" tools:showIn="@layout/fragment_article_detail"> @@ -40,6 +40,7 @@ android:id="@+id/filterLatestTv" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginRight="20dp" android:gravity="center" android:padding="6dp" android:text="最新" @@ -73,5 +74,14 @@ app:layout_constraintRight_toLeftOf="@id/filterDivider" app:layout_constraintTop_toTopOf="parent" /> + + diff --git a/app/src/main/res/layout/piece_article_input_container.xml b/app/src/main/res/layout/piece_article_input_container.xml index a4e253d7b1..d14b9a809e 100644 --- a/app/src/main/res/layout/piece_article_input_container.xml +++ b/app/src/main/res/layout/piece_article_input_container.xml @@ -20,6 +20,7 @@ android:maxLines="1" android:paddingLeft="16dp" android:paddingRight="16dp" + android:textColor="@color/AAAAAA" android:textSize="14sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" @@ -39,8 +40,8 @@ @@ -48,7 +49,6 @@ android:id="@+id/bottomLikeTv" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="2dp" android:gravity="center" android:text="赞同" android:textColor="@color/text_666666" @@ -69,8 +69,8 @@ @@ -78,7 +78,6 @@ android:id="@+id/bottomCommentTv" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="2dp" android:gravity="center" android:text="评论" android:textColor="@color/text_666666" diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index a951a5a16c..e303befc0f 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -102,6 +102,7 @@ #ff4147 #aaaaaa + #AAAAAA #dcdcdc #c7c7c7 #d6d5ff From bda41d8a267f275ef0dc30851fd20469c97a66b5 Mon Sep 17 00:00:00 2001 From: juntao Date: Thu, 27 Aug 2020 15:49:44 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=8E=A8=E9=80=810827=E6=B5=8B=E8=AF=95=E9=97=AE=E9=A2=98=20ht?= =?UTF-8?q?tps://gitlab.ghzs.com/pm/halo-app-issues/-/issues/946?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gh/gamecenter/manager/UpdateManager.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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 8a9bcf1c4c..ac399e327a 100644 --- a/app/src/main/java/com/gh/gamecenter/manager/UpdateManager.java +++ b/app/src/main/java/com/gh/gamecenter/manager/UpdateManager.java @@ -144,7 +144,8 @@ public class UpdateManager { } if (updateDialog != null && updateDialog.isShowing()) { - if (DownloadStatus.done.equals(downloadEntity.getStatus())) { + // 强制更新的时候完成下载不用更新页面 + if (DownloadStatus.done.equals(downloadEntity.getStatus()) && !appEntity.isForce()) { updateUpdateDialogView(true); } } else { @@ -155,7 +156,6 @@ public class UpdateManager { } } } - } } } @@ -236,6 +236,7 @@ public class UpdateManager { } if (response != null) { if (!appEntity.isForce() + && isAutoCheck && !isUpdateFileDownloaded(response) && NetworkUtils.isWifiConnected(mContext)) { createUpdate(response, true); @@ -327,7 +328,8 @@ public class UpdateManager { updateDialog.dismiss(); } String path = FileUtils.getDownloadPath(mContext, "光环助手V" + appEntity.getVersion() + "_" + md5 + ".apk"); - if (isUpdateFileDownloaded(md5)) { + // 产品不接受显示下载完成文案从立即更新变为立即安装,所以文案为立即更新时一律不执行安装 + if (isUpdateFileDownloaded(md5) && confirmTextView.getText() != "立即更新") { DataLogUtils.uploadUpgradeLog(mContext, "install"); //上传更新安装数据 PackageInstaller.install(mContext, path); } else { From 58f230038cf2a3030d09578e3fd7f3c2c0900006 Mon Sep 17 00:00:00 2001 From: juntao Date: Thu, 27 Aug 2020 16:27:05 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=BC=BA=E9=80=80=E6=97=B6=E6=B8=85=E7=A9=BA=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E7=9A=84=E5=8A=9F=E8=83=BD=20https://gitlab.?= =?UTF-8?q?ghzs.com/pm/halo-app-issues/-/issues/946?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gh/common/util/DownloadNotificationHelper.kt | 4 ++++ .../com/gh/gamecenter/manager/UpdateManager.java | 12 +++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/gh/common/util/DownloadNotificationHelper.kt b/app/src/main/java/com/gh/common/util/DownloadNotificationHelper.kt index 0a6965a9c6..111ccf5075 100644 --- a/app/src/main/java/com/gh/common/util/DownloadNotificationHelper.kt +++ b/app/src/main/java/com/gh/common/util/DownloadNotificationHelper.kt @@ -169,6 +169,10 @@ object DownloadNotificationHelper { } } + fun removeAllNotification() { + getNotificationManager().cancel(DOWNLOAD_NOTIFICATION_FOLD_ID) + } + @JvmStatic fun initDownloadNotification(downloadTasks: MutableList) { for (downloadTask in downloadTasks) { 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 ac399e327a..38ca4213c0 100644 --- a/app/src/main/java/com/gh/gamecenter/manager/UpdateManager.java +++ b/app/src/main/java/com/gh/gamecenter/manager/UpdateManager.java @@ -20,6 +20,7 @@ import com.gh.common.constant.Constants; import com.gh.common.util.DataLogUtils; import com.gh.common.util.DialogUtils; import com.gh.common.util.DisplayUtils; +import com.gh.common.util.DownloadNotificationHelper; import com.gh.common.util.ExtensionsKt; import com.gh.common.util.MD5Utils; import com.gh.common.util.MtaHelper; @@ -126,7 +127,7 @@ public class UpdateManager { downloadDialog.dismiss(); } if (appEntity != null && appEntity.isForce()) { - AppManager.getInstance().finishAllActivity(); + exitApp(); } } else if (DownloadStatus.neterror.equals(downloadEntity.getStatus())) { Utils.toast(mContext, "网络错误,请稍后重试"); @@ -315,7 +316,7 @@ public class UpdateManager { cancelUpdateTextView.setOnClickListener(v -> { if (appEntity.isForce()) { - AppManager.getInstance().finishAllActivity(); + exitApp(); } else { updateDialog.dismiss(); } @@ -349,6 +350,11 @@ public class UpdateManager { DataLogUtils.uploadUpgradeLog(mContext, "notice"); //上传更新通知弹窗数据 } + private void exitApp() { + AppManager.getInstance().finishAllActivity(); + DownloadNotificationHelper.INSTANCE.removeAllNotification(); + } + private void showDownloadDialog(String md5) { if (NetworkUtils.isMobileConnected(mContext)) { Utils.toast(mContext, "当前使用移动数据进行下载"); @@ -372,7 +378,7 @@ public class UpdateManager { view.findViewById(R.id.app_tv_cancel).setOnClickListener(v -> { DownloadManager.getInstance(mContext).cancel(appEntity.getUrl()); if (appEntity.isForce()) { - AppManager.getInstance().finishAllActivity(); + exitApp(); } else { downloadDialog.dismiss(); } From c41e996addf2fdc826a775eb90bb82dfc3c7d40e Mon Sep 17 00:00:00 2001 From: juntao Date: Thu, 27 Aug 2020 16:32:29 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E8=BF=9B=E5=BA=A6=E8=B7=B3=E8=B7=83=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gh/gamecenter/manager/UpdateManager.java | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 38ca4213c0..6e8e72b338 100644 --- a/app/src/main/java/com/gh/gamecenter/manager/UpdateManager.java +++ b/app/src/main/java/com/gh/gamecenter/manager/UpdateManager.java @@ -335,6 +335,10 @@ public class UpdateManager { PackageInstaller.install(mContext, path); } else { MtaHelper.onEvent("软件更新", "下载开始"); + + if (isUpdateFileDownloaded(md5)) { + deleteDownloadedFile(md5); + } showDownloadDialog(md5); } }); @@ -437,6 +441,12 @@ public class UpdateManager { return file.exists() && file.length() == SPUtils.getLong(Constants.LAST_GHZS_UPDATE_FILE_SIZE, 0); } + private void deleteDownloadedFile(String md5) { + String path = FileUtils.getDownloadPath(mContext, "光环助手V" + appEntity.getVersion() + "_" + md5 + ".apk"); + File file = new File(path); + file.delete(); + } + private void updateUpdateDialogView(boolean isUpdateDownloaded) { if (isUpdateDownloaded) { confirmTextView.setText("立即安装");