diff --git a/Habitica/AndroidManifest.xml b/Habitica/AndroidManifest.xml
index 5b7b1c512..3c1057449 100644
--- a/Habitica/AndroidManifest.xml
+++ b/Habitica/AndroidManifest.xml
@@ -14,6 +14,8 @@
+
+
+
+
+
+
+
+ android:label="@string/sidebar.challenges" >
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.kt
index c4387c9ac..c80872dd5 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.kt
@@ -106,16 +106,14 @@ abstract class HabiticaBaseApplication : MultiDexApplication() {
}
private fun setupInstabug() {
- if (BuildConfig.FLAVOR == "beta") {
- Instabug.Builder(this, getString(R.string.instabug_key))
- .setInvocationEvents(InstabugInvocationEvent.SHAKE)
- .setReproStepsState(State.ENABLED_WITH_NO_SCREENSHOTS)
- .build()
- Instabug.setWelcomeMessageState(WelcomeMessage.State.DISABLED)
- Instabug.setUserAttribute("", lazyApiHelper.hostConfig.user)
- BugReporting.setShakingThreshold(900)
- BugReporting.setPromptOptionsEnabled(PromptOption.BUG, PromptOption.FEEDBACK)
- }
+ Instabug.Builder(this, getString(R.string.instabug_key))
+ .setInvocationEvents(InstabugInvocationEvent.SHAKE)
+ .setReproStepsState(State.ENABLED_WITH_NO_SCREENSHOTS)
+ .build()
+ Instabug.setWelcomeMessageState(WelcomeMessage.State.DISABLED)
+ Instabug.setUserAttribute("", lazyApiHelper.hostConfig.user)
+ BugReporting.setShakingThreshold(900)
+ BugReporting.setPromptOptionsEnabled(PromptOption.BUG, PromptOption.FEEDBACK)
}
protected open fun setupRealm() {
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/events/DisplayFragmentEvent.java b/Habitica/src/main/java/com/habitrpg/android/habitica/events/DisplayFragmentEvent.java
deleted file mode 100644
index bea9802bb..000000000
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/events/DisplayFragmentEvent.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.habitrpg.android.habitica.events;
-
-import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;
-
-public class DisplayFragmentEvent {
-
- public BaseMainFragment fragment;
-}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/events/ReminderDeleteEvent.java b/Habitica/src/main/java/com/habitrpg/android/habitica/events/ReminderDeleteEvent.java
deleted file mode 100644
index a283ad10d..000000000
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/events/ReminderDeleteEvent.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.habitrpg.android.habitica.events;
-
-import com.habitrpg.android.habitica.models.tasks.RemindersItem;
-
-/**
- * Created by keithholliday on 7/16/16.
- */
-public class ReminderDeleteEvent {
- public RemindersItem reminder;
-}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/events/TaskUpdatedEvent.java b/Habitica/src/main/java/com/habitrpg/android/habitica/events/TaskUpdatedEvent.java
deleted file mode 100644
index 52822e06f..000000000
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/events/TaskUpdatedEvent.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.habitrpg.android.habitica.events;
-
-import com.habitrpg.android.habitica.models.tasks.Task;
-
-/**
- * Created by Negue on 28.09.2015.
- */
-public class TaskUpdatedEvent {
- public Task task;
-
- public TaskUpdatedEvent(Task t) {
- task = t;
- }
-}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/AddNewTaskCommand.java b/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/AddNewTaskCommand.java
deleted file mode 100644
index 7fcf5483c..000000000
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/AddNewTaskCommand.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.habitrpg.android.habitica.events.commands;
-
-/**
- * Created by Negue on 11.07.2015.
- */
-public class AddNewTaskCommand {
- public String taskType;
-}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/UnlockPathCommand.java b/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/UnlockPathCommand.java
deleted file mode 100644
index 320e5e39d..000000000
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/UnlockPathCommand.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.habitrpg.android.habitica.events.commands;
-
-/**
- * Created by viirus on 15/01/16.
- */
-public class UnlockPathCommand {
-
- public String path;
- public double balanceDiff;
-
-}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/TaskAlarmManager.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/TaskAlarmManager.kt
index 2e42e7fc9..7ee045e5c 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/TaskAlarmManager.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/TaskAlarmManager.kt
@@ -6,11 +6,9 @@ import android.content.Context
import android.content.Intent
import android.os.Build
import android.os.Build.VERSION.SDK_INT
-import android.provider.Settings.Global.putLong
import androidx.core.content.edit
import androidx.preference.PreferenceManager
import com.habitrpg.android.habitica.data.TaskRepository
-import com.habitrpg.android.habitica.events.ReminderDeleteEvent
import com.habitrpg.android.habitica.models.tasks.RemindersItem
import com.habitrpg.android.habitica.models.tasks.Task
import com.habitrpg.android.habitica.receivers.NotificationPublisher
@@ -18,22 +16,11 @@ import com.habitrpg.android.habitica.receivers.TaskReceiver
import io.reactivex.Flowable
import io.reactivex.functions.Consumer
import org.greenrobot.eventbus.EventBus
-import org.greenrobot.eventbus.Subscribe
import java.util.*
class TaskAlarmManager(private var context: Context, private var taskRepository: TaskRepository, private var userId: String) {
private val am: AlarmManager? = context.getSystemService(Context.ALARM_SERVICE) as? AlarmManager
- init {
- EventBus.getDefault().register(this)
- }
-
- @Subscribe
- fun onEvent(event: ReminderDeleteEvent) {
- val remindersItem = event.reminder
- this.removeAlarmForRemindersItem(remindersItem)
- }
-
private fun setAlarmsForTask(task: Task) {
task.reminders?.let {
for (reminder in it) {
@@ -45,7 +32,6 @@ class TaskAlarmManager(private var context: Context, private var taskRepository:
this.setAlarmForRemindersItem(task, currentReminder)
}
}
-
}
private fun removeAlarmsForTask(task: Task) {
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt
index 7295a1a7e..92419a81c 100755
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt
@@ -379,30 +379,6 @@ open class MainActivity : BaseActivity(), TutorialView.OnTutorialReaction {
findNavController(R.id.nav_host_fragment).navigate(transitionId)
}
- @SuppressLint("ObsoleteSdkInt")
- fun displayFragment(fragment: BaseMainFragment) {
- if (fragment.javaClass == this.activeFragment?.get()?.javaClass) {
- return
- }
- if (SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1 && this.isDestroyed) {
- return
- }
- makeActiveFragment(fragment)
-
-
- /*if (supportFragmentManager.fragments == null) {
- supportFragmentManager.beginTransaction().add(R.id.fragment_container, fragment).commitAllowingStateLoss()
- } else {
- val transaction = supportFragmentManager.beginTransaction()
- transaction.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out, android.R.anim.fade_in, android.R.anim.fade_out)
- transaction.replace(R.id.fragment_container, fragment)
- if (fragment.addToBackStack()) {
- transaction.addToBackStack(null)
- }
- transaction.commitAllowingStateLoss()
- }*/
- }
-
private fun setUserData() {
if (user != null) {
val preferences = user?.preferences
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/StableRecyclerAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/StableRecyclerAdapter.kt
index ac0384385..b5c0835bc 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/StableRecyclerAdapter.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/StableRecyclerAdapter.kt
@@ -97,10 +97,6 @@ class StableRecyclerAdapter : androidx.recyclerview.widget.RecyclerView.Adapter<
if (animal.numberOwned > 0) {
if (itemType == "pets") {
MainNavigationController.navigate(StableFragmentDirections.openPetDetail(animal.animal, animal.animalGroup))
- val fragment = PetDetailRecyclerFragment()
- fragment.animalType = animal.animal
- fragment.animalGroup = animal.animalGroup
- activity?.displayFragment(fragment)
} else {
MainNavigationController.navigate(StableFragmentDirections.openMountDetail(animal.animal, animal.animalGroup))
}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/PublicGuildsRecyclerViewAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/PublicGuildsRecyclerViewAdapter.kt
index 85d003819..0cd8babd7 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/PublicGuildsRecyclerViewAdapter.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/PublicGuildsRecyclerViewAdapter.kt
@@ -9,7 +9,6 @@ import android.widget.Filterable
import android.widget.TextView
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.data.ApiClient
-import com.habitrpg.android.habitica.events.DisplayFragmentEvent
import com.habitrpg.android.habitica.extensions.inflate
import com.habitrpg.android.habitica.extensions.notNull
import com.habitrpg.android.habitica.helpers.MainNavigationController
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/equipment/EquipmentDetailFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/equipment/EquipmentDetailFragment.kt
index 07c6336d0..6ed87d2a0 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/equipment/EquipmentDetailFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/equipment/EquipmentDetailFragment.kt
@@ -9,11 +9,13 @@ import android.view.ViewGroup
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.components.AppComponent
import com.habitrpg.android.habitica.data.InventoryRepository
+import com.habitrpg.android.habitica.extensions.notNull
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.models.inventory.Equipment
import com.habitrpg.android.habitica.models.user.Items
import com.habitrpg.android.habitica.ui.adapter.inventory.EquipmentRecyclerViewAdapter
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment
+import com.habitrpg.android.habitica.ui.fragments.inventory.customization.AvatarCustomizationFragmentArgs
import com.habitrpg.android.habitica.ui.helpers.SafeDefaultItemAnimator
import io.reactivex.functions.Consumer
import io.realm.RealmResults
@@ -47,6 +49,13 @@ class EquipmentDetailFragment : BaseMainFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
+ arguments.notNull {
+ val args = EquipmentDetailFragmentArgs.fromBundle(it)
+ type = args.type
+ isCostume = args.isCostume
+ equippedGear = args.equippedGear
+ }
+
recyclerView.adapter = this.adapter
recyclerView.layoutManager = androidx.recyclerview.widget.LinearLayoutManager(activity)
recyclerView.addItemDecoration(androidx.recyclerview.widget.DividerItemDecoration(getActivity(), androidx.recyclerview.widget.DividerItemDecoration.VERTICAL))
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/MountDetailRecyclerFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/MountDetailRecyclerFragment.kt
index 14365648d..a20425be3 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/MountDetailRecyclerFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/MountDetailRecyclerFragment.kt
@@ -14,6 +14,7 @@ import com.habitrpg.android.habitica.extensions.notNull
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.ui.adapter.inventory.MountDetailRecyclerAdapter
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment
+import com.habitrpg.android.habitica.ui.fragments.inventory.customization.AvatarCustomizationFragmentArgs
import com.habitrpg.android.habitica.ui.helpers.MarginDecoration
import com.habitrpg.android.habitica.ui.helpers.SafeDefaultItemAnimator
import com.habitrpg.android.habitica.ui.helpers.bindView
@@ -49,6 +50,13 @@ class MountDetailRecyclerFragment : BaseMainFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
+
+ arguments.notNull {
+ val args = MountDetailRecyclerFragmentArgs.fromBundle(it)
+ animalGroup = args.group
+ animalType = args.type
+ }
+
layoutManager = androidx.recyclerview.widget.GridLayoutManager(activity, 2)
recyclerView.layoutManager = layoutManager
recyclerView.addItemDecoration(MarginDecoration(activity))
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/PetDetailRecyclerFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/PetDetailRecyclerFragment.kt
index a2858fffc..d90ba0630 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/PetDetailRecyclerFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/PetDetailRecyclerFragment.kt
@@ -10,6 +10,7 @@ import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.components.AppComponent
import com.habitrpg.android.habitica.data.InventoryRepository
import com.habitrpg.android.habitica.events.commands.FeedCommand
+import com.habitrpg.android.habitica.extensions.notNull
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.models.inventory.Mount
import com.habitrpg.android.habitica.models.inventory.Pet
@@ -60,6 +61,12 @@ class PetDetailRecyclerFragment : BaseMainFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
+ arguments.notNull {
+ val args = MountDetailRecyclerFragmentArgs.fromBundle(it)
+ animalGroup = args.group
+ animalType = args.type
+ }
+
resetViews()
layoutManager = androidx.recyclerview.widget.GridLayoutManager(getActivity(), 2)
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxFragment.kt
index d6a7ed0d9..505cd62d6 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxFragment.kt
@@ -163,10 +163,7 @@ class InboxFragment : BaseMainFragment(), androidx.swiperefreshlayout.widget.Swi
}
private fun openInboxMessages(userID: String, username: String) {
- MainNavigationController.navigate(R.id.prefsActivity)
- val inboxMessageListFragment = InboxMessageListFragment()
- inboxMessageListFragment.setReceivingUser(username, userID)
- this.activity?.displayFragment(inboxMessageListFragment)
+ MainNavigationController.navigate(InboxFragmentDirections.openInboxDetail(userID, username))
}
override fun customTitle(): String {
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt
index f1eebc3bd..a5be88b24 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt
@@ -4,12 +4,10 @@ import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
import android.os.Bundle
-import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
-import androidx.appcompat.app.AlertDialog
-import androidx.recyclerview.widget.LinearLayoutManager
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import androidx.appcompat.app.AlertDialog
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.components.AppComponent
import com.habitrpg.android.habitica.data.SocialRepository
@@ -57,6 +55,11 @@ class InboxMessageListFragment : BaseMainFragment(), androidx.swiperefreshlayout
super.onViewCreated(view, savedInstanceState)
swipeRefreshLayout?.setOnRefreshListener(this)
+ arguments.notNull {
+ val args = InboxMessageListFragmentArgs.fromBundle(it)
+ setReceivingUser(args.username, args.userID)
+ }
+
val layoutManager = androidx.recyclerview.widget.LinearLayoutManager(this.getActivity())
recyclerView.layoutManager = layoutManager
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/QuestDetailFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/QuestDetailFragment.kt
index 07821e6c6..d2cc439d1 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/QuestDetailFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/QuestDetailFragment.kt
@@ -71,6 +71,12 @@ class QuestDetailFragment : BaseMainFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
+ arguments.notNull {
+ val args = QuestDetailFragmentArgs.fromBundle(it)
+ partyId = args.partyID
+ questKey = args.questKey
+ }
+
resetViews()
questAcceptButton?.setOnClickListener { onQuestAccept() }
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeDetailFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeDetailFragment.kt
index 8f6285c15..82ab8ca65 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeDetailFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeDetailFragment.kt
@@ -79,6 +79,11 @@ class ChallengeDetailFragment: BaseMainFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
+ arguments.notNull {
+ val args = ChallengeDetailFragmentArgs.fromBundle(it)
+ challengeID = args.challengeID
+ }
+
gemAmountIconView?.setImageBitmap(HabiticaIconsHelper.imageOfGem_36())
memberCountIconView?.setImageBitmap(HabiticaIconsHelper.imageOfParticipantsIcon())
challengeDescription?.movementMethod = LinkMovementMethod.getInstance()
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeListFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeListFragment.kt
index 37ca5732f..b66b3ecd1 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeListFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeListFragment.kt
@@ -13,6 +13,7 @@ import com.habitrpg.android.habitica.components.AppComponent
import com.habitrpg.android.habitica.data.ChallengeRepository
import com.habitrpg.android.habitica.extensions.inflate
import com.habitrpg.android.habitica.extensions.notNull
+import com.habitrpg.android.habitica.helpers.MainNavigationController
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.models.social.Challenge
import com.habitrpg.android.habitica.modules.AppModule
@@ -89,9 +90,7 @@ class ChallengeListFragment : BaseMainFragment(), androidx.swiperefreshlayout.wi
}
private fun openDetailFragment(challengeID: String) {
- val detailFragment = ChallengeDetailFragment()
- detailFragment.challengeID = challengeID
- this.activity?.displayFragment(detailFragment)
+ MainNavigationController.navigate(ChallengesOverviewFragmentDirections.openChallengeDetail(challengeID))
}
override fun injectFragment(component: AppComponent) {
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyDetailFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyDetailFragment.kt
index 81928b973..e5ccf3720 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyDetailFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyDetailFragment.kt
@@ -15,6 +15,7 @@ import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.components.AppComponent
import com.habitrpg.android.habitica.data.InventoryRepository
import com.habitrpg.android.habitica.extensions.notNull
+import com.habitrpg.android.habitica.helpers.MainNavigationController
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.models.inventory.QuestContent
import com.habitrpg.android.habitica.models.social.Group
@@ -221,13 +222,8 @@ class PartyDetailFragment constructor(private val viewModel: PartyViewModel) : B
}
private fun questDetailButtonClicked() {
- val fragment = QuestDetailFragment()
- val party = viewModel.getGroupData().value
- fragment.partyId = party?.id
- fragment.questKey = party?.quest?.key
- if (activity != null) {
- val activity = activity as? MainActivity
- activity?.displayFragment(fragment)
+ viewModel.getGroupData().value.notNull { party ->
+ MainNavigationController.navigate(PartyFragmentDirections.openQuestDetail(party.id, party.quest?.key ?: ""))
}
}
}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt
index f078ff163..b534ce8d3 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt
@@ -3,9 +3,6 @@ package com.habitrpg.android.habitica.ui.fragments.tasks
import android.content.Context
import android.graphics.Color
import android.os.Bundle
-import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
-import androidx.recyclerview.widget.LinearLayoutManager
-import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.ItemTouchHelper
import android.util.TypedValue
import android.view.LayoutInflater
@@ -17,7 +14,6 @@ import com.habitrpg.android.habitica.data.ApiClient
import com.habitrpg.android.habitica.data.InventoryRepository
import com.habitrpg.android.habitica.data.TaskRepository
import com.habitrpg.android.habitica.data.UserRepository
-import com.habitrpg.android.habitica.events.commands.AddNewTaskCommand
import com.habitrpg.android.habitica.extensions.notNull
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.helpers.TaskFilterHelper
@@ -32,13 +28,12 @@ import com.habitrpg.android.habitica.ui.viewHolders.tasks.BaseTaskViewHolder
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.functions.Consumer
import kotlinx.android.synthetic.main.fragment_refresh_recyclerview.*
-import org.greenrobot.eventbus.EventBus
import java.util.*
import java.util.concurrent.TimeUnit
import javax.inject.Inject
import javax.inject.Named
-open class TaskRecyclerViewFragment : BaseFragment(), View.OnClickListener, androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener {
+open class TaskRecyclerViewFragment : BaseFragment(), androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener {
var recyclerAdapter: TaskRecyclerViewAdapter? = null
@field:[Inject Named(AppModule.NAMED_USER_ID)]
lateinit var userID: String
@@ -251,13 +246,6 @@ open class TaskRecyclerViewFragment : BaseFragment(), View.OnClickListener, andr
outState.putString(CLASS_TYPE_KEY, this.classType)
}
- override fun onClick(v: View) {
- val event = AddNewTaskCommand()
- event.taskType = this.classType
-
- EventBus.getDefault().post(event)
- }
-
override val displayedClassName: String?
get() = this.classType + super.displayedClassName
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.kt
index ecc08e29a..8a562b32e 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.kt
@@ -3,9 +3,7 @@ package com.habitrpg.android.habitica.ui.fragments.tasks
import android.app.Activity
import android.content.Intent
import android.os.Bundle
-import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentPagerAdapter
-import androidx.viewpager.widget.ViewPager
import android.view.*
import com.github.clans.fab.FloatingActionButton
import com.github.clans.fab.FloatingActionMenu
@@ -14,7 +12,6 @@ import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.components.AppComponent
import com.habitrpg.android.habitica.data.TagRepository
import com.habitrpg.android.habitica.events.TaskTappedEvent
-import com.habitrpg.android.habitica.events.commands.AddNewTaskCommand
import com.habitrpg.android.habitica.extensions.notNull
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.helpers.TaskFilterHelper
@@ -324,11 +321,6 @@ class TasksFragment : BaseMainFragment() {
}
}
- @Subscribe
- fun onEvent(event: AddNewTaskCommand) {
- openNewTaskActivity(event.taskType.toLowerCase(Locale.US))
- }
-
//endregion Events
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
diff --git a/fastlane/changelog.txt b/fastlane/changelog.txt
index 60aa2fb44..49a5ef5f0 100644
--- a/fastlane/changelog.txt
+++ b/fastlane/changelog.txt
@@ -1,8 +1 @@
-This update fixes various bugs and adds support for an upcoming feature.
-
-This update also reworks a lot of the internals for the party view, to make it more reliable. Please report any new oddities on that screen.
-
-Daily reminders have also been reworked and should now work better and not notify every day.
-
-NEW:
-- Add Cat support (Can you find it?)
+This update brings a new navigation architecture, which is the groundwork for additional features like in-app linking and deep links. If there are any views that do not open correctly anymore or any new issues that seem releated to navigation, please let us know.