discord-jadx/app/src/main/java/com/discord/widgets/guilds/contextmenu/WidgetGuildContextMenu.java

327 lines
17 KiB
Java

package com.discord.widgets.guilds.contextmenu;
import android.animation.Animator;
import android.content.Context;
import android.graphics.PointF;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewAnimationUtils;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.FrameLayout;
import android.widget.TextView;
import androidx.appcompat.widget.ActivityChooserModel;
import androidx.cardview.widget.CardView;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentViewModelLazyKt;
import b.a.d.f0;
import b.a.d.h0;
import b.d.b.a.a;
import com.discord.R;
import com.discord.app.AppFragment;
import com.discord.databinding.WidgetGuildContextMenuBinding;
import com.discord.utilities.dimen.DimenUtils;
import com.discord.utilities.rx.ObservableExtensionsKt;
import com.discord.utilities.viewbinding.FragmentViewBindingDelegate;
import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt;
import com.discord.widgets.guilds.contextmenu.GuildContextMenuViewModel;
import d0.d0.f;
import d0.z.d.a0;
import d0.z.d.m;
import java.util.Objects;
import kotlin.Lazy;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.reflect.KProperty;
/* compiled from: WidgetGuildContextMenu.kt */
public final class WidgetGuildContextMenu extends AppFragment {
public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.b0(WidgetGuildContextMenu.class, "binding", "getBinding()Lcom/discord/databinding/WidgetGuildContextMenuBinding;", 0)};
public static final Companion Companion = new Companion(null);
private static final String FRAGMENT_TAG = "WidgetGuildContextMenu";
private static final int SCREEN_BOTTOM_BUFFER = DimenUtils.dpToPixels(96);
private static final String VIEW_CONTAINER_TAG = "WidgetGuildContextMenuViewContainer";
private static boolean isShowingContextMenu;
private AnimationState animationState;
private Animator animator;
private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetGuildContextMenu$binding$2.INSTANCE, null, 2, null);
private final Lazy viewModel$delegate;
/* compiled from: WidgetGuildContextMenu.kt */
public enum AnimationState {
ANIMATING_IN,
ANIMATING_OUT
}
/* compiled from: WidgetGuildContextMenu.kt */
public static final class Companion {
private Companion() {
}
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private final int computeMaxContextMenuHeight(Context context) {
WidgetGuildContextMenuBinding a = WidgetGuildContextMenuBinding.a(LayoutInflater.from(context).inflate(R.layout.widget_guild_context_menu, (ViewGroup) null, false));
m.checkNotNullExpressionValue(a, "WidgetGuildContextMenuBi…om(context), null, false)");
CardView cardView = a.a;
m.checkNotNullExpressionValue(cardView, "WidgetGuildContextMenuBi…ntext), null, false).root");
cardView.measure(0, 0);
return cardView.getMeasuredHeight();
}
private final WidgetGuildContextMenu newInstance(long j) {
Bundle I = a.I("com.discord.intent.extra.EXTRA_GUILD_ID", j);
WidgetGuildContextMenu widgetGuildContextMenu = new WidgetGuildContextMenu();
widgetGuildContextMenu.setArguments(I);
return widgetGuildContextMenu;
}
public final void hide(FragmentActivity fragmentActivity, boolean z2) {
m.checkNotNullParameter(fragmentActivity, ActivityChooserModel.ATTRIBUTE_ACTIVITY);
Fragment findFragmentByTag = fragmentActivity.getSupportFragmentManager().findFragmentByTag(WidgetGuildContextMenu.FRAGMENT_TAG);
if (!(findFragmentByTag instanceof WidgetGuildContextMenu)) {
findFragmentByTag = null;
}
WidgetGuildContextMenu widgetGuildContextMenu = (WidgetGuildContextMenu) findFragmentByTag;
if (widgetGuildContextMenu == null) {
return;
}
if (z2) {
WidgetGuildContextMenu.access$doCircularRemove(widgetGuildContextMenu);
return;
}
fragmentActivity.getSupportFragmentManager().beginTransaction().remove(widgetGuildContextMenu).commitAllowingStateLoss();
Window window = fragmentActivity.getWindow();
m.checkNotNullExpressionValue(window, "activity.window");
View decorView = window.getDecorView();
m.checkNotNullExpressionValue(decorView, "activity.window.decorView");
View rootView = decorView.getRootView();
Objects.requireNonNull(rootView, "null cannot be cast to non-null type android.view.ViewGroup");
ViewGroup viewGroup = (ViewGroup) rootView;
Window window2 = fragmentActivity.getWindow();
m.checkNotNullExpressionValue(window2, "activity.window");
View decorView2 = window2.getDecorView();
m.checkNotNullExpressionValue(decorView2, "activity.window.decorView");
FrameLayout frameLayout = (FrameLayout) decorView2.getRootView().findViewWithTag(WidgetGuildContextMenu.VIEW_CONTAINER_TAG);
if (frameLayout != null) {
viewGroup.removeView(frameLayout);
}
WidgetGuildContextMenu.access$setShowingContextMenu$cp(false);
}
public final void show(FragmentActivity fragmentActivity, PointF pointF, long j) {
m.checkNotNullParameter(fragmentActivity, ActivityChooserModel.ATTRIBUTE_ACTIVITY);
m.checkNotNullParameter(pointF, "absolutePosition");
if (!WidgetGuildContextMenu.access$isShowingContextMenu$cp()) {
WidgetGuildContextMenu.access$setShowingContextMenu$cp(true);
computeMaxContextMenuHeight(fragmentActivity);
hide(fragmentActivity, false);
FrameLayout frameLayout = new FrameLayout(fragmentActivity);
frameLayout.setLayoutParams(new ViewGroup.LayoutParams(-1, -1));
frameLayout.setTag(WidgetGuildContextMenu.VIEW_CONTAINER_TAG);
Window window = fragmentActivity.getWindow();
m.checkNotNullExpressionValue(window, "activity.window");
View decorView = window.getDecorView();
m.checkNotNullExpressionValue(decorView, "activity.window.decorView");
View rootView = decorView.getRootView();
Objects.requireNonNull(rootView, "null cannot be cast to non-null type android.view.ViewGroup");
ViewGroup viewGroup = (ViewGroup) rootView;
viewGroup.addView(frameLayout);
frameLayout.setOnClickListener(new WidgetGuildContextMenu$Companion$show$1(fragmentActivity));
FrameLayout frameLayout2 = new FrameLayout(fragmentActivity);
frameLayout2.setId(View.generateViewId());
frameLayout2.setLayoutParams(new ViewGroup.LayoutParams(-2, -2));
frameLayout.addView(frameLayout2);
frameLayout2.setX(pointF.x);
frameLayout2.setY(f.coerceAtMost(pointF.y, (float) ((viewGroup.getHeight() - computeMaxContextMenuHeight(fragmentActivity)) - WidgetGuildContextMenu.access$getSCREEN_BOTTOM_BUFFER$cp())));
fragmentActivity.getSupportFragmentManager().beginTransaction().add(frameLayout2.getId(), newInstance(j), WidgetGuildContextMenu.FRAGMENT_TAG).commit();
}
}
}
public WidgetGuildContextMenu() {
super(R.layout.widget_guild_context_menu);
WidgetGuildContextMenu$viewModel$2 widgetGuildContextMenu$viewModel$2 = new WidgetGuildContextMenu$viewModel$2(this);
f0 f0Var = new f0(this);
this.viewModel$delegate = FragmentViewModelLazyKt.createViewModelLazy(this, a0.getOrCreateKotlinClass(GuildContextMenuViewModel.class), new WidgetGuildContextMenu$appViewModels$$inlined$viewModels$1(f0Var), new h0(widgetGuildContextMenu$viewModel$2));
}
public static final /* synthetic */ void access$configureUI(WidgetGuildContextMenu widgetGuildContextMenu, GuildContextMenuViewModel.ViewState viewState) {
widgetGuildContextMenu.configureUI(viewState);
}
public static final /* synthetic */ void access$doCircularRemove(WidgetGuildContextMenu widgetGuildContextMenu) {
widgetGuildContextMenu.doCircularRemove();
}
public static final /* synthetic */ AnimationState access$getAnimationState$p(WidgetGuildContextMenu widgetGuildContextMenu) {
return widgetGuildContextMenu.animationState;
}
public static final /* synthetic */ int access$getSCREEN_BOTTOM_BUFFER$cp() {
return SCREEN_BOTTOM_BUFFER;
}
public static final /* synthetic */ GuildContextMenuViewModel access$getViewModel$p(WidgetGuildContextMenu widgetGuildContextMenu) {
return widgetGuildContextMenu.getViewModel();
}
public static final /* synthetic */ void access$handleEvent(WidgetGuildContextMenu widgetGuildContextMenu, GuildContextMenuViewModel.Event event) {
widgetGuildContextMenu.handleEvent(event);
}
public static final /* synthetic */ boolean access$isShowingContextMenu$cp() {
return isShowingContextMenu;
}
public static final /* synthetic */ void access$setAnimationState$p(WidgetGuildContextMenu widgetGuildContextMenu, AnimationState animationState) {
widgetGuildContextMenu.animationState = animationState;
}
public static final /* synthetic */ void access$setShowingContextMenu$cp(boolean z2) {
isShowingContextMenu = z2;
}
private final void configureUI(GuildContextMenuViewModel.ViewState viewState) {
if (viewState instanceof GuildContextMenuViewModel.ViewState.Valid) {
configureValidUI((GuildContextMenuViewModel.ViewState.Valid) viewState);
} else if (m.areEqual(viewState, GuildContextMenuViewModel.ViewState.Invalid.INSTANCE)) {
Companion companion = Companion;
FragmentActivity requireActivity = requireActivity();
m.checkNotNullExpressionValue(requireActivity, "requireActivity()");
companion.hide(requireActivity, false);
}
}
private final void configureValidUI(GuildContextMenuViewModel.ViewState.Valid valid) {
TextView textView = getBinding().c;
m.checkNotNullExpressionValue(textView, "binding.guildContextMenuHeader");
textView.setText(valid.getGuild().getName());
getBinding().e.setOnClickListener(new WidgetGuildContextMenu$configureValidUI$1(this));
getBinding().g.setOnClickListener(new WidgetGuildContextMenu$configureValidUI$2(this, valid));
getBinding().d.setOnClickListener(new WidgetGuildContextMenu$configureValidUI$3(this, valid));
getBinding().f.setOnClickListener(new WidgetGuildContextMenu$configureValidUI$4(this, valid));
TextView textView2 = getBinding().d;
m.checkNotNullExpressionValue(textView2, "binding.guildContextMenuLeaveGuild");
int i = 8;
boolean z2 = false;
textView2.setVisibility(valid.getShowLeaveGuild() ? 0 : 8);
TextView textView3 = getBinding().e;
m.checkNotNullExpressionValue(textView3, "binding.guildContextMenuMarkAsRead");
if (valid.getShowMarkAsRead()) {
i = 0;
}
textView3.setVisibility(i);
getBinding().f2377b.setContentPadding(0, 0, 0, 0);
CardView cardView = getBinding().f2377b;
m.checkNotNullExpressionValue(cardView, "binding.guildContextMenuCard");
if (cardView.getVisibility() == 0) {
z2 = true;
}
if (!z2) {
doCircularReveal();
}
}
private final void doCircularRemove() {
AnimationState animationState = this.animationState;
if (animationState == AnimationState.ANIMATING_IN) {
Animator animator = this.animator;
if (animator != null) {
animator.cancel();
}
Companion companion = Companion;
FragmentActivity requireActivity = requireActivity();
m.checkNotNullExpressionValue(requireActivity, "requireActivity()");
companion.hide(requireActivity, false);
return;
}
AnimationState animationState2 = AnimationState.ANIMATING_OUT;
if (animationState != animationState2) {
CardView cardView = getBinding().f2377b;
m.checkNotNullExpressionValue(cardView, "binding.guildContextMenuCard");
int height = cardView.getHeight() / 2;
CardView cardView2 = getBinding().f2377b;
m.checkNotNullExpressionValue(cardView2, "binding.guildContextMenuCard");
int width = cardView2.getWidth();
CardView cardView3 = getBinding().f2377b;
m.checkNotNullExpressionValue(cardView3, "binding.guildContextMenuCard");
float hypot = (float) Math.hypot((double) width, (double) (cardView3.getHeight() / 2));
CardView cardView4 = getBinding().f2377b;
m.checkNotNullExpressionValue(cardView4, "binding.guildContextMenuCard");
if (cardView4.isAttachedToWindow()) {
Animator createCircularReveal = ViewAnimationUtils.createCircularReveal(getBinding().f2377b, 0, height, hypot, 0.0f);
this.animator = createCircularReveal;
this.animationState = animationState2;
m.checkNotNullExpressionValue(createCircularReveal, "animator");
createCircularReveal.setDuration(200);
createCircularReveal.addListener(new WidgetGuildContextMenu$doCircularRemove$1(this));
createCircularReveal.start();
return;
}
CardView cardView5 = getBinding().f2377b;
m.checkNotNullExpressionValue(cardView5, "binding.guildContextMenuCard");
cardView5.setVisibility(8);
}
}
private final void doCircularReveal() {
CardView cardView = getBinding().f2377b;
m.checkNotNullExpressionValue(cardView, "binding.guildContextMenuCard");
if (cardView.isAttachedToWindow()) {
CardView cardView2 = getBinding().f2377b;
m.checkNotNullExpressionValue(cardView2, "binding.guildContextMenuCard");
CardView cardView3 = getBinding().f2377b;
m.checkNotNullExpressionValue(cardView3, "binding.guildContextMenuCard");
int width = cardView3.getWidth();
CardView cardView4 = getBinding().f2377b;
m.checkNotNullExpressionValue(cardView4, "binding.guildContextMenuCard");
Animator createCircularReveal = ViewAnimationUtils.createCircularReveal(getBinding().f2377b, 0, cardView2.getHeight() / 2, 0.0f, (float) Math.hypot((double) width, (double) (cardView4.getHeight() / 2)));
this.animator = createCircularReveal;
this.animationState = AnimationState.ANIMATING_IN;
m.checkNotNullExpressionValue(createCircularReveal, "animator");
createCircularReveal.setDuration(200);
createCircularReveal.addListener(new WidgetGuildContextMenu$doCircularReveal$1(this));
CardView cardView5 = getBinding().f2377b;
m.checkNotNullExpressionValue(cardView5, "binding.guildContextMenuCard");
cardView5.setVisibility(0);
createCircularReveal.start();
return;
}
CardView cardView6 = getBinding().f2377b;
m.checkNotNullExpressionValue(cardView6, "binding.guildContextMenuCard");
cardView6.setVisibility(0);
}
private final WidgetGuildContextMenuBinding getBinding() {
return (WidgetGuildContextMenuBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]);
}
private final GuildContextMenuViewModel getViewModel() {
return (GuildContextMenuViewModel) this.viewModel$delegate.getValue();
}
private final void handleEvent(GuildContextMenuViewModel.Event event) {
if (m.areEqual(event, GuildContextMenuViewModel.Event.Dismiss.INSTANCE)) {
doCircularRemove();
}
}
@Override // androidx.fragment.app.Fragment
public void onDestroy() {
super.onDestroy();
isShowingContextMenu = false;
}
@Override // com.discord.app.AppFragment, androidx.fragment.app.Fragment
public void onResume() {
super.onResume();
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.bindToComponentLifecycle$default(getViewModel().observeViewState(), this, null, 2, null), WidgetGuildContextMenu.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetGuildContextMenu$onResume$1(this), 62, (Object) null);
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.bindToComponentLifecycle$default(getViewModel().observeEvents(), this, null, 2, null), WidgetGuildContextMenu.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetGuildContextMenu$onResume$2(this), 62, (Object) null);
}
}