package com.discord.widgets.chat.input.emoji; import android.content.Context; import android.content.res.ColorStateList; import android.os.Build; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import androidx.appcompat.widget.Toolbar; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.coordinatorlayout.widget.CoordinatorLayout; 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.GridLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import c.a.a.e.a; import c.a.d.g0; import c.a.k.b; import c.d.b.a.a; import com.discord.app.AppFragment; import com.discord.app.AppViewFlipper; import com.discord.databinding.WidgetEmojiPickerBinding; import com.discord.models.domain.emoji.Emoji; import com.discord.utilities.KotlinExtensionsKt; import com.discord.utilities.analytics.AnalyticsTracker; import com.discord.utilities.color.ColorCompat; import com.discord.utilities.dimen.DimenUtils; import com.discord.utilities.press.RepeatingOnTouchListener; import com.discord.utilities.recycler.SelfHealingLinearLayoutManager; import com.discord.utilities.rx.LeadingEdgeThrottle; import com.discord.utilities.rx.ObservableExtensionsKt; import com.discord.utilities.view.text.TextWatcherKt; import com.discord.utilities.viewbinding.FragmentViewBindingDelegate; import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt; import com.discord.utilities.views.StickyHeaderItemDecoration; import com.discord.widgets.chat.input.OnBackspacePressedListener; import com.discord.widgets.chat.input.emoji.EmojiCategoryItem; import com.discord.widgets.chat.input.emoji.EmojiPickerViewModel; import com.discord.widgets.chat.input.emoji.WidgetEmojiAdapter; import com.discord.widgets.settings.premium.WidgetSettingsPremium; import com.google.android.material.appbar.AppBarLayout; import com.google.android.material.textfield.TextInputEditText; import d0.z.d.a0; import d0.z.d.m; import j0.l.a.r; import java.io.Serializable; import java.util.List; import java.util.Objects; import java.util.concurrent.TimeUnit; import kotlin.Lazy; import kotlin.NoWhenBranchMatchedException; import kotlin.Pair; import kotlin.Unit; import kotlin.jvm.functions.Function0; import kotlin.jvm.functions.Function1; import kotlin.jvm.internal.DefaultConstructorMarker; import kotlin.ranges.IntRange; import kotlin.reflect.KProperty; import rx.Observable; import rx.subjects.PublishSubject; /* compiled from: WidgetEmojiPicker.kt */ public final class WidgetEmojiPicker extends AppFragment implements OnEmojiSelectedListener { public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.V(WidgetEmojiPicker.class, "binding", "getBinding()Lcom/discord/databinding/WidgetEmojiPickerBinding;", 0)}; public static final Companion Companion = new Companion(null); private static final int EMOJI_PICKER_VIEW_FLIPPER_EMPTY_STATE = 1; private static final int EMOJI_PICKER_VIEW_FLIPPER_RESULTS = 0; private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetEmojiPicker$binding$2.INSTANCE, null, 2, null); private EmojiCategoryAdapter categoryAdapter; private LinearLayoutManager categoryLayoutManager; private WidgetEmojiAdapter emojiAdapter; private final PublishSubject emojiCategoryScrollSubject = PublishSubject.k0(); private EmojiPickerListener emojiPickerListener; private EmojiPickerMode emojiPickerMode; private boolean isNextCategoryScrollSmooth = true; private OnBackspacePressedListener onBackspacePressedListener; private Function0 onEmojiSearchOpenedListener; private EmojiPickerViewModel.ViewState previousViewState; private boolean restoredSearchQueryFromViewModel; private final Lazy viewModelForInline$delegate = FragmentViewModelLazyKt.createViewModelLazy(this, a0.getOrCreateKotlinClass(EmojiPickerViewModel.Inline.class), new WidgetEmojiPicker$appActivityViewModels$$inlined$activityViewModels$1(this), new g0(new WidgetEmojiPicker$viewModelForInline$2(this))); private final Lazy viewModelForSheet$delegate = FragmentViewModelLazyKt.createViewModelLazy(this, a0.getOrCreateKotlinClass(EmojiPickerViewModel.Sheet.class), new WidgetEmojiPicker$appActivityViewModels$$inlined$activityViewModels$3(this), new g0(new WidgetEmojiPicker$viewModelForSheet$2(this))); /* compiled from: WidgetEmojiPicker.kt */ public static final class Companion { private Companion() { } public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) { this(); } } public WidgetEmojiPicker() { super(2131559013); } public static final /* synthetic */ void access$checkUpsellHeaderVisibility(WidgetEmojiPicker widgetEmojiPicker, RecyclerView recyclerView) { widgetEmojiPicker.checkUpsellHeaderVisibility(recyclerView); } public static final /* synthetic */ void access$configureUI(WidgetEmojiPicker widgetEmojiPicker, EmojiPickerViewModel.ViewState viewState) { widgetEmojiPicker.configureUI(viewState); } public static final /* synthetic */ void access$configureUnicodeCategoriesShortcutButton(WidgetEmojiPicker widgetEmojiPicker, EmojiPickerViewModel.ViewState viewState) { widgetEmojiPicker.configureUnicodeCategoriesShortcutButton(viewState); } public static final /* synthetic */ int access$getAdditionalBottomPaddingPx(WidgetEmojiPicker widgetEmojiPicker) { return widgetEmojiPicker.getAdditionalBottomPaddingPx(); } public static final /* synthetic */ WidgetEmojiPickerBinding access$getBinding$p(WidgetEmojiPicker widgetEmojiPicker) { return widgetEmojiPicker.getBinding(); } public static final /* synthetic */ PublishSubject access$getEmojiCategoryScrollSubject$p(WidgetEmojiPicker widgetEmojiPicker) { return widgetEmojiPicker.emojiCategoryScrollSubject; } public static final /* synthetic */ EmojiPickerContextType access$getEmojiPickerContextType$p(WidgetEmojiPicker widgetEmojiPicker) { return widgetEmojiPicker.getEmojiPickerContextType(); } public static final /* synthetic */ EmojiPickerListener access$getEmojiPickerListener$p(WidgetEmojiPicker widgetEmojiPicker) { return widgetEmojiPicker.emojiPickerListener; } public static final /* synthetic */ EmojiPickerMode access$getEmojiPickerMode$p(WidgetEmojiPicker widgetEmojiPicker) { return widgetEmojiPicker.emojiPickerMode; } public static final /* synthetic */ OnBackspacePressedListener access$getOnBackspacePressedListener$p(WidgetEmojiPicker widgetEmojiPicker) { return widgetEmojiPicker.onBackspacePressedListener; } public static final /* synthetic */ Function0 access$getOnEmojiSearchOpenedListener$p(WidgetEmojiPicker widgetEmojiPicker) { return widgetEmojiPicker.onEmojiSearchOpenedListener; } public static final /* synthetic */ EmojiPickerViewModel.ViewState access$getPreviousViewState$p(WidgetEmojiPicker widgetEmojiPicker) { return widgetEmojiPicker.previousViewState; } public static final /* synthetic */ EmojiPickerViewModel access$getViewModel$p(WidgetEmojiPicker widgetEmojiPicker) { return widgetEmojiPicker.getViewModel(); } public static final /* synthetic */ void access$handleEvent(WidgetEmojiPicker widgetEmojiPicker, EmojiPickerViewModel.Event event) { widgetEmojiPicker.handleEvent(event); } public static final /* synthetic */ void access$handleInputChanged(WidgetEmojiPicker widgetEmojiPicker, String str) { widgetEmojiPicker.handleInputChanged(str); } public static final /* synthetic */ void access$handleNewEmojiRecyclerScrollPosition(WidgetEmojiPicker widgetEmojiPicker, int i, List list) { widgetEmojiPicker.handleNewEmojiRecyclerScrollPosition(i, list); } public static final /* synthetic */ boolean access$isNextCategoryScrollSmooth$p(WidgetEmojiPicker widgetEmojiPicker) { return widgetEmojiPicker.isNextCategoryScrollSmooth; } public static final /* synthetic */ void access$launchBottomSheet(WidgetEmojiPicker widgetEmojiPicker) { widgetEmojiPicker.launchBottomSheet(); } public static final /* synthetic */ void access$onCategoryClicked(WidgetEmojiPicker widgetEmojiPicker, EmojiCategoryItem emojiCategoryItem) { widgetEmojiPicker.onCategoryClicked(emojiCategoryItem); } public static final /* synthetic */ void access$onPremiumCtaClicked(WidgetEmojiPicker widgetEmojiPicker) { widgetEmojiPicker.onPremiumCtaClicked(); } public static final /* synthetic */ void access$onSelectedCategoryAdapterPositionUpdated(WidgetEmojiPicker widgetEmojiPicker, int i) { widgetEmojiPicker.onSelectedCategoryAdapterPositionUpdated(i); } public static final /* synthetic */ void access$setEmojiPickerListener$p(WidgetEmojiPicker widgetEmojiPicker, EmojiPickerListener emojiPickerListener) { widgetEmojiPicker.emojiPickerListener = emojiPickerListener; } public static final /* synthetic */ void access$setEmojiPickerMode$p(WidgetEmojiPicker widgetEmojiPicker, EmojiPickerMode emojiPickerMode) { widgetEmojiPicker.emojiPickerMode = emojiPickerMode; } public static final /* synthetic */ void access$setNextCategoryScrollSmooth$p(WidgetEmojiPicker widgetEmojiPicker, boolean z2) { widgetEmojiPicker.isNextCategoryScrollSmooth = z2; } public static final /* synthetic */ void access$setOnBackspacePressedListener$p(WidgetEmojiPicker widgetEmojiPicker, OnBackspacePressedListener onBackspacePressedListener) { widgetEmojiPicker.onBackspacePressedListener = onBackspacePressedListener; } public static final /* synthetic */ void access$setOnEmojiSearchOpenedListener$p(WidgetEmojiPicker widgetEmojiPicker, Function0 function0) { widgetEmojiPicker.onEmojiSearchOpenedListener = function0; } public static final /* synthetic */ void access$setPreviousViewState$p(WidgetEmojiPicker widgetEmojiPicker, EmojiPickerViewModel.ViewState viewState) { widgetEmojiPicker.previousViewState = viewState; } private final void checkUpsellHeaderVisibility(RecyclerView recyclerView) { RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager(); Objects.requireNonNull(layoutManager, "null cannot be cast to non-null type androidx.recyclerview.widget.GridLayoutManager"); GridLayoutManager gridLayoutManager = (GridLayoutManager) layoutManager; int findFirstCompletelyVisibleItemPosition = gridLayoutManager.findFirstCompletelyVisibleItemPosition(); int findLastCompletelyVisibleItemPosition = gridLayoutManager.findLastCompletelyVisibleItemPosition(); if (findLastCompletelyVisibleItemPosition >= findFirstCompletelyVisibleItemPosition) { while (true) { RecyclerView.ViewHolder findViewHolderForAdapterPosition = recyclerView.findViewHolderForAdapterPosition(findLastCompletelyVisibleItemPosition); WidgetEmojiAdapter.HeaderItem.StringHeaderItem stringHeaderItem = null; if (!(findViewHolderForAdapterPosition instanceof WidgetEmojiAdapter.HeaderViewHolder)) { findViewHolderForAdapterPosition = null; } WidgetEmojiAdapter.HeaderViewHolder headerViewHolder = (WidgetEmojiAdapter.HeaderViewHolder) findViewHolderForAdapterPosition; if (headerViewHolder != null) { WidgetEmojiAdapter.HeaderItem boundItem = headerViewHolder.getBoundItem(); if (boundItem instanceof WidgetEmojiAdapter.HeaderItem.StringHeaderItem) { stringHeaderItem = boundItem; } WidgetEmojiAdapter.HeaderItem.StringHeaderItem stringHeaderItem2 = stringHeaderItem; if (stringHeaderItem2 != null && stringHeaderItem2.getStringRes() == 2131888276) { getViewModel().onUpsellHeaderVisible(); } } if (findLastCompletelyVisibleItemPosition != findFirstCompletelyVisibleItemPosition) { findLastCompletelyVisibleItemPosition--; } else { return; } } } } private final void configureUI(EmojiPickerViewModel.ViewState viewState) { Unit unit; String searchQuery = viewState != null ? viewState.getSearchQuery() : null; if (!this.restoredSearchQueryFromViewModel && searchQuery != null) { this.restoredSearchQueryFromViewModel = true; getBinding().m.setText(searchQuery); } if (viewState != null) { if (viewState instanceof EmojiPickerViewModel.ViewState.EmptySearch) { AppViewFlipper appViewFlipper = getBinding().f1784c; m.checkNotNullExpressionValue(appViewFlipper, "binding.chatInputEmojiPickerViewFlipper"); appViewFlipper.setDisplayedChild(1); setEmojiPickerBottomBarVisible(false); unit = Unit.a; } else if (viewState instanceof EmojiPickerViewModel.ViewState.Results) { EmojiPickerViewModel.ViewState.Results results = (EmojiPickerViewModel.ViewState.Results) viewState; setEmojiPickerBottomBarVisible(results.getShowBottomBar()); AppViewFlipper appViewFlipper2 = getBinding().f1784c; m.checkNotNullExpressionValue(appViewFlipper2, "binding.chatInputEmojiPickerViewFlipper"); appViewFlipper2.setDisplayedChild(0); WidgetEmojiAdapter widgetEmojiAdapter = this.emojiAdapter; if (widgetEmojiAdapter == null) { m.throwUninitializedPropertyAccessException("emojiAdapter"); } widgetEmojiAdapter.setData(results.getResultItems()); WidgetEmojiAdapter widgetEmojiAdapter2 = this.emojiAdapter; if (widgetEmojiAdapter2 == null) { m.throwUninitializedPropertyAccessException("emojiAdapter"); } widgetEmojiAdapter2.setOnScrollPositionListener(new WidgetEmojiPicker$configureUI$1(this, viewState)); EmojiCategoryAdapter emojiCategoryAdapter = this.categoryAdapter; if (emojiCategoryAdapter == null) { m.throwUninitializedPropertyAccessException("categoryAdapter"); } emojiCategoryAdapter.setItems(results.getCategoryItems()); configureUnicodeCategoriesShortcutButton(viewState); unit = Unit.a; } else { throw new NoWhenBranchMatchedException(); } KotlinExtensionsKt.getExhaustive(unit); this.previousViewState = viewState; } } private final void configureUnicodeCategoriesShortcutButton(EmojiPickerViewModel.ViewState viewState) { if (!(viewState instanceof EmojiPickerViewModel.ViewState.Results)) { viewState = null; } EmojiPickerViewModel.ViewState.Results results = (EmojiPickerViewModel.ViewState.Results) viewState; if (results != null) { EmojiCategoryItem.StandardItem firstUnicodeEmojiCategoryItem = results.getFirstUnicodeEmojiCategoryItem(); if (firstUnicodeEmojiCategoryItem != null) { getBinding().k.setImageDrawable(ContextCompat.getDrawable(requireContext(), EmojiCategoryViewHolder.Companion.getCategoryIconResId(firstUnicodeEmojiCategoryItem.getEmojiCategory()))); } LinearLayoutManager linearLayoutManager = this.categoryLayoutManager; if (linearLayoutManager == null) { m.throwUninitializedPropertyAccessException("categoryLayoutManager"); } int findFirstCompletelyVisibleItemPosition = linearLayoutManager.findFirstCompletelyVisibleItemPosition(); LinearLayoutManager linearLayoutManager2 = this.categoryLayoutManager; if (linearLayoutManager2 == null) { m.throwUninitializedPropertyAccessException("categoryLayoutManager"); } int findLastCompletelyVisibleItemPosition = linearLayoutManager2.findLastCompletelyVisibleItemPosition(); if (findFirstCompletelyVisibleItemPosition != -1 && findLastCompletelyVisibleItemPosition != -1) { EmojiCategoryAdapter emojiCategoryAdapter = this.categoryAdapter; if (emojiCategoryAdapter == null) { m.throwUninitializedPropertyAccessException("categoryAdapter"); } if (findLastCompletelyVisibleItemPosition < emojiCategoryAdapter.getItemCount()) { EmojiCategoryAdapter emojiCategoryAdapter2 = this.categoryAdapter; if (emojiCategoryAdapter2 == null) { m.throwUninitializedPropertyAccessException("categoryAdapter"); } EmojiCategoryItem itemAtPosition = emojiCategoryAdapter2.getItemAtPosition(findFirstCompletelyVisibleItemPosition); EmojiCategoryAdapter emojiCategoryAdapter3 = this.categoryAdapter; if (emojiCategoryAdapter3 == null) { m.throwUninitializedPropertyAccessException("categoryAdapter"); } EmojiCategoryItem itemAtPosition2 = emojiCategoryAdapter3.getItemAtPosition(findLastCompletelyVisibleItemPosition); boolean z2 = true; int i = 0; boolean z3 = itemAtPosition.containsOnlyUnicodeEmoji() || itemAtPosition2.containsOnlyUnicodeEmoji(); ImageView imageView = getBinding().k; m.checkNotNullExpressionValue(imageView, "binding.emojiPickerUnicodeEmojiShortcutButton"); if (z3 || firstUnicodeEmojiCategoryItem == null) { z2 = false; } if (!z2) { i = 8; } imageView.setVisibility(i); } } } } private final int getAdditionalBottomPaddingPx() { if (Build.VERSION.SDK_INT >= 29) { return DimenUtils.dpToPixels(8); } return 0; } private final WidgetEmojiPickerBinding getBinding() { return (WidgetEmojiPickerBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]); } private final EmojiPickerContextType getEmojiPickerContextType() { Bundle arguments = getArguments(); Serializable serializable = arguments != null ? arguments.getSerializable("EMOJI_PICKER_CONTEXT_TYPE") : null; Objects.requireNonNull(serializable, "null cannot be cast to non-null type com.discord.widgets.chat.input.emoji.EmojiPickerContextType"); return (EmojiPickerContextType) serializable; } private final EmojiPickerMode getMode() { Bundle arguments = getArguments(); EmojiPickerMode emojiPickerMode = null; Serializable serializable = arguments != null ? arguments.getSerializable("MODE") : null; if (serializable instanceof EmojiPickerMode) { emojiPickerMode = serializable; } EmojiPickerMode emojiPickerMode2 = emojiPickerMode; return emojiPickerMode2 != null ? emojiPickerMode2 : EmojiPickerMode.INLINE; } private final EmojiPickerViewModel getViewModel() { return getMode() == EmojiPickerMode.INLINE ? getViewModelForInline() : getViewModelForSheet(); } private final EmojiPickerViewModel.Inline getViewModelForInline() { return (EmojiPickerViewModel.Inline) this.viewModelForInline$delegate.getValue(); } private final EmojiPickerViewModel.Sheet getViewModelForSheet() { return (EmojiPickerViewModel.Sheet) this.viewModelForSheet$delegate.getValue(); } private final void handleEvent(EmojiPickerViewModel.Event event) { Unit unit; if (event instanceof EmojiPickerViewModel.Event.ScrollToEmojiListPosition) { WidgetEmojiAdapter widgetEmojiAdapter = this.emojiAdapter; if (widgetEmojiAdapter == null) { m.throwUninitializedPropertyAccessException("emojiAdapter"); } widgetEmojiAdapter.scrollToPosition(((EmojiPickerViewModel.Event.ScrollToEmojiListPosition) event).getPosition()); unit = Unit.a; } else if (event instanceof EmojiPickerViewModel.Event.ShowPremiumUpsellDialog) { a.b bVar = c.a.a.e.a.j; FragmentManager parentFragmentManager = getParentFragmentManager(); m.checkNotNullExpressionValue(parentFragmentManager, "parentFragmentManager"); EmojiPickerViewModel.Event.ShowPremiumUpsellDialog showPremiumUpsellDialog = (EmojiPickerViewModel.Event.ShowPremiumUpsellDialog) event; a.b.a(bVar, parentFragmentManager, showPremiumUpsellDialog.getPageNumber(), b.j(this, showPremiumUpsellDialog.getHeader(), new Object[0], null, 4).toString(), b.j(this, showPremiumUpsellDialog.getBody(), new Object[0], null, 4).toString(), null, showPremiumUpsellDialog.getSectionName(), null, null, showPremiumUpsellDialog.getShowOtherPages(), showPremiumUpsellDialog.getShowLearnMore(), 208); unit = Unit.a; } else { throw new NoWhenBranchMatchedException(); } KotlinExtensionsKt.getExhaustive(unit); } private final void handleInputChanged(String str) { getViewModel().setSearchText(str); boolean z2 = str.length() == 0; getBinding().l.setImageResource(z2 ? 2131231929 : 2131231536); ImageView imageView = getBinding().l; m.checkNotNullExpressionValue(imageView, "binding.emojiSearchClear"); imageView.setImageTintList(z2 ? ColorStateList.valueOf(ColorCompat.getThemedColor(requireContext(), 2130968988)) : ColorStateList.valueOf(ColorCompat.getThemedColor(requireContext(), 2130968989))); if (z2) { ImageView imageView2 = getBinding().l; m.checkNotNullExpressionValue(imageView2, "binding.emojiSearchClear"); imageView2.setContentDescription(b.j(this, 2131893249, new Object[0], null, 4)); ImageView imageView3 = getBinding().l; m.checkNotNullExpressionValue(imageView3, "binding.emojiSearchClear"); imageView3.setImportantForAccessibility(2); return; } ImageView imageView4 = getBinding().l; m.checkNotNullExpressionValue(imageView4, "binding.emojiSearchClear"); imageView4.setContentDescription(b.j(this, 2131892817, new Object[0], null, 4)); ImageView imageView5 = getBinding().l; m.checkNotNullExpressionValue(imageView5, "binding.emojiSearchClear"); imageView5.setImportantForAccessibility(1); } private final void handleNewEmojiRecyclerScrollPosition(int i, List list) { for (EmojiCategoryItem emojiCategoryItem : list) { Pair categoryRange = emojiCategoryItem.getCategoryRange(); int intValue = categoryRange.getFirst().intValue(); int intValue2 = categoryRange.getSecond().intValue(); if (intValue <= i && intValue2 > i && !emojiCategoryItem.isSelected()) { selectCategoryByItemId(emojiCategoryItem.getStableId()); return; } } } private final void initializeInputButtons() { int i = 0; boolean z2 = this.emojiPickerMode == EmojiPickerMode.INLINE; ImageView imageView = getBinding().f; m.checkNotNullExpressionValue(imageView, "binding.emojiPickerBackspaceIcon"); if (!z2) { i = 8; } imageView.setVisibility(i); getBinding().k.setOnClickListener(new WidgetEmojiPicker$initializeInputButtons$1(this)); getBinding().f.setOnTouchListener(new RepeatingOnTouchListener(250, 50, TimeUnit.MILLISECONDS, new WidgetEmojiPicker$initializeInputButtons$2(this), new WidgetEmojiPicker$initializeInputButtons$3(this))); } private final void initializeSearchBar() { AppBarLayout appBarLayout = getBinding().d; m.checkNotNullExpressionValue(appBarLayout, "binding.emojiAppBar"); EmojiPickerMode emojiPickerMode = this.emojiPickerMode; EmojiPickerMode emojiPickerMode2 = EmojiPickerMode.INLINE; boolean z2 = true; int i = 0; appBarLayout.setVisibility(emojiPickerMode != emojiPickerMode2 ? 0 : 8); TextView textView = getBinding().e; m.checkNotNullExpressionValue(textView, "binding.emojiInlineSearchButton"); textView.setVisibility(this.emojiPickerMode == emojiPickerMode2 ? 0 : 8); TextInputEditText textInputEditText = getBinding().m; m.checkNotNullExpressionValue(textInputEditText, "binding.emojiSearchInput"); if (this.emojiPickerMode == emojiPickerMode2) { z2 = false; } if (!z2) { i = 8; } textInputEditText.setVisibility(i); getBinding().e.setOnClickListener(new WidgetEmojiPicker$initializeSearchBar$1(this)); getBinding().l.setOnClickListener(new WidgetEmojiPicker$initializeSearchBar$2(this)); TextInputEditText textInputEditText2 = getBinding().m; m.checkNotNullExpressionValue(textInputEditText2, "binding.emojiSearchInput"); TextWatcherKt.addLifecycleAwareTextWatcher(textInputEditText2, this, new WidgetEmojiPicker$initializeSearchBar$3(this)); if (this.emojiPickerMode == EmojiPickerMode.BOTTOM_SHEET) { getBinding().m.requestFocus(); TextInputEditText textInputEditText3 = getBinding().m; m.checkNotNullExpressionValue(textInputEditText3, "binding.emojiSearchInput"); showKeyboard(textInputEditText3); } } private final void launchBottomSheet() { FragmentManager parentFragmentManager = getParentFragmentManager(); m.checkNotNullExpressionValue(parentFragmentManager, "parentFragmentManager"); EmojiPickerNavigator.launchBottomSheet$default(parentFragmentManager, this.emojiPickerListener, getEmojiPickerContextType(), null, 8, null); } private final void onCategoryClicked(EmojiCategoryItem emojiCategoryItem) { if (emojiCategoryItem instanceof EmojiCategoryItem.GuildItem) { AnalyticsTracker.INSTANCE.emojiCategorySelected(((EmojiCategoryItem.GuildItem) emojiCategoryItem).getGuild().getId()); } selectCategoryByItemId(emojiCategoryItem.getStableId()); Pair categoryRange = emojiCategoryItem.getCategoryRange(); WidgetEmojiAdapter widgetEmojiAdapter = this.emojiAdapter; if (widgetEmojiAdapter == null) { m.throwUninitializedPropertyAccessException("emojiAdapter"); } widgetEmojiAdapter.scrollToPosition(categoryRange.getFirst().intValue()); } private final void onPremiumCtaClicked() { WidgetSettingsPremium.Companion.launch$default(WidgetSettingsPremium.Companion, requireContext(), null, null, 6, null); } private final void onSelectedCategoryAdapterPositionUpdated(int i) { LinearLayoutManager linearLayoutManager = this.categoryLayoutManager; if (linearLayoutManager == null) { m.throwUninitializedPropertyAccessException("categoryLayoutManager"); } int findFirstCompletelyVisibleItemPosition = linearLayoutManager.findFirstCompletelyVisibleItemPosition(); LinearLayoutManager linearLayoutManager2 = this.categoryLayoutManager; if (linearLayoutManager2 == null) { m.throwUninitializedPropertyAccessException("categoryLayoutManager"); } int findLastCompletelyVisibleItemPosition = linearLayoutManager2.findLastCompletelyVisibleItemPosition(); int i2 = findLastCompletelyVisibleItemPosition - findFirstCompletelyVisibleItemPosition; if (!new IntRange(findFirstCompletelyVisibleItemPosition, findLastCompletelyVisibleItemPosition).contains(i)) { int max = Math.max(i < findFirstCompletelyVisibleItemPosition ? i - i2 : i + i2, 0); EmojiCategoryAdapter emojiCategoryAdapter = this.categoryAdapter; if (emojiCategoryAdapter == null) { m.throwUninitializedPropertyAccessException("categoryAdapter"); } int min = Math.min(max, emojiCategoryAdapter.getItemCount() - 1); if (this.isNextCategoryScrollSmooth) { getBinding().i.smoothScrollToPosition(min); return; } getBinding().i.scrollToPosition(min); this.isNextCategoryScrollSmooth = true; } } private final void selectCategoryByItemId(long j) { getViewModel().setSelectedCategoryItemId(j); } private final void setEmojiPickerBottomBarVisible(boolean z2) { ConstraintLayout constraintLayout = getBinding().g; m.checkNotNullExpressionValue(constraintLayout, "binding.emojiPickerBottomBar"); int i = 8; int i2 = 0; constraintLayout.setVisibility(z2 ? 0 : 8); View view = getBinding().h; m.checkNotNullExpressionValue(view, "binding.emojiPickerBottomBarDivider"); if (z2) { i = 0; } view.setVisibility(i); RecyclerView recyclerView = getBinding().b; m.checkNotNullExpressionValue(recyclerView, "binding.chatInputEmojiPickerRecycler"); ViewGroup.LayoutParams layoutParams = recyclerView.getLayoutParams(); Objects.requireNonNull(layoutParams, "null cannot be cast to non-null type android.view.ViewGroup.MarginLayoutParams"); ViewGroup.MarginLayoutParams marginLayoutParams = (ViewGroup.MarginLayoutParams) layoutParams; if (z2) { i2 = getResources().getDimensionPixelSize(2131165433); } marginLayoutParams.setMargins(marginLayoutParams.leftMargin, marginLayoutParams.topMargin, marginLayoutParams.rightMargin, i2); recyclerView.setLayoutParams(marginLayoutParams); } private final void setUpCategoryRecycler() { RecyclerView recyclerView = getBinding().i; m.checkNotNullExpressionValue(recyclerView, "binding.emojiPickerCategoryRecycler"); recyclerView.setItemAnimator(null); EmojiCategoryAdapter emojiCategoryAdapter = new EmojiCategoryAdapter(new WidgetEmojiPicker$setUpCategoryRecycler$1(this), new WidgetEmojiPicker$setUpCategoryRecycler$2(this), this, null, 8, null); this.categoryAdapter = emojiCategoryAdapter; if (emojiCategoryAdapter == null) { m.throwUninitializedPropertyAccessException("categoryAdapter"); } emojiCategoryAdapter.setHasStableIds(true); RecyclerView recyclerView2 = getBinding().i; m.checkNotNullExpressionValue(recyclerView2, "binding.emojiPickerCategoryRecycler"); EmojiCategoryAdapter emojiCategoryAdapter2 = this.categoryAdapter; if (emojiCategoryAdapter2 == null) { m.throwUninitializedPropertyAccessException("categoryAdapter"); } recyclerView2.setAdapter(emojiCategoryAdapter2); RecyclerView recyclerView3 = getBinding().i; m.checkNotNullExpressionValue(recyclerView3, "binding.emojiPickerCategoryRecycler"); EmojiCategoryAdapter emojiCategoryAdapter3 = this.categoryAdapter; if (emojiCategoryAdapter3 == null) { m.throwUninitializedPropertyAccessException("categoryAdapter"); } this.categoryLayoutManager = new SelfHealingLinearLayoutManager(recyclerView3, emojiCategoryAdapter3, 0, false, 8, null); RecyclerView recyclerView4 = getBinding().i; m.checkNotNullExpressionValue(recyclerView4, "binding.emojiPickerCategoryRecycler"); LinearLayoutManager linearLayoutManager = this.categoryLayoutManager; if (linearLayoutManager == null) { m.throwUninitializedPropertyAccessException("categoryLayoutManager"); } recyclerView4.setLayoutManager(linearLayoutManager); getBinding().i.addOnScrollListener(new WidgetEmojiPicker$setUpCategoryRecycler$3(this)); } private final void setUpEmojiRecycler() { RecyclerView recyclerView = getBinding().b; m.checkNotNullExpressionValue(recyclerView, "binding.chatInputEmojiPickerRecycler"); recyclerView.setItemAnimator(null); RecyclerView recyclerView2 = getBinding().b; m.checkNotNullExpressionValue(recyclerView2, "binding.chatInputEmojiPickerRecycler"); FragmentManager parentFragmentManager = getParentFragmentManager(); m.checkNotNullExpressionValue(parentFragmentManager, "parentFragmentManager"); WidgetEmojiAdapter widgetEmojiAdapter = new WidgetEmojiAdapter(recyclerView2, parentFragmentManager, this, new WidgetEmojiPicker$setUpEmojiRecycler$1(this), new WidgetEmojiPicker$setUpEmojiRecycler$2(this)); this.emojiAdapter = widgetEmojiAdapter; if (widgetEmojiAdapter == null) { m.throwUninitializedPropertyAccessException("emojiAdapter"); } StickyHeaderItemDecoration stickyHeaderItemDecoration = new StickyHeaderItemDecoration(widgetEmojiAdapter); getBinding().b.addItemDecoration(stickyHeaderItemDecoration); RecyclerView recyclerView3 = getBinding().b; m.checkNotNullExpressionValue(recyclerView3, "binding.chatInputEmojiPickerRecycler"); stickyHeaderItemDecoration.blockClicks(recyclerView3); getBinding().b.setHasFixedSize(true); getBinding().b.addOnScrollListener(new WidgetEmojiPicker$setUpEmojiRecycler$3(this)); } private final void setWindowInsetsListeners() { ViewCompat.setOnApplyWindowInsetsListener(getBinding().j, new WidgetEmojiPicker$setWindowInsetsListeners$1(this)); } private final void subscribeToCategoryRecyclerScrolls() { PublishSubject publishSubject = this.emojiCategoryScrollSubject; Observable h02 = Observable.h0(new r(publishSubject.i, new LeadingEdgeThrottle(250, TimeUnit.MILLISECONDS))); m.checkNotNullExpressionValue(h02, "emojiCategoryScrollSubje…, TimeUnit.MILLISECONDS))"); ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(h02, this, null, 2, null), WidgetEmojiPicker.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetEmojiPicker$subscribeToCategoryRecyclerScrolls$1(this), 62, (Object) null); } public final void clearSearchInput() { getViewModel().setSearchText(""); } @Override // androidx.fragment.app.Fragment public void onCreate(Bundle bundle) { super.onCreate(bundle); this.emojiPickerMode = getMode(); } @Override // com.discord.widgets.chat.input.emoji.OnEmojiSelectedListener public void onEmojiSelected(Emoji emoji) { m.checkNotNullParameter(emoji, "emoji"); getViewModel().onEmojiSelected(emoji, new WidgetEmojiPicker$onEmojiSelected$1(this)); } @Override // com.discord.app.AppFragment public void onViewBound(View view) { m.checkNotNullParameter(view, "view"); super.onViewBound(view); CoordinatorLayout coordinatorLayout = getBinding().j; m.checkNotNullExpressionValue(coordinatorLayout, "binding.emojiPickerContainer"); coordinatorLayout.setPadding(coordinatorLayout.getPaddingLeft(), coordinatorLayout.getPaddingTop(), coordinatorLayout.getPaddingRight(), getAdditionalBottomPaddingPx()); EmojiPickerMode mode = getMode(); EmojiPickerMode emojiPickerMode = EmojiPickerMode.INLINE; if (mode == emojiPickerMode) { setWindowInsetsListeners(); } initializeInputButtons(); initializeSearchBar(); Toolbar toolbar = getBinding().n; m.checkNotNullExpressionValue(toolbar, "binding.emojiToolbar"); ViewGroup.LayoutParams layoutParams = toolbar.getLayoutParams(); Objects.requireNonNull(layoutParams, "null cannot be cast to non-null type com.google.android.material.appbar.AppBarLayout.LayoutParams"); ((AppBarLayout.LayoutParams) layoutParams).setScrollFlags(this.emojiPickerMode == emojiPickerMode ? 5 : 0); setUpEmojiRecycler(); setUpCategoryRecycler(); } @Override // com.discord.app.AppFragment public void onViewBoundOrOnResume() { super.onViewBoundOrOnResume(); ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.bindToComponentLifecycle(getViewModel().observeViewState(), this), WidgetEmojiPicker.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetEmojiPicker$onViewBoundOrOnResume$1(this), 62, (Object) null); ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.bindToComponentLifecycle(getViewModel().observeEvents(), this), WidgetEmojiPicker.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetEmojiPicker$onViewBoundOrOnResume$2(this), 62, (Object) null); subscribeToCategoryRecyclerScrolls(); } public final void scrollToTop() { WidgetEmojiAdapter widgetEmojiAdapter = this.emojiAdapter; if (widgetEmojiAdapter == null) { m.throwUninitializedPropertyAccessException("emojiAdapter"); } if (widgetEmojiAdapter.getItemCount() > 0) { getBinding().b.scrollToPosition(0); } } public final void setListener(EmojiPickerListener emojiPickerListener) { this.emojiPickerListener = emojiPickerListener; } public final void setOnBackspacePressedListener(OnBackspacePressedListener onBackspacePressedListener) { this.onBackspacePressedListener = onBackspacePressedListener; } }