diff --git a/Habitica/res/drawable-hdpi/looking_for_party_empty.png b/Habitica/res/drawable-hdpi/looking_for_party_empty.png new file mode 100644 index 000000000..2de6aa26d Binary files /dev/null and b/Habitica/res/drawable-hdpi/looking_for_party_empty.png differ diff --git a/Habitica/res/drawable-mdpi/looking_for_party_empty.png b/Habitica/res/drawable-mdpi/looking_for_party_empty.png new file mode 100644 index 000000000..ebd0dbb9e Binary files /dev/null and b/Habitica/res/drawable-mdpi/looking_for_party_empty.png differ diff --git a/Habitica/res/drawable-xhdpi/looking_for_party_empty.png b/Habitica/res/drawable-xhdpi/looking_for_party_empty.png new file mode 100644 index 000000000..524385d4c Binary files /dev/null and b/Habitica/res/drawable-xhdpi/looking_for_party_empty.png differ diff --git a/Habitica/res/drawable-xxhdpi/looking_for_party_empty.png b/Habitica/res/drawable-xxhdpi/looking_for_party_empty.png new file mode 100644 index 000000000..5dbfa52a4 Binary files /dev/null and b/Habitica/res/drawable-xxhdpi/looking_for_party_empty.png differ diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/SoundManager.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/SoundManager.kt index 594d0622f..2698b6ea1 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/SoundManager.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/SoundManager.kt @@ -3,7 +3,9 @@ package com.habitrpg.android.habitica.helpers import com.habitrpg.common.habitica.helpers.launchCatching import kotlinx.coroutines.MainScope import javax.inject.Inject +import javax.inject.Singleton +@Singleton class SoundManager @Inject constructor(var soundFileLoader: SoundFileLoader) { var soundTheme: String = SoundThemeOff diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt index ffc67f48c..0afeefbf9 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt @@ -30,7 +30,6 @@ import com.habitrpg.android.habitica.ui.helpers.SafeDefaultItemAnimator import com.habitrpg.android.habitica.ui.viewmodels.MainUserViewModel import com.habitrpg.android.habitica.ui.views.CurrencyText import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaAlertDialog -import com.habitrpg.android.habitica.ui.views.getTranslatedClassName import com.habitrpg.android.habitica.ui.views.insufficientCurrency.InsufficientGemsDialog import com.habitrpg.android.habitica.ui.views.shops.PurchaseDialog import com.habitrpg.common.habitica.helpers.ExceptionHandler @@ -246,7 +245,7 @@ open class ShopFragment : BaseMainFragment() dialog.enqueue() } } else { - val dialog = context?.let { InsufficientGemsDialog(it, 3) } + val dialog = activity?.let { InsufficientGemsDialog(it, 3) } dialog?.show() } } else { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartySeekingFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartySeekingFragment.kt index 27e0c156b..f73d3c701 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartySeekingFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartySeekingFragment.kt @@ -5,6 +5,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.compose.foundation.ExperimentalFoundationApi +import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -27,6 +28,7 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign @@ -191,6 +193,10 @@ fun PartySeekingView( .width(250.dp) .align(alignment = Alignment.CenterHorizontally) ) + Image( + painterResource(R.drawable.looking_for_party_empty), null, + modifier = Modifier.padding(top = 50.dp) + ) } else { Text( stringResource(R.string.habiticans_looking_party), @@ -210,7 +216,9 @@ fun PartySeekingView( user = it, inviteState =viewModel.inviteStates[it.id] ?: LoadingButtonState.CONTENT, isInvited = viewModel.successfulInvites.contains(it.id), - modifier = Modifier.animateItemPlacement().padding(horizontal = 14.dp) + modifier = Modifier + .animateItemPlacement() + .padding(horizontal = 14.dp) ) { member -> scope.launchCatching({ viewModel.inviteStates[member.id] = LoadingButtonState.FAILED diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/BugFixFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/BugFixFragment.kt index 1d89c7627..642a9709c 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/BugFixFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/BugFixFragment.kt @@ -105,8 +105,7 @@ class BugFixFragment : BaseMainFragment() { val newLine = "%0D%0A" var bodyOfEmail = Uri.encode("Device: $manufacturer $deviceName") + newLine + Uri.encode("Android Version: $version") + - newLine + Uri.encode( - "AppVersion: " + getString( + newLine + Uri.encode("AppVersion: " + getString( R.string.version_info, versionName, versionCode @@ -114,9 +113,9 @@ class BugFixFragment : BaseMainFragment() { ) if (appConfigManager.testingLevel().name != AppTestingLevel.PRODUCTION.name) { - bodyOfEmail += newLine + Uri.encode(appConfigManager.testingLevel().name) + bodyOfEmail += " " + Uri.encode(appConfigManager.testingLevel().name) } - bodyOfEmail += newLine + Uri.encode("User ID: $userViewModel.userID") + bodyOfEmail += newLine + Uri.encode("User ID: ${userViewModel.userID}") userViewModel.user.value?.let { user -> bodyOfEmail += newLine + Uri.encode("Level: " + (user.stats?.lvl ?: 0)) + diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt index 408c00f17..52aec7231 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt @@ -416,7 +416,8 @@ class PurchaseDialog(context: Context, private val userRepository : UserReposito "hourglasses" -> ContextCompat.getColor(context, R.color.text_brand) else -> 0 } - ((application?.currentActivity?.get() ?: getActivity() ?: ownerActivity) as? SnackbarActivity)?.showSnackbar( + val a = (application?.currentActivity?.get() ?: getActivity() ?: ownerActivity) + (a as? SnackbarActivity)?.showSnackbar( content = text, rightIcon = priceLabel.compoundDrawables[0], rightTextColor = rightTextColor, diff --git a/version.properties b/version.properties index c5da90060..960d7e317 100644 --- a/version.properties +++ b/version.properties @@ -1,2 +1,2 @@ NAME=4.2 -CODE=5961 \ No newline at end of file +CODE=5991 \ No newline at end of file