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

View file

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

View file

@ -213,6 +213,8 @@ class PurchaseHandler(
if (result.billingResult.responseCode != BillingClient.BillingResponseCode.OK) {
delay(500)
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.view.View
import android.widget.LinearLayout
import androidx.core.view.isVisible
import com.habitrpg.android.habitica.R
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.ui.views.HabiticaIconsHelper
import com.habitrpg.common.habitica.extensions.layoutInflater
import java.text.DateFormat
import java.time.LocalDate
import java.time.format.DateTimeFormatter
@ -98,9 +99,21 @@ class SubscriptionDetailsView : LinearLayout {
binding.gemCapTextView.text = plan.totalNumberOfGems.toString()
plan.monthsUntilNextHourglass?.let { nextHourglass ->
val nextHourglassMonth = LocalDate.now().plusMonths(nextHourglass.toLong()).format(DateTimeFormatter.ofPattern("MMMM"))
nextHourglassMonth?.let { binding.nextHourglassTextview.text = it }
if (plan.isActive && plan.dateTerminated == null) {
plan.monthsUntilNextHourglass?.let { nextHourglass ->
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

View file

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