discord-jadx/app/src/main/java/com/discord/widgets/user/search/WidgetGlobalSearch.java

388 lines
21 KiB
Java

package com.discord.widgets.user.search;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Bundle;
import android.text.SpannableStringBuilder;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import androidx.annotation.MainThread;
import androidx.core.os.BundleKt;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentViewModelLazyKt;
import androidx.recyclerview.widget.RecyclerView;
import c.a.a.m;
import c.d.b.a.a;
import com.airbnb.lottie.parser.AnimatableValueParser;
import com.discord.api.channel.Channel;
import com.discord.app.AppFragment;
import com.discord.app.AppViewFlipper;
import com.discord.databinding.WidgetGlobalSearchBinding;
import com.discord.models.user.User;
import com.discord.stores.StoreGuilds;
import com.discord.stores.StoreNavigation;
import com.discord.stores.StoreStream;
import com.discord.stores.StoreTabsNavigation;
import com.discord.utilities.accessibility.AccessibilityUtils;
import com.discord.utilities.analytics.AnalyticsTracker;
import com.discord.utilities.channel.ChannelSelector;
import com.discord.utilities.color.ColorCompat;
import com.discord.utilities.mg_recycler.MGRecyclerAdapter;
import com.discord.utilities.rx.ObservableExtensionsKt;
import com.discord.utilities.view.extensions.ViewExtensions;
import com.discord.utilities.viewbinding.FragmentViewBindingDelegate;
import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt;
import com.discord.widgets.tabs.NavigationTab;
import com.discord.widgets.user.search.WidgetGlobalSearchGuildsModel;
import com.discord.widgets.user.search.WidgetGlobalSearchModel;
import com.discord.widgets.user.usersheet.WidgetUserSheet;
import com.google.android.material.textfield.TextInputLayout;
import d0.g0.t;
import d0.g0.y;
import d0.o;
import d0.t.n;
import d0.z.d.a0;
import d0.z.d.m;
import j0.l.e.j;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import kotlin.Lazy;
import kotlin.Pair;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.reflect.KProperty;
import rx.Observable;
import rx.subjects.BehaviorSubject;
/* compiled from: WidgetGlobalSearch.kt */
public final class WidgetGlobalSearch extends AppFragment {
public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.V(WidgetGlobalSearch.class, "binding", "getBinding()Lcom/discord/databinding/WidgetGlobalSearchBinding;", 0)};
public static final Companion Companion = new Companion(null);
public static final String EXTRA_SEARCH_TEXT = "EXTRA_SEARCH_TEXT";
private static final int INDEX_EMPTY = 1;
private static final int INDEX_RESULTS = 0;
private static final int INDEX_RESULTS_NOT_FOUND = 2;
private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetGlobalSearch$binding$2.INSTANCE, null, 2, null);
private final Lazy dismissViewModel$delegate = FragmentViewModelLazyKt.createViewModelLazy(this, a0.getOrCreateKotlinClass(WidgetGlobalSearchDismissModel.class), new WidgetGlobalSearch$$special$$inlined$activityViewModels$1(this), new WidgetGlobalSearch$$special$$inlined$activityViewModels$2(this));
private final BehaviorSubject<String> filterPublisher = BehaviorSubject.l0("");
private String filterString;
private WidgetGlobalSearchGuildsAdapter guildsAdapter;
private WidgetGlobalSearchAdapter resultsAdapter;
private final StoreTabsNavigation storeTabsNavigation = StoreStream.Companion.getTabsNavigation();
/* compiled from: WidgetGlobalSearch.kt */
public static final class Companion {
private Companion() {
}
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
public static final /* synthetic */ Pair[] access$getFILTER_OPTIONS_LIST$p(Companion companion) {
return companion.getFILTER_OPTIONS_LIST();
}
public static final /* synthetic */ WidgetGlobalSearchModel.ItemDataPayload access$toWidgetGlobalSearchModelItem(Companion companion, WidgetGlobalSearchGuildsModel.Item item) {
return companion.toWidgetGlobalSearchModelItem(item);
}
public static /* synthetic */ WidgetGlobalSearch create$default(Companion companion, String str, int i, Object obj) {
if ((i & 1) != 0) {
str = null;
}
return companion.create(str);
}
private final Pair<Integer, Character>[] getFILTER_OPTIONS_LIST() {
return new Pair[]{o.to(2131894663, '@'), o.to(2131894050, '#'), o.to(2131894782, '!'), o.to(2131893370, '*')};
}
private final WidgetGlobalSearchModel.ItemDataPayload toWidgetGlobalSearchModelItem(WidgetGlobalSearchGuildsModel.Item item) {
Channel channel = item.getChannel();
User v0 = channel != null ? AnimatableValueParser.v0(channel) : null;
if (item.getGuild() != null) {
return new WidgetGlobalSearchModel.ItemGuild(WidgetGlobalSearchModel.Companion.getEMPTY_MATCH_RESULT(), item.getGuild(), channel, 0, false, 24, null);
}
if (v0 != null) {
return new WidgetGlobalSearchModel.ItemUser(WidgetGlobalSearchModel.Companion.getEMPTY_MATCH_RESULT(), v0, n.emptyList(), false, null, channel, 0, false, 192, null);
}
if (channel == null || !AnimatableValueParser.r1(channel)) {
return null;
}
return new WidgetGlobalSearchModel.ItemChannel(WidgetGlobalSearchModel.Companion.getEMPTY_MATCH_RESULT(), channel, null, null, 0, false, 48, null);
}
public final WidgetGlobalSearch create(String str) {
WidgetGlobalSearch widgetGlobalSearch = new WidgetGlobalSearch();
widgetGlobalSearch.setArguments(BundleKt.bundleOf(o.to("EXTRA_SEARCH_TEXT", str)));
return widgetGlobalSearch;
}
}
public WidgetGlobalSearch() {
super(2131559040);
}
public static final /* synthetic */ void access$configureUI(WidgetGlobalSearch widgetGlobalSearch, WidgetGlobalSearchModel widgetGlobalSearchModel) {
widgetGlobalSearch.configureUI(widgetGlobalSearchModel);
}
public static final /* synthetic */ void access$focusSearchBar(WidgetGlobalSearch widgetGlobalSearch) {
widgetGlobalSearch.focusSearchBar();
}
public static final /* synthetic */ WidgetGlobalSearchBinding access$getBinding$p(WidgetGlobalSearch widgetGlobalSearch) {
return widgetGlobalSearch.getBinding();
}
public static final /* synthetic */ WidgetGlobalSearchDismissModel access$getDismissViewModel$p(WidgetGlobalSearch widgetGlobalSearch) {
return widgetGlobalSearch.getDismissViewModel();
}
public static final /* synthetic */ BehaviorSubject access$getFilterPublisher$p(WidgetGlobalSearch widgetGlobalSearch) {
return widgetGlobalSearch.filterPublisher;
}
public static final /* synthetic */ String access$getFilterString$p(WidgetGlobalSearch widgetGlobalSearch) {
return widgetGlobalSearch.filterString;
}
public static final /* synthetic */ void access$handleOnSelected(WidgetGlobalSearch widgetGlobalSearch, WidgetGlobalSearchModel widgetGlobalSearchModel, View view, int i, WidgetGlobalSearchModel.ItemDataPayload itemDataPayload, boolean z2) {
widgetGlobalSearch.handleOnSelected(widgetGlobalSearchModel, view, i, itemDataPayload, z2);
}
public static final /* synthetic */ void access$onSelected(WidgetGlobalSearch widgetGlobalSearch, NavigationTab navigationTab, StoreNavigation.PanelAction panelAction) {
widgetGlobalSearch.onSelected(navigationTab, panelAction);
}
public static final /* synthetic */ void access$setFilterString$p(WidgetGlobalSearch widgetGlobalSearch, String str) {
widgetGlobalSearch.filterString = str;
}
public static final /* synthetic */ void access$setSearchPrefix(WidgetGlobalSearch widgetGlobalSearch, String str) {
widgetGlobalSearch.setSearchPrefix(str);
}
public static final /* synthetic */ void access$showFilterPickerDialog(WidgetGlobalSearch widgetGlobalSearch) {
widgetGlobalSearch.showFilterPickerDialog();
}
@MainThread
private final void configureUI(WidgetGlobalSearchModel widgetGlobalSearchModel) {
WidgetGlobalSearchGuildsAdapter widgetGlobalSearchGuildsAdapter = this.guildsAdapter;
if (widgetGlobalSearchGuildsAdapter == null) {
m.throwUninitializedPropertyAccessException("guildsAdapter");
}
List<WidgetGlobalSearchGuildsModel.Item> guildsList = widgetGlobalSearchModel.getGuildsList();
if (guildsList == null) {
guildsList = n.emptyList();
}
widgetGlobalSearchGuildsAdapter.setData(guildsList);
WidgetGlobalSearchGuildsAdapter widgetGlobalSearchGuildsAdapter2 = this.guildsAdapter;
if (widgetGlobalSearchGuildsAdapter2 == null) {
m.throwUninitializedPropertyAccessException("guildsAdapter");
}
widgetGlobalSearchGuildsAdapter2.setOnLongClickListener(new WidgetGlobalSearch$configureUI$1(this));
WidgetGlobalSearchGuildsAdapter widgetGlobalSearchGuildsAdapter3 = this.guildsAdapter;
if (widgetGlobalSearchGuildsAdapter3 == null) {
m.throwUninitializedPropertyAccessException("guildsAdapter");
}
widgetGlobalSearchGuildsAdapter3.setOnClickListener(new WidgetGlobalSearch$configureUI$2(this, widgetGlobalSearchModel));
RecyclerView recyclerView = getBinding().e;
m.checkNotNullExpressionValue(recyclerView, "binding.globalSearchGuildList");
List<WidgetGlobalSearchGuildsModel.Item> guildsList2 = widgetGlobalSearchModel.getGuildsList();
int i = 0;
if (!(guildsList2 != null && !guildsList2.isEmpty())) {
i = 8;
}
recyclerView.setVisibility(i);
WidgetGlobalSearchAdapter widgetGlobalSearchAdapter = this.resultsAdapter;
if (widgetGlobalSearchAdapter == null) {
m.throwUninitializedPropertyAccessException("resultsAdapter");
}
widgetGlobalSearchAdapter.setOnUpdated(new WidgetGlobalSearch$configureUI$$inlined$apply$lambda$1(this, widgetGlobalSearchModel));
widgetGlobalSearchAdapter.setData(widgetGlobalSearchModel.getData());
widgetGlobalSearchAdapter.setOnSelectedListener(new WidgetGlobalSearch$configureUI$$inlined$apply$lambda$2(this, widgetGlobalSearchModel));
AppViewFlipper appViewFlipper = getBinding().h;
m.checkNotNullExpressionValue(appViewFlipper, "binding.globalSearchViewFlipper");
appViewFlipper.setDisplayedChild(getViewIndex(widgetGlobalSearchModel));
}
private final void focusSearchBar() {
getBinding().d.requestFocus();
Context context = getContext();
InputMethodManager inputMethodManager = null;
Object systemService = context != null ? context.getSystemService("input_method") : null;
if (systemService instanceof InputMethodManager) {
inputMethodManager = systemService;
}
InputMethodManager inputMethodManager2 = inputMethodManager;
if (inputMethodManager2 != null) {
inputMethodManager2.showSoftInput(getBinding().d, 1);
}
}
private final WidgetGlobalSearchBinding getBinding() {
return (WidgetGlobalSearchBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]);
}
private final WidgetGlobalSearchDismissModel getDismissViewModel() {
return (WidgetGlobalSearchDismissModel) this.dismissViewModel$delegate.getValue();
}
private final int getViewIndex(WidgetGlobalSearchModel widgetGlobalSearchModel) {
if (!widgetGlobalSearchModel.getData().isEmpty()) {
return 0;
}
return t.isBlank(widgetGlobalSearchModel.getFilter()) ^ true ? 2 : 1;
}
private final void handleOnSelected(WidgetGlobalSearchModel widgetGlobalSearchModel, View view, int i, WidgetGlobalSearchModel.ItemDataPayload itemDataPayload, boolean z2) {
if (itemDataPayload instanceof WidgetGlobalSearchModel.ItemUser) {
if (z2) {
WidgetUserSheet.Companion companion = WidgetUserSheet.Companion;
long id2 = ((WidgetGlobalSearchModel.ItemUser) itemDataPayload).getUser().getId();
FragmentManager parentFragmentManager = getParentFragmentManager();
m.checkNotNullExpressionValue(parentFragmentManager, "parentFragmentManager");
WidgetUserSheet.Companion.show$default(companion, id2, null, parentFragmentManager, null, null, null, null, 122, null);
} else {
ChannelSelector instance = ChannelSelector.Companion.getInstance();
Context context = view.getContext();
m.checkNotNullExpressionValue(context, "view.context");
instance.findAndSetDirectMessage(context, ((WidgetGlobalSearchModel.ItemUser) itemDataPayload).getUser().getId());
}
} else if (itemDataPayload instanceof WidgetGlobalSearchModel.ItemChannel) {
ChannelSelector.Companion.getInstance().findAndSet(getContext(), ((WidgetGlobalSearchModel.ItemChannel) itemDataPayload).getChannel().h());
} else if (itemDataPayload instanceof WidgetGlobalSearchModel.ItemGuild) {
StoreStream.Companion.getGuildSelected().set(((WidgetGlobalSearchModel.ItemGuild) itemDataPayload).getGuild().getId());
}
if (!(itemDataPayload instanceof WidgetGlobalSearchModel.ItemHeader) && !z2) {
AnalyticsTracker.INSTANCE.quickSwitcherSelect(widgetGlobalSearchModel, itemDataPayload, i);
onSelected(NavigationTab.HOME, itemDataPayload instanceof WidgetGlobalSearchModel.ItemGuild ? StoreNavigation.PanelAction.OPEN : StoreNavigation.PanelAction.CLOSE);
}
}
private final void onSelected(NavigationTab navigationTab, StoreNavigation.PanelAction panelAction) {
if (navigationTab == NavigationTab.HOME) {
StoreTabsNavigation.selectHomeTab$default(this.storeTabsNavigation, panelAction, false, 2, null);
} else {
StoreTabsNavigation.selectTab$default(this.storeTabsNavigation, navigationTab, false, 2, null);
}
getDismissViewModel().dismiss();
}
public static /* synthetic */ void onSelected$default(WidgetGlobalSearch widgetGlobalSearch, NavigationTab navigationTab, StoreNavigation.PanelAction panelAction, int i, Object obj) {
if ((i & 1) != 0) {
navigationTab = NavigationTab.HOME;
}
if ((i & 2) != 0) {
panelAction = StoreNavigation.PanelAction.CLOSE;
}
widgetGlobalSearch.onSelected(navigationTab, panelAction);
}
@SuppressLint({"SetTextI18n"})
@MainThread
private final void setSearchPrefix(String str) {
CharSequence charSequence;
TextInputLayout textInputLayout = getBinding().f1802c;
m.checkNotNullExpressionValue(textInputLayout, "binding.globalSearchBar");
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(ViewExtensions.getTextOrEmpty(textInputLayout));
if (spannableStringBuilder.length() == 0) {
charSequence = str + ((Object) spannableStringBuilder);
} else {
char first = y.first(spannableStringBuilder);
if (first == '!' || first == '#' || first == '*' || first == '@') {
charSequence = spannableStringBuilder.replace(0, 1, (CharSequence) str);
} else {
charSequence = str + ((Object) spannableStringBuilder);
}
}
m.checkNotNullExpressionValue(charSequence, "newQuery");
if (!t.isBlank(charSequence)) {
TextInputLayout textInputLayout2 = getBinding().f1802c;
ViewExtensions.setText(textInputLayout2, charSequence);
textInputLayout2.post(new WidgetGlobalSearch$setSearchPrefix$1$1(textInputLayout2));
}
}
private final void showFilterPickerDialog() {
Pair[] access$getFILTER_OPTIONS_LIST$p = Companion.access$getFILTER_OPTIONS_LIST$p(Companion);
ArrayList arrayList = new ArrayList(access$getFILTER_OPTIONS_LIST$p.length);
for (Pair pair : access$getFILTER_OPTIONS_LIST$p) {
arrayList.add(getString(((Number) pair.component1()).intValue()));
}
Object[] array = arrayList.toArray(new String[0]);
Objects.requireNonNull(array, "null cannot be cast to non-null type kotlin.Array<T>");
m.a aVar = c.a.a.m.j;
FragmentManager parentFragmentManager = getParentFragmentManager();
d0.z.d.m.checkNotNullExpressionValue(parentFragmentManager, "parentFragmentManager");
String string = getString(2131888524);
d0.z.d.m.checkNotNullExpressionValue(string, "getString(R.string.filter_options)");
aVar.a(parentFragmentManager, string, (String[]) array, new WidgetGlobalSearch$showFilterPickerDialog$1(this));
}
public final void onDismiss() {
hideKeyboard(getBinding().f1802c);
}
@Override // com.discord.app.AppFragment
public void onViewBound(View view) {
String string;
d0.z.d.m.checkNotNullParameter(view, "view");
super.onViewBound(view);
MGRecyclerAdapter.Companion companion = MGRecyclerAdapter.Companion;
RecyclerView recyclerView = getBinding().g;
d0.z.d.m.checkNotNullExpressionValue(recyclerView, "binding.globalSearchRecycler");
this.resultsAdapter = (WidgetGlobalSearchAdapter) companion.configure(new WidgetGlobalSearchAdapter(recyclerView));
RecyclerView recyclerView2 = getBinding().e;
d0.z.d.m.checkNotNullExpressionValue(recyclerView2, "binding.globalSearchGuildList");
this.guildsAdapter = (WidgetGlobalSearchGuildsAdapter) companion.configure(new WidgetGlobalSearchGuildsAdapter(recyclerView2, ColorCompat.getThemedColor(view, 2130969893)));
TextInputLayout textInputLayout = getBinding().f1802c;
d0.z.d.m.checkNotNullExpressionValue(textInputLayout, "binding.globalSearchBar");
ViewExtensions.addBindedTextWatcher(textInputLayout, this, new WidgetGlobalSearch$onViewBound$1(this));
Bundle arguments = getArguments();
if (!(arguments == null || (string = arguments.getString("EXTRA_SEARCH_TEXT")) == null)) {
TextInputLayout textInputLayout2 = getBinding().f1802c;
d0.z.d.m.checkNotNullExpressionValue(textInputLayout2, "binding.globalSearchBar");
ViewExtensions.setText(textInputLayout2, string);
TextInputLayout textInputLayout3 = getBinding().f1802c;
d0.z.d.m.checkNotNullExpressionValue(textInputLayout3, "binding.globalSearchBar");
ViewExtensions.setSelectionEnd(textInputLayout3);
}
getBinding().f1802c.setEndIconOnClickListener(new WidgetGlobalSearch$onViewBound$3(this));
getBinding().f1802c.setStartIconOnClickListener(new WidgetGlobalSearch$onViewBound$4(this));
j jVar = new j(Unit.a);
d0.z.d.m.checkNotNullExpressionValue(jVar, "Observable.just(Unit)");
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(jVar, this, null, 2, null), WidgetGlobalSearch.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetGlobalSearch$onViewBound$5(this), 62, (Object) null);
getBinding().b.setOnClickListener(new WidgetGlobalSearch$onViewBound$6(this));
getBinding().f.setOnClickListener(new WidgetGlobalSearch$onViewBound$7(this));
if (AccessibilityUtils.INSTANCE.isReducedMotionEnabled()) {
RecyclerView recyclerView3 = getBinding().g;
d0.z.d.m.checkNotNullExpressionValue(recyclerView3, "binding.globalSearchRecycler");
recyclerView3.setItemAnimator(null);
}
}
@Override // com.discord.app.AppFragment
public void onViewBoundOrOnResume() {
super.onViewBoundOrOnResume();
WidgetGlobalSearchModel.Companion companion = WidgetGlobalSearchModel.Companion;
BehaviorSubject<String> behaviorSubject = this.filterPublisher;
d0.z.d.m.checkNotNullExpressionValue(behaviorSubject, "filterPublisher");
Observable<WidgetGlobalSearchModel> forNav = companion.getForNav(behaviorSubject);
WidgetGlobalSearchAdapter widgetGlobalSearchAdapter = this.resultsAdapter;
if (widgetGlobalSearchAdapter == null) {
d0.z.d.m.throwUninitializedPropertyAccessException("resultsAdapter");
}
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui(forNav, this, widgetGlobalSearchAdapter), WidgetGlobalSearch.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetGlobalSearch$onViewBoundOrOnResume$1(this), 62, (Object) null);
BehaviorSubject<String> behaviorSubject2 = this.filterPublisher;
d0.z.d.m.checkNotNullExpressionValue(behaviorSubject2, "filterPublisher");
StoreGuilds.Actions.requestMembers(this, behaviorSubject2, false);
}
}