diff --git a/Habitica/res/layout/armoire_drop_rate_dialog.xml b/Habitica/res/layout/armoire_drop_rate_dialog.xml
new file mode 100644
index 000000000..9c6fc6b01
--- /dev/null
+++ b/Habitica/res/layout/armoire_drop_rate_dialog.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml
index 7f4fa2fa4..8c3dae0a4 100644
--- a/Habitica/res/values/strings.xml
+++ b/Habitica/res/values/strings.xml
@@ -1233,4 +1233,12 @@
Available in %s
Watch ad to open again
Watch Ad to revive
+ Enchanted Armoire Drop Rates
+ New Equipment pieces are added every month. If you own all pieces of equipment, then you\'ll get Food or Ezperience, 50/50 odds.
+ 60% Piece of Equipment
+ 20% Piece of Food
+ During special events, normal food items will change to their cake or candy counterparts.
+ 20% Experience points
+ The amount gained varies randomly from 10 to 50
+ Day Start Adjustment
diff --git a/Habitica/res/values/values.xml b/Habitica/res/values/values.xml
index 785d47092..9bd3ec3a7 100644
--- a/Habitica/res/values/values.xml
+++ b/Habitica/res/values/values.xml
@@ -28,6 +28,39 @@
- 1
+
+ - Default (12:00 AM)
+ - +1 Hour (01:00 AM)
+ - +2 Hours (02:00 AM)
+ - +3 Hours (03:00 AM)
+ - +4 Hours (04:00 AM)
+ - +5 Hours (05:00 AM)
+ - +6 Hours (06:00 AM)
+ - +7 Hours (07:00 AM)
+ - +8 Hours (08:00 AM)
+ - +9 Hours (09:00 AM)
+ - +10 Hours (10:00 AM)
+ - +11 Hours (11:00 AM)
+ - +12 Hours (12:00 PM)
+
+
+
+
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ - 9
+ - 10
+ - 11
+ - 12
+
+
- @string/avatar_size_slim
- @string/avatar_size_broad
diff --git a/Habitica/res/xml/preferences_fragment.xml b/Habitica/res/xml/preferences_fragment.xml
index 60fdd8086..cc0af3190 100644
--- a/Habitica/res/xml/preferences_fragment.xml
+++ b/Habitica/res/xml/preferences_fragment.xml
@@ -182,6 +182,13 @@
android:layout="@layout/preference_child_summary"
android:summary="@string/pref_first_day_of_the_week_summary"
android:title="@string/pref_first_day_of_the_week_title" />
+
+
-
-
-
-
-
-
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ArmoireActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ArmoireActivity.kt
index a7746a226..35786e64c 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ArmoireActivity.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ArmoireActivity.kt
@@ -8,6 +8,7 @@ import android.view.animation.AccelerateInterpolator
import android.widget.FrameLayout
import androidx.core.content.ContextCompat
import androidx.lifecycle.lifecycleScope
+import com.google.android.material.bottomsheet.BottomSheetDialog
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.components.UserComponent
import com.habitrpg.android.habitica.data.InventoryRepository
@@ -96,7 +97,7 @@ class ArmoireActivity: BaseActivity() {
finish()
}
binding.dropRateButton.setOnClickListener {
-
+ showDropRateDialog()
}
intent.extras?.let {
val args = ArmoireActivityArgs.fromBundle(it)
@@ -163,4 +164,10 @@ class ArmoireActivity: BaseActivity() {
}
}
}
+
+ fun showDropRateDialog() {
+ val dialog = BottomSheetDialog(this)
+ dialog.setContentView(R.layout.armoire_drop_rate_dialog)
+ dialog.show()
+ }
}
\ No newline at end of file
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 a05cef7dc..736ff65fc 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
@@ -204,12 +204,11 @@ class PreferencesFragment : BasePreferencesFragment(), SharedPreferences.OnShare
emailNotificationsPreference?.isEnabled = useEmailNotifications
}
"cds_time" -> {
- val timeval = sharedPreferences.getString("cds_time", "00:00")
- val pieces = timeval?.split(":".toRegex())?.dropLastWhile { it.isEmpty() }?.toTypedArray()
- if (pieces != null) {
- val hour = Integer.parseInt(pieces[0])
- userRepository.changeCustomDayStart(hour).subscribe({ }, RxErrorHandler.handleEmptyError())
- }
+ val timeval = sharedPreferences.getString("cds_time", "0") ?: "0"
+ val hour = Integer.parseInt(timeval)
+ userRepository.changeCustomDayStart(hour).subscribe({ }, RxErrorHandler.handleEmptyError())
+ val preference = findPreference(key)
+ preference?.summary = preference?.entry
}
"language" -> {
val languageHelper = LanguageHelper(sharedPreferences.getString(key, "en"))
@@ -316,8 +315,9 @@ class PreferencesFragment : BasePreferencesFragment(), SharedPreferences.OnShare
} else {
classSelectionPreference?.isVisible = false
}
- val cdsTimePreference = findPreference("cds_time") as? TimePreference
- cdsTimePreference?.text = user?.preferences?.dayStart.toString() + ":00"
+ val cdsTimePreference = findPreference("cds_time") as? ListPreference
+ cdsTimePreference?.value = user?.preferences?.dayStart.toString()
+ cdsTimePreference?.summary = cdsTimePreference?.entry
findPreference("dailyDueDefaultView")?.setDefaultValue(user?.preferences?.dailyDueDefaultView)
val languagePreference = findPreference("language") as? ListPreference
languagePreference?.value = user?.preferences?.language