From 27b9fbe4906c98ae6c8fadd98b9ec29ebfd20e6d Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Thu, 3 Jun 2021 11:32:47 -0400 Subject: [PATCH] Add pull down search bar to stickers and auto hide when scrolling. --- .../sticker/StickerKeyboardPageFragment.kt | 14 +- .../res/layout/gif_keyboard_page_fragment.xml | 3 +- .../keyboard_pager_sticker_page_fragment.xml | 125 +++++++++--------- 3 files changed, 76 insertions(+), 66 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerKeyboardPageFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerKeyboardPageFragment.kt index 91e4b0b58..29f89ebd0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerKeyboardPageFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerKeyboardPageFragment.kt @@ -6,10 +6,12 @@ import androidx.lifecycle.ViewModelProviders import androidx.recyclerview.widget.RecyclerView import androidx.viewpager.widget.PagerAdapter import androidx.viewpager.widget.ViewPager +import com.google.android.material.appbar.AppBarLayout import org.thoughtcrime.securesms.LoggingFragment import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.emoji.MediaKeyboardBottomTabAdapter import org.thoughtcrime.securesms.components.emoji.MediaKeyboardProvider +import org.thoughtcrime.securesms.keyboard.emoji.KeyboardPageSearchView import org.thoughtcrime.securesms.mms.GlideApp import org.thoughtcrime.securesms.stickers.StickerKeyboardProvider import org.thoughtcrime.securesms.stickers.StickerKeyboardProvider.StickerEventListener @@ -20,7 +22,6 @@ class StickerKeyboardPageFragment : LoggingFragment(R.layout.keyboard_pager_stic private lateinit var provider: StickerKeyboardProvider private lateinit var stickerPager: ViewPager - private lateinit var searchView: View private lateinit var stickerPacksRecycler: RecyclerView private lateinit var manageStickers: View private lateinit var tabAdapter: MediaKeyboardBottomTabAdapter @@ -30,11 +31,18 @@ class StickerKeyboardPageFragment : LoggingFragment(R.layout.keyboard_pager_stic override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) stickerPager = view.findViewById(R.id.sticker_pager) - searchView = view.findViewById(R.id.sticker_search) manageStickers = view.findViewById(R.id.sticker_manage) stickerPacksRecycler = view.findViewById(R.id.sticker_packs_recycler) - searchView.setOnClickListener { StickerSearchDialogFragment.show(requireActivity().supportFragmentManager) } + view.findViewById(R.id.sticker_keyboard_search_text).callbacks = object : KeyboardPageSearchView.Callbacks { + override fun onClicked() { + StickerSearchDialogFragment.show(requireActivity().supportFragmentManager) + } + } + + view.findViewById(R.id.sticker_search).setOnClickListener { StickerSearchDialogFragment.show(requireActivity().supportFragmentManager) } + + view.findViewById(R.id.sticker_appbar).setExpanded(false) } override fun onActivityCreated(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/gif_keyboard_page_fragment.xml b/app/src/main/res/layout/gif_keyboard_page_fragment.xml index 8204c061c..6893e37bc 100644 --- a/app/src/main/res/layout/gif_keyboard_page_fragment.xml +++ b/app/src/main/res/layout/gif_keyboard_page_fragment.xml @@ -4,7 +4,6 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - app:layout_constraintBottom_toTopOf="@id/gif_keyboard_packs_background" tools:background="@color/signal_background_secondary"> diff --git a/app/src/main/res/layout/keyboard_pager_sticker_page_fragment.xml b/app/src/main/res/layout/keyboard_pager_sticker_page_fragment.xml index 54b07db13..d7f571596 100644 --- a/app/src/main/res/layout/keyboard_pager_sticker_page_fragment.xml +++ b/app/src/main/res/layout/keyboard_pager_sticker_page_fragment.xml @@ -1,77 +1,80 @@ - + + + + + + + android:layout_height="match_parent" + app:layout_behavior="@string/appbar_scrolling_view_behavior" /> - - - - - - - + app:layout_behavior="@string/hide_bottom_view_on_scroll_behavior"> - + - \ No newline at end of file + + + + + + +