discord-jadx/app/src/main/java/com/discord/widgets/mobile_reports/ReportsMenuNode.java

447 lines
24 KiB
Java

package com.discord.widgets.mobile_reports;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.cardview.widget.CardView;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.app.NotificationCompat;
import androidx.core.view.ViewGroupKt;
import c.a.i.i2;
import c.a.i.j2;
import c.a.i.k2;
import c.a.i.l2;
import c.a.i.r4;
import c.a.k.b;
import c0.z.d.m;
import com.discord.R;
import com.discord.api.report.NodeResult;
import com.discord.api.report.ReportNode;
import com.discord.api.report.ReportNodeBottomButton;
import com.discord.api.report.ReportNodeChild;
import com.discord.api.report.ReportNodeElementData;
import com.discord.databinding.ViewReportsMenuNodeBinding;
import com.discord.models.user.User;
import com.discord.utilities.color.ColorCompat;
import com.discord.utilities.guilds.GuildUtilsKt;
import com.discord.utilities.icon.IconUtils;
import com.discord.utilities.user.UserUtils;
import com.discord.utilities.view.extensions.ViewExtensions;
import com.discord.utilities.view.text.LinkifiedTextView;
import com.discord.views.CheckedSetting;
import com.discord.widgets.mobile_reports.MobileReportsViewModel;
import com.facebook.drawee.view.SimpleDraweeView;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.card.MaterialCardView;
import java.util.List;
import java.util.Objects;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.functions.Function2;
import kotlin.jvm.internal.DefaultConstructorMarker;
/* compiled from: ReportsMenuNode.kt */
public final class ReportsMenuNode extends ConstraintLayout {
private final ViewReportsMenuNodeBinding binding;
private Function0<Unit> handleBlock;
private Function0<Unit> handleCancel;
private Function1<? super ReportNodeBottomButton, Unit> handlePressBottomButton;
private Function2<? super ReportNodeChild, ? super MobileReportsViewModel.NodeState, Unit> handleSelectChild;
private Function0<Unit> handleSubmit;
private MobileReportsViewModel.NodeState prevViewState;
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public ReportsMenuNode(Context context) {
super(context);
m.checkNotNullParameter(context, "context");
ViewReportsMenuNodeBinding a = ViewReportsMenuNodeBinding.a(LayoutInflater.from(getContext()), this, true);
m.checkNotNullExpressionValue(a, "ViewReportsMenuNodeBindi…rom(context), this, true)");
this.binding = a;
}
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public ReportsMenuNode(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
m.checkNotNullParameter(context, "context");
ViewReportsMenuNodeBinding a = ViewReportsMenuNodeBinding.a(LayoutInflater.from(getContext()), this, true);
m.checkNotNullExpressionValue(a, "ViewReportsMenuNodeBindi…rom(context), this, true)");
this.binding = a;
}
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public ReportsMenuNode(Context context, AttributeSet attributeSet, int i) {
super(context, attributeSet, i);
m.checkNotNullParameter(context, "context");
ViewReportsMenuNodeBinding a = ViewReportsMenuNodeBinding.a(LayoutInflater.from(getContext()), this, true);
m.checkNotNullExpressionValue(a, "ViewReportsMenuNodeBindi…rom(context), this, true)");
this.binding = a;
}
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
public /* synthetic */ ReportsMenuNode(Context context, AttributeSet attributeSet, int i, int i2, DefaultConstructorMarker defaultConstructorMarker) {
this(context, (i2 & 2) != 0 ? null : attributeSet, (i2 & 4) != 0 ? 0 : i);
}
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
public /* synthetic */ ReportsMenuNode(Context context, AttributeSet attributeSet, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(context, (i & 2) != 0 ? null : attributeSet);
}
public static final /* synthetic */ void access$blockUserClickListener(ReportsMenuNode reportsMenuNode) {
reportsMenuNode.blockUserClickListener();
}
public static final /* synthetic */ void access$bottomButtonClickListener(ReportsMenuNode reportsMenuNode, ReportNodeBottomButton reportNodeBottomButton) {
reportsMenuNode.bottomButtonClickListener(reportNodeBottomButton);
}
public static final /* synthetic */ void access$childClickListener(ReportsMenuNode reportsMenuNode, ReportNodeChild reportNodeChild) {
reportsMenuNode.childClickListener(reportNodeChild);
}
private final void blockUserClickListener() {
Function0<Unit> function0 = this.handleBlock;
if (function0 != null) {
function0.mo17invoke();
}
}
private final void bottomButtonClickListener(ReportNodeBottomButton reportNodeBottomButton) {
Function0<Unit> function0;
Function2<? super ReportNodeChild, ? super MobileReportsViewModel.NodeState, Unit> function2;
if ((reportNodeBottomButton instanceof ReportNodeBottomButton.Done) || (reportNodeBottomButton instanceof ReportNodeBottomButton.Cancel)) {
Function0<Unit> function02 = this.handleCancel;
if (function02 != null) {
function02.mo17invoke();
}
} else if (reportNodeBottomButton instanceof ReportNodeBottomButton.Next) {
ReportNodeChild reportNodeChild = new ReportNodeChild("", ((ReportNodeBottomButton.Next) reportNodeBottomButton).b());
MobileReportsViewModel.NodeState nodeState = this.prevViewState;
if (nodeState != null && (function2 = this.handleSelectChild) != null) {
function2.invoke(reportNodeChild, nodeState);
}
} else if ((reportNodeBottomButton instanceof ReportNodeBottomButton.Submit) && (function0 = this.handleSubmit) != null) {
function0.mo17invoke();
}
}
private final void childClickListener(ReportNodeChild reportNodeChild) {
Function2<? super ReportNodeChild, ? super MobileReportsViewModel.NodeState, Unit> function2;
MobileReportsViewModel.NodeState nodeState = this.prevViewState;
if (nodeState != null && (function2 = this.handleSelectChild) != null) {
function2.invoke(reportNodeChild, nodeState);
}
}
private final void setupBlockUser(MobileReportsViewModel.NodeState nodeState) {
Context context;
int i;
MobileReportsViewModel.BlockUserElement blockUserElement = nodeState.getBlockUserElement();
i2 i2Var = this.binding.f;
m.checkNotNullExpressionValue(i2Var, "binding.mobileReportsNodeBlockUser");
LinearLayout linearLayout = i2Var.a;
m.checkNotNullExpressionValue(linearLayout, "binding.mobileReportsNodeBlockUser.root");
int i2 = 0;
if (!(blockUserElement != null)) {
i2 = 8;
}
linearLayout.setVisibility(i2);
if (blockUserElement != null) {
User user = blockUserElement.getUser();
boolean isBlocked = blockUserElement.isBlocked();
TextView textView = this.binding.f.d;
m.checkNotNullExpressionValue(textView, "binding.mobileReportsNod…obileReportsBlockUserName");
textView.setText(UserUtils.INSTANCE.getUserNameWithDiscriminator(user, Integer.valueOf(ColorCompat.getThemedColor(getContext(), (int) R.attr.colorHeaderSecondary)), Float.valueOf(0.8f)));
SimpleDraweeView simpleDraweeView = this.binding.f.b;
m.checkNotNullExpressionValue(simpleDraweeView, "binding.mobileReportsNod…ileReportsBlockUserAvatar");
IconUtils.setIcon$default(simpleDraweeView, user, R.dimen.avatar_size_standard, null, null, null, 56, null);
this.binding.f.f110c.setOnClickListener(new ReportsMenuNode$setupBlockUser$1(this));
MaterialButton materialButton = this.binding.f.f110c;
m.checkNotNullExpressionValue(materialButton, "binding.mobileReportsNod…ileReportsBlockUserButton");
ViewExtensions.setEnabledAndAlpha(materialButton, !isBlocked, 0.5f);
MaterialButton materialButton2 = this.binding.f.f110c;
m.checkNotNullExpressionValue(materialButton2, "binding.mobileReportsNod…ileReportsBlockUserButton");
if (isBlocked) {
context = getContext();
i = R.string.blocked;
} else {
context = getContext();
i = R.string.block;
}
materialButton2.setText(context.getString(i));
}
}
private final void setupBottomButton(MobileReportsViewModel.NodeState nodeState) {
ReportNodeBottomButton bottomButton = nodeState.getBottomButton();
MobileReportsBottomButton mobileReportsBottomButton = this.binding.g;
m.checkNotNullExpressionValue(mobileReportsBottomButton, "binding.mobileReportsNodeBottomButton");
int i = 0;
if (!(bottomButton != null)) {
i = 8;
}
mobileReportsBottomButton.setVisibility(i);
this.binding.g.setup(bottomButton, nodeState.getSubmitState(), new ReportsMenuNode$setupBottomButton$1(this));
}
private final void setupBreadCrumbs(MobileReportsViewModel.NodeState nodeState) {
MobileReportsBreadcrumbs mobileReportsBreadcrumbs = this.binding.h;
m.checkNotNullExpressionValue(mobileReportsBreadcrumbs, "binding.mobileReportsNodeBreadcrumbs");
int i = 0;
if (!(nodeState.getBreadcrumbsElement() != null)) {
i = 8;
}
mobileReportsBreadcrumbs.setVisibility(i);
List<NodeResult> breadcrumbsElement = nodeState.getBreadcrumbsElement();
MobileReportsViewModel.NodeState nodeState2 = this.prevViewState;
if (!m.areEqual(breadcrumbsElement, nodeState2 != null ? nodeState2.getBreadcrumbsElement() : null)) {
this.binding.h.setup(nodeState.getBreadcrumbsElement());
}
}
private final void setupChannelPreview(MobileReportsViewModel.NodeState nodeState) {
MobileReportsViewModel.ChannelPreview channelPreviewElement = nodeState.getChannelPreviewElement();
ViewReportsMenuNodeBinding viewReportsMenuNodeBinding = this.binding;
j2 j2Var = viewReportsMenuNodeBinding.b;
if (channelPreviewElement != null) {
TextView textView = j2Var.f115c;
m.checkNotNullExpressionValue(textView, "kicker");
textView.setText(channelPreviewElement.getStageInstance().f());
LinkifiedTextView linkifiedTextView = j2Var.d;
m.checkNotNullExpressionValue(linkifiedTextView, NotificationCompat.MessagingStyle.Message.KEY_TEXT);
linkifiedTextView.setText(channelPreviewElement.getGuild().getName());
j2Var.b.a(IconUtils.getForGuild$default(channelPreviewElement.getGuild(), null, false, null, 14, null), channelPreviewElement.getGuild().getShortName());
MaterialCardView materialCardView = this.binding.i;
m.checkNotNullExpressionValue(materialCardView, "binding.mobileReportsNodeChannelPreview");
materialCardView.setVisibility(0);
return;
}
MaterialCardView materialCardView2 = viewReportsMenuNodeBinding.i;
m.checkNotNullExpressionValue(materialCardView2, "binding.mobileReportsNodeChannelPreview");
materialCardView2.setVisibility(8);
}
private final void setupCheckbox(MobileReportsViewModel.NodeState nodeState) {
List<ReportNodeElementData> data;
MobileReportsViewModel.CheckboxElement checkboxElement = nodeState.getCheckboxElement();
LinearLayout linearLayout = this.binding.e;
m.checkNotNullExpressionValue(linearLayout, "binding.mobileReportsMultiselect");
linearLayout.setVisibility(checkboxElement != null ? 0 : 8);
MobileReportsViewModel.CheckboxElement checkboxElement2 = nodeState.getCheckboxElement();
MobileReportsViewModel.NodeState nodeState2 = this.prevViewState;
if (!m.areEqual(checkboxElement2, nodeState2 != null ? nodeState2.getCheckboxElement() : null)) {
this.binding.e.removeAllViewsInLayout();
if (!(checkboxElement == null || (data = checkboxElement.getData()) == null)) {
for (ReportNodeElementData reportNodeElementData : data) {
LayoutInflater from = LayoutInflater.from(getContext());
LinearLayout linearLayout2 = this.binding.e;
View inflate = from.inflate(R.layout.view_mobile_reports_multicheck_item, (ViewGroup) linearLayout2, false);
linearLayout2.addView(inflate);
Objects.requireNonNull(inflate, "rootView");
CheckedSetting checkedSetting = (CheckedSetting) inflate;
m.checkNotNullExpressionValue(new l2(checkedSetting), "checkbox");
checkedSetting.setText(reportNodeElementData.b());
m.checkNotNullExpressionValue(checkedSetting, "checkbox.root");
checkedSetting.setChecked(checkboxElement.getSelections().contains(reportNodeElementData));
checkedSetting.setOnCheckedListener(new ReportsMenuNode$setupCheckbox$$inlined$forEach$lambda$1(reportNodeElementData, this, checkboxElement));
}
}
}
}
private final void setupChildren(MobileReportsViewModel.NodeState nodeState) {
ReportNode node;
MobileReportsViewModel.NodeState nodeState2 = this.prevViewState;
if (!m.areEqual((nodeState2 == null || (node = nodeState2.getNode()) == null) ? null : node.b(), nodeState.getNode().b())) {
LinearLayout linearLayout = this.binding.j;
m.checkNotNullExpressionValue(linearLayout, "binding.mobileReportsNodeChildList");
for (View view : ViewGroupKt.getChildren(linearLayout)) {
view.setOnClickListener(null);
}
this.binding.j.removeAllViewsInLayout();
for (ReportNodeChild reportNodeChild : nodeState.getNode().b()) {
LayoutInflater from = LayoutInflater.from(getContext());
LinearLayout linearLayout2 = this.binding.j;
View inflate = from.inflate(R.layout.view_mobile_reports_child, (ViewGroup) linearLayout2, false);
linearLayout2.addView(inflate);
int i = R.id.mobile_reports_child;
CardView cardView = (CardView) inflate.findViewById(R.id.mobile_reports_child);
if (cardView != null) {
i = R.id.mobile_reports_child_menu_title;
TextView textView = (TextView) inflate.findViewById(R.id.mobile_reports_child_menu_title);
if (textView != null) {
FrameLayout frameLayout = (FrameLayout) inflate;
m.checkNotNullExpressionValue(new k2(frameLayout, cardView, textView), "childView");
frameLayout.setOnClickListener(new ReportsMenuNode$setupChildren$$inlined$forEach$lambda$1(reportNodeChild, this));
m.checkNotNullExpressionValue(textView, "childView.mobileReportsChildMenuTitle");
textView.setText(reportNodeChild.a());
}
}
throw new NullPointerException("Missing required view with ID: ".concat(inflate.getResources().getResourceName(i)));
}
}
}
private final void setupDirectoryServerPreview(MobileReportsViewModel.NodeState nodeState) {
MaterialCardView materialCardView = this.binding.k;
m.checkNotNullExpressionValue(materialCardView, "binding.mobileReportsNodeDirectoryChannelPreview");
boolean z2 = true;
int i = 0;
materialCardView.setVisibility(nodeState.getDirectoryServerPreviewElement() != null ? 0 : 8);
TextView textView = this.binding.l;
m.checkNotNullExpressionValue(textView, "binding.mobileReportsNod…ectoryChannelPreviewTitle");
if (nodeState.getDirectoryServerPreviewElement() == null) {
z2 = false;
}
if (!z2) {
i = 8;
}
textView.setVisibility(i);
MobileReportsViewModel.DirectoryServerPreview directoryServerPreviewElement = nodeState.getDirectoryServerPreviewElement();
if (directoryServerPreviewElement != null) {
j2 j2Var = this.binding.f2090c;
LinkifiedTextView linkifiedTextView = j2Var.d;
m.checkNotNullExpressionValue(linkifiedTextView, NotificationCompat.MessagingStyle.Message.KEY_TEXT);
linkifiedTextView.setText(directoryServerPreviewElement.getDirectoryEntry().d().h());
TextView textView2 = j2Var.f115c;
m.checkNotNullExpressionValue(textView2, "kicker");
textView2.setText(directoryServerPreviewElement.getHub().getName());
j2Var.b.a(IconUtils.getForGuild$default(Long.valueOf(directoryServerPreviewElement.getDirectoryEntry().d().g()), directoryServerPreviewElement.getDirectoryEntry().d().f(), null, false, null, 28, null), GuildUtilsKt.computeShortName(directoryServerPreviewElement.getDirectoryEntry().d().h()));
}
}
private final void setupMessagePreview(MobileReportsViewModel.NodeState nodeState) {
MobileReportsViewModel.MessagePreview messagePreviewElement = nodeState.getMessagePreviewElement();
ViewReportsMenuNodeBinding viewReportsMenuNodeBinding = this.binding;
int i = 8;
if (messagePreviewElement != null) {
TextView textView = viewReportsMenuNodeBinding.d.e;
m.checkNotNullExpressionValue(textView, "mobileReportsMessagePrev…atListAdapterItemTextName");
textView.setText(messagePreviewElement.getAuthorName());
viewReportsMenuNodeBinding.d.e.setTextColor(messagePreviewElement.getAuthorNameColor());
SimpleDraweeView simpleDraweeView = viewReportsMenuNodeBinding.d.d;
m.checkNotNullExpressionValue(simpleDraweeView, "mobileReportsMessagePrev…ListAdapterItemTextAvatar");
IconUtils.setIcon$default(simpleDraweeView, messagePreviewElement.getAuthor(), R.dimen.avatar_size_small, null, null, null, 56, null);
viewReportsMenuNodeBinding.d.f157c.setDraweeSpanStringBuilder(messagePreviewElement.getText());
ImageView imageView = viewReportsMenuNodeBinding.d.b;
m.checkNotNullExpressionValue(imageView, "mobileReportsMessagePrev…terItemChatAttachmentIcon");
if (messagePreviewElement.getHasEmbeds()) {
i = 0;
}
imageView.setVisibility(i);
r4 r4Var = viewReportsMenuNodeBinding.d;
m.checkNotNullExpressionValue(r4Var, "mobileReportsMessagePreview");
ConstraintLayout constraintLayout = r4Var.a;
m.checkNotNullExpressionValue(constraintLayout, "mobileReportsMessagePreview.root");
constraintLayout.setVisibility(0);
return;
}
r4 r4Var2 = viewReportsMenuNodeBinding.d;
m.checkNotNullExpressionValue(r4Var2, "mobileReportsMessagePreview");
ConstraintLayout constraintLayout2 = r4Var2.a;
m.checkNotNullExpressionValue(constraintLayout2, "mobileReportsMessagePreview.root");
constraintLayout2.setVisibility(8);
}
private final void setupSuccess(boolean z2) {
ImageView imageView = this.binding.q;
m.checkNotNullExpressionValue(imageView, "binding.mobileReportsNodeSuccessShield");
imageView.setVisibility(z2 ? 0 : 8);
}
private final void setupTextElements(MobileReportsViewModel.NodeState nodeState) {
TextView textView = this.binding.m;
m.checkNotNullExpressionValue(textView, "binding.mobileReportsNodeHeader");
textView.setText(b.l(nodeState.getNode().d(), new Object[0], null, 2));
String g = nodeState.getNode().g();
LinkifiedTextView linkifiedTextView = this.binding.p;
m.checkNotNullExpressionValue(linkifiedTextView, "binding.mobileReportsNodeSubheader");
boolean z2 = true;
int i = 8;
linkifiedTextView.setVisibility(g != null ? 0 : 8);
LinkifiedTextView linkifiedTextView2 = this.binding.p;
m.checkNotNullExpressionValue(linkifiedTextView2, "binding.mobileReportsNodeSubheader");
b.o(linkifiedTextView2, g, new Object[0], null, 4);
String f = nodeState.getNode().f();
MaterialCardView materialCardView = this.binding.n;
m.checkNotNullExpressionValue(materialCardView, "binding.mobileReportsNodeInfoBox");
if (f == null) {
z2 = false;
}
if (z2) {
i = 0;
}
materialCardView.setVisibility(i);
TextView textView2 = this.binding.o;
m.checkNotNullExpressionValue(textView2, "binding.mobileReportsNodeInfoText");
b.o(textView2, f, new Object[0], null, 4);
}
public final Function0<Unit> getHandleBlock() {
return this.handleBlock;
}
public final Function0<Unit> getHandleCancel() {
return this.handleCancel;
}
/* JADX DEBUG: Type inference failed for r0v0. Raw type applied. Possible types: kotlin.jvm.functions.Function1<? super com.discord.api.report.ReportNodeBottomButton, kotlin.Unit>, kotlin.jvm.functions.Function1<com.discord.api.report.ReportNodeBottomButton, kotlin.Unit> */
public final Function1<ReportNodeBottomButton, Unit> getHandlePressBottomButton() {
return this.handlePressBottomButton;
}
/* JADX DEBUG: Type inference failed for r0v0. Raw type applied. Possible types: kotlin.jvm.functions.Function2<? super com.discord.api.report.ReportNodeChild, ? super com.discord.widgets.mobile_reports.MobileReportsViewModel$NodeState, kotlin.Unit>, kotlin.jvm.functions.Function2<com.discord.api.report.ReportNodeChild, com.discord.widgets.mobile_reports.MobileReportsViewModel$NodeState, kotlin.Unit> */
public final Function2<ReportNodeChild, MobileReportsViewModel.NodeState, Unit> getHandleSelectChild() {
return this.handleSelectChild;
}
public final Function0<Unit> getHandleSubmit() {
return this.handleSubmit;
}
public final MobileReportsViewModel.NodeState getViewState() {
return this.prevViewState;
}
public final void setHandleBlock(Function0<Unit> function0) {
this.handleBlock = function0;
}
public final void setHandleCancel(Function0<Unit> function0) {
this.handleCancel = function0;
}
public final void setHandlePressBottomButton(Function1<? super ReportNodeBottomButton, Unit> function1) {
this.handlePressBottomButton = function1;
}
public final void setHandleSelectChild(Function2<? super ReportNodeChild, ? super MobileReportsViewModel.NodeState, Unit> function2) {
this.handleSelectChild = function2;
}
public final void setHandleSubmit(Function0<Unit> function0) {
this.handleSubmit = function0;
}
public final void setup(MobileReportsViewModel.NodeState nodeState) {
m.checkNotNullParameter(nodeState, "viewState");
setupSuccess(nodeState.getSuccessElement());
setupMessagePreview(nodeState);
setupChannelPreview(nodeState);
setupDirectoryServerPreview(nodeState);
setupBreadCrumbs(nodeState);
setupTextElements(nodeState);
setupChildren(nodeState);
setupCheckbox(nodeState);
setupBottomButton(nodeState);
setupBlockUser(nodeState);
this.prevViewState = nodeState;
}
}