mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-05-20 20:59:00 +00:00
Fix hatching pet dialog
This commit is contained in:
parent
8236aa3fee
commit
e40e768888
2 changed files with 38 additions and 38 deletions
|
|
@ -41,7 +41,6 @@ import com.habitrpg.android.habitica.events.ShowConnectionProblemEvent
|
|||
import com.habitrpg.android.habitica.events.ShowSnackbarEvent
|
||||
import com.habitrpg.android.habitica.events.commands.FeedCommand
|
||||
import com.habitrpg.android.habitica.extensions.DateUtils
|
||||
import com.habitrpg.android.habitica.extensions.dpToPx
|
||||
import com.habitrpg.android.habitica.extensions.subscribeWithErrorHandler
|
||||
import com.habitrpg.android.habitica.helpers.*
|
||||
import com.habitrpg.android.habitica.helpers.notifications.PushNotificationManager
|
||||
|
|
@ -49,6 +48,8 @@ import com.habitrpg.android.habitica.interactors.CheckClassSelectionUseCase
|
|||
import com.habitrpg.android.habitica.interactors.DisplayItemDropUseCase
|
||||
import com.habitrpg.android.habitica.interactors.NotifyUserUseCase
|
||||
import com.habitrpg.android.habitica.models.TutorialStep
|
||||
import com.habitrpg.android.habitica.models.inventory.Egg
|
||||
import com.habitrpg.android.habitica.models.inventory.HatchingPotion
|
||||
import com.habitrpg.android.habitica.models.notifications.LoginIncentiveData
|
||||
import com.habitrpg.android.habitica.models.responses.MaintenanceResponse
|
||||
import com.habitrpg.android.habitica.models.responses.TaskScoringResult
|
||||
|
|
@ -59,7 +60,6 @@ import com.habitrpg.android.habitica.ui.AvatarWithBarsViewModel
|
|||
import com.habitrpg.android.habitica.ui.TutorialView
|
||||
import com.habitrpg.android.habitica.ui.fragments.NavigationDrawerFragment
|
||||
import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils
|
||||
import com.habitrpg.android.habitica.ui.helpers.KeyboardUtil
|
||||
import com.habitrpg.android.habitica.ui.helpers.bindOptionalView
|
||||
import com.habitrpg.android.habitica.ui.helpers.bindView
|
||||
import com.habitrpg.android.habitica.ui.viewmodels.NotificationsViewModel
|
||||
|
|
@ -674,6 +674,35 @@ open class MainActivity : BaseActivity(), TutorialView.OnTutorialReaction {
|
|||
}
|
||||
}
|
||||
|
||||
fun hatchPet(potion: HatchingPotion, egg: Egg) {
|
||||
compositeSubscription.add(this.inventoryRepository.hatchPet(egg, potion) {
|
||||
val petWrapper = View.inflate(this, R.layout.pet_imageview, null) as? FrameLayout
|
||||
val petImageView = petWrapper?.findViewById(R.id.pet_imageview) as? SimpleDraweeView
|
||||
|
||||
DataBindingUtils.loadImage(petImageView, "Pet-" + egg.key + "-" + potion.key)
|
||||
val potionName = potion.text
|
||||
val eggName = egg.text
|
||||
val dialog = HabiticaAlertDialog(this)
|
||||
dialog.setTitle(getString(R.string.hatched_pet_title, potionName, eggName))
|
||||
dialog.setAdditionalContentView(petWrapper)
|
||||
dialog.addButton(R.string.onwards, true) { hatchingDialog, _ -> hatchingDialog.dismiss() }
|
||||
dialog.addButton(R.string.share, false) { hatchingDialog, _ ->
|
||||
val event1 = ShareEvent()
|
||||
event1.sharedMessage = getString(R.string.share_hatched, potionName, eggName) + " https://habitica.com/social/hatch-pet"
|
||||
val petImageSideLength = 140
|
||||
val sharedImage = Bitmap.createBitmap(petImageSideLength, petImageSideLength, Bitmap.Config.ARGB_8888)
|
||||
val canvas = Canvas(sharedImage)
|
||||
canvas.drawColor(ContextCompat.getColor(this, R.color.brand_300))
|
||||
petImageView?.drawable?.setBounds(0, 0, petImageSideLength, petImageSideLength)
|
||||
petImageView?.drawable?.draw(canvas)
|
||||
event1.shareImage = sharedImage
|
||||
EventBus.getDefault().post(event1)
|
||||
hatchingDialog.dismiss()
|
||||
}
|
||||
dialog?.show()
|
||||
}.subscribe(Consumer { }, RxErrorHandler.handleEmptyError()))
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val SELECT_CLASS_RESULT = 11
|
||||
const val GEM_PURCHASE_REQUEST = 111
|
||||
|
|
|
|||
|
|
@ -1,34 +1,30 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.inventory.items
|
||||
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.Canvas
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.Window
|
||||
import android.widget.Button
|
||||
import android.widget.FrameLayout
|
||||
import android.widget.TextView
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.facebook.drawee.view.SimpleDraweeView
|
||||
import com.habitrpg.android.habitica.R
|
||||
import com.habitrpg.android.habitica.components.UserComponent
|
||||
import com.habitrpg.android.habitica.data.InventoryRepository
|
||||
import com.habitrpg.android.habitica.data.UserRepository
|
||||
import com.habitrpg.android.habitica.events.ShareEvent
|
||||
import com.habitrpg.android.habitica.extensions.subscribeWithErrorHandler
|
||||
import com.habitrpg.android.habitica.helpers.MainNavigationController
|
||||
import com.habitrpg.android.habitica.helpers.RxErrorHandler
|
||||
import com.habitrpg.android.habitica.models.inventory.*
|
||||
import com.habitrpg.android.habitica.models.user.OwnedPet
|
||||
import com.habitrpg.android.habitica.models.user.User
|
||||
import com.habitrpg.android.habitica.ui.activities.MainActivity
|
||||
import com.habitrpg.android.habitica.ui.adapter.inventory.ItemRecyclerAdapter
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragment
|
||||
import com.habitrpg.android.habitica.ui.helpers.*
|
||||
import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaAlertDialog
|
||||
import com.habitrpg.android.habitica.ui.helpers.RecyclerViewEmptySupport
|
||||
import com.habitrpg.android.habitica.ui.helpers.SafeDefaultItemAnimator
|
||||
import com.habitrpg.android.habitica.ui.helpers.bindView
|
||||
import com.habitrpg.android.habitica.ui.helpers.resetViews
|
||||
import io.reactivex.functions.Consumer
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import javax.inject.Inject
|
||||
|
||||
class ItemRecyclerFragment : BaseFragment() {
|
||||
|
|
@ -191,33 +187,8 @@ class ItemRecyclerFragment : BaseFragment() {
|
|||
}
|
||||
|
||||
private fun hatchPet(potion: HatchingPotion, egg: Egg) {
|
||||
compositeSubscription.add(this.inventoryRepository.hatchPet(egg, potion) {
|
||||
dismiss()
|
||||
val petWrapper = View.inflate(context, R.layout.pet_imageview, null) as? FrameLayout
|
||||
val petImageView = petWrapper?.findViewById(R.id.pet_imageview) as? SimpleDraweeView
|
||||
|
||||
DataBindingUtils.loadImage(petImageView, "Pet-" + egg.key + "-" + potion.key)
|
||||
val potionName = potion.text
|
||||
val eggName = egg.text
|
||||
val dialog = context?.let { HabiticaAlertDialog(it) }
|
||||
dialog?.setTitle(getString(R.string.hatched_pet_title, potionName, eggName))
|
||||
dialog?.setAdditionalContentView(petWrapper)
|
||||
dialog?.addButton(R.string.onwards, true) { hatchingDialog, _ -> hatchingDialog.dismiss() }
|
||||
dialog?.addButton(R.string.share, false) { hatchingDialog, _ ->
|
||||
val event1 = ShareEvent()
|
||||
event1.sharedMessage = getString(R.string.share_hatched, potionName, eggName) + " https://habitica.com/social/hatch-pet"
|
||||
val petImageSideLength = 140
|
||||
val sharedImage = Bitmap.createBitmap(petImageSideLength, petImageSideLength, Bitmap.Config.ARGB_8888)
|
||||
val canvas = Canvas(sharedImage)
|
||||
context?.let { canvas.drawColor(ContextCompat.getColor(it, R.color.brand_300)) }
|
||||
petImageView?.drawable?.setBounds(0, 0, petImageSideLength, petImageSideLength)
|
||||
petImageView?.drawable?.draw(canvas)
|
||||
event1.shareImage = sharedImage
|
||||
EventBus.getDefault().post(event1)
|
||||
hatchingDialog.dismiss()
|
||||
}
|
||||
dialog?.show()
|
||||
}.subscribe(Consumer { }, RxErrorHandler.handleEmptyError()))
|
||||
dismiss()
|
||||
(activity as? MainActivity)?.hatchPet(potion, egg)
|
||||
}
|
||||
|
||||
private fun loadItems() {
|
||||
|
|
|
|||
Loading…
Reference in a new issue