FAB updates

Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
Mario Danic 2020-01-28 15:15:20 +01:00
parent d52ceff6d6
commit cd35b6eb24
No known key found for this signature in database
GPG Key ID: CDE0BBD2738C4CC0
4 changed files with 31 additions and 9 deletions

View File

@ -39,6 +39,7 @@ import com.google.android.material.appbar.MaterialToolbar
import com.nextcloud.talk.R
import com.nextcloud.talk.controllers.CallNotificationController
import com.nextcloud.talk.controllers.LockedController
import com.nextcloud.talk.controllers.base.BaseController
import com.nextcloud.talk.controllers.base.providers.ActionBarProvider
import com.nextcloud.talk.newarch.domain.repository.offline.UsersRepository
import com.nextcloud.talk.newarch.features.account.serverentry.ServerEntryView
@ -100,7 +101,13 @@ class MainActivity : BaseActivity(), ActionBarProvider {
@OnClick(R.id.floatingActionButton)
fun onFloatingActionButtonClick() {
openNewConversationScreen()
val backstack = router?.backstack
backstack?.let {
if (it.size > 0) {
val currentController = it[it.size - 1].controller() as BaseController
currentController.onFloatingActionButtonClick()
}
}
}
override fun onStart() {

View File

@ -51,6 +51,10 @@ import org.koin.android.ext.android.inject
import java.util.*
abstract class BaseController : ButterKnifeController(), ComponentCallbacks {
public enum class AppBarLayoutType {
TOOLBAR,
SEARCH_BAR
}
open val scopeProvider: LifecycleScopeProvider<*> = ControllerScopeProvider.from(this)
@ -105,12 +109,12 @@ abstract class BaseController : ButterKnifeController(), ComponentCallbacks {
}
private fun showSearchOrToolbar() {
val value = getIsUsingSearchLayout()
val value = getAppBarLayoutType() == AppBarLayoutType.SEARCH_BAR
activity?.let {
if (it is MainActivity) {
it.searchCardView?.isVisible = value
it.floatingActionButton?.isVisible = value
it.toolbar.isVisible = !value
it.toolbar?.isVisible = !value
val layoutParams = it.searchCardView?.layoutParams as AppBarLayout.LayoutParams
@ -146,7 +150,7 @@ abstract class BaseController : ButterKnifeController(), ComponentCallbacks {
disableKeyboardPersonalisedLearning(view as ViewGroup)
activity?.let {
if (it is MainActivity && getIsUsingSearchLayout()) {
if (it is MainActivity) {
disableKeyboardPersonalisedLearning(it.appBar)
}
}
@ -178,7 +182,7 @@ abstract class BaseController : ButterKnifeController(), ComponentCallbacks {
val title = getTitle()
val actionBar = actionBar
if (title != null && actionBar != null && !getIsUsingSearchLayout()) {
if (title != null && actionBar != null && getAppBarLayoutType() == AppBarLayoutType.TOOLBAR) {
actionBar.title = title
} else if (title != null && activity is MainActivity) {
activity?.inputEditText?.hint = title
@ -216,5 +220,8 @@ abstract class BaseController : ButterKnifeController(), ComponentCallbacks {
return null
}
open fun getIsUsingSearchLayout(): Boolean = false
open fun onFloatingActionButtonClick() {
}
open fun getAppBarLayoutType(): AppBarLayoutType = AppBarLayoutType.TOOLBAR
}

View File

@ -48,6 +48,7 @@ import com.nextcloud.talk.controllers.bottomsheet.items.BasicListItemWithImage
import com.nextcloud.talk.controllers.bottomsheet.items.listItemsWithImage
import com.nextcloud.talk.models.json.conversations.Conversation
import com.nextcloud.talk.newarch.data.presenters.AdvancedEmptyPresenter
import com.nextcloud.talk.newarch.features.contactsflow.ContactsView
import com.nextcloud.talk.newarch.features.search.DebouncingTextWatcher
import com.nextcloud.talk.newarch.mvvm.BaseView
import com.nextcloud.talk.newarch.mvvm.ext.initRecyclerView
@ -287,8 +288,15 @@ class ConversationsListView : BaseView() {
return items
}
override fun getIsUsingSearchLayout(): Boolean {
return true
override fun onFloatingActionButtonClick() {
router?.pushController(
RouterTransaction.with(ContactsView<Any>())
.pushChangeHandler(HorizontalChangeHandler())
.popChangeHandler(HorizontalChangeHandler()))
}
override fun getAppBarLayoutType(): AppBarLayoutType {
return AppBarLayoutType.SEARCH_BAR
}
override fun getTitle(): String? {

View File

@ -47,7 +47,7 @@
<string name="nc_never">Never joined</string>
<string name="nc_search">Search</string>
<string name="nc_search_conversations">Search conversations</string>
<string name="nc_search_conversations">Find conversation</string>
<string name="nc_certificate_dialog_title">Check out the certificate</string>
<string name="nc_certificate_dialog_text">Do you trust the until now unknown SSL certificate, issued by %1$s for %2$s, valid from %3$s to %4$s?</string>