sub screen improvements

This commit is contained in:
Phillip Thelen 2022-12-14 13:49:31 +01:00
parent 80012485b4
commit db39dc7d42
5 changed files with 36 additions and 17 deletions

View file

@ -174,7 +174,9 @@
android:layout_below="@id/calendar_icon" android:layout_below="@id/calendar_icon"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:text="@string/months_subscribed" /> android:text="@string/months_subscribed"
android:textAlignment="center"
android:fontFamily="sans-serif-medium"/>
<TextView <TextView
android:id="@+id/monthsSubscribedTextView" android:id="@+id/monthsSubscribedTextView"
@ -218,7 +220,9 @@
android:layout_below="@id/gem_icon" android:layout_below="@id/gem_icon"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_marginTop="5dp" android:layout_marginTop="5dp"
android:text="@string/monthly_gem_cap" /> android:text="@string/monthly_gem_cap"
android:textAlignment="center"
android:fontFamily="sans-serif-medium" />
<TextView <TextView
android:id="@+id/gemCapTextView" android:id="@+id/gemCapTextView"
@ -232,16 +236,17 @@
</RelativeLayout> </RelativeLayout>
<RelativeLayout <RelativeLayout
android:id="@+id/next_hourglass_container"
style="@style/subscriptionBox" style="@style/subscriptionBox"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="80dp"
android:layout_below="@id/months_subscribed_layout"> android:layout_below="@id/months_subscribed_layout">
<ImageView <ImageView
android:layout_width="60dp" android:layout_width="60dp"
android:layout_height="60dp" android:layout_height="60dp"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:layout_marginStart="16dp" android:layout_marginStart="2dp"
android:src="@drawable/hourglass_fancy_left" /> android:src="@drawable/hourglass_fancy_left" />
<ImageView <ImageView
@ -249,8 +254,7 @@
android:layout_height="60dp" android:layout_height="60dp"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:layout_marginEnd="16dp" android:layout_marginEnd="2dp"
android:src="@drawable/hourglass_fancy_right" /> android:src="@drawable/hourglass_fancy_right" />
<TextView <TextView
@ -258,8 +262,8 @@
style="@style/subscriptionBoxCompactTitle" style="@style/subscriptionBoxCompactTitle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerInParent="true" android:layout_centerHorizontal="true"
android:layout_marginBottom="16dp" android:layout_marginTop="2dp"
tools:text="4" /> tools:text="4" />
<TextView <TextView
@ -267,9 +271,9 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/next_hourglass_textview" android:layout_below="@id/next_hourglass_textview"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:fontFamily="sans-serif-medium"
android:text="@string/next_hourglass" android:text="@string/next_hourglass"
android:textColor="@color/text_primary" /> android:fontFamily="sans-serif-medium"
android:textColor="@color/text_secondary"/>
</RelativeLayout> </RelativeLayout>
</RelativeLayout> </RelativeLayout>

View file

@ -558,8 +558,8 @@
<style name="subscriptionBox"> <style name="subscriptionBox">
<item name="android:background">@drawable/subscription_box_bg</item> <item name="android:background">@drawable/subscription_box_bg</item>
<item name="android:paddingTop">16dp</item> <item name="android:paddingTop">12dp</item>
<item name="android:paddingBottom">16dp</item> <item name="android:paddingBottom">12dp</item>
<item name="android:paddingStart">18dp</item> <item name="android:paddingStart">18dp</item>
<item name="android:paddingEnd">18dp</item> <item name="android:paddingEnd">18dp</item>
<item name="android:layout_marginBottom">8dp</item> <item name="android:layout_marginBottom">8dp</item>

View file

@ -213,6 +213,8 @@ class PurchaseHandler(
if (result.billingResult.responseCode != BillingClient.BillingResponseCode.OK) { if (result.billingResult.responseCode != BillingClient.BillingResponseCode.OK) {
delay(500) delay(500)
consume(purchase, retries - 1) consume(purchase, retries - 1)
} else {
userViewModel.userRepository.retrieveUser(false, true)
} }
} }

View file

@ -7,11 +7,12 @@ import android.net.Uri
import android.util.AttributeSet import android.util.AttributeSet
import android.view.View import android.view.View
import android.widget.LinearLayout import android.widget.LinearLayout
import androidx.core.view.isVisible
import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.databinding.SubscriptionDetailsBinding import com.habitrpg.android.habitica.databinding.SubscriptionDetailsBinding
import com.habitrpg.common.habitica.extensions.layoutInflater
import com.habitrpg.android.habitica.models.user.SubscriptionPlan import com.habitrpg.android.habitica.models.user.SubscriptionPlan
import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper
import com.habitrpg.common.habitica.extensions.layoutInflater
import java.text.DateFormat import java.text.DateFormat
import java.time.LocalDate import java.time.LocalDate
import java.time.format.DateTimeFormatter import java.time.format.DateTimeFormatter
@ -98,9 +99,21 @@ class SubscriptionDetailsView : LinearLayout {
binding.gemCapTextView.text = plan.totalNumberOfGems.toString() binding.gemCapTextView.text = plan.totalNumberOfGems.toString()
plan.monthsUntilNextHourglass?.let { nextHourglass -> if (plan.isActive && plan.dateTerminated == null) {
val nextHourglassMonth = LocalDate.now().plusMonths(nextHourglass.toLong()).format(DateTimeFormatter.ofPattern("MMMM")) plan.monthsUntilNextHourglass?.let { nextHourglass ->
nextHourglassMonth?.let { binding.nextHourglassTextview.text = it } val now = LocalDate.now()
val nextHourglassDate = LocalDate.now().plusMonths(nextHourglass.toLong())
val format = if (now.year != nextHourglassDate.year) {
"MMMM YY"
} else {
"MMMM"
}
val nextHourglassMonth = nextHourglassDate.format(DateTimeFormatter.ofPattern(format))
nextHourglassMonth?.let { binding.nextHourglassTextview.text = it }
binding.nextHourglassContainer.isVisible = true
}
} else {
binding.nextHourglassContainer.isVisible = false
} }
binding.changeSubscriptionButton.visibility = View.VISIBLE binding.changeSubscriptionButton.visibility = View.VISIBLE

View file

@ -1,2 +1,2 @@
NAME=4.1 NAME=4.1
CODE=4821 CODE=4831