完成积分体系第2期

This commit is contained in:
lyr
2021-02-05 17:54:31 +08:00
parent 9e5ecf1520
commit 322d7117f8
93 changed files with 2776 additions and 425 deletions

View File

@ -1,5 +1,6 @@
package com.gh.common.util;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
@ -36,6 +37,7 @@ import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
@ -63,6 +65,7 @@ import com.gh.gamecenter.SuggestionActivity;
import com.gh.gamecenter.adapter.viewholder.PrivacyPolicyItemViewHolder;
import com.gh.gamecenter.databinding.DialogOverseaConfirmationBinding;
import com.gh.gamecenter.databinding.DialogPackageParseErrorBinding;
import com.gh.gamecenter.databinding.DialogReportReasonBinding;
import com.gh.gamecenter.databinding.ImprintContentItemBinding;
import com.gh.gamecenter.databinding.PrivacyItemBinding;
import com.gh.gamecenter.entity.ApkEntity;
@ -2057,6 +2060,107 @@ public class DialogUtils {
}
}
@SuppressLint("SetTextI18n")
public static void showReportReasonDialog(Context context, 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);
});
binding.negativeBtn.setOnClickListener(v -> {
binding.reasonTitle.setText(R.string.report_reason_title);
binding.normalReasonContainer.setVisibility(View.VISIBLE);
binding.otherReasonContainer.setVisibility(View.GONE);
});
binding.positiveBtn.setOnClickListener(v -> {
if (TextUtils.isEmpty(binding.otherReasonEt.getText().toString().trim())) {
ToastUtils.INSTANCE.showToast("请填写举报原因");
} else {
dialog.dismiss();
callBack.onResponse("其它", binding.otherReasonEt.getText().toString());
}
});
Context finalContext = context;
ExtensionsKt.setTextChangedListener(binding.otherReasonEt, (s, start, before, count) -> {
int tvCount = s.length();
if (tvCount >= 500) {
binding.tvCount.setTextColor(ContextCompat.getColor(finalContext, R.color.text_FF4147));
}
binding.tvCount.setText(tvCount + "/500");
return null;
});
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(binding.getRoot());
dialog.show();
}
public static void showSignSuccessDialog(Context context, ConfirmListener listener) {
context = checkDialogContext(context);
final Dialog dialog = new Dialog(context, R.style.DialogWindowTransparent);
View contentView = LayoutInflater.from(context).inflate(R.layout.dialog_sign_success, null);
ImageView signBg = contentView.findViewById(R.id.signBg);
RelativeLayout signContainer = contentView.findViewById(R.id.signContainer);
Animation animation1 = AnimationUtils.loadAnimation(context, R.anim.anim_badge_light_bg);
signBg.startAnimation(animation1);
Animation animation2 = AnimationUtils.loadAnimation(context, R.anim.anim_sign_dialog_dismiss);
signContainer.postDelayed(() -> signContainer.startAnimation(animation2), 2000);
signContainer.postDelayed(dialog::dismiss, 3000);
dialog.setOnDismissListener(dialogInterface -> listener.onConfirm());
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(contentView);
dialog.show();
}
public static void showSignRuleDialog(Context context) {
context = checkDialogContext(context);
final Dialog dialog = new Dialog(context, R.style.DialogWindowTransparent);
View contentView = LayoutInflater.from(context).inflate(R.layout.dialog_sign_rule, null);
contentView.findViewById(R.id.dialog_ok).setOnClickListener(v -> dialog.dismiss());
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(contentView);
dialog.show();
}
/**
* @param context may be is application context
* @return activity context
@ -2090,4 +2194,7 @@ public class DialogUtils {
void onResponse(boolean isSubscribe);
}
public interface ReportReasonCallBack {
void onResponse(String reason, String desc);
}
}