正在查看: Credmex v3.12.2 应用的 FeedbackActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Credmex v3.12.2 应用的 FeedbackActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.credmex.activity;
import android.annotation.SuppressLint;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.text.Editable;
import android.text.TextUtils;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.content.FileProvider;
import androidx.core.content.res.ResourcesCompat;
import androidx.core.widget.NestedScrollView;
import butterknife.BindView;
import butterknife.OnClick;
import butterknife.OnTextChanged;
import com.credmex.activity.FeedbackActivity;
import com.credmex.activity.FeedbackUploadPicSelector;
import com.credmex.commom.CommonActivity;
import com.credmex.models.BindBankCardChannel;
import com.credmex.models.response.FeedbackTypeResponse;
import com.credmex.models.response.UploadImageResponse;
import com.credmex.net.CredMexBaseResult;
import com.credmex.net.CredMexObserver;
import com.credmex.net.IApiRoutes;
import com.credmex.track.ThirdPartEventUtils;
import com.credmex.track.ThirdPartTrackEvents;
import com.credmex.track.ThirdPartTrackLib;
import com.credmex.track.TrackEventParamsConfigurator;
import com.credmex.widght.dialog.CommonDialog;
import com.credmex.widght.dialog.bottomDialog.SelectPicDialog;
import com.credmex.widght.editTextBridge.DefaultTextWatcher;
import com.google.android.gms.common.Scopes;
import com.google.android.material.R;
import com.open.mx.ui.views.button.PrimaryButton;
import com.open.mx.ui.views.button.SecondaryButton;
import com.sensorsdata.analytics.android.autotrack.aop.SensorsDataAutoTrackHelper;
import com.sensorsdata.analytics.android.sdk.SensorsDataInstrumented;
import com.veda.android.bananalibrary.net.ICallBack;
import com.veda.supertoolkit.customtools.CollectionUtils;
import com.veda.supertoolkit.lifecycle.LifecycleEvent;
import com.veda.supertoolkit.phonetools.ScreenUtils;
import com.veda.supertoolkit.utils.MultipartBuild;
import com.veda.supertoolkit.widgets.BaseUtils;
import com.veda.supertoolkit.widgets.FlowRadioGroup;
import com.yangqianguan.statistics.AutoTrackHelper;
import io.reactivex.Observable;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Action;
import io.reactivex.functions.Predicate;
import io.reactivex.schedulers.Schedulers;
import io.sentry.Sentry;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import okhttp3.MediaType;
import okhttp3.RequestBody;
public class FeedbackActivity extends CommonActivity {
public static final int DETAIL_MAX_LENGTH = 3000;
public static final String FEEDBACK_PAGE_TYPE = "FEEDBACK_PAGE_TYPE";
private FeedbackTypeResponse.FeedbackTypeBody D;
private FeedbackUploadPicSelector E;
private String I;
protected Uri J;
protected File K;
private SelectPicDialog R;
@BindView(2131361926)
SecondaryButton btnApply;
@BindView(2131361967)
PrimaryButton btnRetry;
@BindView(2131362479)
ConstraintLayout clFeedback;
@BindView(2131362176)
EditText etDetailQuestion;
@BindView(2131362175)
EditText etEmail;
@BindView(2131362220)
FlowRadioGroup frgFeedbackType;
@BindView(2131362329)
ImageView ivDeleteEmail;
@BindView(2131362476)
LinearLayout llEmail;
@BindView(2131362478)
LinearLayout llErrorContent;
@BindView(2131362480)
LinearLayout llFeedbackPic;
@BindView(2131362740)
LinearLayout llRootView;
@BindView(2131362632)
NestedScrollView nsvFeedback;
@BindView(2131363271)
View vGoHelpCenter;
private Map<String, String> F = new ConcurrentHashMap();
private int G = 0;
private final int H = 2;
private final int S = 90;
private int T = 0;
class AnonymousClass7 extends CredMexObserver<CredMexBaseResult> {
AnonymousClass7(ICallBack iCallBack) {
super(iCallBack);
}
public void b(DialogInterface dialogInterface) {
FeedbackActivity.this.finish();
}
public void onSuccess(CredMexBaseResult credMexBaseResult) {
FeedbackActivity.this.dismissLoadingDialog();
CommonDialog.CommonDialogBuilder.c(FeedbackActivity.this).q("dialog_feedback_success").m(2131820685, new b()).d(1).i(2131820771).g(new DialogInterface.OnDismissListener() {
@Override
public final void onDismiss(DialogInterface dialogInterface) {
FeedbackActivity.AnonymousClass7.this.b(dialogInterface);
}
}).a().show();
}
@Override
public void onError(Throwable th, CredMexBaseResult credMexBaseResult) {
super.onError(th, (Throwable) credMexBaseResult);
FeedbackActivity.this.btnApply.setClickable(true);
}
}
public void A0(@NonNull final String str) {
Sentry.e("send uploadImage request");
((IApiRoutes) this.apiHelper.a()).y(MultipartBuild.a("image", new File(str)), RequestBody.d(MediaType.d("multipart/form-data"), "FEEDBACK")).A(2L, new Predicate() {
public final boolean test(Object obj) {
boolean u0;
u0 = FeedbackActivity.this.u0((Throwable) obj);
return u0;
}
}).h(new Action() {
public final void run() {
FeedbackActivity.this.k0();
}
}).a(new CredMexObserver<UploadImageResponse>(this) {
@Override
public void onError(Throwable th, UploadImageResponse uploadImageResponse) {
super.onError(th, (Throwable) uploadImageResponse);
Sentry.e("uploadImage failed");
}
public void onSuccess(UploadImageResponse uploadImageResponse) {
if (!TextUtils.isEmpty(uploadImageResponse.body)) {
FeedbackActivity.this.F.put(str, uploadImageResponse.body);
}
Sentry.e("uploadImage success");
}
protected boolean superShowErrorToast() {
return false;
}
});
}
public void B0() {
if (this.R == null) {
SelectPicDialog selectPicDialog = new SelectPicDialog(this);
this.R = selectPicDialog;
selectPicDialog.o(new SelectPicDialog.ItemClickListener() {
@Override
public void a() {
?? r0 = FeedbackActivity.this;
r0.showErrorToast(r0.getString(2131821073));
}
@Override
public void b() {
FeedbackActivity.this.x0();
}
@Override
public void c() {
FeedbackActivity.this.w0();
}
});
}
this.R.show();
}
private void C0(@NonNull List<String> list) {
synchronized (FeedbackActivity.class) {
this.G = list.size();
}
ThirdPartTrackLib.d(this, ThirdPartTrackEvents.PersonalCenter.MEX_FEEDBACK_BTN_UPLOAD);
Sentry.e("uploadFeedbackImages picture size = " + list.size());
Observable.o(list).H(Schedulers.c()).t(AndroidSchedulers.a()).a(new Observer<String>() {
public void onNext(String str) {
FeedbackActivity.this.A0(str);
}
public void onError(Throwable th) {
FeedbackActivity.this.dismissLoadingDialog();
FeedbackActivity.this.btnApply.setClickable(true);
FeedbackActivity.this.showErrorToast(2131821355);
}
public void onComplete() {
}
public void onSubscribe(Disposable disposable) {
}
});
}
public void k0() {
boolean z;
synchronized (FeedbackActivity.class) {
int i2 = this.G - 1;
this.G = i2;
if (i2 != 0) {
return;
}
Iterator<String> it = this.E.s().iterator();
while (true) {
if (!it.hasNext()) {
z = false;
break;
}
if (!this.F.containsKey(it.next())) {
z = true;
break;
}
}
if (!z) {
y0();
return;
}
dismissLoadingDialog();
this.btnApply.setClickable(true);
showErrorToast(2131821355);
}
}
private void l0() {
this.T++;
Sentry.e("uploadFeedbackImages uploadTimeCount = " + this.T);
if (this.T == 90) {
Sentry.h(new IllegalStateException("FeedbackActivity upload image to mush " + this.T));
}
}
private void m0() {
FeedbackUploadPicSelector feedbackUploadPicSelector = new FeedbackUploadPicSelector(this.llFeedbackPic, this);
this.E = feedbackUploadPicSelector;
feedbackUploadPicSelector.E(new FeedbackUploadPicSelector.FeedbackUploadPicSelectorListener() {
@Override
public final void a() {
FeedbackActivity.this.B0();
}
});
}
private void n0() {
this.nsvFeedback.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
public void onScrollChange(@NonNull NestedScrollView nestedScrollView, int i2, int i3, int i4, int i5) {
FeedbackActivity feedbackActivity = FeedbackActivity.this;
feedbackActivity.vGoHelpCenter.setVisibility(i3 >= feedbackActivity.getResources().getDimensionPixelSize(2131165449) ? 8 : 0);
}
});
this.etDetailQuestion.setOnTouchListener(new View.OnTouchListener() {
@Override
public final boolean onTouch(View view, MotionEvent motionEvent) {
boolean r0;
r0 = FeedbackActivity.r0(view, motionEvent);
return r0;
}
});
this.etEmail.addTextChangedListener(new DefaultTextWatcher() {
@Override
public void afterTextChanged(Editable editable) {
FeedbackActivity.this.ivDeleteEmail.setVisibility(TextUtils.isEmpty(editable.toString()) ? 8 : 0);
}
});
}
private void o0() {
ThirdPartEventUtils.f(this.etDetailQuestion);
ThirdPartEventUtils.f(this.etEmail);
ThirdPartEventUtils.m(this, this.etDetailQuestion, ThirdPartTrackEvents.PersonalCenter.MEX_FEEDBACK_IPT_QUESTION);
ThirdPartEventUtils.m(this, this.etEmail, ThirdPartTrackEvents.PersonalCenter.MEX_FEEDBACK_IPT_MAIL);
}
private void p0() {
setWindowStatusBarColor(this, 2131099974);
setToolbarGreen();
}
private boolean q0() {
return this.D != null && this.etDetailQuestion.getText().toString().trim().length() <= 3000;
}
public static boolean r0(View view, MotionEvent motionEvent) {
view.getParent().requestDisallowInterceptTouchEvent(motionEvent.getAction() != 1);
return false;
}
public void s0(Map map) {
map.put(ThirdPartTrackEvents.PersonalCenter.Keys.SELECT_FEEDBACK_TYPE, this.D.value);
}
public static void startFeedbackActivity(Context context, String str) {
Intent intent = new Intent(context, (Class<?>) FeedbackActivity.class);
intent.putExtra(FEEDBACK_PAGE_TYPE, str);
context.startActivity(intent);
}
@SensorsDataInstrumented
public void t0(RadioButton radioButton, FeedbackTypeResponse.FeedbackTypeBody feedbackTypeBody, CompoundButton compoundButton, boolean z) {
if (z) {
radioButton.setTextColor(getResources().getColor(2131099721));
radioButton.setTypeface(ResourcesCompat.getFont(this, 2131296258));
this.D = feedbackTypeBody;
this.btnApply.setEnabled(q0());
ThirdPartTrackLib.e(this, ThirdPartTrackEvents.PersonalCenter.MEX_FEEDBACK_TYPE, new TrackEventParamsConfigurator() {
@Override
public final void a(Map map) {
FeedbackActivity.this.s0(map);
}
});
} else {
radioButton.setTextColor(getResources().getColor(2131099725));
radioButton.setTypeface(ResourcesCompat.getFont(this, 2131296259));
}
SensorsDataAutoTrackHelper.trackViewOnClick(compoundButton);
AutoTrackHelper.b(compoundButton, z);
}
public boolean u0(Throwable th) throws Exception {
l0();
return true;
}
public void v0(List<FeedbackTypeResponse.FeedbackTypeBody> list) {
if (CollectionUtils.a(list)) {
return;
}
this.frgFeedbackType.removeAllViews();
int dimensionPixelSize = getResources().getDimensionPixelSize(2131165414);
int c = ((ScreenUtils.c(this) - (getResources().getDimensionPixelSize(2131165885) * 2)) - (2 * dimensionPixelSize)) / 3;
for (final FeedbackTypeResponse.FeedbackTypeBody feedbackTypeBody : list) {
final RadioButton radioButton = (RadioButton) getLayoutInflater().inflate(2131558646, (ViewGroup) null);
radioButton.setChecked(false);
radioButton.setText(feedbackTypeBody.label);
RadioGroup.LayoutParams layoutParams = new RadioGroup.LayoutParams(c, -2);
layoutParams.setMargins(0, 0, dimensionPixelSize, 0);
radioButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public final void onCheckedChanged(CompoundButton compoundButton, boolean z) {
FeedbackActivity.this.t0(radioButton, feedbackTypeBody, compoundButton, z);
}
});
this.frgFeedbackType.addView(radioButton, layoutParams);
}
}
private void y0() {
String trim = this.etDetailQuestion.getText().toString().trim();
String trim2 = this.etEmail.getText().toString().trim();
ArrayList arrayList = new ArrayList();
Iterator<String> it = this.E.s().iterator();
while (it.hasNext()) {
String str = this.F.get(it.next());
if (!TextUtils.isEmpty(str)) {
arrayList.add(str);
}
}
HashMap hashMap = new HashMap();
hashMap.put("type", this.D.value);
hashMap.put("content", trim);
hashMap.put(Scopes.EMAIL, trim2);
hashMap.put("uploadImageRawDataIds", arrayList);
hashMap.put("triggerPoint", this.I);
((IApiRoutes) this.apiHelper.a()).Z0(hashMap).a(new AnonymousClass7(this));
}
private void z0() {
showLoadingDialog();
((IApiRoutes) this.apiHelper.a()).n().a(new CredMexObserver<FeedbackTypeResponse>(this) {
@Override
public void onError(Throwable th, FeedbackTypeResponse feedbackTypeResponse) {
super.onError(th, (Throwable) feedbackTypeResponse);
FeedbackActivity.this.reportFullyDisplayed();
FeedbackActivity.this.llErrorContent.setVisibility(0);
FeedbackActivity.this.clFeedback.setVisibility(8);
FeedbackActivity.this.setToolbarBright();
}
public void onSuccess(FeedbackTypeResponse feedbackTypeResponse) {
FeedbackActivity.this.reportFullyDisplayed();
FeedbackActivity.this.v0(feedbackTypeResponse.body);
FeedbackActivity.this.dismissLoadingDialog();
FeedbackActivity.this.llErrorContent.setVisibility(8);
FeedbackActivity.this.clFeedback.setVisibility(0);
FeedbackActivity.this.setToolbarGreen();
}
});
}
@Override
protected void D() {
z0();
}
@Override
protected void G(@NonNull Bundle bundle) {
super.G(bundle);
this.I = bundle.getString(FEEDBACK_PAGE_TYPE, BindBankCardChannel.PERSONAL_CENTER);
}
@Override
@SuppressLint({"ClickableViewAccessibility"})
protected void K() {
super.K();
p0();
m0();
n0();
o0();
registerHideInputWhenTouchOutside(this.etEmail, this.llEmail);
}
@Override
protected void X(@NonNull Bundle bundle) {
super.X(bundle);
bundle.putString(FEEDBACK_PAGE_TYPE, this.I);
}
@Override
public int getLayoutID() {
return 2131558436;
}
public void onActivityResult(int i2, int i3, Intent intent) {
FeedbackUploadPicSelector feedbackUploadPicSelector;
super/*androidx.fragment.app.FragmentActivity*/.onActivityResult(i2, i3, intent);
if (i3 == -1) {
if (i2 != 101) {
if (i2 != 102 || (feedbackUploadPicSelector = this.E) == null) {
return;
}
feedbackUploadPicSelector.B(this.J);
return;
}
Uri data = intent == null ? null : intent.getData();
FeedbackUploadPicSelector feedbackUploadPicSelector2 = this.E;
if (feedbackUploadPicSelector2 != null) {
feedbackUploadPicSelector2.C(data);
}
}
}
@Override
protected void onDestroy() {
this.E.A();
super.onDestroy();
}
@OnTextChanged({2131362176})
public void onDetailTextChanged() {
this.btnApply.setEnabled(q0());
}
@OnClick({2131361926, 2131363271, 2131361967, 2131362329})
public void onViewClicked(View view) {
if (BaseUtils.b()) {
}
switch (view.getId()) {
case 2131361926:
if (q0()) {
this.btnApply.setClickable(false);
ThirdPartTrackLib.d(this, ThirdPartTrackEvents.PersonalCenter.MEX_FEEDBACK_BTN_SUBMIT);
showLoadingDialog();
List<String> s2 = this.E.s();
if (!s2.isEmpty()) {
C0(s2);
break;
} else {
y0();
break;
}
}
break;
case 2131361967:
D();
break;
case 2131362329:
this.etEmail.setText("");
break;
case 2131363271:
B();
break;
}
}
@Override
@SuppressLint({"CheckResult"})
public Disposable runOnCreated(@NonNull Runnable runnable) {
return com.veda.supertoolkit.lifecycle.i.a(this, runnable);
}
@Override
@SuppressLint({"CheckResult"})
public Disposable runOnDestroy(@NonNull Runnable runnable) {
return com.veda.supertoolkit.lifecycle.i.b(this, runnable);
}
@Override
@SuppressLint({"CheckResult"})
public Disposable runOnEvent(@NonNull LifecycleEvent lifecycleEvent, @Nullable Runnable runnable) {
return com.veda.supertoolkit.lifecycle.i.c(this, lifecycleEvent, runnable);
}
protected void w0() {
try {
if (!Environment.getExternalStorageState().equals("mounted")) {
showNormalToast(2131821047);
return;
}
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.addFlags(3);
this.K = new File(getExternalCacheDir(), "credmex_" + System.currentTimeMillis());
Uri uriForFile = FileProvider.getUriForFile(this, getPackageName() + ".fileProvider", this.K);
this.J = uriForFile;
intent.putExtra("output", uriForFile);
startActivityForResult(intent, 102);
} catch (Exception e) {
e.printStackTrace();
showNormalToast(2131820628);
}
}
protected void x0() {
Intent intent = new Intent("android.intent.action.GET_CONTENT");
intent.addCategory("android.intent.category.OPENABLE");
intent.setType("image/*");
try {
if (intent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(intent, R.styleable.AppCompatTheme_switchStyle);
} else {
BaseUtils.d(this, 2131820643);
}
} catch (ActivityNotFoundException e) {
BaseUtils.d(this, 2131820643);
e.printStackTrace();
}
}
}