forked from Juby210/discord-jadx
327 lines
17 KiB
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);
|
|
}
|
|
}
|