* feat: enhance navigation * fix: leaving settings always unlocks drawer * feat: set app settings inside a frame layout In order to add a toolbar with a back button in settings I needed to extend from a fragment so I converted SettingsFragment into a fragment and created SettingsContainerFragment, the latter is injected as a child of SettingsFragment inside a FrameLayout. Since SettingsContainerFragment extends from PreferenceFragmentCompat, this allows to swap it for other and, in the bigger picture, allow an arbitrary organization. * fix: onStop declaration on wrong class * fix: equalizer not respecting navigation ui directives * Revert "fix: equalizer not respecting navigation ui directives" This reverts commiteeb125542d. * fix: navbar + bottom sheet behavior on equalizer fragment * Revert "fix: onStop declaration on wrong class" This reverts commit34d354d803. * Revert "feat: set app settings inside a frame layout" This reverts commit52cfd36b09. * chore: set experimental label to settings title Hide bottom navigation bar on portrait and unlock drawer on portrait
73 lines
2.7 KiB
XML
73 lines
2.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<androidx.drawerlayout.widget.DrawerLayout
|
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
android:id="@+id/drawer_layout"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:background="?attr/colorSurface">
|
|
|
|
|
|
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent">
|
|
|
|
<androidx.fragment.app.FragmentContainerView
|
|
android:id="@+id/nav_host_fragment"
|
|
android:name="androidx.navigation.fragment.NavHostFragment"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
app:defaultNavHost="true"
|
|
app:navGraph="@navigation/nav_graph" />
|
|
|
|
<FrameLayout
|
|
android:id="@+id/player_bottom_sheet"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
app:behavior_hideable="true"
|
|
app:behavior_peekHeight="@dimen/bottom_sheet_behavior_peek_height"
|
|
app:layout_behavior="@string/bottom_sheet_behavior" />
|
|
|
|
<com.google.android.material.bottomnavigation.BottomNavigationView
|
|
android:id="@+id/bottom_navigation"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="80dp"
|
|
android:layout_gravity="bottom"
|
|
android:paddingStart="24dp"
|
|
android:paddingEnd="24dp"
|
|
app:menu="@menu/bottom_nav_menu" />
|
|
|
|
|
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
|
|
|
<!--
|
|
This FrameLayout id is always called,
|
|
if removed the app crashes
|
|
-->
|
|
<FrameLayout
|
|
android:id="@+id/bottom_navigation_frame"
|
|
android:layout_width="0dp"
|
|
android:layout_height="0dp"
|
|
android:visibility="gone"
|
|
android:clickable="false"
|
|
android:focusable="false" />
|
|
|
|
<com.google.android.material.navigation.NavigationView
|
|
android:id="@+id/nav_view"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="match_parent"
|
|
android:layout_gravity="start"
|
|
app:menu="@menu/nav_drawer"
|
|
app:headerLayout="@layout/nav_drawer_header" />
|
|
|
|
<TextView
|
|
android:id="@+id/offline_mode_text_view"
|
|
style="@style/NoConnectionTextView"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:gravity="center"
|
|
android:text="@string/activity_info_offline_mode"
|
|
android:textSize="6sp"
|
|
android:visibility="gone" />
|
|
</androidx.drawerlayout.widget.DrawerLayout>
|