diff --git a/app/src/main/assets/lottie/tab_forum.json b/app/src/main/assets/lottie/tab_forum.json index 0dcd716e66..d68aaeab1b 100644 --- a/app/src/main/assets/lottie/tab_forum.json +++ b/app/src/main/assets/lottie/tab_forum.json @@ -1 +1 @@ -{"v":"5.6.9","fr":30,"ip":0,"op":20,"w":66,"h":66,"nm":"bottom bar tab/论坛/选中/E","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"矩形","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[33,33,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":4,"s":[80,80,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":9,"s":[110,110,100]},{"t":13,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":1,"y":0},"t":0,"s":[{"i":[[-0.55,0],[0,0],[0,-0.55],[0,0],[1.38,0],[0,1.38],[0,0]],"o":[[0,0],[0.55,0],[0,0],[0,1.38],[-1.38,0],[0,0],[0,-0.55]],"v":[[-1.5,-2.5],[1.5,-2.5],[2.5,-1.5],[2.5,0],[0,2.5],[-2.5,0],[-2.5,-1.5]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":4,"s":[{"i":[[-0.55,0],[0,0],[0,-0.55],[0,0],[1.38,0],[0,1.38],[0,0]],"o":[[0,0],[0.55,0],[0,0],[0,1.38],[-1.38,0],[0,0],[0,-0.55]],"v":[[-1.5,-1.25],[1.5,-1.25],[2.5,-0.25],[2.5,0],[0,1.896],[-2.5,0],[-2.5,-0.25]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":1,"y":0},"t":9,"s":[{"i":[[-0.55,0],[0,0],[0,-0.55],[0,0],[1.38,0],[0,1.38],[0,0]],"o":[[0,0],[0.55,0],[0,0],[0,1.38],[-1.38,0],[0,0],[0,-0.55]],"v":[[-1.5,-2.938],[1.5,-2.938],[2.5,-1.938],[2.5,0],[0,2.833],[-2.5,0],[-2.5,-1.938]],"c":true}]},{"t":13,"s":[{"i":[[-0.55,0],[0,0],[0,-0.55],[0,0],[1.38,0],[0,1.38],[0,0]],"o":[[0,0],[0.55,0],[0,0],[0,1.38],[-1.38,0],[0,0],[0,-0.55]],"v":[[-1.5,-2.5],[1.5,-2.5],[2.5,-1.5],[2.5,0],[0,2.5],[-2.5,0],[-2.5,-1.5]],"c":true}]}],"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":20,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"路径 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[33,34.599,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.2,0],[2.19,-0.35],[0,-1.82],[0,0],[0,0],[-1.98,0],[0,0],[0,0],[0,0],[-0.72,0.53],[0,0],[0,0],[0,2.05],[0,0],[1.8,0.28]],"o":[[-2.19,0],[-1.8,0.28],[0,0],[0,0],[0.1,1.96],[0,0],[0,0],[0,0],[0.58,0.65],[0,0],[0,0],[2.05,0],[0,0],[0,-1.82],[-2.2,-0.35]],"v":[[-0.003,-9.745],[-6.583,-9.215],[-9.712,-5.555],[-9.712,3.465],[-9.702,3.665],[-6.003,7.175],[-3.383,7.175],[-2.122,9.065],[-2.023,9.185],[0.277,9.405],[3.238,7.175],[5.997,7.175],[9.717,3.465],[9.717,-5.555],[6.587,-9.215]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.266,0.638,1,0.5,0.242,0.595,1,1,0.217,0.552,1],"ix":9}},"s":{"a":0,"k":[-9.712,-9.745],"ix":5},"e":{"a":0,"k":[9.712,9.745],"ix":6},"t":1,"nm":"color","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"预合成 1","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[33,33,0],"ix":2},"a":{"a":0,"k":[33,33,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":4,"s":[70,70,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":9,"s":[110,110,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":13,"s":[90,90,100]},{"t":16,"s":[100,100,100]}],"ix":6}},"ao":0,"w":66,"h":66,"ip":0,"op":20,"st":0,"bm":0}],"markers":[]} \ No newline at end of file +{"v":"5.6.9","fr":30,"ip":0,"op":20,"w":66,"h":66,"nm":"bottom bar tab/论坛/选中/E","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"矩形 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[33,33,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":4,"s":[80,80,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":9,"s":[110,110,100]},{"t":13,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":1,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[1.38,0],[0,1.38],[0,0]],"o":[[0,0],[0,1.38],[-1.38,0],[0,0],[0,0]],"v":[[2.5,-2.5],[2.5,0],[0,2.5],[-2.5,0],[-2.5,-2.5]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":4,"s":[{"i":[[0,0],[0,0],[1.38,0],[0,1.38],[0,0]],"o":[[0,0],[0,1.38],[-1.38,0],[0,0],[0,0]],"v":[[2.5,-1.276],[2.5,0],[0,2.083],[-2.5,0],[-2.5,-1.276]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":1,"y":0},"t":9,"s":[{"i":[[0,0],[0,0],[1.38,0],[0,1.38],[0,0]],"o":[[0,0],[0,1.38],[-1.38,0],[0,0],[0,0]],"v":[[2.5,-3.037],[2.5,0],[0,2.746],[-2.5,0],[-2.5,-3.037]],"c":true}]},{"t":13,"s":[{"i":[[0,0],[0,0],[1.38,0],[0,1.38],[0,0]],"o":[[0,0],[0,1.38],[-1.38,0],[0,0],[0,0]],"v":[[2.5,-2.5],[2.5,0],[0,2.5],[-2.5,0],[-2.5,-2.5]],"c":true}]}],"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"圆角 1","r":{"a":0,"k":1.2,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"路径 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[33,33.76,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.8,0.42],[-3.44,-0.79],[-0.09,-1.71],[0,0],[0,0],[1.98,-0.1],[0,0],[0,0],[0,0],[0.62,0.57],[0,0],[0,0],[0,0],[0,0],[0,0],[0.2,1.89],[0,0],[0,0],[0,0]],"o":[[3.44,-0.79],[1.74,0.41],[0,0],[0,0],[0,2],[0,0],[0,0],[0,0],[-0.69,0.52],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.94,0],[0,0],[0,0],[0,0],[0,-1.8]],"v":[[-6.39,-8.971],[6.39,-8.971],[9.49,-5.471],[9.5,-5.271],[9.5,3.249],[5.95,6.989],[5.75,6.999],[3.25,6.999],[0.3,9.209],[-1.95,9.089],[-2.06,8.969],[-2.17,8.849],[-2.21,8.779],[-3.4,6.999],[-5.75,6.999],[-9.48,3.639],[-9.49,3.449],[-9.5,3.249],[-9.5,-5.271]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.266,0.638,1,0.5,0.242,0.595,1,1,0.217,0.552,1],"ix":9}},"s":{"a":0,"k":[-9.5,-9.561],"ix":5},"e":{"a":0,"k":[9.5,9.561],"ix":6},"t":1,"nm":"color","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"预合成 1","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[33,33,0],"ix":2},"a":{"a":0,"k":[33,33,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":4,"s":[70,70,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":9,"s":[110,110,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":13,"s":[90,90,100]},{"t":16,"s":[100,100,100]}],"ix":6}},"ao":0,"w":66,"h":66,"ip":0,"op":20,"st":0,"bm":0}],"markers":[]} \ No newline at end of file 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 825d129e0d..d94ee3ed90 100644 --- a/app/src/main/java/com/gh/common/util/DialogUtils.java +++ b/app/src/main/java/com/gh/common/util/DialogUtils.java @@ -329,6 +329,66 @@ public class DialogUtils { dialog.show(); } + /** + * ios 风格弹窗 + * + * @param context + * @param title 标题 + * @param message 内容 + * @param negative 取消按钮文本 + * @param positive 确认按钮文本 + * @param clListener 取消按钮监听 + * @param cmListener 确认按钮监听 + */ + public static Dialog showNewAlertDialog(Context context, String title, CharSequence message + , String negative, String positive, final CancelListener clListener, final ConfirmListener cmListener) { + context = checkDialogContext(context); + + final Dialog dialog = new Dialog(context, R.style.GhAlertDialog); + + View contentView = LayoutInflater.from(context).inflate(R.layout.dialog_new_alert, null); + + TextView titleTv = contentView.findViewById(R.id.title); + TextView contentTv = contentView.findViewById(R.id.content); + TextView cancelBtn = contentView.findViewById(R.id.cancel); + TextView confirmBtn = contentView.findViewById(R.id.confirm); + View middleLine = contentView.findViewById(R.id.middle_line); + + titleTv.setText(title); + contentTv.setText(message); + cancelBtn.setText(negative); + confirmBtn.setText(positive); + if (negative.isEmpty()) { + cancelBtn.setVisibility(View.GONE); + middleLine.setVisibility(View.GONE); + confirmBtn.setTextColor(ContextCompat.getColor(context, R.color.text_333333)); + } + if (positive.isEmpty()) { + confirmBtn.setVisibility(View.GONE); + middleLine.setVisibility(View.GONE); + } + + cancelBtn.setOnClickListener(v -> { + if (clListener != null) clListener.onCancel(); + dialog.dismiss(); + }); + + confirmBtn.setOnClickListener(v -> { + if (cmListener != null) cmListener.onConfirm(); + dialog.dismiss(); + }); + + Window window = dialog.getWindow(); + if (window != null) { + window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + } + + dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); + dialog.setContentView(contentView); + dialog.show(); + return dialog; + } + /** * Material Design 风格弹窗 * @@ -1577,35 +1637,6 @@ public class DialogUtils { dialog.show(); } - public static void showUploadVideoChangeLabelDialog(Context context, @NonNull ConfirmListener confirmListener) { - context = checkDialogContext(context); - - final Dialog dialog = new Dialog(context, R.style.GhAlertDialog); - - View contentView = LayoutInflater.from(context).inflate(R.layout.dialog_upload_video_change_label, null); - - View cancelBtn = contentView.findViewById(R.id.cancel); - View confirmBtn = contentView.findViewById(R.id.confirm); - - cancelBtn.setOnClickListener(v -> { - dialog.dismiss(); - }); - - confirmBtn.setOnClickListener(v -> { - confirmListener.onConfirm(); - dialog.dismiss(); - }); - - Window window = dialog.getWindow(); - if (window != null) { - window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); - } - - dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); - dialog.setContentView(contentView); - dialog.show(); - } - public static void showVideoComplaintDialog(Context context, List options, List disabledOptions, diff --git a/app/src/main/java/com/gh/gamecenter/entity/MenuItemEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/MenuItemEntity.kt new file mode 100644 index 0000000000..d741082ecd --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/entity/MenuItemEntity.kt @@ -0,0 +1,7 @@ +package com.gh.gamecenter.entity + +data class MenuItemEntity( + val text: String = "", + val normalIcon: Int = 0, + val disableIcon: Int = 0 +) \ No newline at end of file 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 a77ba0e27a..c9fed809f8 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 @@ -12,6 +12,7 @@ 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 @@ -25,10 +26,7 @@ import com.gh.gamecenter.R import com.gh.gamecenter.SuggestionActivity import com.gh.gamecenter.baselist.ListAdapter import com.gh.gamecenter.baselist.LoadType -import com.gh.gamecenter.entity.CommentEntity -import com.gh.gamecenter.entity.CommunityEntity -import com.gh.gamecenter.entity.Permissions -import com.gh.gamecenter.entity.SpecialColumn +import com.gh.gamecenter.entity.* import com.gh.gamecenter.eventbus.EBReuse import com.gh.gamecenter.manager.UserManager import com.gh.gamecenter.personal.PersonalFragment @@ -43,6 +41,7 @@ import kotlinx.android.synthetic.main.piece_article_input_container.* import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode import java.util.* +import kotlin.collections.ArrayList class ArticleDetailFragment : BaseArticleDetailCommentFragment() { @@ -339,7 +338,7 @@ class ArticleDetailFragment : BaseArticleDetailCommentFragment(R.id.container_home).visibility = View.GONE - val reportContainer = view.findViewById(R.id.container_report) - val shareContainer = view.findViewById(R.id.container_share) - val reportTv = view.findViewById(R.id.tv_report) - val reportIv = view.findViewById(R.id.iv_report) - - if (mViewModel.detailEntity?.me!!.isModerator) { - val controlView = view.findViewById(R.id.container_control) - controlView.visibility = View.VISIBLE - controlView.setOnClickListener { - showControlDialog(mViewModel.detailEntity!!) - popupWindow.dismiss() - } - } - + val container = view.findViewById(R.id.container) + val entities = ArrayList() if (mViewModel.detailEntity?.user?.id == UserManager.getInstance().userId) { - reportTv.text = "编辑帖子" - reportIv.setImageResource(R.drawable.menu_more_edit) + entities.add(MenuItemEntity("编辑", R.drawable.menu_more_edit)) } + if (mViewModel.detailEntity?.user?.id != UserManager.getInstance().userId) { + entities.add(MenuItemEntity("投诉", R.drawable.ic_menu_gamedetail_feedback)) + } + if (mViewModel.detailEntity?.me!!.isModerator) { + entities.add(MenuItemEntity("加精", R.drawable.menu_more_essence_enable, + if (mViewModel.detailEntity?.isHighlighted == true || mViewModel.detailEntity?.user?.id == UserManager.getInstance().userId) + R.drawable.menu_more_essence_unenable else 0)) + } + if (mViewModel.detailEntity?.me!!.isModerator || mViewModel.detailEntity?.user?.id == UserManager.getInstance().userId) { + entities.add(MenuItemEntity("删除", R.drawable.menu_more_delete)) + } + entities.forEachIndexed { index, item -> + val menuItem = createMenuItem(index, item) + container.addView(menuItem) + menuItem.setOnClickListener { + popupWindow.dismiss() + when (item.text) { + "编辑" -> { + startActivityForResult(ArticleEditActivity.getPatchIntent(requireContext(), mViewModel.detailEntity!!), ArticleDetailActivity.ARTICLE_PATCH_REQUEST) + } + "投诉" -> { + SuggestionActivity.startSuggestionActivity(requireContext(), SuggestType.normal, "report", + "帖子投诉(" + mViewModel.articleId + "):") + } + "加精" -> addEssenceForum(mViewModel.detailEntity!!) + "删除" -> { + DialogUtils.showNewAlertDialog(requireContext(), "提示", "删除帖子后,其中的所有评论及回复都将被删除", "取消", "删除", {}, { - reportContainer.setOnClickListener { - popupWindow.dismiss() - if (mViewModel.detailEntity?.user?.id == UserManager.getInstance().userId) { - startActivityForResult(ArticleEditActivity.getPatchIntent(requireContext(), mViewModel.detailEntity!!), ArticleDetailActivity.ARTICLE_PATCH_REQUEST) - } else { - SuggestionActivity.startSuggestionActivity(requireContext(), SuggestType.normal, "report", - "帖子投诉(" + mViewModel.articleId + "):") + }) + } + } } } + } + } - shareContainer.visibility = View.VISIBLE - shareContainer.setOnClickListener { - mAdapter?.articleDetailVH?.binding?.shareContainer?.performClick() - popupWindow.dismiss() + private fun createMenuItem(index: Int, item: MenuItemEntity): View { + val view = LayoutInflater.from(requireContext()).inflate(R.layout.item_detail_more_menu, null, false) + val iconIv = view.findViewById(R.id.iconIv) + val actionNameTv = view.findViewById(R.id.actionNameTv) + iconIv.setImageDrawable(ContextCompat.getDrawable(requireContext(), if (item.disableIcon > 0) item.disableIcon else item.normalIcon)) + actionNameTv.setTextColor(ContextCompat.getColor(requireContext(), if (item.disableIcon > 0) R.color.text_999999 else R.color.text_333333)) + view.isEnabled = item.disableIcon == 0 + actionNameTv.text = item.text + if (index > 0) { + val params = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT) + params.topMargin = 1f.dip2px() + view.layoutParams = params + } + return view + } + + private fun addEssenceForum(article: ArticleDetailEntity) { + var highlightDialogHintContent = "" + val permissions = article.me.moderatorPermissions + if (permissions.highlightCommunityArticle > Permissions.GUEST) { + highlightDialogHintContent = if (permissions.highlightCommunityArticle == Permissions.REPORTER) { + "你的操作将提交给小编审核,确定提交吗?" + } else { + "你的操作将立即生效,确定提交吗?(你的管理权限为:高级)" } } + when { + article.isHighlighted -> toast("帖子已经加精") + + else -> DialogUtils.showAlertDialog(requireContext(), "加精帖子", highlightDialogHintContent, + "确定", "取消", + { mViewModel.doHighlightThisArticle(mViewModel.detailEntity!!.community.id, mViewModel.articleId) }, null) + } } private fun showControlDialog(article: ArticleDetailEntity) { diff --git a/app/src/main/java/com/gh/gamecenter/video/upload/view/UploadVideoActivity.kt b/app/src/main/java/com/gh/gamecenter/video/upload/view/UploadVideoActivity.kt index 77b2c3ca26..ef9967f724 100644 --- a/app/src/main/java/com/gh/gamecenter/video/upload/view/UploadVideoActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/video/upload/view/UploadVideoActivity.kt @@ -189,12 +189,12 @@ class UploadVideoActivity : ToolBarActivity() { } mBinding.reprintTv.setOnClickListener { if (mActivityLabelEntity != null) { - DialogUtils.showUploadVideoChangeLabelDialog(this) { + DialogUtils.showNewAlertDialog(this, "温馨提示", "修改的内容将导致取消参与活动哦~", "暂不修改", "确定修改", {}, { switchVideoSource(false) mActivityLabelEntity = null mBinding.activityContainer.visibility = View.GONE mBinding.activityTv.text = "" - } + }) } else { switchVideoSource(false) } diff --git a/app/src/main/res/drawable-xxhdpi/ic_ask_select.png b/app/src/main/res/drawable-xxhdpi/ic_ask_select.png index bfff92e2c9..b87acd236e 100644 Binary files a/app/src/main/res/drawable-xxhdpi/ic_ask_select.png and b/app/src/main/res/drawable-xxhdpi/ic_ask_select.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_ask_unselect.png b/app/src/main/res/drawable-xxhdpi/ic_ask_unselect.png index 10c3aca78d..48352bc6e6 100644 Binary files a/app/src/main/res/drawable-xxhdpi/ic_ask_unselect.png and b/app/src/main/res/drawable-xxhdpi/ic_ask_unselect.png differ diff --git a/app/src/main/res/drawable-xxhdpi/menu_more_delete.png b/app/src/main/res/drawable-xxhdpi/menu_more_delete.png new file mode 100644 index 0000000000..b8d90c1c37 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/menu_more_delete.png differ diff --git a/app/src/main/res/drawable-xxhdpi/menu_more_essence_enable.png b/app/src/main/res/drawable-xxhdpi/menu_more_essence_enable.png new file mode 100644 index 0000000000..40645ee698 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/menu_more_essence_enable.png differ diff --git a/app/src/main/res/drawable-xxhdpi/menu_more_essence_unenable.png b/app/src/main/res/drawable-xxhdpi/menu_more_essence_unenable.png new file mode 100644 index 0000000000..255982cdcc Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/menu_more_essence_unenable.png differ diff --git a/app/src/main/res/drawable-xxhdpi/menu_more_fold.png b/app/src/main/res/drawable-xxhdpi/menu_more_fold.png new file mode 100644 index 0000000000..cb592cdfa0 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/menu_more_fold.png differ diff --git a/app/src/main/res/layout/dialog_upload_video_change_label.xml b/app/src/main/res/layout/dialog_new_alert.xml similarity index 93% rename from app/src/main/res/layout/dialog_upload_video_change_label.xml rename to app/src/main/res/layout/dialog_new_alert.xml index 87c325edc6..e56b525c22 100644 --- a/app/src/main/res/layout/dialog_upload_video_change_label.xml +++ b/app/src/main/res/layout/dialog_new_alert.xml @@ -8,7 +8,7 @@ android:layout_width="300dp" android:layout_height="wrap_content" android:layout_centerInParent="true" - android:background="@drawable/background_shape_white_radius_5"> + android:background="@drawable/background_shape_white_radius_6"> + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/menu_answer_detail_more_new.xml b/app/src/main/res/layout/menu_answer_detail_more_new.xml new file mode 100644 index 0000000000..8fb1a3aa5a --- /dev/null +++ b/app/src/main/res/layout/menu_answer_detail_more_new.xml @@ -0,0 +1,22 @@ + + + + + + + + + +