mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-22 04:59:34 +01:00
FAB updates
Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
parent
d52ceff6d6
commit
cd35b6eb24
@ -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() {
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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? {
|
||||
|
@ -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>
|
||||
|
Loading…
Reference in New Issue
Block a user