Fix up some of the issues with new search

Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
Mario Danic 2020-01-09 14:06:37 +01:00
parent 28892c9728
commit 733653cbef
No known key found for this signature in database
GPG Key ID: CDE0BBD2738C4CC0
3 changed files with 13 additions and 1 deletions

View File

@ -33,7 +33,10 @@ 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
import com.bluelinelabs.conductor.autodispose.ControllerScopeProvider
import com.google.android.material.appbar.AppBarLayout
import com.google.android.material.floatingactionbutton.FloatingActionButton
@ -44,6 +47,7 @@ import com.nextcloud.talk.controllers.ServerSelectionController
import com.nextcloud.talk.controllers.SwitchAccountController
import com.nextcloud.talk.controllers.WebViewLoginController
import com.nextcloud.talk.controllers.base.providers.ActionBarProvider
import com.nextcloud.talk.utils.FABAwareScrollingViewBehavior
import com.nextcloud.talk.utils.preferences.AppPreferences
import com.uber.autodispose.lifecycle.LifecycleScopeProvider
import kotlinx.android.synthetic.main.activity_main.*
@ -104,15 +108,20 @@ abstract class BaseController : ButterKnifeController(), ComponentCallbacks {
it.floatingActionButton.isVisible = value
it.inputEditText.hint = getSearchHint()
val layoutParamsForContainer = it.container.layoutParams as CoordinatorLayout.LayoutParams
val layoutParams = it.toolbar.layoutParams as AppBarLayout.LayoutParams
if (value) {
layoutParamsForContainer.behavior = FABAwareScrollingViewBehavior()
layoutParams.scrollFlags = AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL or AppBarLayout.LayoutParams.SCROLL_FLAG_SNAP or AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS
it.appBar.setBackgroundResource(R.color.transparent)
} else {
layoutParamsForContainer.behavior = AppBarLayout.ScrollingViewBehavior()
layoutParams.scrollFlags = 0
it.appBar.setBackgroundResource(R.color.colorPrimary)
}
it.container.layoutParams = layoutParamsForContainer
it.toolbar.layoutParams = layoutParams
it.toolbar.forceLayout()
}
}

View File

@ -29,6 +29,9 @@ import java.util.List;
public class FABAwareScrollingViewBehavior extends AppBarLayout.ScrollingViewBehavior {
public FABAwareScrollingViewBehavior() {
}
public FABAwareScrollingViewBehavior(Context context, AttributeSet attrs) {
super(context, attrs);
}

View File

@ -53,7 +53,7 @@
<com.nextcloud.talk.newarch.utils.ChangeHandlerCoordinatorLayout
android:id="@+id/controller_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="match_parent"
app:layout_behavior="com.nextcloud.talk.utils.FABAwareScrollingViewBehavior"
/>