From d47fd51c7c7fc705e6d97d8426a44db46401f524 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=8E=89=E4=B9=85?= <1484288157@qq.com> Date: Mon, 25 Nov 2019 14:58:20 +0800 Subject: [PATCH] =?UTF-8?q?20191121=E6=B5=8B=E8=AF=95=EF=BC=881=EF=BC=8C2?= =?UTF-8?q?=EF=BC=89https://gitlab.ghzs.com/pm/halo-app-issues/issues/682?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gh/common/constant/Constants.java | 4 +++ .../java/com/gh/gamecenter/WebActivity.java | 21 +++++++++++--- .../gh/gamecenter/entity/PersonalEntity.kt | 7 +++++ .../com/gh/gamecenter/entity/UserEntity.kt | 3 +- .../rating/edit/EditCommentAdapter.kt | 28 ++++++++++++------- .../rating/edit/RatingEditActivity.kt | 7 +++-- .../personalhome/UserHomeFragment.kt | 4 ++- .../res/layout/item_rating_edit_comment.xml | 15 ++++++---- 8 files changed, 64 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/com/gh/common/constant/Constants.java b/app/src/main/java/com/gh/common/constant/Constants.java index fa96f6ba32..e6973ec76e 100644 --- a/app/src/main/java/com/gh/common/constant/Constants.java +++ b/app/src/main/java/com/gh/common/constant/Constants.java @@ -45,6 +45,10 @@ public class Constants { public static final String WECHAT_BIND_ADDRESS_DEV = "https://resource.ghzs.com/page/wechat_dev/index.html#/"; public static final String WECHAT_BIND_ADDRESS = "https://resource.ghzs.com/page/wechat_pro/index.html#/"; + // 徽章 + public static final String BADGE_ADDRESS_DEV = "http://resource.ghzs.com/page/badge_dev/index.html#/"; + public static final String BADGE_ADDRESS = "http://resource.ghzs.com/page/badge_pro/index.html#/"; + //最少需要多少数据才能上传 public static final int DATA_AMOUNT = 20; diff --git a/app/src/main/java/com/gh/gamecenter/WebActivity.java b/app/src/main/java/com/gh/gamecenter/WebActivity.java index b5474bad06..59f69a3075 100644 --- a/app/src/main/java/com/gh/gamecenter/WebActivity.java +++ b/app/src/main/java/com/gh/gamecenter/WebActivity.java @@ -12,6 +12,9 @@ import com.gh.gamecenter.entity.NewsEntity; import com.gh.gamecenter.entity.ToolBoxEntity; import com.halo.assistant.fragment.WebFragment; +import java.net.URLEncoder; +import java.util.Locale; + import androidx.annotation.NonNull; /** @@ -57,6 +60,7 @@ public class WebActivity extends NormalActivity { bundle.putString(EntranceUtils.KEY_URL, context.getString(R.string.privacy_policy_url)); return getTargetIntent(context, WebActivity.class, WebFragment.class, bundle); } + @NonNull public static Intent getUploadPolicyIntent(Context context) { Bundle bundle = new Bundle(); @@ -83,7 +87,7 @@ public class WebActivity extends NormalActivity { bundle.putBoolean(WebFragment.KEY_ISCOLLECTIONTOOLS, isCollectionTools); return getTargetIntent(context, WebActivity.class, WebFragment.class, bundle); } - + @SuppressWarnings("ConstantConditions") public static Intent getBindWechatIntent(Context context) { String url; @@ -92,16 +96,25 @@ public class WebActivity extends NormalActivity { } else { url = Constants.WECHAT_BIND_ADDRESS; } - + Bundle bundle = new Bundle(); bundle.putString(EntranceUtils.KEY_URL, url); bundle.putBoolean(WebFragment.KEY_IS_BIND_WECHAT, true); return getTargetIntent(context, WebActivity.class, WebFragment.class, bundle); } - public static Intent getBadgeCenterIntent(Context context, String userId){ + @SuppressWarnings("ConstantConditions") + public static Intent getBadgeCenterIntent(Context context, String userId, String name, String icon) { + String url; + if (("internal").equals(BuildConfig.FLAVOR)) { + url = Constants.BADGE_ADDRESS_DEV; + } else { + url = Constants.BADGE_ADDRESS; + } + + url = String.format(Locale.CHINA, "%s?user_id=%s&name=%s&icon=%s", url, userId, name, URLEncoder.encode(icon)); Bundle bundle = new Bundle(); - bundle.putString(EntranceUtils.KEY_URL, "https://www.baidu.com"); + bundle.putString(EntranceUtils.KEY_URL, url); return getTargetIntent(context, WebActivity.class, WebFragment.class, bundle); } diff --git a/app/src/main/java/com/gh/gamecenter/entity/PersonalEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/PersonalEntity.kt index b7512031e2..892c365a8c 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/PersonalEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/PersonalEntity.kt @@ -1,6 +1,8 @@ package com.gh.gamecenter.entity +import android.os.Parcelable import com.google.gson.annotations.SerializedName +import kotlinx.android.parcel.Parcelize data class PersonalEntity( @SerializedName("_id") @@ -10,6 +12,7 @@ data class PersonalEntity( var introduce: String? = "", val count: Count = Count(), val auth: Auth? = null, + val badge: Badge? = null, val me: MeEntity = MeEntity()) { data class Count( @@ -29,3 +32,7 @@ data class PersonalEntity( } } +@Parcelize +data class Badge( + var name: String = "", + var icon: String = "") : Parcelable diff --git a/app/src/main/java/com/gh/gamecenter/entity/UserEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/UserEntity.kt index 809eb80493..1e140ef198 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/UserEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/UserEntity.kt @@ -14,4 +14,5 @@ class UserEntity(var icon: String? = "", // 用于parent的user var id: String? = "", var time: Long? = 0, - var auth: Auth? = null) : Parcelable + var auth: Auth? = null, + val badge: Badge? = null) : Parcelable diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/EditCommentAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/EditCommentAdapter.kt index 5992315ce9..96aece1c61 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/EditCommentAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/EditCommentAdapter.kt @@ -1,14 +1,17 @@ package com.gh.gamecenter.gamedetail.rating.edit import android.content.Context +import android.graphics.Color +import android.text.SpannableStringBuilder +import android.text.Spanned +import android.text.style.RelativeSizeSpan import android.view.KeyEvent import android.view.LayoutInflater import android.view.ViewGroup import android.widget.EditText -import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.gh.common.util.setTextChangedListener -import com.gh.common.view.DrawableView +import com.gh.common.view.RoundStrokeBackgroundColorSpan import com.gh.gamecenter.R import com.gh.gamecenter.baselist.ListAdapter import kotlinx.android.synthetic.main.item_rating_edit_comment.view.* @@ -49,18 +52,13 @@ class EditCommentAdapter(val context: Context) : ListAdapter( etComment.setSelection(etComment.text.toString().length) }, 100) } - (tv_label as TextView).apply { - background = DrawableView.getStrokeDrawable(R.color.text_FFDAA2,radius = 3F) - text = commentItem.label - } - - etComment.setText(commentItem.comment) + etComment.text = setSpannableString(commentItem) etComment.setTextChangedListener { s, _, _, _ -> commentItem.comment = s.toString() } - etComment.setOnKeyListener { v, keyCode, event -> + etComment.setOnKeyListener { _, keyCode, event -> if (keyCode == KeyEvent.KEYCODE_DEL && event.action == KeyEvent.ACTION_DOWN) { - if (commentItem.comment.isEmpty()) { + if (etComment.selectionStart <= commentItem.label.length + 5) { deleteListener?.invoke(position) } } @@ -70,6 +68,16 @@ class EditCommentAdapter(val context: Context) : ListAdapter( } } + private fun setSpannableString(commentItem: CommentItemEntity): SpannableStringBuilder { + val contents = SpannableStringBuilder() + val newLabel = " ${commentItem.label} " + contents.append(newLabel) + contents.setSpan(RelativeSizeSpan(0.8f), 0, newLabel.length - 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) + contents.setSpan(RoundStrokeBackgroundColorSpan(Color.parseColor("#FFDAA2"), Color.parseColor("#FF9B06")), 0, newLabel.length - 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) + contents.append(commentItem.comment) + return contents + } + fun getListData(): MutableList { return mEntityList } diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/RatingEditActivity.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/RatingEditActivity.kt index bdb60f3f38..45c15d6301 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/RatingEditActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/RatingEditActivity.kt @@ -184,11 +184,12 @@ class RatingEditActivity : ToolBarActivity() { if (data.isNotEmpty()) { data.forEach { val comment = it.comment.replace("", "").replace("", "").trim() - if (comment.isNotEmpty()) { + val subComment = if (comment.contains(it.label)) comment.substring(it.label.length + 3, comment.length) else comment + if (subComment.isNotEmpty()) { sb.append("") sb.append(it.label) sb.append("") - sb.append("$comment\n") + sb.append("$subComment\n") } } } @@ -331,7 +332,7 @@ class RatingEditActivity : ToolBarActivity() { fun getIntent(context: Context, game: GameEntity, fromAmway: Boolean): Intent { val intent = Intent(context, RatingEditActivity::class.java) intent.putExtra(GameEntity.TAG, game) - intent.putExtra(EntranceUtils.KEY_RATING_STAR_COUNT, 5F) + intent.putExtra(EntranceUtils.KEY_RATING_STAR_COUNT, 0.0F) intent.putExtra(EntranceUtils.KEY_AMWAY, fromAmway) return intent } diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeFragment.kt b/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeFragment.kt index 1e968d4040..1e3da7fcc3 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeFragment.kt @@ -284,7 +284,9 @@ class UserHomeFragment : NormalFragment() { userBadge.setOnClickListener { MtaHelper.onEvent("个人主页详情", "个人主页详情", if (mUserHomeViewModel.userId == UserManager.getInstance().userId) "我的徽章" else "TA的徽章") - startActivity(WebActivity.getBadgeCenterIntent(requireContext(), mUserHomeViewModel.userId)) + startActivity(WebActivity.getBadgeCenterIntent(requireContext(), + mUserHomeViewModel.userId, mUserHomeViewModel.userInfo.value?.name + ?: "", mUserHomeViewModel.userInfo.value?.icon ?: "")) } } } diff --git a/app/src/main/res/layout/item_rating_edit_comment.xml b/app/src/main/res/layout/item_rating_edit_comment.xml index 7eeb58a940..5ad1197d08 100644 --- a/app/src/main/res/layout/item_rating_edit_comment.xml +++ b/app/src/main/res/layout/item_rating_edit_comment.xml @@ -5,7 +5,7 @@ android:layout_height="wrap_content" android:orientation="horizontal"> - + tools:text="画面" />--> + android:textSize="13sp" /> \ No newline at end of file