288 lines
14 KiB
Java
288 lines
14 KiB
Java
package com.discord.widgets.friends;
|
|
|
|
import android.content.Context;
|
|
import android.os.Bundle;
|
|
import android.view.View;
|
|
import androidx.fragment.app.Fragment;
|
|
import androidx.fragment.app.FragmentManager;
|
|
import androidx.fragment.app.FragmentViewModelLazyKt;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
import c.a.d.h0;
|
|
import c.a.d.j0;
|
|
import c.a.d.o;
|
|
import c.d.b.a.a;
|
|
import com.discord.app.AppFragment;
|
|
import com.discord.app.AppViewFlipper;
|
|
import com.discord.databinding.WidgetFriendsListBinding;
|
|
import com.discord.utilities.analytics.AnalyticsTracker;
|
|
import com.discord.utilities.mg_recycler.MGRecyclerAdapter;
|
|
import com.discord.utilities.rest.RestAPIAbortMessages;
|
|
import com.discord.utilities.rx.ObservableExtensionsKt;
|
|
import com.discord.utilities.viewbinding.FragmentViewBindingDelegate;
|
|
import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt;
|
|
import com.discord.widgets.friends.FriendsListViewModel;
|
|
import com.discord.widgets.tabs.NavigationTab;
|
|
import com.discord.widgets.tabs.OnTabSelectedListener;
|
|
import com.discord.widgets.tabs.WidgetTabsHost;
|
|
import com.discord.widgets.user.calls.PrivateCallLauncher;
|
|
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;
|
|
/* compiled from: WidgetFriendsList.kt */
|
|
public final class WidgetFriendsList extends AppFragment implements OnTabSelectedListener {
|
|
public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.W(WidgetFriendsList.class, "binding", "getBinding()Lcom/discord/databinding/WidgetFriendsListBinding;", 0)};
|
|
private static final String ANALYTICS_SOURCE = "Friends";
|
|
public static final Companion Companion = new Companion(null);
|
|
private static final int VIEW_INDEX_EMPTY = 1;
|
|
private static final int VIEW_INDEX_EMPTY_CONTACT_SYNC = 2;
|
|
private static final int VIEW_INDEX_LOADING = 3;
|
|
private static final int VIEW_INDEX_RECYCLER = 0;
|
|
private WidgetFriendsListAdapter adapter;
|
|
private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetFriendsList$binding$2.INSTANCE, null, 2, null);
|
|
private WidgetFriendsListLoadingAdapter loadingAdapter;
|
|
private PrivateCallLauncher privateCallLauncher;
|
|
private boolean showContactSyncIcon;
|
|
private final Lazy viewModel$delegate;
|
|
|
|
/* compiled from: WidgetFriendsList.kt */
|
|
public static final class Companion {
|
|
private Companion() {
|
|
}
|
|
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
}
|
|
|
|
public WidgetFriendsList() {
|
|
super(2131559010);
|
|
WidgetFriendsList$viewModel$2 widgetFriendsList$viewModel$2 = WidgetFriendsList$viewModel$2.INSTANCE;
|
|
h0 h0Var = new h0(this);
|
|
this.viewModel$delegate = FragmentViewModelLazyKt.createViewModelLazy(this, a0.getOrCreateKotlinClass(FriendsListViewModel.class), new WidgetFriendsList$appViewModels$$inlined$viewModels$1(h0Var), new j0(widgetFriendsList$viewModel$2));
|
|
}
|
|
|
|
public static final /* synthetic */ void access$configureUI(WidgetFriendsList widgetFriendsList, FriendsListViewModel.ViewState viewState) {
|
|
widgetFriendsList.configureUI(viewState);
|
|
}
|
|
|
|
public static final /* synthetic */ boolean access$getShowContactSyncIcon$p(WidgetFriendsList widgetFriendsList) {
|
|
return widgetFriendsList.showContactSyncIcon;
|
|
}
|
|
|
|
public static final /* synthetic */ FriendsListViewModel access$getViewModel$p(WidgetFriendsList widgetFriendsList) {
|
|
return widgetFriendsList.getViewModel();
|
|
}
|
|
|
|
public static final /* synthetic */ void access$handleEvent(WidgetFriendsList widgetFriendsList, FriendsListViewModel.Event event) {
|
|
widgetFriendsList.handleEvent(event);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setShowContactSyncIcon$p(WidgetFriendsList widgetFriendsList, boolean z2) {
|
|
widgetFriendsList.showContactSyncIcon = z2;
|
|
}
|
|
|
|
private final void configureToolbar() {
|
|
bindToolbar();
|
|
setActionBarTitle(2131888811);
|
|
setActionBarTitleLayoutMinimumTappableArea();
|
|
setActionBarOptionsMenu(2131623954, new WidgetFriendsList$configureToolbar$1(this), new WidgetFriendsList$configureToolbar$2(this));
|
|
}
|
|
|
|
private final void configureUI(FriendsListViewModel.ViewState viewState) {
|
|
if (m.areEqual(viewState, FriendsListViewModel.ViewState.Uninitialized.INSTANCE)) {
|
|
showLoadingView();
|
|
} else if (viewState instanceof FriendsListViewModel.ViewState.Empty) {
|
|
showEmptyView((FriendsListViewModel.ViewState.Empty) viewState);
|
|
} else if (viewState instanceof FriendsListViewModel.ViewState.Loaded) {
|
|
updateView((FriendsListViewModel.ViewState.Loaded) viewState);
|
|
} else {
|
|
throw new NoWhenBranchMatchedException();
|
|
}
|
|
}
|
|
|
|
private final void displayFlipperChild(int i) {
|
|
AppViewFlipper appViewFlipper = getBinding().d;
|
|
m.checkNotNullExpressionValue(appViewFlipper, "binding.friendsListFlipper");
|
|
appViewFlipper.setVisibility(0);
|
|
AppViewFlipper appViewFlipper2 = getBinding().d;
|
|
m.checkNotNullExpressionValue(appViewFlipper2, "binding.friendsListFlipper");
|
|
appViewFlipper2.setDisplayedChild(i);
|
|
}
|
|
|
|
private final WidgetFriendsListBinding getBinding() {
|
|
return (WidgetFriendsListBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]);
|
|
}
|
|
|
|
private final FriendsListViewModel getViewModel() {
|
|
return (FriendsListViewModel) this.viewModel$delegate.getValue();
|
|
}
|
|
|
|
private final void handleEvent(FriendsListViewModel.Event event) {
|
|
if (event instanceof FriendsListViewModel.Event.ShowToast) {
|
|
handleShowToast((FriendsListViewModel.Event.ShowToast) event);
|
|
} else if (event instanceof FriendsListViewModel.Event.ShowFriendRequestErrorToast) {
|
|
handleShowFriendRequestErrorToast((FriendsListViewModel.Event.ShowFriendRequestErrorToast) event);
|
|
} else if (event instanceof FriendsListViewModel.Event.LaunchVoiceCall) {
|
|
handleLaunchVoiceCall((FriendsListViewModel.Event.LaunchVoiceCall) event);
|
|
} else {
|
|
throw new NoWhenBranchMatchedException();
|
|
}
|
|
}
|
|
|
|
private final void handleLaunchVoiceCall(FriendsListViewModel.Event.LaunchVoiceCall launchVoiceCall) {
|
|
PrivateCallLauncher privateCallLauncher = this.privateCallLauncher;
|
|
if (privateCallLauncher == null) {
|
|
m.throwUninitializedPropertyAccessException("privateCallLauncher");
|
|
}
|
|
privateCallLauncher.launchVoiceCall(launchVoiceCall.getChannelId());
|
|
}
|
|
|
|
private final void handleShowFriendRequestErrorToast(FriendsListViewModel.Event.ShowFriendRequestErrorToast showFriendRequestErrorToast) {
|
|
o.j(this, RestAPIAbortMessages.ResponseResolver.INSTANCE.getRelationshipResponse(getContext(), showFriendRequestErrorToast.getAbortCode(), showFriendRequestErrorToast.getUsername()), 0, 4);
|
|
}
|
|
|
|
private final void handleShowToast(FriendsListViewModel.Event.ShowToast showToast) {
|
|
o.i(this, showToast.getStringRes(), 0, 4);
|
|
}
|
|
|
|
private final void showEmptyView(FriendsListViewModel.ViewState.Empty empty) {
|
|
boolean z2 = true;
|
|
if (empty.getShowContactSyncEmptyState()) {
|
|
displayFlipperChild(2);
|
|
} else {
|
|
displayFlipperChild(1);
|
|
}
|
|
if (!empty.getShowContactSyncIcon() || empty.getShowContactSyncEmptyState()) {
|
|
z2 = false;
|
|
}
|
|
this.showContactSyncIcon = z2;
|
|
configureToolbar();
|
|
}
|
|
|
|
private final void showLoadingView() {
|
|
displayFlipperChild(3);
|
|
}
|
|
|
|
private final void updateView(FriendsListViewModel.ViewState.Loaded loaded) {
|
|
displayFlipperChild(0);
|
|
WidgetFriendsListAdapter widgetFriendsListAdapter = this.adapter;
|
|
if (widgetFriendsListAdapter == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetFriendsListAdapter.setData(loaded.getItems());
|
|
this.showContactSyncIcon = loaded.getShowContactSyncIcon();
|
|
configureToolbar();
|
|
}
|
|
|
|
@Override // androidx.fragment.app.Fragment
|
|
public void onCreate(Bundle bundle) {
|
|
super.onCreate(bundle);
|
|
Context requireContext = requireContext();
|
|
FragmentManager parentFragmentManager = getParentFragmentManager();
|
|
m.checkNotNullExpressionValue(parentFragmentManager, "parentFragmentManager");
|
|
this.privateCallLauncher = new PrivateCallLauncher(this, this, requireContext, parentFragmentManager);
|
|
}
|
|
|
|
@Override // com.discord.widgets.tabs.OnTabSelectedListener
|
|
public void onTabSelected() {
|
|
configureToolbar();
|
|
AnalyticsTracker.INSTANCE.friendsListViewed();
|
|
setActionBarTitleAccessibilityViewFocused();
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment
|
|
public void onViewBound(View view) {
|
|
m.checkNotNullParameter(view, "view");
|
|
super.onViewBound(view);
|
|
Fragment parentFragment = getParentFragment();
|
|
if (!(parentFragment instanceof WidgetTabsHost)) {
|
|
parentFragment = null;
|
|
}
|
|
WidgetTabsHost widgetTabsHost = (WidgetTabsHost) parentFragment;
|
|
if (widgetTabsHost != null) {
|
|
widgetTabsHost.registerTabSelectionListener(NavigationTab.FRIENDS, this);
|
|
}
|
|
getBinding().f1782c.updateView("Friends");
|
|
getBinding().b.updateView(false);
|
|
MGRecyclerAdapter.Companion companion = MGRecyclerAdapter.Companion;
|
|
RecyclerView recyclerView = getBinding().f;
|
|
m.checkNotNullExpressionValue(recyclerView, "binding.friendsListRecycler");
|
|
WidgetFriendsListAdapter widgetFriendsListAdapter = (WidgetFriendsListAdapter) companion.configure(new WidgetFriendsListAdapter(recyclerView));
|
|
this.adapter = widgetFriendsListAdapter;
|
|
if (widgetFriendsListAdapter == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetFriendsListAdapter.setOnClickUserProfile(new WidgetFriendsList$onViewBound$1(this));
|
|
WidgetFriendsListAdapter widgetFriendsListAdapter2 = this.adapter;
|
|
if (widgetFriendsListAdapter2 == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetFriendsListAdapter2.setOnClickPendingHeaderExpand(new WidgetFriendsList$onViewBound$2(this));
|
|
WidgetFriendsListAdapter widgetFriendsListAdapter3 = this.adapter;
|
|
if (widgetFriendsListAdapter3 == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetFriendsListAdapter3.setOnClickCall(new WidgetFriendsList$onViewBound$3(this));
|
|
WidgetFriendsListAdapter widgetFriendsListAdapter4 = this.adapter;
|
|
if (widgetFriendsListAdapter4 == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetFriendsListAdapter4.setOnClickChat(new WidgetFriendsList$onViewBound$4(this));
|
|
WidgetFriendsListAdapter widgetFriendsListAdapter5 = this.adapter;
|
|
if (widgetFriendsListAdapter5 == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetFriendsListAdapter5.setOnClickAcceptFriend(new WidgetFriendsList$onViewBound$5(this));
|
|
WidgetFriendsListAdapter widgetFriendsListAdapter6 = this.adapter;
|
|
if (widgetFriendsListAdapter6 == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetFriendsListAdapter6.setOnClickDeclineFriend(new WidgetFriendsList$onViewBound$6(this));
|
|
WidgetFriendsListAdapter widgetFriendsListAdapter7 = this.adapter;
|
|
if (widgetFriendsListAdapter7 == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetFriendsListAdapter7.setOnClickContactSyncUpsell(new WidgetFriendsList$onViewBound$7(this));
|
|
WidgetFriendsListAdapter widgetFriendsListAdapter8 = this.adapter;
|
|
if (widgetFriendsListAdapter8 == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetFriendsListAdapter8.setOnClickContactSyncUpsellLongClick(new WidgetFriendsList$onViewBound$8(this));
|
|
WidgetFriendsListAdapter widgetFriendsListAdapter9 = this.adapter;
|
|
if (widgetFriendsListAdapter9 == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetFriendsListAdapter9.setOnClickSuggestedHeaderExpandCollapse(new WidgetFriendsList$onViewBound$9(this));
|
|
WidgetFriendsListAdapter widgetFriendsListAdapter10 = this.adapter;
|
|
if (widgetFriendsListAdapter10 == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetFriendsListAdapter10.setOnClickApproveSuggestion(new WidgetFriendsList$onViewBound$10(this));
|
|
WidgetFriendsListAdapter widgetFriendsListAdapter11 = this.adapter;
|
|
if (widgetFriendsListAdapter11 == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetFriendsListAdapter11.setOnClickRemoveSuggestion(new WidgetFriendsList$onViewBound$11(getViewModel()));
|
|
this.loadingAdapter = new WidgetFriendsListLoadingAdapter();
|
|
RecyclerView recyclerView2 = getBinding().e;
|
|
m.checkNotNullExpressionValue(recyclerView2, "binding.friendsListLoading");
|
|
WidgetFriendsListLoadingAdapter widgetFriendsListLoadingAdapter = this.loadingAdapter;
|
|
if (widgetFriendsListLoadingAdapter == null) {
|
|
m.throwUninitializedPropertyAccessException("loadingAdapter");
|
|
}
|
|
recyclerView2.setAdapter(widgetFriendsListLoadingAdapter);
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment
|
|
public void onViewBoundOrOnResume() {
|
|
super.onViewBoundOrOnResume();
|
|
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.bindToComponentLifecycle(getViewModel().observeViewState(), this), WidgetFriendsList.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetFriendsList$onViewBoundOrOnResume$1(this), 62, (Object) null);
|
|
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.bindToComponentLifecycle(getViewModel().observeEvents(), this), WidgetFriendsList.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetFriendsList$onViewBoundOrOnResume$2(this), 62, (Object) null);
|
|
}
|
|
}
|