From 70e7b54cc12ee65a3791f6fba6d4c9895e87e307 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Mon, 3 Dec 2018 19:26:47 +0100 Subject: [PATCH] Begin implementing new navigation architecture --- Habitica/AndroidManifest.xml | 1 + Habitica/build.gradle | 3 + .../res/drawable/rounded_purple_square.xml | 2 +- .../res/drawable/white_rounded_border.xml | 7 + Habitica/res/layout/activity_main.xml | 13 +- Habitica/res/navigation/navigation.xml | 199 ++++++++++++++++++ Habitica/res/values-v21/styles.xml | 2 +- Habitica/res/values/dimens.xml | 4 +- Habitica/res/values/strings.xml | 7 +- Habitica/res/values/styles.xml | 14 +- .../android/habitica/data/FAQRepository.kt | 2 +- .../data/implementation/FAQRepositoryImpl.kt | 3 + .../habitica/data/local/FAQLocalRepository.kt | 1 + .../implementation/RealmFAQLocalRepository.kt | 9 + .../OpenGemPurchaseFragmentCommand.java | 7 - .../events/commands/OpenMenuItemCommand.java | 15 -- .../habitica/helpers/NavigationManager.kt | 25 +++ .../helpers/NotificationOpenHandler.kt | 51 ++--- .../habitica/ui/AvatarWithBarsViewModel.kt | 11 +- .../habitica/ui/activities/MainActivity.kt | 88 +++----- .../CustomizationRecyclerViewAdapter.kt | 14 +- .../ui/adapter/FAQOverviewRecyclerAdapter.kt | 8 +- .../ui/adapter/NavigationDrawerAdapter.kt | 25 ++- .../adapter/inventory/ShopRecyclerAdapter.kt | 6 +- .../inventory/StableRecyclerAdapter.kt | 8 +- .../adapter/social/ChatRecyclerViewAdapter.kt | 1 + .../social/PublicGuildsRecyclerViewAdapter.kt | 10 +- .../habitica/ui/fragments/BaseMainFragment.kt | 3 +- .../ui/fragments/NavigationDrawerFragment.kt | 138 +++--------- .../ui/fragments/faq/FAQDetailFragment.kt | 31 ++- .../AvatarCustomizationFragment.kt | 7 + .../customization/AvatarOverviewFragment.kt | 6 +- .../equipment/EquipmentOverviewFragment.kt | 7 +- .../inventory/items/ItemRecyclerFragment.kt | 11 +- .../AuthenticationPreferenceFragment.kt | 8 +- .../ui/fragments/social/GuildFragment.kt | 5 + .../social/GuildsOverviewFragment.kt | 12 +- .../ui/fragments/social/InboxFragment.kt | 2 + .../fragments/social/TavernDetailFragment.kt | 10 +- .../habitica/ui/menu/HabiticaDrawerItem.kt | 2 +- .../InsufficientGemsDialog.kt | 6 +- .../InsufficientHourglassesDialog.kt | 6 +- .../habitica/ui/views/shops/PurchaseDialog.kt | 5 +- build.gradle | 4 +- 44 files changed, 451 insertions(+), 348 deletions(-) create mode 100644 Habitica/res/drawable/white_rounded_border.xml create mode 100644 Habitica/res/navigation/navigation.xml delete mode 100644 Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/OpenGemPurchaseFragmentCommand.java delete mode 100644 Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/OpenMenuItemCommand.java create mode 100644 Habitica/src/main/java/com/habitrpg/android/habitica/helpers/NavigationManager.kt diff --git a/Habitica/AndroidManifest.xml b/Habitica/AndroidManifest.xml index 5789ca275..108509040 100644 --- a/Habitica/AndroidManifest.xml +++ b/Habitica/AndroidManifest.xml @@ -30,6 +30,7 @@ android:theme="@style/AppTheme.NoActionBar.Transparent" android:windowSoftInputMode="stateHidden|adjustResize" android:screenOrientation="portrait"> + diff --git a/Habitica/build.gradle b/Habitica/build.gradle index 1e7fb0e33..d3df6110b 100644 --- a/Habitica/build.gradle +++ b/Habitica/build.gradle @@ -5,6 +5,7 @@ apply plugin: 'kotlin-kapt' apply plugin: 'io.fabric' apply plugin: 'com.noveogroup.android.check' apply plugin: 'realm-android' +apply plugin: 'androidx.navigation.safeargs' buildscript { repositories { @@ -130,6 +131,8 @@ dependencies { implementation 'androidx.core:core-ktx:1.0.1' implementation "androidx.lifecycle:lifecycle-extensions:2.0.0" kapt "androidx.lifecycle:lifecycle-compiler:2.0.0" + implementation 'android.arch.navigation:navigation-fragment-ktx:1.0.0-alpha07' + implementation 'android.arch.navigation:navigation-ui-ktx:1.0.0-alpha07' implementation 'com.plattysoft.leonids:LeonidsLib:1.3.2' } diff --git a/Habitica/res/drawable/rounded_purple_square.xml b/Habitica/res/drawable/rounded_purple_square.xml index 3362791f3..eebd55800 100644 --- a/Habitica/res/drawable/rounded_purple_square.xml +++ b/Habitica/res/drawable/rounded_purple_square.xml @@ -5,7 +5,7 @@ + android:color="@color/brand_300" > diff --git a/Habitica/res/drawable/white_rounded_border.xml b/Habitica/res/drawable/white_rounded_border.xml new file mode 100644 index 000000000..4f58fc66d --- /dev/null +++ b/Habitica/res/drawable/white_rounded_border.xml @@ -0,0 +1,7 @@ + + + + diff --git a/Habitica/res/layout/activity_main.xml b/Habitica/res/layout/activity_main.xml index 2805bdb59..9d94fa17d 100644 --- a/Habitica/res/layout/activity_main.xml +++ b/Habitica/res/layout/activity_main.xml @@ -18,13 +18,14 @@ android:layout_height="match_parent" tools:context=".ui.activities.MainActivity" android:fitsSystemWindows="false"> - - - + app:layout_behavior="@string/appbar_scrolling_view_behavior" + app:defaultNavHost="true" + app:navGraph="@navigation/navigation" /> diff --git a/Habitica/res/navigation/navigation.xml b/Habitica/res/navigation/navigation.xml new file mode 100644 index 000000000..be983285b --- /dev/null +++ b/Habitica/res/navigation/navigation.xml @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Habitica/res/values-v21/styles.xml b/Habitica/res/values-v21/styles.xml index a04e2b059..23d2318d8 100644 --- a/Habitica/res/values-v21/styles.xml +++ b/Habitica/res/values-v21/styles.xml @@ -2,7 +2,7 @@ @@ -264,6 +264,10 @@