discord-jadx/app/src/main/java/com/discord/widgets/channels/memberlist/WidgetChannelMembersList.java
2021-07-24 04:37:17 +02:00

195 lines
9.7 KiB
Java

package com.discord.widgets.channels.memberlist;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import androidx.fragment.app.FragmentViewModelLazyKt;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import c.a.d.h0;
import c.a.d.j0;
import com.discord.app.AppFragment;
import com.discord.utilities.rx.ObservableExtensionsKt;
import com.discord.utilities.views.StickyHeaderItemDecoration;
import com.discord.widgets.channels.memberlist.WidgetChannelMembersListViewModel;
import com.discord.widgets.channels.memberlist.adapter.ChannelMembersListAdapter;
import d0.d0.f;
import d0.g;
import d0.z.d.a0;
import d0.z.d.m;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
import kotlin.Lazy;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.ranges.IntRange;
import rx.Observable;
import rx.subjects.PublishSubject;
/* compiled from: WidgetChannelMembersList.kt */
public final class WidgetChannelMembersList extends AppFragment {
public static final Companion Companion = new Companion(null);
private static final String SOURCE = "WidgetChannelMembersList";
private ChannelMembersListAdapter adapter;
private int memberCellHeightPx;
private final Lazy recycler$delegate = g.lazy(new WidgetChannelMembersList$recycler$2(this));
private final RxOnScrollListener scrollListener = new RxOnScrollListener();
private final Lazy viewModel$delegate;
/* compiled from: WidgetChannelMembersList.kt */
public static final class Companion {
private Companion() {
}
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
}
/* compiled from: WidgetChannelMembersList.kt */
public static final class RxOnScrollListener extends RecyclerView.OnScrollListener {
private final PublishSubject<Unit> scrollYSubject = PublishSubject.k0();
public final Observable<Unit> observeScrollChanges() {
PublishSubject<Unit> publishSubject = this.scrollYSubject;
m.checkNotNullExpressionValue(publishSubject, "scrollYSubject");
return publishSubject;
}
@Override // androidx.recyclerview.widget.RecyclerView.OnScrollListener
public void onScrolled(RecyclerView recyclerView, int i, int i2) {
m.checkNotNullParameter(recyclerView, "recyclerView");
super.onScrolled(recyclerView, i, i2);
PublishSubject<Unit> publishSubject = this.scrollYSubject;
publishSubject.j.onNext(Unit.a);
}
}
public WidgetChannelMembersList() {
super(2131558875);
WidgetChannelMembersList$viewModel$2 widgetChannelMembersList$viewModel$2 = WidgetChannelMembersList$viewModel$2.INSTANCE;
h0 h0Var = new h0(this);
this.viewModel$delegate = FragmentViewModelLazyKt.createViewModelLazy(this, a0.getOrCreateKotlinClass(WidgetChannelMembersListViewModel.class), new WidgetChannelMembersList$appViewModels$$inlined$viewModels$1(h0Var), new j0(widgetChannelMembersList$viewModel$2));
}
public static final /* synthetic */ void access$configureUI(WidgetChannelMembersList widgetChannelMembersList, WidgetChannelMembersListViewModel.ViewState viewState) {
widgetChannelMembersList.configureUI(viewState);
}
public static final /* synthetic */ void access$scrollToTop(WidgetChannelMembersList widgetChannelMembersList) {
widgetChannelMembersList.scrollToTop();
}
public static final /* synthetic */ void access$updateRanges(WidgetChannelMembersList widgetChannelMembersList) {
widgetChannelMembersList.updateRanges();
}
private final void configureLoadedUI(WidgetChannelMembersListViewModel.ViewState.Loaded loaded) {
if (loaded.getChannel() != null) {
ChannelMembersListAdapter channelMembersListAdapter = this.adapter;
if (channelMembersListAdapter == null) {
m.throwUninitializedPropertyAccessException("adapter");
}
channelMembersListAdapter.setOnUserClicked(new WidgetChannelMembersList$configureLoadedUI$1(this, loaded));
ChannelMembersListAdapter channelMembersListAdapter2 = this.adapter;
if (channelMembersListAdapter2 == null) {
m.throwUninitializedPropertyAccessException("adapter");
}
channelMembersListAdapter2.setOnAddMemberClicked(new WidgetChannelMembersList$configureLoadedUI$2(this, loaded));
}
ChannelMembersListAdapter channelMembersListAdapter3 = this.adapter;
if (channelMembersListAdapter3 == null) {
m.throwUninitializedPropertyAccessException("adapter");
}
channelMembersListAdapter3.setData(loaded.getListItems().getListId(), loaded.getListItems(), true);
}
private final void configureUI(WidgetChannelMembersListViewModel.ViewState viewState) {
if (!m.areEqual(viewState, WidgetChannelMembersListViewModel.ViewState.Empty.INSTANCE) && (viewState instanceof WidgetChannelMembersListViewModel.ViewState.Loaded)) {
configureLoadedUI((WidgetChannelMembersListViewModel.ViewState.Loaded) viewState);
}
}
private final RecyclerView getRecycler() {
return (RecyclerView) this.recycler$delegate.getValue();
}
private final WidgetChannelMembersListViewModel getViewModel() {
return (WidgetChannelMembersListViewModel) this.viewModel$delegate.getValue();
}
private final void scrollToTop() {
getRecycler().scrollToPosition(0);
}
private final void setupRecyclerView() {
this.memberCellHeightPx = getResources().getDimensionPixelSize(2131165307);
getRecycler().setHasFixedSize(true);
getRecycler().removeOnScrollListener(this.scrollListener);
getRecycler().addOnScrollListener(this.scrollListener);
ChannelMembersListAdapter channelMembersListAdapter = this.adapter;
if (channelMembersListAdapter == null) {
m.throwUninitializedPropertyAccessException("adapter");
}
StickyHeaderItemDecoration stickyHeaderItemDecoration = new StickyHeaderItemDecoration(channelMembersListAdapter);
getRecycler().addItemDecoration(stickyHeaderItemDecoration);
stickyHeaderItemDecoration.blockClicks(getRecycler());
RecyclerView recycler = getRecycler();
ChannelMembersListAdapter channelMembersListAdapter2 = this.adapter;
if (channelMembersListAdapter2 == null) {
m.throwUninitializedPropertyAccessException("adapter");
}
recycler.setAdapter(channelMembersListAdapter2);
}
private final void updateRanges() {
View view = getView();
if (view != null) {
int height = (view.getHeight() / this.memberCellHeightPx) + 1;
RecyclerView.LayoutManager layoutManager = getRecycler().getLayoutManager();
Objects.requireNonNull(layoutManager, "null cannot be cast to non-null type androidx.recyclerview.widget.LinearLayoutManager");
LinearLayoutManager linearLayoutManager = (LinearLayoutManager) layoutManager;
getViewModel().updateSubscriptionsForChannel(new IntRange(f.coerceAtLeast(linearLayoutManager.findFirstVisibleItemPosition() - height, 0), linearLayoutManager.findLastVisibleItemPosition() + height));
}
}
@Override // androidx.fragment.app.Fragment
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
ChannelMembersListAdapter channelMembersListAdapter = new ChannelMembersListAdapter();
this.adapter = channelMembersListAdapter;
if (channelMembersListAdapter == null) {
m.throwUninitializedPropertyAccessException("adapter");
}
channelMembersListAdapter.setHasStableIds(true);
}
@Override // androidx.fragment.app.Fragment
public void onDestroy() {
ChannelMembersListAdapter channelMembersListAdapter = this.adapter;
if (channelMembersListAdapter == null) {
m.throwUninitializedPropertyAccessException("adapter");
}
channelMembersListAdapter.dispose();
super.onDestroy();
}
@Override // com.discord.app.AppFragment
public void onViewBound(View view) {
m.checkNotNullParameter(view, "view");
super.onViewBound(view);
setupRecyclerView();
}
@Override // com.discord.app.AppFragment
public void onViewBoundOrOnResume() {
super.onViewBoundOrOnResume();
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.bindToComponentLifecycle(getViewModel().observeViewState(), this), WidgetChannelMembersList.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetChannelMembersList$onViewBoundOrOnResume$1(this), 62, (Object) null);
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.bindToComponentLifecycle(getViewModel().observeEvents(), this), WidgetChannelMembersList.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetChannelMembersList$onViewBoundOrOnResume$2(this), 62, (Object) null);
Observable<Unit> o = this.scrollListener.observeScrollChanges().o(100, TimeUnit.MILLISECONDS);
m.checkNotNullExpressionValue(o, "scrollListener\n .…S, TimeUnit.MILLISECONDS)");
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(o, this, null, 2, null), WidgetChannelMembersList.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetChannelMembersList$onViewBoundOrOnResume$3(this), 62, (Object) null);
}
}