From 565336cbf60d23bb801c2c338da0189ff7d2cb47 Mon Sep 17 00:00:00 2001 From: Jarne Demeulemeester Date: Sun, 18 Jul 2021 11:21:27 +0200 Subject: [PATCH] Add settings button to home screen app bar --- .../jdtech/jellyfin/fragments/HomeFragment.kt | 29 +++++++++++++++++-- app/src/main/res/menu/home_menu.xml | 10 +++++++ .../main/res/navigation/main_navigation.xml | 7 +++++ 3 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 app/src/main/res/menu/home_menu.xml diff --git a/app/src/main/java/dev/jdtech/jellyfin/fragments/HomeFragment.kt b/app/src/main/java/dev/jdtech/jellyfin/fragments/HomeFragment.kt index cbb387da..b7aa25f3 100644 --- a/app/src/main/java/dev/jdtech/jellyfin/fragments/HomeFragment.kt +++ b/app/src/main/java/dev/jdtech/jellyfin/fragments/HomeFragment.kt @@ -1,9 +1,7 @@ package dev.jdtech.jellyfin.fragments import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup +import android.view.* import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels import androidx.navigation.fragment.findNavController @@ -22,6 +20,25 @@ class HomeFragment : Fragment() { private lateinit var binding: FragmentHomeBinding private val viewModel: HomeViewModel by viewModels() + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setHasOptionsMenu(true) + } + + override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { + inflater.inflate(R.menu.home_menu, menu) + } + + override fun onOptionsItemSelected(item: MenuItem): Boolean { + return when (item.itemId) { + R.id.action_settings -> { + navigateToSettingsFragment() + true + } + else -> super.onOptionsItemSelected(item) + } + } + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -94,4 +111,10 @@ class HomeFragment : Fragment() { ) ) } + + private fun navigateToSettingsFragment() { + findNavController().navigate( + HomeFragmentDirections.actionNavigationHomeToNavigationSettings() + ) + } } \ No newline at end of file diff --git a/app/src/main/res/menu/home_menu.xml b/app/src/main/res/menu/home_menu.xml new file mode 100644 index 00000000..8bf60bd1 --- /dev/null +++ b/app/src/main/res/menu/home_menu.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/navigation/main_navigation.xml b/app/src/main/res/navigation/main_navigation.xml index afedf67f..9ba73a34 100644 --- a/app/src/main/res/navigation/main_navigation.xml +++ b/app/src/main/res/navigation/main_navigation.xml @@ -27,6 +27,13 @@ +