From 05ed1763da2e14fb29997c4aa1fcb43b2c2c4eae Mon Sep 17 00:00:00 2001 From: Kevin Gorham Date: Wed, 14 Nov 2018 00:16:53 -0500 Subject: [PATCH] checkpoint before calling it a night. App bar is mostly working for each fragment. Need to cleanup the code and add shared element animations. --- .../wallet/ui/activity/MainActivity.kt | 15 ++++---- .../wallet/ui/fragment/HomeFragment.kt | 11 ++++-- .../wallet/ui/fragment/ReceiveFragment.kt | 8 +++++ .../wallet/ui/fragment/RequestFragment.kt | 8 +++++ .../wallet/ui/fragment/SendFragment.kt | 14 ++++---- .../app/src/main/res/layout/activity_main.xml | 9 +++-- .../app/src/main/res/layout/app_bar_main.xml | 36 ------------------- .../app/src/main/res/layout/content_main.xml | 20 ----------- .../app/src/main/res/layout/fragment_home.xml | 1 - .../src/main/res/layout/fragment_receive.xml | 3 ++ .../src/main/res/layout/fragment_request.xml | 4 +++ .../app/src/main/res/layout/fragment_send.xml | 3 ++ .../src/main/res/layout/include_app_bar.xml | 19 ++++++++++ .../main/res/navigation/mobile_navigation.xml | 2 +- 14 files changed, 73 insertions(+), 80 deletions(-) delete mode 100644 zcash-android-wallet-app/app/src/main/res/layout/app_bar_main.xml delete mode 100644 zcash-android-wallet-app/app/src/main/res/layout/content_main.xml create mode 100644 zcash-android-wallet-app/app/src/main/res/layout/include_app_bar.xml diff --git a/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/activity/MainActivity.kt b/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/activity/MainActivity.kt index 6037f0b..1a589d7 100644 --- a/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/activity/MainActivity.kt +++ b/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/activity/MainActivity.kt @@ -16,7 +16,6 @@ import dagger.Module import dagger.android.ContributesAndroidInjector import dagger.android.support.DaggerAppCompatActivity import kotlinx.android.synthetic.main.activity_main.* -import kotlinx.android.synthetic.main.app_bar_main.* import javax.inject.Inject class MainActivity : DaggerAppCompatActivity() { @@ -31,8 +30,6 @@ class MainActivity : DaggerAppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) - setSupportActionBar(toolbar) - setupNavigation() } override fun onBackPressed() { @@ -52,7 +49,7 @@ class MainActivity : DaggerAppCompatActivity() { return navController.navigateUp(appBarConfiguration) || super.onSupportNavigateUp() } - private fun setupNavigation() { + public fun setupNavigation() { // create and setup the navController and appbarConfiguration navController = Navigation.findNavController(this, R.id.nav_host_fragment).also { n -> appBarConfiguration = AppBarConfiguration(n.graph, drawer_layout).also { a -> @@ -64,11 +61,11 @@ class MainActivity : DaggerAppCompatActivity() { // remove icon tint so that our colored nav icons show through nav_view.itemIconTintList = null - // counting the fab as navigation-related. So set it up here - fab.setOnClickListener(::onFabClicked) - navController.addOnNavigatedListener { _, destination -> - if (destination.id == R.id.nav_home_fragment) fab.show() else fab.hide() - } +// // counting the fab as navigation-related. So set it up here +// fab.setOnClickListener(::onFabClicked) +// navController.addOnNavigatedListener { _, destination -> +// if (destination.id == R.id.nav_home_fragment) fab.show() else fab.hide() +// } } private fun onFabClicked(view: View) { diff --git a/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/fragment/HomeFragment.kt b/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/fragment/HomeFragment.kt index 35afb57..eeb08ee 100644 --- a/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/fragment/HomeFragment.kt +++ b/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/fragment/HomeFragment.kt @@ -3,12 +3,11 @@ package cash.z.android.wallet.ui.fragment import android.content.Context import android.net.Uri import android.os.Bundle +import android.view.* import androidx.fragment.app.Fragment -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup import cash.z.android.wallet.R import cash.z.android.wallet.ui.activity.MainActivity +import kotlinx.android.synthetic.main.fragment_home.* // TODO: Rename parameter arguments, choose names that match @@ -47,6 +46,12 @@ class HomeFragment : Fragment() { return inflater.inflate(R.layout.fragment_home, container, false) } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + (activity as MainActivity).setSupportActionBar(toolbar) + (activity as MainActivity).setupNavigation() + } + // TODO: Rename method, update argument and hook method into UI event fun onButtonPressed(uri: Uri) { listener?.onFragmentInteraction(uri) diff --git a/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/fragment/ReceiveFragment.kt b/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/fragment/ReceiveFragment.kt index cbb7d47..d692a22 100644 --- a/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/fragment/ReceiveFragment.kt +++ b/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/fragment/ReceiveFragment.kt @@ -8,6 +8,8 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import cash.z.android.wallet.R +import cash.z.android.wallet.ui.activity.MainActivity +import kotlinx.android.synthetic.main.fragment_home.* // TODO: Rename parameter arguments, choose names that match @@ -46,6 +48,12 @@ class ReceiveFragment : Fragment() { return inflater.inflate(R.layout.fragment_receive, container, false) } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + (activity as MainActivity).setSupportActionBar(toolbar) + (activity as MainActivity).supportActionBar?.setDisplayHomeAsUpEnabled(true) + } + // TODO: Rename method, update argument and hook method into UI event fun onButtonPressed(uri: Uri) { listener?.onFragmentInteraction(uri) diff --git a/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/fragment/RequestFragment.kt b/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/fragment/RequestFragment.kt index d52078c..d2aafbe 100644 --- a/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/fragment/RequestFragment.kt +++ b/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/fragment/RequestFragment.kt @@ -8,6 +8,8 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import cash.z.android.wallet.R +import cash.z.android.wallet.ui.activity.MainActivity +import kotlinx.android.synthetic.main.fragment_home.* // TODO: Rename parameter arguments, choose names that match @@ -46,6 +48,12 @@ class RequestFragment : Fragment() { return inflater.inflate(R.layout.fragment_request, container, false) } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + (activity as MainActivity).setSupportActionBar(toolbar) + (activity as MainActivity).supportActionBar?.setDisplayHomeAsUpEnabled(true) + } + // TODO: Rename method, update argument and hook method into UI event fun onButtonPressed(uri: Uri) { listener?.onFragmentInteraction(uri) diff --git a/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/fragment/SendFragment.kt b/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/fragment/SendFragment.kt index 52b7a4a..5457248 100644 --- a/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/fragment/SendFragment.kt +++ b/zcash-android-wallet-app/app/src/main/java/cash/z/android/wallet/ui/fragment/SendFragment.kt @@ -8,6 +8,8 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import cash.z.android.wallet.R +import cash.z.android.wallet.ui.activity.MainActivity +import kotlinx.android.synthetic.main.fragment_home.* // TODO: Rename parameter arguments, choose names that match @@ -51,13 +53,11 @@ class SendFragment : Fragment() { listener?.onFragmentInteraction(uri) } - override fun onAttach(context: Context) { - super.onAttach(context) - if (context is OnFragmentInteractionListener) { - listener = context - } else { -// throw RuntimeException(context.toString() + " must implement OnFragmentInteractionListener") - } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + (activity as MainActivity).setSupportActionBar(toolbar) + (activity as MainActivity).supportActionBar?.setDisplayHomeAsUpEnabled(true) } override fun onDetach() { diff --git a/zcash-android-wallet-app/app/src/main/res/layout/activity_main.xml b/zcash-android-wallet-app/app/src/main/res/layout/activity_main.xml index 8e69e22..937eda4 100644 --- a/zcash-android-wallet-app/app/src/main/res/layout/activity_main.xml +++ b/zcash-android-wallet-app/app/src/main/res/layout/activity_main.xml @@ -8,10 +8,13 @@ android:fitsSystemWindows="true" tools:openDrawer="start"> - + android:layout_height="match_parent" + app:defaultNavHost="true" + app:navGraph="@navigation/mobile_navigation" /> - - - - - - - - - - - - - \ No newline at end of file diff --git a/zcash-android-wallet-app/app/src/main/res/layout/content_main.xml b/zcash-android-wallet-app/app/src/main/res/layout/content_main.xml deleted file mode 100644 index f99bc26..0000000 --- a/zcash-android-wallet-app/app/src/main/res/layout/content_main.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/zcash-android-wallet-app/app/src/main/res/layout/fragment_home.xml b/zcash-android-wallet-app/app/src/main/res/layout/fragment_home.xml index 0d4fac5..71599fa 100644 --- a/zcash-android-wallet-app/app/src/main/res/layout/fragment_home.xml +++ b/zcash-android-wallet-app/app/src/main/res/layout/fragment_home.xml @@ -16,7 +16,6 @@ android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="180dp" - android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" /> diff --git a/zcash-android-wallet-app/app/src/main/res/layout/fragment_receive.xml b/zcash-android-wallet-app/app/src/main/res/layout/fragment_receive.xml index 9887cb0..5250ae2 100644 --- a/zcash-android-wallet-app/app/src/main/res/layout/fragment_receive.xml +++ b/zcash-android-wallet-app/app/src/main/res/layout/fragment_receive.xml @@ -8,6 +8,9 @@ android:background="@android:color/black" tools:context=".ui.fragment.ReceiveFragment"> + + + + + + + + + + + \ No newline at end of file diff --git a/zcash-android-wallet-app/app/src/main/res/navigation/mobile_navigation.xml b/zcash-android-wallet-app/app/src/main/res/navigation/mobile_navigation.xml index 2074689..ee1d692 100644 --- a/zcash-android-wallet-app/app/src/main/res/navigation/mobile_navigation.xml +++ b/zcash-android-wallet-app/app/src/main/res/navigation/mobile_navigation.xml @@ -8,7 +8,7 @@