mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-07-17 11:32:05 +00:00
Alert fixes
This commit is contained in:
parent
baef77c7f9
commit
17764880e7
21 changed files with 86 additions and 32 deletions
|
|
@ -150,7 +150,7 @@ android {
|
||||||
buildConfigField "String", "TESTING_LEVEL", "\"production\""
|
buildConfigField "String", "TESTING_LEVEL", "\"production\""
|
||||||
resConfigs "en", "bg", "de", "en-rGB", "es", "fr", "hr-rHR", "in", "it", "iw", "ja", "ko", "lt", "nl", "pl", "pt-rBR", "pt-rPT", "ru", "tr", "zh", "zh-rTW"
|
resConfigs "en", "bg", "de", "en-rGB", "es", "fr", "hr-rHR", "in", "it", "iw", "ja", "ko", "lt", "nl", "pl", "pt-rBR", "pt-rPT", "ru", "tr", "zh", "zh-rTW"
|
||||||
|
|
||||||
versionCode 2647
|
versionCode 2653
|
||||||
versionName "3.1"
|
versionName "3.1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
BIN
Habitica/res/drawable-night-hdpi/challenge_won_gem_confetti.png
Normal file
BIN
Habitica/res/drawable-night-hdpi/challenge_won_gem_confetti.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.8 KiB |
BIN
Habitica/res/drawable-night-mdpi/challenge_won_gem_confetti.png
Normal file
BIN
Habitica/res/drawable-night-mdpi/challenge_won_gem_confetti.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.8 KiB |
BIN
Habitica/res/drawable-night-xhdpi/challenge_won_gem_confetti.png
Normal file
BIN
Habitica/res/drawable-night-xhdpi/challenge_won_gem_confetti.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
BIN
Habitica/res/drawable-night-xxxhdpi/won_challenge_icon.png
Normal file
BIN
Habitica/res/drawable-night-xxxhdpi/won_challenge_icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
|
|
@ -27,7 +27,7 @@
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:layout_marginEnd="6dp"
|
android:layout_marginEnd="6dp"
|
||||||
android:layout_alignParentTop="true"
|
android:layout_alignParentTop="true"
|
||||||
android:layout_marginTop="30dp"
|
android:layout_marginTop="40dp"
|
||||||
android:textColor="@android:color/white"
|
android:textColor="@android:color/white"
|
||||||
android:background="@color/transparent" />
|
android:background="@color/transparent" />
|
||||||
|
|
||||||
|
|
|
||||||
22
Habitica/res/layout/dialog_hatch_pet_button.xml
Normal file
22
Habitica/res/layout/dialog_hatch_pet_button.xml
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="60dp">
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textSize="16sp"
|
||||||
|
android:letterSpacing="0.02"
|
||||||
|
android:fontFamily="@string/font_family_medium"
|
||||||
|
android:text="@string/hatch"
|
||||||
|
android:textColor="?attr/colorAccent"
|
||||||
|
android:layout_marginEnd="6dp"
|
||||||
|
/>
|
||||||
|
<com.habitrpg.android.habitica.ui.views.CurrencyView
|
||||||
|
android:id="@+id/currencyView"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
@ -193,7 +193,7 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:textColor="@color/textColorSecondaryDark" />
|
android:textColor="?textColorSecondaryDark" />
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
|
|
@ -212,7 +212,7 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:textColor="@color/textColorSecondaryDark"
|
android:textColor="?textColorSecondaryDark"
|
||||||
style="@style/CurrencyTextView"
|
style="@style/CurrencyTextView"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|
@ -226,7 +226,7 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:textColor="@color/textColorSecondaryDark"
|
android:textColor="?textColorSecondaryDark"
|
||||||
style="@style/CurrencyTextView"
|
style="@style/CurrencyTextView"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|
@ -239,7 +239,7 @@
|
||||||
android:id="@+id/gold_tv"
|
android:id="@+id/gold_tv"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textColor="@color/textColorSecondaryDark"
|
android:textColor="?textColorSecondaryDark"
|
||||||
style="@style/CurrencyTextView"
|
style="@style/CurrencyTextView"
|
||||||
/>
|
/>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
|
||||||
|
|
@ -72,11 +72,6 @@
|
||||||
<color name="xpColor">@color/yellow_100</color>
|
<color name="xpColor">@color/yellow_100</color>
|
||||||
<color name="mpColor">@color/blue_100</color>
|
<color name="mpColor">@color/blue_100</color>
|
||||||
|
|
||||||
<color name="colorPrimary">@color/brand_300</color>
|
|
||||||
<color name="colorPrimaryDark">@color/brand_50</color>
|
|
||||||
<!-- text -->
|
|
||||||
<color name="textColorSecondaryDark">@color/brand_500</color>
|
|
||||||
|
|
||||||
<!-- Cards -->
|
<!-- Cards -->
|
||||||
<color name="text_light">#66000000</color>
|
<color name="text_light">#66000000</color>
|
||||||
<color name="card_text">@color/text_ternary</color>
|
<color name="card_text">@color/text_ternary</color>
|
||||||
|
|
|
||||||
|
|
@ -1125,7 +1125,7 @@
|
||||||
<string name="hurray">Hurray!</string>
|
<string name="hurray">Hurray!</string>
|
||||||
<string name="you_won_challenge">You won a Challenge</string>
|
<string name="you_won_challenge">You won a Challenge</string>
|
||||||
<string name="congratulations">Congratulations!</string>
|
<string name="congratulations">Congratulations!</string>
|
||||||
<string name="won_achievement_description"><b>%s</b> selected you as the winner! Your win has been recorded in your Achievements.</string>
|
<string name="won_achievement_description"><![CDATA[<b>%s</b> selected you as the winner! Your win has been recorded in your Achievements.]]></string>
|
||||||
<string name="won_achievement_description_noname">You were selected as the winner! Your win has been recorded in your Achievements.</string>
|
<string name="won_achievement_description_noname">You were selected as the winner! Your win has been recorded in your Achievements.</string>
|
||||||
<string name="claim_x_gems">Claim %d Gems</string>
|
<string name="claim_x_gems">Claim %d Gems</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
||||||
|
|
@ -138,6 +138,7 @@ override fun getUser(userID: String): Flowable<User> {
|
||||||
val habitClass = if (user.preferences?.disableClasses == true) "none" else user.stats?.habitClass
|
val habitClass = if (user.preferences?.disableClasses == true) "none" else user.stats?.habitClass
|
||||||
return RxJavaBridge.toV3Flowable(realm.where(Skill::class.java)
|
return RxJavaBridge.toV3Flowable(realm.where(Skill::class.java)
|
||||||
.equalTo("habitClass", habitClass)
|
.equalTo("habitClass", habitClass)
|
||||||
|
.sort("lvl")
|
||||||
.findAll()
|
.findAll()
|
||||||
.asFlowable()
|
.asFlowable()
|
||||||
.filter { it.isLoaded })
|
.filter { it.isLoaded })
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@ import com.google.firebase.messaging.FirebaseMessagingService
|
||||||
import com.google.firebase.messaging.RemoteMessage
|
import com.google.firebase.messaging.RemoteMessage
|
||||||
import com.habitrpg.android.habitica.HabiticaBaseApplication
|
import com.habitrpg.android.habitica.HabiticaBaseApplication
|
||||||
import com.habitrpg.android.habitica.components.UserComponent
|
import com.habitrpg.android.habitica.components.UserComponent
|
||||||
|
import com.habitrpg.android.habitica.data.UserRepository
|
||||||
|
import com.habitrpg.android.habitica.helpers.RxErrorHandler
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class HabiticaFirebaseMessagingService : FirebaseMessagingService() {
|
class HabiticaFirebaseMessagingService : FirebaseMessagingService() {
|
||||||
|
|
@ -15,10 +17,17 @@ class HabiticaFirebaseMessagingService : FirebaseMessagingService() {
|
||||||
@Inject
|
@Inject
|
||||||
internal lateinit var pushNotificationManager: PushNotificationManager
|
internal lateinit var pushNotificationManager: PushNotificationManager
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
internal lateinit var userRepository: UserRepository
|
||||||
|
|
||||||
override fun onMessageReceived(remoteMessage: RemoteMessage) {
|
override fun onMessageReceived(remoteMessage: RemoteMessage) {
|
||||||
userComponent?.inject(this)
|
userComponent?.inject(this)
|
||||||
if (this::pushNotificationManager.isInitialized) {
|
if (this::pushNotificationManager.isInitialized) {
|
||||||
pushNotificationManager.displayNotification(remoteMessage)
|
pushNotificationManager.displayNotification(remoteMessage)
|
||||||
|
|
||||||
|
if (remoteMessage.data["identifier"]?.contains(PushNotificationManager.WON_CHALLENGE_PUSH_NOTIFICATION_KEY) == true) {
|
||||||
|
userRepository.retrieveUser(true).subscribe({}, RxErrorHandler.handleEmptyError())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@ import com.habitrpg.android.habitica.models.Notification
|
||||||
import com.habitrpg.android.habitica.models.TutorialStep
|
import com.habitrpg.android.habitica.models.TutorialStep
|
||||||
import com.habitrpg.android.habitica.models.inventory.Egg
|
import com.habitrpg.android.habitica.models.inventory.Egg
|
||||||
import com.habitrpg.android.habitica.models.inventory.HatchingPotion
|
import com.habitrpg.android.habitica.models.inventory.HatchingPotion
|
||||||
|
import com.habitrpg.android.habitica.models.notifications.ChallengeWonData
|
||||||
import com.habitrpg.android.habitica.models.notifications.LoginIncentiveData
|
import com.habitrpg.android.habitica.models.notifications.LoginIncentiveData
|
||||||
import com.habitrpg.android.habitica.models.responses.MaintenanceResponse
|
import com.habitrpg.android.habitica.models.responses.MaintenanceResponse
|
||||||
import com.habitrpg.android.habitica.models.responses.TaskScoringResult
|
import com.habitrpg.android.habitica.models.responses.TaskScoringResult
|
||||||
|
|
@ -76,6 +77,10 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.rxjava3.functions.Consumer
|
import io.reactivex.rxjava3.functions.Consumer
|
||||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||||
import io.realm.kotlin.isValid
|
import io.realm.kotlin.isValid
|
||||||
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.GlobalScope
|
||||||
|
import kotlinx.coroutines.delay
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
import org.greenrobot.eventbus.EventBus
|
import org.greenrobot.eventbus.EventBus
|
||||||
import org.greenrobot.eventbus.Subscribe
|
import org.greenrobot.eventbus.Subscribe
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
@ -377,6 +382,23 @@ open class MainActivity : BaseActivity(), TutorialView.OnTutorialReaction {
|
||||||
if (binding.toolbarTitle.text?.isNotBlank() != true) {
|
if (binding.toolbarTitle.text?.isNotBlank() != true) {
|
||||||
navigationController.currentDestination?.let { updateToolbarTitle(it, null) }
|
navigationController.currentDestination?.let { updateToolbarTitle(it, null) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val alert1 = HabiticaAlertDialog(this)
|
||||||
|
alert1.setTitle("1")
|
||||||
|
alert1.addCloseButton()
|
||||||
|
alert1.enqueue()
|
||||||
|
val alert2 = HabiticaAlertDialog(this)
|
||||||
|
alert2.setTitle("2")
|
||||||
|
alert2.addCloseButton()
|
||||||
|
alert2.enqueue()
|
||||||
|
GlobalScope.launch(context = Dispatchers.Main) {
|
||||||
|
delay(500L)
|
||||||
|
val alert3 = HabiticaAlertDialog(this@MainActivity)
|
||||||
|
alert3.setTitle("3")
|
||||||
|
alert3.addCloseButton()
|
||||||
|
alert3.enqueue()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPause() {
|
override fun onPause() {
|
||||||
|
|
|
||||||
|
|
@ -180,7 +180,7 @@ class StableRecyclerAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
|
||||||
val animal = this.animal
|
val animal = this.animal
|
||||||
if (animal != null) {
|
if (animal != null) {
|
||||||
val color = if (animal.type == "special") animal.color else null
|
val color = if (animal.type == "special") animal.color else null
|
||||||
if (animal.numberOwned > 0 || ownedEggs?.containsKey(animal.animal) == true) {
|
if (animal.numberOwned > 0) {
|
||||||
if (itemType == "pets") {
|
if (itemType == "pets") {
|
||||||
MainNavigationController.navigate(StableFragmentDirections.openPetDetail(animal.animal, animal.type ?: "", color))
|
MainNavigationController.navigate(StableFragmentDirections.openPetDetail(animal.animal, animal.type ?: "", color))
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -290,7 +290,7 @@ open class TaskRecyclerViewFragment : BaseFragment<FragmentRefreshRecyclerviewBi
|
||||||
if (!task.isValid) {
|
if (!task.isValid) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
taskRepository.getTasksForChallenge(task.challengeID).subscribe({ tasks ->
|
taskRepository.getTasksForChallenge(task.challengeID).firstElement().subscribe({ tasks ->
|
||||||
val taskCount = tasks.size
|
val taskCount = tasks.size
|
||||||
val dialog = HabiticaAlertDialog(it)
|
val dialog = HabiticaAlertDialog(it)
|
||||||
dialog.setTitle(R.string.broken_challenge)
|
dialog.setTitle(R.string.broken_challenge)
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,14 @@ import com.habitrpg.android.habitica.R
|
||||||
import com.habitrpg.android.habitica.extensions.dpToPx
|
import com.habitrpg.android.habitica.extensions.dpToPx
|
||||||
import com.habitrpg.android.habitica.extensions.inflate
|
import com.habitrpg.android.habitica.extensions.inflate
|
||||||
import com.habitrpg.android.habitica.extensions.layoutInflater
|
import com.habitrpg.android.habitica.extensions.layoutInflater
|
||||||
|
import com.habitrpg.android.habitica.helpers.MainNavigationController
|
||||||
|
import com.habitrpg.android.habitica.ui.fragments.social.challenges.ChallengesOverviewFragmentDirections
|
||||||
import com.habitrpg.android.habitica.ui.views.login.LockableScrollView
|
import com.habitrpg.android.habitica.ui.views.login.LockableScrollView
|
||||||
import com.plattysoft.leonids.ParticleSystem
|
import com.plattysoft.leonids.ParticleSystem
|
||||||
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.GlobalScope
|
||||||
|
import kotlinx.coroutines.delay
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
import java.lang.ref.WeakReference
|
import java.lang.ref.WeakReference
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -269,8 +275,11 @@ open class HabiticaAlertDialog(context: Context) : AlertDialog(context, R.style.
|
||||||
dialogQueue.removeAt(0)
|
dialogQueue.removeAt(0)
|
||||||
}
|
}
|
||||||
if (dialogQueue.size > 0) {
|
if (dialogQueue.size > 0) {
|
||||||
if ((dialogQueue[0].context as? Activity)?.isFinishing == false) {
|
if ((dialogQueue[0].context as? Activity)?.isFinishing != true) {
|
||||||
dialogQueue[0].show()
|
GlobalScope.launch(context = Dispatchers.Main) {
|
||||||
|
delay(500L)
|
||||||
|
dialogQueue[0].show()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,15 @@ import android.content.Context
|
||||||
import android.graphics.drawable.BitmapDrawable
|
import android.graphics.drawable.BitmapDrawable
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import android.widget.Button
|
||||||
import android.widget.LinearLayout
|
import android.widget.LinearLayout
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import com.habitrpg.android.habitica.R
|
import com.habitrpg.android.habitica.R
|
||||||
import com.habitrpg.android.habitica.databinding.DialogPetSuggestHatchBinding
|
import com.habitrpg.android.habitica.databinding.DialogPetSuggestHatchBinding
|
||||||
import com.habitrpg.android.habitica.extensions.dpToPx
|
import com.habitrpg.android.habitica.extensions.dpToPx
|
||||||
|
import com.habitrpg.android.habitica.extensions.getThemeColor
|
||||||
|
import com.habitrpg.android.habitica.extensions.inflate
|
||||||
import com.habitrpg.android.habitica.helpers.RxErrorHandler
|
import com.habitrpg.android.habitica.helpers.RxErrorHandler
|
||||||
import com.habitrpg.android.habitica.models.inventory.Animal
|
import com.habitrpg.android.habitica.models.inventory.Animal
|
||||||
import com.habitrpg.android.habitica.models.inventory.Egg
|
import com.habitrpg.android.habitica.models.inventory.Egg
|
||||||
|
|
@ -109,18 +112,11 @@ class PetSuggestHatchDialog(context: Context) : HabiticaAlertDialog(context) {
|
||||||
addButton(R.string.close, true)
|
addButton(R.string.close, true)
|
||||||
|
|
||||||
if (hatchPrice > 0) {
|
if (hatchPrice > 0) {
|
||||||
val linearLayout = LinearLayout(context)
|
val linearLayout = layoutInflater.inflate(R.layout.dialog_hatch_pet_button, null) as? LinearLayout ?: return
|
||||||
val label = TextView(context)
|
|
||||||
label.setText(R.string.hatch)
|
val priceView = linearLayout.findViewById<CurrencyView>(R.id.currencyView)
|
||||||
label.setTextColor(ContextCompat.getColor(context, R.color.colorPrimary))
|
priceView?.value = hatchPrice.toDouble()
|
||||||
linearLayout.addView(label)
|
priceView?.currency = "gems"
|
||||||
val layoutParams: LinearLayout.LayoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
|
|
||||||
LinearLayout.LayoutParams.WRAP_CONTENT)
|
|
||||||
layoutParams.setMargins(0, 0, 4.dpToPx(context), 0)
|
|
||||||
label.layoutParams = layoutParams
|
|
||||||
val priceView = CurrencyView(context, "gems", true)
|
|
||||||
priceView.value = hatchPrice.toDouble()
|
|
||||||
linearLayout.addView(priceView)
|
|
||||||
addButton(linearLayout, true) { _, _ ->
|
addButton(linearLayout, true) { _, _ ->
|
||||||
val activity = (getActivity() as? MainActivity) ?: return@addButton
|
val activity = (getActivity() as? MainActivity) ?: return@addButton
|
||||||
val thisPotion = potion ?: return@addButton
|
val thisPotion = potion ?: return@addButton
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,9 @@ import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils
|
||||||
|
|
||||||
class WonChallengeDialog(context: Context) : HabiticaAlertDialog(context) {
|
class WonChallengeDialog(context: Context) : HabiticaAlertDialog(context) {
|
||||||
fun configure(data: ChallengeWonData?) {
|
fun configure(data: ChallengeWonData?) {
|
||||||
|
val imageView = additionalContentView?.findViewById<SimpleDraweeView>(R.id.achievement_view);
|
||||||
|
DataBindingUtils.loadImage(imageView, "achievement-karaoke-2x")
|
||||||
|
|
||||||
if (data?.name != null) {
|
if (data?.name != null) {
|
||||||
additionalContentView?.findViewById<TextView>(R.id.description_view)?.text = context.getString(R.string.won_achievement_description, data.name).fromHtml()
|
additionalContentView?.findViewById<TextView>(R.id.description_view)?.text = context.getString(R.string.won_achievement_description, data.name).fromHtml()
|
||||||
}
|
}
|
||||||
|
|
@ -30,9 +33,6 @@ class WonChallengeDialog(context: Context) : HabiticaAlertDialog(context) {
|
||||||
val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as? LayoutInflater
|
val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as? LayoutInflater
|
||||||
val view = inflater?.inflate(R.layout.dialog_won_challenge, null)
|
val view = inflater?.inflate(R.layout.dialog_won_challenge, null)
|
||||||
setTitle(R.string.you_won_challenge)
|
setTitle(R.string.you_won_challenge)
|
||||||
|
|
||||||
DataBindingUtils.loadImage(view?.findViewById(R.id.achievement_view), "achievement-karaoke2x")
|
|
||||||
|
|
||||||
setAdditionalContentView(view)
|
setAdditionalContentView(view)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
{
|
{
|
||||||
"type": "SINGLE",
|
"type": "SINGLE",
|
||||||
"filters": [],
|
"filters": [],
|
||||||
"versionCode": 2644,
|
"versionCode": 2650,
|
||||||
"versionName": "3.1",
|
"versionName": "3.1",
|
||||||
"outputFile": "Habitica-staff-release.apk"
|
"outputFile": "Habitica-staff-release.apk"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue