diff --git a/Habitica/res/values-fr/strings.xml b/Habitica/res/values-fr/strings.xml
index 93d634e2a..d9c045255 100644
--- a/Habitica/res/values-fr/strings.xml
+++ b/Habitica/res/values-fr/strings.xml
@@ -733,7 +733,7 @@
Vous avez obtenu un succès !
Voir les succès
Voir les nouveautés
- Vous ouvrez la boite et trouvez %@
+ Vous ouvrez la boite et trouvez %s
%s ne fait plus partie du groupe
Transférer
Confirmez-vous vouloir retirer %s du groupe \?
diff --git a/Habitica/res/values-ja/strings.xml b/Habitica/res/values-ja/strings.xml
index c3d536934..80b92d9ac 100644
--- a/Habitica/res/values-ja/strings.xml
+++ b/Habitica/res/values-ja/strings.xml
@@ -846,7 +846,7 @@
すべての乗騎を集めた実績、「乗騎使い」を手に入れました!
乗騎使い
全てのペットを集めたため、「獣使い」の実績を獲得しました!
- 宝箱を開け、%@を見つけました
+ 宝箱を開け、%sを見つけました
%sはグループから解除されました
移譲する
本当に%sをグループから解除しますか?
diff --git a/Habitica/res/xml/preferences_fragment.xml b/Habitica/res/xml/preferences_fragment.xml
index 5b07f12c0..75852e598 100644
--- a/Habitica/res/xml/preferences_fragment.xml
+++ b/Habitica/res/xml/preferences_fragment.xml
@@ -118,7 +118,8 @@
+ android:layout="@layout/preference_child_summary"
+ app:isPreferenceVisible="false"/>
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseFragment.kt
index 9cafc7679..bc17cc890 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseFragment.kt
@@ -23,6 +23,7 @@ import javax.inject.Inject
abstract class BaseFragment : DialogFragment() {
+ var isModal: Boolean = false
abstract var binding: VB?
@Inject
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemRecyclerFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemRecyclerFragment.kt
index 7fb6b1f07..fbe43a51c 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemRecyclerFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemRecyclerFragment.kt
@@ -10,6 +10,7 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.components.UserComponent
import com.habitrpg.android.habitica.data.InventoryRepository
+import com.habitrpg.android.habitica.data.SocialRepository
import com.habitrpg.android.habitica.data.UserRepository
import com.habitrpg.android.habitica.databinding.FragmentItemsBinding
import com.habitrpg.android.habitica.extensions.subscribeWithErrorHandler
@@ -32,6 +33,8 @@ class ItemRecyclerFragment : BaseFragment(), SwipeRefreshL
@Inject
lateinit var inventoryRepository: InventoryRepository
@Inject
+ lateinit var socialRepository: SocialRepository
+ @Inject
lateinit var userRepository: UserRepository
var adapter: ItemRecyclerAdapter? = null
var itemType: String? = null
@@ -93,7 +96,14 @@ class ItemRecyclerFragment : BaseFragment(), SwipeRefreshL
compositeSubscription.add(adapter.getQuestInvitationFlowable()
.flatMap { quest -> inventoryRepository.inviteToQuest(quest) }
- .subscribe({ MainNavigationController.navigate(R.id.partyFragment) }, RxErrorHandler.handleEmptyError()))
+ .flatMap { socialRepository.retrieveGroup("party") }
+ .subscribe({
+ if (isModal) {
+ activity?.supportFragmentManager?.popBackStack()
+ } else {
+ MainNavigationController.navigate(R.id.partyFragment)
+ }
+ }, RxErrorHandler.handleEmptyError()))
compositeSubscription.add(adapter.getOpenMysteryItemFlowable()
.flatMap { inventoryRepository.openMysteryItem(user) }
.doOnNext {
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PreferencesFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PreferencesFragment.kt
index d9c1eb711..473c908a1 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PreferencesFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PreferencesFragment.kt
@@ -6,6 +6,7 @@ import android.content.SharedPreferences
import android.content.res.Configuration
import android.os.Build
import android.os.Bundle
+import android.view.View
import androidx.appcompat.app.AlertDialog
import androidx.preference.CheckBoxPreference
import androidx.preference.ListPreference
@@ -54,12 +55,16 @@ class PreferencesFragment : BasePreferencesFragment(), SharedPreferences.OnShare
super.onCreate(savedInstanceState)
}
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ listView.itemAnimator = null
+ }
+
override fun setupPreferences() {
timePreference = findPreference("reminder_time") as? TimePreference
val useReminder = preferenceManager.sharedPreferences.getBoolean("use_reminder", false)
timePreference?.isEnabled = useReminder
-
pushNotificationsPreference = findPreference("pushNotifications") as? PreferenceScreen
val usePushNotifications = preferenceManager.sharedPreferences.getBoolean("usePushNotifications", true)
pushNotificationsPreference?.isEnabled = usePushNotifications
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 b571704b1..1a1e8e926 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
@@ -238,7 +238,7 @@ class QuestDetailFragment : BaseMainFragment() {
@Suppress("DEPRECATION")
socialRepository.cancelQuest(partyID)
.flatMap { userRepository.retrieveUser() }
- .subscribe({ getActivity()?.fragmentManager?.popBackStack() }, RxErrorHandler.handleEmptyError())
+ .subscribe({ getActivity()?.supportFragmentManager?.popBackStack() }, RxErrorHandler.handleEmptyError())
}
}
alert.addButton(R.string.no, false)
@@ -254,7 +254,7 @@ class QuestDetailFragment : BaseMainFragment() {
@Suppress("DEPRECATION")
socialRepository.abortQuest(partyID)
.flatMap { userRepository.retrieveUser() }
- .subscribe({ getActivity()?.fragmentManager?.popBackStack() }, RxErrorHandler.handleEmptyError())
+ .subscribe({ getActivity()?.supportFragmentManager?.popBackStack() }, RxErrorHandler.handleEmptyError())
}
}.setNegativeButton(R.string.no) { _, _ -> }
builder.show()
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 3c6269a96..91f3afc5c 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
@@ -326,6 +326,7 @@ class PartyDetailFragment : BaseFragment() {
val fragment = ItemRecyclerFragment()
fragment.itemType = "quests"
fragment.itemTypeText = getString(R.string.quest)
+ fragment.isModal = true
fragment.show(parentFragmentManager, "questDialog")
}