367 lines
20 KiB
Java
367 lines
20 KiB
Java
package com.discord.widgets.voice.fullscreen;
|
|
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.view.View;
|
|
import android.widget.TextView;
|
|
import androidx.appcompat.widget.Toolbar;
|
|
import androidx.constraintlayout.widget.ConstraintLayout;
|
|
import androidx.core.content.ContextCompat;
|
|
import androidx.core.view.ViewCompat;
|
|
import androidx.fragment.app.Fragment;
|
|
import androidx.fragment.app.FragmentManager;
|
|
import androidx.fragment.app.FragmentViewModelLazyKt;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
import b.a.a.m;
|
|
import b.a.d.f0;
|
|
import b.a.d.h0;
|
|
import b.a.d.j;
|
|
import b.a.i.o0;
|
|
import b.c.a.a0.d;
|
|
import b.d.b.a.a;
|
|
import com.discord.R;
|
|
import com.discord.api.channel.Channel;
|
|
import com.discord.app.AppFragment;
|
|
import com.discord.app.AppTransitionActivity;
|
|
import com.discord.databinding.WidgetCallPreviewFullscreenBinding;
|
|
import com.discord.utilities.color.ColorCompat;
|
|
import com.discord.utilities.mg_recycler.MGRecyclerAdapter;
|
|
import com.discord.utilities.rx.ObservableExtensionsKt;
|
|
import com.discord.utilities.streams.StreamContext;
|
|
import com.discord.utilities.view.extensions.ViewExtensions;
|
|
import com.discord.utilities.viewbinding.FragmentViewBindingDelegate;
|
|
import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt;
|
|
import com.discord.widgets.home.WidgetHomePanelNsfw;
|
|
import com.discord.widgets.notice.WidgetNoticeNuxOverlay;
|
|
import com.discord.widgets.voice.fullscreen.WidgetCallFullscreen;
|
|
import com.discord.widgets.voice.fullscreen.WidgetCallPreviewFullscreenViewModel;
|
|
import com.discord.widgets.voice.sheet.CallParticipantsAdapter;
|
|
import com.google.android.material.button.MaterialButton;
|
|
import d0.z.d.a0;
|
|
import d0.z.d.m;
|
|
import kotlin.Lazy;
|
|
import kotlin.NoWhenBranchMatchedException;
|
|
import kotlin.jvm.functions.Function0;
|
|
import kotlin.jvm.functions.Function1;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import kotlin.reflect.KProperty;
|
|
import rx.Subscription;
|
|
/* compiled from: WidgetCallPreviewFullscreen.kt */
|
|
public final class WidgetCallPreviewFullscreen extends AppFragment {
|
|
public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.b0(WidgetCallPreviewFullscreen.class, "binding", "getBinding()Lcom/discord/databinding/WidgetCallPreviewFullscreenBinding;", 0)};
|
|
private static final String ANALYTICS_SOURCE = "Fullscreen Voice Channel Preview";
|
|
public static final Companion Companion = new Companion(null);
|
|
private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetCallPreviewFullscreen$binding$2.INSTANCE, null, 2, null);
|
|
private WidgetHomePanelNsfw panelNsfw;
|
|
private CallParticipantsAdapter participantsAdapter;
|
|
private final Lazy viewModel$delegate;
|
|
private Subscription viewModelEventSubscription;
|
|
|
|
/* compiled from: WidgetCallPreviewFullscreen.kt */
|
|
public static final class Companion {
|
|
private Companion() {
|
|
}
|
|
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
public static /* synthetic */ void launch$default(Companion companion, Context context, long j, AppTransitionActivity.Transition transition, int i, Object obj) {
|
|
if ((i & 4) != 0) {
|
|
transition = null;
|
|
}
|
|
companion.launch(context, j, transition);
|
|
}
|
|
|
|
public final void launch(Context context, long j, AppTransitionActivity.Transition transition) {
|
|
m.checkNotNullParameter(context, "context");
|
|
Intent intent = new Intent(context, WidgetCallFullscreen.class);
|
|
intent.putExtra("com.discord.intent.extra.EXTRA_CHANNEL_ID", j);
|
|
intent.putExtra("transition", transition);
|
|
j.d(context, WidgetCallPreviewFullscreen.class, intent);
|
|
}
|
|
}
|
|
|
|
public WidgetCallPreviewFullscreen() {
|
|
super(R.layout.widget_call_preview_fullscreen);
|
|
WidgetCallPreviewFullscreen$viewModel$2 widgetCallPreviewFullscreen$viewModel$2 = new WidgetCallPreviewFullscreen$viewModel$2(this);
|
|
f0 f0Var = new f0(this);
|
|
this.viewModel$delegate = FragmentViewModelLazyKt.createViewModelLazy(this, a0.getOrCreateKotlinClass(WidgetCallPreviewFullscreenViewModel.class), new WidgetCallPreviewFullscreen$appViewModels$$inlined$viewModels$1(f0Var), new h0(widgetCallPreviewFullscreen$viewModel$2));
|
|
}
|
|
|
|
public static final /* synthetic */ void access$configureUI(WidgetCallPreviewFullscreen widgetCallPreviewFullscreen, WidgetCallPreviewFullscreenViewModel.ViewState viewState) {
|
|
widgetCallPreviewFullscreen.configureUI(viewState);
|
|
}
|
|
|
|
public static final /* synthetic */ WidgetCallPreviewFullscreenBinding access$getBinding$p(WidgetCallPreviewFullscreen widgetCallPreviewFullscreen) {
|
|
return widgetCallPreviewFullscreen.getBinding();
|
|
}
|
|
|
|
public static final /* synthetic */ WidgetCallPreviewFullscreenViewModel access$getViewModel$p(WidgetCallPreviewFullscreen widgetCallPreviewFullscreen) {
|
|
return widgetCallPreviewFullscreen.getViewModel();
|
|
}
|
|
|
|
public static final /* synthetic */ Subscription access$getViewModelEventSubscription$p(WidgetCallPreviewFullscreen widgetCallPreviewFullscreen) {
|
|
return widgetCallPreviewFullscreen.viewModelEventSubscription;
|
|
}
|
|
|
|
public static final /* synthetic */ long access$getVoiceChannelId(WidgetCallPreviewFullscreen widgetCallPreviewFullscreen) {
|
|
return widgetCallPreviewFullscreen.getVoiceChannelId();
|
|
}
|
|
|
|
public static final /* synthetic */ void access$handleEvent(WidgetCallPreviewFullscreen widgetCallPreviewFullscreen, WidgetCallPreviewFullscreenViewModel.Event event) {
|
|
widgetCallPreviewFullscreen.handleEvent(event);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$onDenyNsfw(WidgetCallPreviewFullscreen widgetCallPreviewFullscreen) {
|
|
widgetCallPreviewFullscreen.onDenyNsfw();
|
|
}
|
|
|
|
public static final /* synthetic */ void access$onNsfwToggle(WidgetCallPreviewFullscreen widgetCallPreviewFullscreen, boolean z2) {
|
|
widgetCallPreviewFullscreen.onNsfwToggle(z2);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$onStreamPreviewClicked(WidgetCallPreviewFullscreen widgetCallPreviewFullscreen, StreamContext streamContext) {
|
|
widgetCallPreviewFullscreen.onStreamPreviewClicked(streamContext);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setViewModelEventSubscription$p(WidgetCallPreviewFullscreen widgetCallPreviewFullscreen, Subscription subscription) {
|
|
widgetCallPreviewFullscreen.viewModelEventSubscription = subscription;
|
|
}
|
|
|
|
public static final /* synthetic */ void access$transitionActivity(WidgetCallPreviewFullscreen widgetCallPreviewFullscreen) {
|
|
widgetCallPreviewFullscreen.transitionActivity();
|
|
}
|
|
|
|
private final void configureActionBar(WidgetCallPreviewFullscreenViewModel.ViewState viewState) {
|
|
int i = 0;
|
|
boolean z2 = viewState.getTotalMentionsCount() > 0;
|
|
TextView textView = getBinding().e;
|
|
m.checkNotNullExpressionValue(textView, "binding.callFullscreenMentions");
|
|
textView.setText(String.valueOf(viewState.getTotalMentionsCount()));
|
|
TextView textView2 = getBinding().e;
|
|
m.checkNotNullExpressionValue(textView2, "binding.callFullscreenMentions");
|
|
if (!z2) {
|
|
i = 8;
|
|
}
|
|
textView2.setVisibility(i);
|
|
Toolbar toolbar = getBinding().f2234b;
|
|
m.checkNotNullExpressionValue(toolbar, "binding.actionBarToolbar");
|
|
toolbar.setNavigationIcon(ContextCompat.getDrawable(requireContext(), z2 ? R.drawable.ic_call_toolbar_stage_minimize_cutout : R.drawable.ic_call_toolbar_stage_minimize));
|
|
getBinding().f2234b.setNavigationOnClickListener(new WidgetCallPreviewFullscreen$configureActionBar$1(this));
|
|
setActionBarOptionsMenu(R.menu.menu_call_preview_fullscreen, null, new WidgetCallPreviewFullscreen$configureActionBar$2(this, viewState));
|
|
int color = ColorCompat.getColor(this, (int) R.color.transparent);
|
|
String titleText = viewState.getTitleText();
|
|
if (titleText == null) {
|
|
titleText = "";
|
|
}
|
|
setActionBarTitle(titleText);
|
|
setActionBarTitleColor(-1);
|
|
ColorCompat.setStatusBarTranslucent(this);
|
|
ColorCompat.setStatusBarColor((Fragment) this, color, true);
|
|
}
|
|
|
|
private final void configureParticipants(WidgetCallPreviewFullscreenViewModel.ParticipantsList participantsList, Channel channel) {
|
|
int i = 0;
|
|
if (participantsList instanceof WidgetCallPreviewFullscreenViewModel.ParticipantsList.ListItems) {
|
|
o0 o0Var = getBinding().l;
|
|
m.checkNotNullExpressionValue(o0Var, "binding.empty");
|
|
ConstraintLayout constraintLayout = o0Var.a;
|
|
m.checkNotNullExpressionValue(constraintLayout, "binding.empty.root");
|
|
constraintLayout.setVisibility(4);
|
|
RecyclerView recyclerView = getBinding().k;
|
|
m.checkNotNullExpressionValue(recyclerView, "binding.callPreviewVoiceSheetRecycler");
|
|
recyclerView.setVisibility(0);
|
|
CallParticipantsAdapter callParticipantsAdapter = this.participantsAdapter;
|
|
if (callParticipantsAdapter == null) {
|
|
m.throwUninitializedPropertyAccessException("participantsAdapter");
|
|
}
|
|
callParticipantsAdapter.setData(((WidgetCallPreviewFullscreenViewModel.ParticipantsList.ListItems) participantsList).getItems());
|
|
CallParticipantsAdapter callParticipantsAdapter2 = this.participantsAdapter;
|
|
if (callParticipantsAdapter2 == null) {
|
|
m.throwUninitializedPropertyAccessException("participantsAdapter");
|
|
}
|
|
callParticipantsAdapter2.setOnStreamPreviewClicked(new WidgetCallPreviewFullscreen$configureParticipants$1(this));
|
|
CallParticipantsAdapter callParticipantsAdapter3 = this.participantsAdapter;
|
|
if (callParticipantsAdapter3 == null) {
|
|
m.throwUninitializedPropertyAccessException("participantsAdapter");
|
|
}
|
|
callParticipantsAdapter3.setOnVoiceUserClicked(new WidgetCallPreviewFullscreen$configureParticipants$2(this, channel));
|
|
CallParticipantsAdapter callParticipantsAdapter4 = this.participantsAdapter;
|
|
if (callParticipantsAdapter4 == null) {
|
|
m.throwUninitializedPropertyAccessException("participantsAdapter");
|
|
}
|
|
callParticipantsAdapter4.setOnInviteFriendsClicked(new WidgetCallPreviewFullscreen$configureParticipants$3(this, channel));
|
|
CallParticipantsAdapter callParticipantsAdapter5 = this.participantsAdapter;
|
|
if (callParticipantsAdapter5 == null) {
|
|
m.throwUninitializedPropertyAccessException("participantsAdapter");
|
|
}
|
|
callParticipantsAdapter5.setOnEmbeddedActivityClicked(new WidgetCallPreviewFullscreen$configureParticipants$4(this));
|
|
} else if (participantsList instanceof WidgetCallPreviewFullscreenViewModel.ParticipantsList.Empty) {
|
|
o0 o0Var2 = getBinding().l;
|
|
m.checkNotNullExpressionValue(o0Var2, "binding.empty");
|
|
ConstraintLayout constraintLayout2 = o0Var2.a;
|
|
m.checkNotNullExpressionValue(constraintLayout2, "binding.empty.root");
|
|
constraintLayout2.setVisibility(0);
|
|
RecyclerView recyclerView2 = getBinding().k;
|
|
m.checkNotNullExpressionValue(recyclerView2, "binding.callPreviewVoiceSheetRecycler");
|
|
WidgetCallPreviewFullscreenViewModel.ParticipantsList.Empty empty = (WidgetCallPreviewFullscreenViewModel.ParticipantsList.Empty) participantsList;
|
|
if (!(!empty.getItems().isEmpty())) {
|
|
i = 8;
|
|
}
|
|
recyclerView2.setVisibility(i);
|
|
CallParticipantsAdapter callParticipantsAdapter6 = this.participantsAdapter;
|
|
if (callParticipantsAdapter6 == null) {
|
|
m.throwUninitializedPropertyAccessException("participantsAdapter");
|
|
}
|
|
callParticipantsAdapter6.setData(empty.getItems());
|
|
} else {
|
|
throw new NoWhenBranchMatchedException();
|
|
}
|
|
}
|
|
|
|
private final void configureUI(WidgetCallPreviewFullscreenViewModel.ViewState viewState) {
|
|
configureActionBar(viewState);
|
|
configureParticipants(viewState.getParticipantsList(), viewState.getVoiceChannel());
|
|
if (viewState.isConnectEnabled()) {
|
|
getBinding().i.setText(R.string.join_voice);
|
|
getBinding().h.setText(R.string.join_muted);
|
|
MaterialButton materialButton = getBinding().i;
|
|
m.checkNotNullExpressionValue(materialButton, "binding.callPreviewJoinVoice");
|
|
materialButton.setEnabled(true);
|
|
MaterialButton materialButton2 = getBinding().h;
|
|
m.checkNotNullExpressionValue(materialButton2, "binding.callPreviewJoinMuted");
|
|
materialButton2.setEnabled(true);
|
|
} else {
|
|
getBinding().i.setText(R.string.channel_locked_short);
|
|
MaterialButton materialButton3 = getBinding().i;
|
|
m.checkNotNullExpressionValue(materialButton3, "binding.callPreviewJoinVoice");
|
|
materialButton3.setEnabled(false);
|
|
getBinding().h.setText(R.string.channel_locked_short);
|
|
MaterialButton materialButton4 = getBinding().h;
|
|
m.checkNotNullExpressionValue(materialButton4, "binding.callPreviewJoinMuted");
|
|
materialButton4.setEnabled(false);
|
|
}
|
|
getBinding().i.setOnClickListener(new WidgetCallPreviewFullscreen$configureUI$1(this));
|
|
getBinding().h.setOnClickListener(new WidgetCallPreviewFullscreen$configureUI$2(this));
|
|
WidgetHomePanelNsfw widgetHomePanelNsfw = this.panelNsfw;
|
|
if (widgetHomePanelNsfw != null) {
|
|
widgetHomePanelNsfw.configureUI(viewState.getVoiceChannel().f(), viewState.isChannelNsfw(), viewState.isNsfwUnconsented(), viewState.getNsfwAllowed(), getBinding().j, new WidgetCallPreviewFullscreen$configureUI$3(this), new WidgetCallPreviewFullscreen$configureUI$4(this));
|
|
}
|
|
}
|
|
|
|
private final void finishActivity(boolean z2, boolean z3) {
|
|
if (z2) {
|
|
getViewModel().selectTextChannelAfterFinish();
|
|
}
|
|
Subscription subscription = this.viewModelEventSubscription;
|
|
if (subscription != null) {
|
|
subscription.unsubscribe();
|
|
}
|
|
requireAppActivity().finish();
|
|
if (z3) {
|
|
requireAppActivity().overridePendingTransition(0, R.anim.anim_slide_out_down);
|
|
}
|
|
}
|
|
|
|
public static /* synthetic */ void finishActivity$default(WidgetCallPreviewFullscreen widgetCallPreviewFullscreen, boolean z2, boolean z3, int i, Object obj) {
|
|
if ((i & 1) != 0) {
|
|
z2 = false;
|
|
}
|
|
if ((i & 2) != 0) {
|
|
z3 = true;
|
|
}
|
|
widgetCallPreviewFullscreen.finishActivity(z2, z3);
|
|
}
|
|
|
|
private final WidgetCallPreviewFullscreenBinding getBinding() {
|
|
return (WidgetCallPreviewFullscreenBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]);
|
|
}
|
|
|
|
private final WidgetCallPreviewFullscreenViewModel getViewModel() {
|
|
return (WidgetCallPreviewFullscreenViewModel) this.viewModel$delegate.getValue();
|
|
}
|
|
|
|
private final long getVoiceChannelId() {
|
|
return getMostRecentIntent().getLongExtra("com.discord.intent.extra.EXTRA_CHANNEL_ID", -1);
|
|
}
|
|
|
|
private final void handleEvent(WidgetCallPreviewFullscreenViewModel.Event event) {
|
|
if (m.areEqual(event, WidgetCallPreviewFullscreenViewModel.Event.ShowGuildVideoAtCapacityDialog.INSTANCE)) {
|
|
m.a aVar = b.a.a.m.k;
|
|
FragmentManager parentFragmentManager = getParentFragmentManager();
|
|
d0.z.d.m.checkNotNullExpressionValue(parentFragmentManager, "parentFragmentManager");
|
|
aVar.a(parentFragmentManager);
|
|
} else if (d0.z.d.m.areEqual(event, WidgetCallPreviewFullscreenViewModel.Event.ShowOverlayNux.INSTANCE)) {
|
|
WidgetNoticeNuxOverlay.Companion.enqueue();
|
|
} else if (event instanceof WidgetCallPreviewFullscreenViewModel.Event.LaunchVideoCall) {
|
|
finishActivity$default(this, false, false, 1, null);
|
|
WidgetCallPreviewFullscreenViewModel.Event.LaunchVideoCall launchVideoCall = (WidgetCallPreviewFullscreenViewModel.Event.LaunchVideoCall) event;
|
|
WidgetCallFullscreen.Companion.launch$default(WidgetCallFullscreen.Companion, requireContext(), launchVideoCall.getChannelId(), false, launchVideoCall.getAutoTargetStreamKey(), null, 20, null);
|
|
} else {
|
|
throw new NoWhenBranchMatchedException();
|
|
}
|
|
}
|
|
|
|
public static final void launch(Context context, long j, AppTransitionActivity.Transition transition) {
|
|
Companion.launch(context, j, transition);
|
|
}
|
|
|
|
private final void onDenyNsfw() {
|
|
finishActivity$default(this, true, false, 2, null);
|
|
}
|
|
|
|
private final void onNsfwToggle(boolean z2) {
|
|
ConstraintLayout constraintLayout = getBinding().d;
|
|
d0.z.d.m.checkNotNullExpressionValue(constraintLayout, "binding.callFullscreenBody");
|
|
constraintLayout.setVisibility(z2 ^ true ? 0 : 8);
|
|
}
|
|
|
|
private final void onStreamPreviewClicked(StreamContext streamContext) {
|
|
d.S1(this, null, new WidgetCallPreviewFullscreen$onStreamPreviewClicked$1(this, streamContext), 1, null);
|
|
}
|
|
|
|
private final void transitionActivity() {
|
|
finishActivity$default(this, false, false, 3, null);
|
|
requireAppActivity().overridePendingTransition(R.anim.activity_slide_horizontal_open_in, R.anim.activity_slide_horizontal_open_out);
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment
|
|
public void onViewBound(View view) {
|
|
d0.z.d.m.checkNotNullParameter(view, "view");
|
|
super.onViewBound(view);
|
|
AppFragment.setActionBarDisplayHomeAsUpEnabled$default(this, false, 1, null);
|
|
ViewCompat.setOnApplyWindowInsetsListener(getBinding().g, WidgetCallPreviewFullscreen$onViewBound$1.INSTANCE);
|
|
ViewCompat.setOnApplyWindowInsetsListener(getBinding().l.f166b, WidgetCallPreviewFullscreen$onViewBound$2.INSTANCE);
|
|
ViewCompat.setOnApplyWindowInsetsListener(getBinding().k, WidgetCallPreviewFullscreen$onViewBound$3.INSTANCE);
|
|
ViewCompat.setOnApplyWindowInsetsListener(getBinding().c, WidgetCallPreviewFullscreen$onViewBound$4.INSTANCE);
|
|
ViewCompat.setOnApplyWindowInsetsListener(getBinding().e, new WidgetCallPreviewFullscreen$onViewBound$5(this));
|
|
ConstraintLayout constraintLayout = getBinding().f;
|
|
d0.z.d.m.checkNotNullExpressionValue(constraintLayout, "binding.callFullscreenParent");
|
|
ViewExtensions.setForwardingWindowInsetsListener(constraintLayout);
|
|
MGRecyclerAdapter.Companion companion = MGRecyclerAdapter.Companion;
|
|
RecyclerView recyclerView = getBinding().k;
|
|
d0.z.d.m.checkNotNullExpressionValue(recyclerView, "binding.callPreviewVoiceSheetRecycler");
|
|
CallParticipantsAdapter callParticipantsAdapter = (CallParticipantsAdapter) companion.configure(new CallParticipantsAdapter(recyclerView, true, true));
|
|
this.participantsAdapter = callParticipantsAdapter;
|
|
if (callParticipantsAdapter == null) {
|
|
d0.z.d.m.throwUninitializedPropertyAccessException("participantsAdapter");
|
|
}
|
|
callParticipantsAdapter.setOnEventClicked(new WidgetCallPreviewFullscreen$onViewBound$6(this));
|
|
CallParticipantsAdapter callParticipantsAdapter2 = this.participantsAdapter;
|
|
if (callParticipantsAdapter2 == null) {
|
|
d0.z.d.m.throwUninitializedPropertyAccessException("participantsAdapter");
|
|
}
|
|
callParticipantsAdapter2.setOnStartEventClicked(new WidgetCallPreviewFullscreen$onViewBound$7(this));
|
|
this.panelNsfw = new WidgetHomePanelNsfw(this);
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment
|
|
public void onViewBoundOrOnResume() {
|
|
super.onViewBoundOrOnResume();
|
|
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.bindToComponentLifecycle$default(getViewModel().observeViewState(), this, null, 2, null), WidgetCallPreviewFullscreen.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetCallPreviewFullscreen$onViewBoundOrOnResume$1(this), 62, (Object) null);
|
|
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.bindToComponentLifecycle$default(getViewModel().observeEvents(), this, null, 2, null), WidgetCallPreviewFullscreen.class, (Context) null, new WidgetCallPreviewFullscreen$onViewBoundOrOnResume$3(this), (Function1) null, (Function0) null, (Function0) null, new WidgetCallPreviewFullscreen$onViewBoundOrOnResume$2(this), 58, (Object) null);
|
|
AppFragment.setOnBackPressed$default(this, new WidgetCallPreviewFullscreen$onViewBoundOrOnResume$4(this), 0, 2, null);
|
|
}
|
|
}
|