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 1f6abda5e..59f15aab6 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 @@ -34,10 +34,9 @@ import android.widget.EditText import androidx.annotation.RequiresApi import androidx.appcompat.app.ActionBar import androidx.core.view.isVisible -import com.bluelinelabs.conductor.ControllerChangeHandler -import com.bluelinelabs.conductor.ControllerChangeType import com.bluelinelabs.conductor.autodispose.ControllerScopeProvider import com.google.android.material.appbar.AppBarLayout +import com.google.android.material.floatingactionbutton.FloatingActionButton import com.nextcloud.talk.R import com.nextcloud.talk.activities.MainActivity import com.nextcloud.talk.controllers.AccountVerificationController @@ -75,6 +74,18 @@ abstract class BaseController : ButterKnifeController(), ComponentCallbacks { return actionBarProvider?.supportActionBar } + protected val floatingActionButton: FloatingActionButton? + get() { + var floatingActionButton: FloatingActionButton? = null + activity?.let { + if (it is MainActivity) { + floatingActionButton = it.floatingActionButton + } + } + + return floatingActionButton + } + override fun onOptionsItemSelected(item: MenuItem): Boolean { return when (item.itemId) { android.R.id.home -> { 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 cca14d747..078e73e48 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 @@ -125,6 +125,15 @@ class ConversationsListView : BaseView() { viewModel.filterLiveData.observe(this@ConversationsListView) {query -> activity?.settingsButton?.isVisible = query.isNullOrEmpty() activity?.clearButton?.isVisible = !query.isNullOrEmpty() + if (query.isNullOrEmpty()) { + if (floatingActionButton?.isOrWillBeShown == false) { + floatingActionButton?.show() + } + } else { + if (floatingActionButton?.isOrWillBeHidden == false) { + floatingActionButton?.hide() + } + } } return view } @@ -211,11 +220,6 @@ class ConversationsListView : BaseView() { return R.layout.controller_conversations_rv } - /*@OnClick(R.id.floatingActionButton) - fun onFloatingActionButtonClick() { - openNewConversationScreen() - }*/ - private fun openNewConversationScreen() { val bundle = Bundle() bundle.putBoolean(BundleKeys.KEY_NEW_CONVERSATION, true)