Fix the search icons

Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
Mario Danic 2020-01-29 13:58:09 +01:00
parent 9b419f88fa
commit 0dca4da6d5
No known key found for this signature in database
GPG Key ID: CDE0BBD2738C4CC0
4 changed files with 25 additions and 14 deletions

View File

@ -197,11 +197,12 @@ abstract class BaseController : ButterKnifeController(), ComponentCallbacks {
} }
override fun onAttach(view: View) { override fun onAttach(view: View) {
super.onAttach(view)
showSearchOrToolbar() showSearchOrToolbar()
setTitle() setTitle()
actionBar?.setDisplayHomeAsUpEnabled(parentController != null || router.backstackSize > 1) actionBar?.setDisplayHomeAsUpEnabled(parentController != null || router.backstackSize > 1)
activity?.searchCardView?.leftContainer?.isVisible = parentController != null || router.backstackSize > 1 searchLayout?.settingsButton?.isVisible = router.backstackSize == 1
super.onAttach(view) searchLayout?.leftButton?.isVisible = parentController != null || router.backstackSize > 1
} }
override fun onDetach(view: View) { override fun onDetach(view: View) {

View File

@ -192,7 +192,6 @@ class ContactsView(private val bundle: Bundle? = null) : BaseView() {
override fun onAttach(view: View) { override fun onAttach(view: View) {
super.onAttach(view) super.onAttach(view)
searchLayout?.settingsButton?.isVisible = false
floatingActionButton?.isVisible = selectedParticipantsAdapter.itemCount > 0 floatingActionButton?.isVisible = selectedParticipantsAdapter.itemCount > 0
} }

View File

@ -33,6 +33,8 @@ import androidx.recyclerview.widget.LinearLayoutManager
import com.afollestad.materialdialogs.LayoutMode import com.afollestad.materialdialogs.LayoutMode
import com.afollestad.materialdialogs.MaterialDialog import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.bottomsheets.BottomSheet 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.RouterTransaction
import com.bluelinelabs.conductor.autodispose.ControllerScopeProvider import com.bluelinelabs.conductor.autodispose.ControllerScopeProvider
import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler
@ -74,6 +76,8 @@ class ConversationsListView : BaseView() {
private lateinit var viewModel: ConversationsListViewModel private lateinit var viewModel: ConversationsListViewModel
val factory: ConversationListViewModelFactory by inject() val factory: ConversationListViewModelFactory by inject()
private var transitionInProgress = false
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, inflater: LayoutInflater,
container: ViewGroup container: ViewGroup
@ -132,18 +136,15 @@ class ConversationsListView : BaseView() {
} }
filterLiveData.observe(this@ConversationsListView) { query -> filterLiveData.observe(this@ConversationsListView) { query ->
activity?.settingsButton?.isVisible = query.isNullOrEmpty() if (!transitionInProgress) {
activity?.clearButton?.isVisible = !query.isNullOrEmpty() activity?.settingsButton?.isVisible = query.isNullOrEmpty()
activity?.clearButton?.isVisible = !query.isNullOrEmpty()
}
} }
} }
return view return view
} }
override fun onAttach(view: View) {
super.onAttach(view)
searchLayout?.settingsButton?.isVisible = true
}
private fun setSearchQuery(query: CharSequence?) { private fun setSearchQuery(query: CharSequence?) {
viewModel.filterLiveData.postValue(query) 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 { override fun getLayoutId(): Int {
return R.layout.conversations_list_view return R.layout.conversations_list_view
} }

View File

@ -50,8 +50,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentStart="true" android:layout_alignParentStart="true"
android:layout_centerVertical="true" android:layout_centerVertical="true">
android:visibility="gone">
<ImageButton <ImageButton
android:id="@+id/leftButton" android:id="@+id/leftButton"
@ -87,7 +86,8 @@
android:textColor="@color/conversation_item_header" android:textColor="@color/conversation_item_header"
android:textCursorDrawable="@null" android:textCursorDrawable="@null"
android:textSize="16sp" android:textSize="16sp"
tools:hint="Search" /> tools:hint="Search"
tools:ignore="UnusedAttribute" />
<FrameLayout <FrameLayout
@ -120,7 +120,7 @@
android:src="@drawable/ic_settings_white_24dp" android:src="@drawable/ic_settings_white_24dp"
android:tint="@color/fg_default" android:tint="@color/fg_default"
android:transitionName="userAvatar.transitionTag" android:transitionName="userAvatar.transitionTag"
android:visibility="visible" android:visibility="gone"
tools:src="@tools:sample/avatars[0]" /> tools:src="@tools:sample/avatars[0]" />
<ProgressBar <ProgressBar