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 3aefdc8f0..316ebd43c 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 @@ -33,6 +33,7 @@ import android.view.inputmethod.InputMethodManager import android.widget.EditText import androidx.annotation.RequiresApi import androidx.appcompat.app.ActionBar +import androidx.coordinatorlayout.widget.CoordinatorLayout import androidx.core.view.isVisible import com.bluelinelabs.conductor.ControllerChangeHandler import com.bluelinelabs.conductor.ControllerChangeType @@ -43,6 +44,7 @@ import com.nextcloud.talk.R import com.nextcloud.talk.activities.MainActivity import com.nextcloud.talk.controllers.SwitchAccountController import com.nextcloud.talk.controllers.base.providers.ActionBarProvider +import com.nextcloud.talk.utils.animations.FABAwareScrollingViewBehavior import com.nextcloud.talk.utils.preferences.AppPreferences import com.uber.autodispose.lifecycle.LifecycleScopeProvider import kotlinx.android.synthetic.main.activity_main.* @@ -111,12 +113,24 @@ abstract class BaseController : ButterKnifeController(), ComponentCallbacks { activity?.let { if (it is MainActivity) { it.searchCardView.isVisible = value + it.floatingActionButton.isVisible = value it.inputEditText.hint = getSearchHint() + + val layoutParams = it.toolbar.layoutParams as AppBarLayout.LayoutParams + val layoutParamsForContainer = it.container.layoutParams as CoordinatorLayout.LayoutParams + if (value) { + layoutParams.scrollFlags = AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL or AppBarLayout.LayoutParams.SCROLL_FLAG_SNAP or AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS + layoutParamsForContainer.behavior = FABAwareScrollingViewBehavior() it.appBar.setBackgroundResource(R.color.transparent) } else { + layoutParams.scrollFlags = 0 + layoutParamsForContainer.behavior = AppBarLayout.ScrollingViewBehavior() it.appBar.setBackgroundResource(R.color.colorPrimary) } + + it.container.layoutParams = layoutParamsForContainer + it.toolbar.layoutParams = layoutParams } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index c9e44d8ee..098c23941 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -55,7 +55,7 @@ android:id="@+id/controller_container" android:layout_width="match_parent" android:layout_height="match_parent" - app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" /> + app:layout_behavior="com.nextcloud.talk.utils.animations.FABAwareScrollingViewBehavior" /> + app:layout_behavior=""> + tools:listitem="@layout/rv_item_conversation_with_last_message" />