282 lines
14 KiB
Java
282 lines
14 KiB
Java
package com.discord.widgets.search.suggestions;
|
|
|
|
import android.content.Context;
|
|
import android.view.View;
|
|
import androidx.fragment.app.Fragment;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
import c.d.b.a.a;
|
|
import com.discord.app.AppFragment;
|
|
import com.discord.databinding.WidgetSearchSuggestionsBinding;
|
|
import com.discord.stores.StoreStream;
|
|
import com.discord.utilities.accessibility.AccessibilityUtils;
|
|
import com.discord.utilities.mg_recycler.MGRecyclerAdapter;
|
|
import com.discord.utilities.mg_recycler.MGRecyclerDataPayload;
|
|
import com.discord.utilities.rx.ObservableExtensionsKt;
|
|
import com.discord.utilities.search.query.node.QueryNode;
|
|
import com.discord.utilities.search.strings.ContextSearchStringProvider;
|
|
import com.discord.utilities.search.strings.SearchStringProvider;
|
|
import com.discord.utilities.search.suggestion.entries.ChannelSuggestion;
|
|
import com.discord.utilities.search.suggestion.entries.FilterSuggestion;
|
|
import com.discord.utilities.search.suggestion.entries.HasSuggestion;
|
|
import com.discord.utilities.search.suggestion.entries.RecentQuerySuggestion;
|
|
import com.discord.utilities.search.suggestion.entries.SearchSuggestion;
|
|
import com.discord.utilities.search.suggestion.entries.UserSuggestion;
|
|
import com.discord.utilities.viewbinding.FragmentViewBindingDelegate;
|
|
import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt;
|
|
import d0.z.d.m;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import kotlin.jvm.functions.Function0;
|
|
import kotlin.jvm.functions.Function1;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import kotlin.reflect.KProperty;
|
|
import rx.Observable;
|
|
/* compiled from: WidgetSearchSuggestions.kt */
|
|
public final class WidgetSearchSuggestions extends AppFragment {
|
|
public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.W(WidgetSearchSuggestions.class, "binding", "getBinding()Lcom/discord/databinding/WidgetSearchSuggestionsBinding;", 0)};
|
|
private WidgetSearchSuggestionsAdapter adapter;
|
|
private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetSearchSuggestions$binding$2.INSTANCE, null, 2, null);
|
|
private SearchStringProvider searchStringProvider;
|
|
|
|
/* compiled from: WidgetSearchSuggestions.kt */
|
|
public static final class Model {
|
|
public static final Companion Companion = new Companion(null);
|
|
private final List<QueryNode> query;
|
|
private final List<SearchSuggestion> suggestionEntries;
|
|
private final List<MGRecyclerDataPayload> suggestionItems = new ArrayList();
|
|
|
|
/* compiled from: WidgetSearchSuggestions.kt */
|
|
public static final class Companion {
|
|
private Companion() {
|
|
}
|
|
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
public final Observable<Model> get(SearchStringProvider searchStringProvider) {
|
|
m.checkNotNullParameter(searchStringProvider, "searchStringProvider");
|
|
StoreStream.Companion companion = StoreStream.Companion;
|
|
Observable i = Observable.i(companion.getSearch().getStoreSearchData().get(), companion.getSearch().getStoreSearchInput().getCurrentParsedInput(), companion.getSearch().getHistory(), new WidgetSearchSuggestions$Model$Companion$get$1(searchStringProvider));
|
|
m.checkNotNullExpressionValue(i, "Observable.combineLatest…gestionEntries)\n }");
|
|
Observable<Model> r = ObservableExtensionsKt.computationLatest(i).r();
|
|
m.checkNotNullExpressionValue(r, "Observable.combineLatest…().distinctUntilChanged()");
|
|
return r;
|
|
}
|
|
}
|
|
|
|
public final /* synthetic */ class WhenMappings {
|
|
public static final /* synthetic */ int[] $EnumSwitchMapping$0;
|
|
|
|
static {
|
|
SearchSuggestion.Category.values();
|
|
int[] iArr = new int[7];
|
|
$EnumSwitchMapping$0 = iArr;
|
|
iArr[SearchSuggestion.Category.FILTER.ordinal()] = 1;
|
|
iArr[SearchSuggestion.Category.FROM_USER.ordinal()] = 2;
|
|
iArr[SearchSuggestion.Category.MENTIONS_USER.ordinal()] = 3;
|
|
iArr[SearchSuggestion.Category.IN_CHANNEL.ordinal()] = 4;
|
|
iArr[SearchSuggestion.Category.HAS.ordinal()] = 5;
|
|
iArr[SearchSuggestion.Category.RECENT_QUERY.ordinal()] = 6;
|
|
}
|
|
}
|
|
|
|
/* JADX DEBUG: Multi-variable search result rejected for r5v0, resolved type: java.util.List<? extends com.discord.utilities.search.suggestion.entries.SearchSuggestion> */
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
public Model(List<QueryNode> list, List<? extends SearchSuggestion> list2) {
|
|
m.checkNotNullParameter(list, "query");
|
|
m.checkNotNullParameter(list2, "suggestionEntries");
|
|
this.query = list;
|
|
this.suggestionEntries = list2;
|
|
SearchSuggestion.Category category = null;
|
|
for (SearchSuggestion searchSuggestion : list2) {
|
|
SearchSuggestion.Category category2 = searchSuggestion.getCategory();
|
|
if (category == null || category2 != category) {
|
|
this.suggestionItems.add(WidgetSearchSuggestionsAdapter.Companion.getHeaderItem(category2));
|
|
category = category2;
|
|
}
|
|
int ordinal = category2.ordinal();
|
|
if (ordinal == 0) {
|
|
this.suggestionItems.add(WidgetSearchSuggestionsAdapter.Companion.getFilterItem((FilterSuggestion) searchSuggestion));
|
|
} else if (ordinal == 1 || ordinal == 2) {
|
|
this.suggestionItems.add(WidgetSearchSuggestionsAdapter.Companion.getUserItem((UserSuggestion) searchSuggestion));
|
|
} else if (ordinal == 3) {
|
|
this.suggestionItems.add(WidgetSearchSuggestionsAdapter.Companion.getHasItem((HasSuggestion) searchSuggestion));
|
|
} else if (ordinal == 5) {
|
|
this.suggestionItems.add(WidgetSearchSuggestionsAdapter.Companion.getInChannelItem((ChannelSuggestion) searchSuggestion));
|
|
} else if (ordinal == 6) {
|
|
this.suggestionItems.add(WidgetSearchSuggestionsAdapter.Companion.getRecentQueryItem((RecentQuerySuggestion) searchSuggestion));
|
|
}
|
|
}
|
|
}
|
|
|
|
/* JADX DEBUG: Multi-variable search result rejected for r0v0, resolved type: com.discord.widgets.search.suggestions.WidgetSearchSuggestions$Model */
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
public static /* synthetic */ Model copy$default(Model model, List list, List list2, int i, Object obj) {
|
|
if ((i & 1) != 0) {
|
|
list = model.query;
|
|
}
|
|
if ((i & 2) != 0) {
|
|
list2 = model.suggestionEntries;
|
|
}
|
|
return model.copy(list, list2);
|
|
}
|
|
|
|
public final List<QueryNode> component1() {
|
|
return this.query;
|
|
}
|
|
|
|
public final List<SearchSuggestion> component2() {
|
|
return this.suggestionEntries;
|
|
}
|
|
|
|
public final Model copy(List<QueryNode> list, List<? extends SearchSuggestion> list2) {
|
|
m.checkNotNullParameter(list, "query");
|
|
m.checkNotNullParameter(list2, "suggestionEntries");
|
|
return new Model(list, list2);
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (!(obj instanceof Model)) {
|
|
return false;
|
|
}
|
|
Model model = (Model) obj;
|
|
return m.areEqual(this.query, model.query) && m.areEqual(this.suggestionEntries, model.suggestionEntries);
|
|
}
|
|
|
|
public final List<QueryNode> getQuery() {
|
|
return this.query;
|
|
}
|
|
|
|
public final List<SearchSuggestion> getSuggestionEntries() {
|
|
return this.suggestionEntries;
|
|
}
|
|
|
|
public final List<MGRecyclerDataPayload> getSuggestionItems() {
|
|
return this.suggestionItems;
|
|
}
|
|
|
|
public int hashCode() {
|
|
List<QueryNode> list = this.query;
|
|
int i = 0;
|
|
int hashCode = (list != null ? list.hashCode() : 0) * 31;
|
|
List<SearchSuggestion> list2 = this.suggestionEntries;
|
|
if (list2 != null) {
|
|
i = list2.hashCode();
|
|
}
|
|
return hashCode + i;
|
|
}
|
|
|
|
public String toString() {
|
|
StringBuilder L = a.L("Model(query=");
|
|
L.append(this.query);
|
|
L.append(", suggestionEntries=");
|
|
return a.E(L, this.suggestionEntries, ")");
|
|
}
|
|
}
|
|
|
|
public final /* synthetic */ class WhenMappings {
|
|
public static final /* synthetic */ int[] $EnumSwitchMapping$0;
|
|
|
|
static {
|
|
UserSuggestion.TargetType.values();
|
|
int[] iArr = new int[2];
|
|
$EnumSwitchMapping$0 = iArr;
|
|
iArr[UserSuggestion.TargetType.FROM.ordinal()] = 1;
|
|
iArr[UserSuggestion.TargetType.MENTIONS.ordinal()] = 2;
|
|
}
|
|
}
|
|
|
|
public WidgetSearchSuggestions() {
|
|
super(2131559129);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$configureUI(WidgetSearchSuggestions widgetSearchSuggestions, Model model) {
|
|
widgetSearchSuggestions.configureUI(model);
|
|
}
|
|
|
|
public static final /* synthetic */ SearchStringProvider access$getSearchStringProvider$p(WidgetSearchSuggestions widgetSearchSuggestions) {
|
|
SearchStringProvider searchStringProvider = widgetSearchSuggestions.searchStringProvider;
|
|
if (searchStringProvider == null) {
|
|
m.throwUninitializedPropertyAccessException("searchStringProvider");
|
|
}
|
|
return searchStringProvider;
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setSearchStringProvider$p(WidgetSearchSuggestions widgetSearchSuggestions, SearchStringProvider searchStringProvider) {
|
|
widgetSearchSuggestions.searchStringProvider = searchStringProvider;
|
|
}
|
|
|
|
private final void configureUI(Model model) {
|
|
WidgetSearchSuggestionsAdapter widgetSearchSuggestionsAdapter = this.adapter;
|
|
if (widgetSearchSuggestionsAdapter == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetSearchSuggestionsAdapter.setData(model.getSuggestionItems());
|
|
WidgetSearchSuggestionsAdapter widgetSearchSuggestionsAdapter2 = this.adapter;
|
|
if (widgetSearchSuggestionsAdapter2 == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetSearchSuggestionsAdapter2.setOnFilterClicked(new WidgetSearchSuggestions$configureUI$1(this, model));
|
|
WidgetSearchSuggestionsAdapter widgetSearchSuggestionsAdapter3 = this.adapter;
|
|
if (widgetSearchSuggestionsAdapter3 == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetSearchSuggestionsAdapter3.setOnUserClicked(new WidgetSearchSuggestions$configureUI$2(this, model));
|
|
WidgetSearchSuggestionsAdapter widgetSearchSuggestionsAdapter4 = this.adapter;
|
|
if (widgetSearchSuggestionsAdapter4 == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetSearchSuggestionsAdapter4.setOnChannelClicked(new WidgetSearchSuggestions$configureUI$3(this, model));
|
|
WidgetSearchSuggestionsAdapter widgetSearchSuggestionsAdapter5 = this.adapter;
|
|
if (widgetSearchSuggestionsAdapter5 == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetSearchSuggestionsAdapter5.setOnHasClicked(new WidgetSearchSuggestions$configureUI$4(this, model));
|
|
WidgetSearchSuggestionsAdapter widgetSearchSuggestionsAdapter6 = this.adapter;
|
|
if (widgetSearchSuggestionsAdapter6 == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetSearchSuggestionsAdapter6.setOnRecentQueryClicked(WidgetSearchSuggestions$configureUI$5.INSTANCE);
|
|
WidgetSearchSuggestionsAdapter widgetSearchSuggestionsAdapter7 = this.adapter;
|
|
if (widgetSearchSuggestionsAdapter7 == null) {
|
|
m.throwUninitializedPropertyAccessException("adapter");
|
|
}
|
|
widgetSearchSuggestionsAdapter7.setOnClearHistoryClicked(WidgetSearchSuggestions$configureUI$6.INSTANCE);
|
|
}
|
|
|
|
private final WidgetSearchSuggestionsBinding getBinding() {
|
|
return (WidgetSearchSuggestionsBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]);
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment
|
|
public void onViewBound(View view) {
|
|
m.checkNotNullParameter(view, "view");
|
|
super.onViewBound(view);
|
|
MGRecyclerAdapter.Companion companion = MGRecyclerAdapter.Companion;
|
|
RecyclerView recyclerView = getBinding().b;
|
|
m.checkNotNullExpressionValue(recyclerView, "binding.searchSuggestionsRecycler");
|
|
this.adapter = (WidgetSearchSuggestionsAdapter) companion.configure(new WidgetSearchSuggestionsAdapter(recyclerView));
|
|
if (AccessibilityUtils.INSTANCE.isReducedMotionEnabled()) {
|
|
RecyclerView recyclerView2 = getBinding().b;
|
|
m.checkNotNullExpressionValue(recyclerView2, "binding.searchSuggestionsRecycler");
|
|
recyclerView2.setItemAnimator(null);
|
|
}
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment
|
|
public void onViewBoundOrOnResume() {
|
|
super.onViewBoundOrOnResume();
|
|
ContextSearchStringProvider contextSearchStringProvider = new ContextSearchStringProvider(requireContext());
|
|
this.searchStringProvider = contextSearchStringProvider;
|
|
Model.Companion companion = Model.Companion;
|
|
if (contextSearchStringProvider == null) {
|
|
m.throwUninitializedPropertyAccessException("searchStringProvider");
|
|
}
|
|
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(companion.get(contextSearchStringProvider), this, null, 2, null), WidgetSearchSuggestions.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetSearchSuggestions$onViewBoundOrOnResume$1(this), 62, (Object) null);
|
|
}
|
|
}
|