diff --git a/app/build.gradle b/app/build.gradle index 802b06d5..027800a3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -164,7 +164,7 @@ dependencies { implementation 'androidx.recyclerview:recyclerview:1.2.1' implementation 'androidx.browser:browser:1.4.0' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' - implementation 'com.github.johan12345:CustomBottomSheetBehavior:dd0167dbff' + implementation 'com.github.johan12345:CustomBottomSheetBehavior:8e3de307f2' implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-moshi:2.9.0' implementation 'com.squareup.okhttp3:okhttp:4.9.0' diff --git a/app/src/main/java/net/vonforst/evmap/fragment/MapFragment.kt b/app/src/main/java/net/vonforst/evmap/fragment/MapFragment.kt index 0d458c7d..fa4743f4 100644 --- a/app/src/main/java/net/vonforst/evmap/fragment/MapFragment.kt +++ b/app/src/main/java/net/vonforst/evmap/fragment/MapFragment.kt @@ -56,8 +56,7 @@ import com.google.android.material.transition.MaterialContainerTransform import com.google.android.material.transition.MaterialFadeThrough import com.google.android.material.transition.MaterialSharedAxis import com.mahc.custombottomsheetbehavior.BottomSheetBehaviorGoogleMapsLike -import com.mahc.custombottomsheetbehavior.BottomSheetBehaviorGoogleMapsLike.STATE_COLLAPSED -import com.mahc.custombottomsheetbehavior.BottomSheetBehaviorGoogleMapsLike.STATE_HIDDEN +import com.mahc.custombottomsheetbehavior.BottomSheetBehaviorGoogleMapsLike.* import com.mahc.custombottomsheetbehavior.MergedAppBarLayoutBehavior import com.stfalcon.imageviewer.StfalconImageViewer import io.michaelrocks.bimap.HashBiMap @@ -131,7 +130,11 @@ class MapFragment : Fragment(), OnMapReadyCallback, MapsActivity.FragmentCallbac val state = bottomSheetBehavior.state if (state != STATE_COLLAPSED && state != STATE_HIDDEN) { - bottomSheetBehavior.state = STATE_COLLAPSED + if (bottomSheetCollapsible) { + bottomSheetBehavior.state = STATE_COLLAPSED + } else { + vm.chargerSparse.value = null + } } else if (state == STATE_COLLAPSED) { vm.chargerSparse.value = null } else if (state == STATE_HIDDEN) { @@ -237,6 +240,9 @@ class MapFragment : Fragment(), OnMapReadyCallback, MapsActivity.FragmentCallbac return binding.root } + val bottomSheetCollapsible + get() = resources.getBoolean(R.bool.bottom_sheet_collapsible) + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { requireActivity().addMenuProvider(this, viewLifecycleOwner, Lifecycle.State.RESUMED) @@ -252,6 +258,7 @@ class MapFragment : Fragment(), OnMapReadyCallback, MapsActivity.FragmentCallbac binding.detailView.topPart.doOnNextLayout { bottomSheetBehavior.peekHeight = binding.detailView.topPart.bottom } + bottomSheetBehavior.isCollapsible = bottomSheetCollapsible setupObservers() setupClickListeners() @@ -383,7 +390,11 @@ class MapFragment : Fragment(), OnMapReadyCallback, MapsActivity.FragmentCallbac } setupSearchAutocomplete() binding.detailAppBar.toolbar.setNavigationOnClickListener { - bottomSheetBehavior.state = STATE_COLLAPSED + if (bottomSheetCollapsible) { + bottomSheetBehavior.state = STATE_COLLAPSED + } else { + vm.chargerSparse.value = null + } } binding.detailAppBar.toolbar.setOnMenuItemClickListener { when (it.itemId) { @@ -562,7 +573,8 @@ class MapFragment : Fragment(), OnMapReadyCallback, MapsActivity.FragmentCallbac vm.chargerSparse.observe(viewLifecycleOwner, Observer { if (it != null) { if (vm.bottomSheetState.value != BottomSheetBehaviorGoogleMapsLike.STATE_ANCHOR_POINT) { - bottomSheetBehavior.state = STATE_COLLAPSED + bottomSheetBehavior.state = + if (bottomSheetCollapsible) STATE_COLLAPSED else STATE_ANCHOR_POINT } removeSearchFocus() binding.fabDirections.show() diff --git a/app/src/main/res/layout/detail_view.xml b/app/src/main/res/layout/detail_view.xml index 093e1fb3..c0e2e549 100644 --- a/app/src/main/res/layout/detail_view.xml +++ b/app/src/main/res/layout/detail_view.xml @@ -77,7 +77,8 @@ - - + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_map.xml b/app/src/main/res/layout/fragment_map.xml index 7c9db551..88b8b359 100644 --- a/app/src/main/res/layout/fragment_map.xml +++ b/app/src/main/res/layout/fragment_map.xml @@ -19,7 +19,8 @@ + android:layout_height="match_parent" + android:clipChildren="false"> @@ -174,11 +175,11 @@ app:backgroundTint="?android:colorBackground" app:borderWidth="0dp" app:isFabActive="@{ vm.myLocationEnabled }" - app:layout_behavior="net.vonforst.evmap.ui.HideOnScrollFabBehavior" /> + app:layout_behavior="@string/hide_on_scroll_fab_behavior" /> @@ -240,7 +243,7 @@ app:borderWidth="0dp" app:fabSize="mini" app:srcCompat="@drawable/ic_layers" - app:layout_behavior="net.vonforst.evmap.ui.HideOnExpandFabBehavior" + app:layout_behavior="@string/hide_on_scroll_fab_behavior" android:theme="@style/NoElevationOverlay" /> + + false + \ No newline at end of file diff --git a/app/src/main/res/values-sw720dp/dimens.xml b/app/src/main/res/values-w960dp/dimens.xml similarity index 68% rename from app/src/main/res/values-sw720dp/dimens.xml rename to app/src/main/res/values-w960dp/dimens.xml index 194a15d0..7dba212f 100644 --- a/app/src/main/res/values-sw720dp/dimens.xml +++ b/app/src/main/res/values-w960dp/dimens.xml @@ -2,4 +2,5 @@ 500dp 20dp + -44dp \ No newline at end of file diff --git a/app/src/main/res/values-w960dp/donottranslate.xml b/app/src/main/res/values-w960dp/donottranslate.xml new file mode 100644 index 00000000..d6b1b50d --- /dev/null +++ b/app/src/main/res/values-w960dp/donottranslate.xml @@ -0,0 +1,4 @@ + + + @null + \ No newline at end of file diff --git a/app/src/main/res/values/bools.xml b/app/src/main/res/values/bools.xml new file mode 100644 index 00000000..61423731 --- /dev/null +++ b/app/src/main/res/values/bools.xml @@ -0,0 +1,4 @@ + + + true + \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 2167e569..f4cd3e2c 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -11,4 +11,5 @@ -1 @dimen/match_parent 100dp + 0dp \ No newline at end of file diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml index af853ecb..623958d8 100644 --- a/app/src/main/res/values/donottranslate.xml +++ b/app/src/main/res/values/donottranslate.xml @@ -14,4 +14,5 @@ Français Norsk Bokmål Danilo Bargen\nAltonss\nAllan Nordhøy\nLicaon_Kter\npt2121\nnautilusx + net.vonforst.evmap.ui.HideOnScrollFabBehavior \ No newline at end of file