fix widget

This commit is contained in:
Phillip Thelen 2024-01-04 14:29:35 +01:00
parent cd8cfaefdd
commit 7ddf42fb44
6 changed files with 25 additions and 11 deletions

View file

@ -20,12 +20,11 @@
android:gravity="center_vertical">
<ImageView
android:id="@+id/avatar_view"
android:layout_width="80dp"
android:layout_height="84dp"
android:layout_width="100dp"
android:layout_height="110dp"
android:src="@mipmap/ic_launcher"
android:layout_marginEnd="8dp"
android:layout_marginEnd="4dp"
android:scaleType="centerInside"
android:adjustViewBounds="true"
tools:ignore="ContentDescription" />
<LinearLayout
android:layout_width="match_parent"
@ -238,4 +237,3 @@
</LinearLayout>
</LinearLayout>
</LinearLayout>

View file

@ -1472,6 +1472,8 @@
<string name="subscriber_benefit">SUBSCRIBER BENEFIT</string>
<string name="no_saddles">You don\'t have any Saddles</string>
<string name="purchase_saddles_in_market">Saddles instantly raise a Pet to a Mount. You can purchase one from the Market.</string>
<string name="error_loading_member">Error Loading Member</string>
<string name="error_loading_member_body">There was an error when loading this members data. Please try again later.</string>
<plurals name="you_x_others">

View file

@ -61,6 +61,11 @@ class RealmInventoryLocalRepository(realm: Realm) :
return realm.where(Equipment::class.java)
.equalTo("klass", "armoire")
.beginGroup()
.equalTo("released", true)
.or()
.isNull("released")
.endGroup()
.beginGroup()
.equalTo("owned", false)
.or()
.isNull("owned")

View file

@ -21,6 +21,7 @@ open class Equipment : RealmObject(), BaseMainObject {
var con: Int = 0
var str: Int = 0
var per: Int = 0
var released: Boolean = true
@SerializedName("int")
var _int: Int = 0

View file

@ -9,9 +9,11 @@ import com.android.billingclient.api.ProductDetails
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.data.SocialRepository
import com.habitrpg.android.habitica.databinding.ActivityGiftSubscriptionBinding
import com.habitrpg.android.habitica.extensions.addCloseButton
import com.habitrpg.android.habitica.helpers.AppConfigManager
import com.habitrpg.android.habitica.helpers.PurchaseHandler
import com.habitrpg.android.habitica.helpers.PurchaseTypes
import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaAlertDialog
import com.habitrpg.android.habitica.ui.views.subscriptions.SubscriptionOptionView
import com.habitrpg.common.habitica.helpers.ExceptionHandler
import dagger.hilt.android.AndroidEntryPoint
@ -62,8 +64,10 @@ class GiftSubscriptionActivity : PurchaseActivity() {
giftedUserID = intent.getStringExtra("userID")
giftedUsername = intent.getStringExtra("username")
if (giftedUserID == null && giftedUsername == null) {
if (giftedUserID.isNullOrBlank()) {
giftedUserID = navArgs<GiftSubscriptionActivityArgs>().value.userID
}
if (giftedUsername.isNullOrBlank()) {
giftedUsername = navArgs<GiftSubscriptionActivityArgs>().value.username
}
@ -71,7 +75,15 @@ class GiftSubscriptionActivity : PurchaseActivity() {
selectedSubscriptionSku?.let { sku -> purchaseSubscription(sku) }
}
lifecycleScope.launch(ExceptionHandler.coroutine()) {
val member = socialRepository.retrieveMember(giftedUsername ?: giftedUserID) ?: return@launch
val member = socialRepository.retrieveMember(giftedUsername ?: giftedUserID)
if (member == null) {
val dialog = HabiticaAlertDialog(this@GiftSubscriptionActivity)
dialog.setTitle(R.string.error_loading_member)
dialog.setMessage(R.string.error_loading_member_body)
dialog.addCloseButton { _, _ -> finish() }
dialog.show()
return@launch
}
binding.avatarView.setAvatar(member)
binding.displayNameTextView.username = member.profile?.name
binding.displayNameTextView.tier = member.contributor?.level ?: 0

View file

@ -45,8 +45,6 @@ class AvatarStatsWidgetProvider : BaseWidgetProvider() {
showMount = true,
showPet = true
)
val layoutParams = ViewGroup.LayoutParams(140.dpToPx(context), 147.dpToPx(context))
avatarView.layoutParams = layoutParams
MainScope().launchCatching {
userRepository.getUser().collect {
@ -69,8 +67,6 @@ class AvatarStatsWidgetProvider : BaseWidgetProvider() {
showMount = true,
showPet = true
)
val layoutParams = ViewGroup.LayoutParams(140.dpToPx(context), 147.dpToPx(context))
avatarView.layoutParams = layoutParams
}
this.appWidgetManager = appWidgetManager
this.context = context