diff --git a/app/src/main/java/com/nextcloud/talk/controllers/base/BaseController.kt b/app/src/main/java/com/nextcloud/talk/controllers/base/BaseController.kt index abd2e5a09..34db2cf55 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/base/BaseController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/base/BaseController.kt @@ -197,11 +197,12 @@ abstract class BaseController : ButterKnifeController(), ComponentCallbacks { } override fun onAttach(view: View) { + super.onAttach(view) showSearchOrToolbar() setTitle() actionBar?.setDisplayHomeAsUpEnabled(parentController != null || router.backstackSize > 1) - activity?.searchCardView?.leftContainer?.isVisible = parentController != null || router.backstackSize > 1 - super.onAttach(view) + searchLayout?.settingsButton?.isVisible = router.backstackSize == 1 + searchLayout?.leftButton?.isVisible = parentController != null || router.backstackSize > 1 } override fun onDetach(view: View) { diff --git a/app/src/main/java/com/nextcloud/talk/newarch/features/contactsflow/ContactsView.kt b/app/src/main/java/com/nextcloud/talk/newarch/features/contactsflow/ContactsView.kt index 4eadb7e97..c0f9770c3 100644 --- a/app/src/main/java/com/nextcloud/talk/newarch/features/contactsflow/ContactsView.kt +++ b/app/src/main/java/com/nextcloud/talk/newarch/features/contactsflow/ContactsView.kt @@ -192,7 +192,6 @@ class ContactsView(private val bundle: Bundle? = null) : BaseView() { override fun onAttach(view: View) { super.onAttach(view) - searchLayout?.settingsButton?.isVisible = false floatingActionButton?.isVisible = selectedParticipantsAdapter.itemCount > 0 } diff --git a/app/src/main/java/com/nextcloud/talk/newarch/features/conversationsList/ConversationsListView.kt b/app/src/main/java/com/nextcloud/talk/newarch/features/conversationsList/ConversationsListView.kt index b24d6b7e4..e715a8f52 100644 --- a/app/src/main/java/com/nextcloud/talk/newarch/features/conversationsList/ConversationsListView.kt +++ b/app/src/main/java/com/nextcloud/talk/newarch/features/conversationsList/ConversationsListView.kt @@ -33,6 +33,8 @@ import androidx.recyclerview.widget.LinearLayoutManager import com.afollestad.materialdialogs.LayoutMode import com.afollestad.materialdialogs.MaterialDialog import com.afollestad.materialdialogs.bottomsheets.BottomSheet +import com.bluelinelabs.conductor.ControllerChangeHandler +import com.bluelinelabs.conductor.ControllerChangeType import com.bluelinelabs.conductor.RouterTransaction import com.bluelinelabs.conductor.autodispose.ControllerScopeProvider import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler @@ -74,6 +76,8 @@ class ConversationsListView : BaseView() { private lateinit var viewModel: ConversationsListViewModel val factory: ConversationListViewModelFactory by inject() + private var transitionInProgress = false + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup @@ -132,18 +136,15 @@ class ConversationsListView : BaseView() { } filterLiveData.observe(this@ConversationsListView) { query -> - activity?.settingsButton?.isVisible = query.isNullOrEmpty() - activity?.clearButton?.isVisible = !query.isNullOrEmpty() + if (!transitionInProgress) { + activity?.settingsButton?.isVisible = query.isNullOrEmpty() + activity?.clearButton?.isVisible = !query.isNullOrEmpty() + } } } return view } - override fun onAttach(view: View) { - super.onAttach(view) - searchLayout?.settingsButton?.isVisible = true - } - private fun setSearchQuery(query: CharSequence?) { viewModel.filterLiveData.postValue(query) } @@ -222,6 +223,16 @@ class ConversationsListView : BaseView() { } } + override fun onChangeStarted(changeHandler: ControllerChangeHandler, changeType: ControllerChangeType) { + super.onChangeStarted(changeHandler, changeType) + transitionInProgress = true + } + + override fun onChangeEnded(changeHandler: ControllerChangeHandler, changeType: ControllerChangeType) { + super.onChangeEnded(changeHandler, changeType) + transitionInProgress = false + } + override fun getLayoutId(): Int { return R.layout.conversations_list_view } diff --git a/app/src/main/res/layout/search_layout.xml b/app/src/main/res/layout/search_layout.xml index 3e5403d57..98d4636f6 100644 --- a/app/src/main/res/layout/search_layout.xml +++ b/app/src/main/res/layout/search_layout.xml @@ -50,8 +50,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentStart="true" - android:layout_centerVertical="true" - android:visibility="gone"> + android:layout_centerVertical="true"> + tools:hint="Search" + tools:ignore="UnusedAttribute" />