From 0e021ad728f6b14f361338cfd6605e9d4b862515 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Wed, 5 Sep 2018 15:58:43 +0200 Subject: [PATCH] Fix gem purchase issues. Fixes #1044 --- .../android/habitica/ui/views/shops/PurchaseDialog.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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 9af5fad45..a62a2ad35 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 @@ -33,6 +33,7 @@ import com.habitrpg.android.habitica.ui.views.insufficientCurrency.InsufficientG import com.habitrpg.android.habitica.ui.views.insufficientCurrency.InsufficientGoldDialog import com.habitrpg.android.habitica.ui.views.insufficientCurrency.InsufficientHourglassesDialog import com.habitrpg.android.habitica.ui.views.insufficientCurrency.InsufficientSubscriberGemsDialog +import com.playseeds.android.sdk.inappmessaging.Log import io.reactivex.Flowable import io.reactivex.disposables.CompositeDisposable import io.reactivex.functions.Consumer @@ -147,7 +148,7 @@ class PurchaseDialog(context: Context, component: AppComponent?, val item: ShopI closeButton.setOnClickListener { dismiss() } buyButton.setOnClickListener { onBuyButtonClicked() } - pinButton.setOnClickListener { inventoryRepository.togglePinnedItem(shopItem).subscribe(Consumer { isPinned = !this.isPinned }, RxErrorHandler.handleEmptyError()) } + pinButton.setOnClickListener { _-> inventoryRepository.togglePinnedItem(shopItem).subscribe(Consumer { isPinned = !this.isPinned }, RxErrorHandler.handleEmptyError()) } } private fun setUser(user: User) { @@ -157,8 +158,8 @@ class PurchaseDialog(context: Context, component: AppComponent?, val item: ShopI currencyView.hourglasses = user.hourglassCount?.toDouble() ?: 0.0 if ("gems" == shopItem.purchaseType) { - val gemsLeft = if (shopItem.limitedNumberLeft != null) shopItem.limitedNumberLeft else 0 val maxGems = user.purchased?.plan?.totalNumberOfGems() ?: 0 + val gemsLeft = user.purchased?.plan?.numberOfGemsLeft() if (maxGems > 0) { limitedTextView.text = context.getString(R.string.gems_left_max, gemsLeft, maxGems) } else { @@ -195,7 +196,7 @@ class PurchaseDialog(context: Context, component: AppComponent?, val item: ShopI if (window != null) { val height = scrollView.getChildAt(0).height val displayMetrics = DisplayMetrics() - window.windowManager.defaultDisplay.getMetrics(displayMetrics) + window?.windowManager?.defaultDisplay?.getMetrics(displayMetrics) val screenHeight = displayMetrics.heightPixels val spaceRequired = (displayMetrics.density * 160).toInt()