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