mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-05-19 12:18:59 +00:00
Improve quest flows and preferences
This commit is contained in:
parent
314bcd98be
commit
137b2e55ee
8 changed files with 25 additions and 7 deletions
|
|
@ -733,7 +733,7 @@
|
|||
<string name="achievement_title">Vous avez obtenu un succès !</string>
|
||||
<string name="view_achievements">Voir les succès</string>
|
||||
<string name="see_what_s_new">Voir les nouveautés</string>
|
||||
<string name="mystery_item_received">Vous ouvrez la boite et trouvez %@</string>
|
||||
<string name="mystery_item_received">Vous ouvrez la boite et trouvez %s</string>
|
||||
<string name="removed_member">%s ne fait plus partie du groupe</string>
|
||||
<string name="transfer">Transférer</string>
|
||||
<string name="remove_member_confirm">Confirmez-vous vouloir retirer %s du groupe \?</string>
|
||||
|
|
|
|||
|
|
@ -846,7 +846,7 @@
|
|||
<string name="mountMasterDescription">すべての乗騎を集めた実績、「乗騎使い」を手に入れました!</string>
|
||||
<string name="mountMasterTitle">乗騎使い</string>
|
||||
<string name="beastMasterDescription">全てのペットを集めたため、「獣使い」の実績を獲得しました!</string>
|
||||
<string name="mystery_item_received">宝箱を開け、%@を見つけました</string>
|
||||
<string name="mystery_item_received">宝箱を開け、%sを見つけました</string>
|
||||
<string name="removed_member">%sはグループから解除されました</string>
|
||||
<string name="transfer">移譲する</string>
|
||||
<string name="remove_member_confirm">本当に%sをグループから解除しますか?</string>
|
||||
|
|
|
|||
|
|
@ -118,7 +118,8 @@
|
|||
<Preference
|
||||
android:key="choose_class"
|
||||
tools:title="Change Class"
|
||||
android:layout="@layout/preference_child_summary"/>
|
||||
android:layout="@layout/preference_child_summary"
|
||||
app:isPreferenceVisible="false"/>
|
||||
<Preference android:title="@string/fix_character_values"
|
||||
app:key="fixCharacterValues"
|
||||
android:layout="@layout/preference_child_summary"/>
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ import javax.inject.Inject
|
|||
|
||||
abstract class BaseFragment<VB: ViewBinding> : DialogFragment() {
|
||||
|
||||
var isModal: Boolean = false
|
||||
abstract var binding: VB?
|
||||
|
||||
@Inject
|
||||
|
|
|
|||
|
|
@ -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<FragmentItemsBinding>(), 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<FragmentItemsBinding>(), 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 {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -238,7 +238,7 @@ class QuestDetailFragment : BaseMainFragment<FragmentQuestDetailBinding>() {
|
|||
@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<FragmentQuestDetailBinding>() {
|
|||
@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()
|
||||
|
|
|
|||
|
|
@ -326,6 +326,7 @@ class PartyDetailFragment : BaseFragment<FragmentPartyDetailBinding>() {
|
|||
val fragment = ItemRecyclerFragment()
|
||||
fragment.itemType = "quests"
|
||||
fragment.itemTypeText = getString(R.string.quest)
|
||||
fragment.isModal = true
|
||||
fragment.show(parentFragmentManager, "questDialog")
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue