mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-23 05:29:54 +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.R
|
||||||
import com.nextcloud.talk.controllers.CallNotificationController
|
import com.nextcloud.talk.controllers.CallNotificationController
|
||||||
import com.nextcloud.talk.controllers.LockedController
|
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.controllers.base.providers.ActionBarProvider
|
||||||
import com.nextcloud.talk.newarch.domain.repository.offline.UsersRepository
|
import com.nextcloud.talk.newarch.domain.repository.offline.UsersRepository
|
||||||
import com.nextcloud.talk.newarch.features.account.serverentry.ServerEntryView
|
import com.nextcloud.talk.newarch.features.account.serverentry.ServerEntryView
|
||||||
@ -100,7 +101,13 @@ class MainActivity : BaseActivity(), ActionBarProvider {
|
|||||||
|
|
||||||
@OnClick(R.id.floatingActionButton)
|
@OnClick(R.id.floatingActionButton)
|
||||||
fun onFloatingActionButtonClick() {
|
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() {
|
override fun onStart() {
|
||||||
|
@ -51,6 +51,10 @@ import org.koin.android.ext.android.inject
|
|||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
abstract class BaseController : ButterKnifeController(), ComponentCallbacks {
|
abstract class BaseController : ButterKnifeController(), ComponentCallbacks {
|
||||||
|
public enum class AppBarLayoutType {
|
||||||
|
TOOLBAR,
|
||||||
|
SEARCH_BAR
|
||||||
|
}
|
||||||
|
|
||||||
open val scopeProvider: LifecycleScopeProvider<*> = ControllerScopeProvider.from(this)
|
open val scopeProvider: LifecycleScopeProvider<*> = ControllerScopeProvider.from(this)
|
||||||
|
|
||||||
@ -105,12 +109,12 @@ abstract class BaseController : ButterKnifeController(), ComponentCallbacks {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun showSearchOrToolbar() {
|
private fun showSearchOrToolbar() {
|
||||||
val value = getIsUsingSearchLayout()
|
val value = getAppBarLayoutType() == AppBarLayoutType.SEARCH_BAR
|
||||||
activity?.let {
|
activity?.let {
|
||||||
if (it is MainActivity) {
|
if (it is MainActivity) {
|
||||||
it.searchCardView?.isVisible = value
|
it.searchCardView?.isVisible = value
|
||||||
it.floatingActionButton?.isVisible = value
|
it.floatingActionButton?.isVisible = value
|
||||||
it.toolbar.isVisible = !value
|
it.toolbar?.isVisible = !value
|
||||||
|
|
||||||
val layoutParams = it.searchCardView?.layoutParams as AppBarLayout.LayoutParams
|
val layoutParams = it.searchCardView?.layoutParams as AppBarLayout.LayoutParams
|
||||||
|
|
||||||
@ -146,7 +150,7 @@ abstract class BaseController : ButterKnifeController(), ComponentCallbacks {
|
|||||||
disableKeyboardPersonalisedLearning(view as ViewGroup)
|
disableKeyboardPersonalisedLearning(view as ViewGroup)
|
||||||
|
|
||||||
activity?.let {
|
activity?.let {
|
||||||
if (it is MainActivity && getIsUsingSearchLayout()) {
|
if (it is MainActivity) {
|
||||||
disableKeyboardPersonalisedLearning(it.appBar)
|
disableKeyboardPersonalisedLearning(it.appBar)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -178,7 +182,7 @@ abstract class BaseController : ButterKnifeController(), ComponentCallbacks {
|
|||||||
|
|
||||||
val title = getTitle()
|
val title = getTitle()
|
||||||
val actionBar = actionBar
|
val actionBar = actionBar
|
||||||
if (title != null && actionBar != null && !getIsUsingSearchLayout()) {
|
if (title != null && actionBar != null && getAppBarLayoutType() == AppBarLayoutType.TOOLBAR) {
|
||||||
actionBar.title = title
|
actionBar.title = title
|
||||||
} else if (title != null && activity is MainActivity) {
|
} else if (title != null && activity is MainActivity) {
|
||||||
activity?.inputEditText?.hint = title
|
activity?.inputEditText?.hint = title
|
||||||
@ -216,5 +220,8 @@ abstract class BaseController : ButterKnifeController(), ComponentCallbacks {
|
|||||||
return null
|
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.controllers.bottomsheet.items.listItemsWithImage
|
||||||
import com.nextcloud.talk.models.json.conversations.Conversation
|
import com.nextcloud.talk.models.json.conversations.Conversation
|
||||||
import com.nextcloud.talk.newarch.data.presenters.AdvancedEmptyPresenter
|
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.features.search.DebouncingTextWatcher
|
||||||
import com.nextcloud.talk.newarch.mvvm.BaseView
|
import com.nextcloud.talk.newarch.mvvm.BaseView
|
||||||
import com.nextcloud.talk.newarch.mvvm.ext.initRecyclerView
|
import com.nextcloud.talk.newarch.mvvm.ext.initRecyclerView
|
||||||
@ -287,8 +288,15 @@ class ConversationsListView : BaseView() {
|
|||||||
return items
|
return items
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getIsUsingSearchLayout(): Boolean {
|
override fun onFloatingActionButtonClick() {
|
||||||
return true
|
router?.pushController(
|
||||||
|
RouterTransaction.with(ContactsView<Any>())
|
||||||
|
.pushChangeHandler(HorizontalChangeHandler())
|
||||||
|
.popChangeHandler(HorizontalChangeHandler()))
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getAppBarLayoutType(): AppBarLayoutType {
|
||||||
|
return AppBarLayoutType.SEARCH_BAR
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getTitle(): String? {
|
override fun getTitle(): String? {
|
||||||
|
@ -47,7 +47,7 @@
|
|||||||
|
|
||||||
<string name="nc_never">Never joined</string>
|
<string name="nc_never">Never joined</string>
|
||||||
<string name="nc_search">Search</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_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>
|
<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