【光环助手V5.2.0】新社区3期-论坛展示-内容举报弹窗 https://git.ghzs.com/pm/halo-app-issues/-/issues/1421

This commit is contained in:
jack
2021-08-18 17:36:20 +08:00
parent 63b7f294c4
commit 85b0d0eef4
13 changed files with 397 additions and 207 deletions

View File

@ -45,10 +45,12 @@ import androidx.appcompat.app.AlertDialog;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.content.ContextCompat;
import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
import com.facebook.drawee.generic.GenericDraweeHierarchy;
import com.facebook.drawee.view.SimpleDraweeView;
@ -60,9 +62,11 @@ import com.gh.common.view.DrawableView;
import com.gh.common.view.FixLinearLayoutManager;
import com.gh.common.view.LimitHeightLinearLayout;
import com.gh.common.view.MaxHeightNestedScrollView;
import com.gh.common.view.VerticalItemDecoration;
import com.gh.gamecenter.AboutActivity;
import com.gh.gamecenter.R;
import com.gh.gamecenter.SuggestionActivity;
import com.gh.gamecenter.adapter.ReportReasonAdapter;
import com.gh.gamecenter.adapter.viewholder.PrivacyPolicyItemViewHolder;
import com.gh.gamecenter.databinding.DialogBindPhoneBinding;
import com.gh.gamecenter.databinding.DialogEnergySignBinding;
@ -2013,37 +2017,26 @@ public class DialogUtils {
}
@SuppressLint("SetTextI18n")
public static void showReportReasonDialog(Context context, ReportReasonCallBack callBack) {
public static void showReportReasonDialog(Context context, ArrayList<String> items,ReportReasonCallBack callBack) {
context = checkDialogContext(context);
final Dialog dialog = new Dialog(context, R.style.DialogWindowTransparent);
DialogReportReasonBinding binding = DialogReportReasonBinding.inflate(LayoutInflater.from(context));
binding.reasonOne.setOnClickListener(v -> {
dialog.dismiss();
callBack.onResponse(binding.reasonOne.getText().toString(), "");
});
binding.reasonTwo.setOnClickListener(v -> {
dialog.dismiss();
callBack.onResponse(binding.reasonTwo.getText().toString(), "");
});
binding.reasonThree.setOnClickListener(v -> {
dialog.dismiss();
callBack.onResponse(binding.reasonThree.getText().toString(), "");
});
binding.reasonFour.setOnClickListener(v -> {
dialog.dismiss();
callBack.onResponse(binding.reasonFour.getText().toString(), "");
});
binding.reasonOther.setOnClickListener(v -> {
binding.reasonTitle.setText(R.string.report_reason_other_title);
binding.normalReasonContainer.setVisibility(View.GONE);
binding.otherReasonContainer.setVisibility(View.VISIBLE);
ReportReasonAdapter reportReasonAdapter = new ReportReasonAdapter(context, items, reason -> {
if (reason.equals("其他原因")) {
binding.reasonTitle.setText(R.string.report_reason_other_title);
binding.normalReasonContainer.setVisibility(View.GONE);
binding.otherReasonContainer.setVisibility(View.VISIBLE);
} else {
dialog.dismiss();
callBack.onResponse(reason, "");
}
return null;
});
binding.reasonRv.setLayoutManager(new LinearLayoutManager(context));
binding.reasonRv.addItemDecoration(new VerticalItemDecoration(context, 1F, false, R.color.text_f5f5f5));
binding.reasonRv.setAdapter(reportReasonAdapter);
binding.negativeBtn.setOnClickListener(v -> {
binding.reasonTitle.setText(R.string.report_reason_title);
@ -2053,10 +2046,10 @@ public class DialogUtils {
binding.positiveBtn.setOnClickListener(v -> {
if (TextUtils.isEmpty(binding.otherReasonEt.getText().toString().trim())) {
ToastUtils.INSTANCE.showToast("请填写举报原因");
ToastUtils.showToast("请填写举报原因");
} else {
dialog.dismiss();
callBack.onResponse("", binding.otherReasonEt.getText().toString());
callBack.onResponse("他原因", binding.otherReasonEt.getText().toString());
}
});