Move gift header into recycler.

fork-5.53.8
Alex Hart 2022-08-17 10:35:55 -03:00 zatwierdzone przez Cody Henthorne
rodzic deed8ac6c9
commit cb057968ee
2 zmienionych plików z 27 dodań i 34 usunięć

Wyświetl plik

@ -4,15 +4,18 @@ import android.view.View
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import org.signal.core.util.DimensionUnit
import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.components.settings.DSLConfiguration import org.thoughtcrime.securesms.components.settings.DSLConfiguration
import org.thoughtcrime.securesms.components.settings.DSLSettingsAdapter import org.thoughtcrime.securesms.components.settings.DSLSettingsAdapter
import org.thoughtcrime.securesms.components.settings.DSLSettingsFragment import org.thoughtcrime.securesms.components.settings.DSLSettingsFragment
import org.thoughtcrime.securesms.components.settings.DSLSettingsText
import org.thoughtcrime.securesms.components.settings.app.subscription.DonationPaymentComponent import org.thoughtcrime.securesms.components.settings.app.subscription.DonationPaymentComponent
import org.thoughtcrime.securesms.components.settings.app.subscription.models.CurrencySelection import org.thoughtcrime.securesms.components.settings.app.subscription.models.CurrencySelection
import org.thoughtcrime.securesms.components.settings.app.subscription.models.NetworkFailure import org.thoughtcrime.securesms.components.settings.app.subscription.models.NetworkFailure
import org.thoughtcrime.securesms.components.settings.configure import org.thoughtcrime.securesms.components.settings.configure
import org.thoughtcrime.securesms.components.settings.models.IndeterminateLoadingCircle import org.thoughtcrime.securesms.components.settings.models.IndeterminateLoadingCircle
import org.thoughtcrime.securesms.components.settings.models.SplashImage
import org.thoughtcrime.securesms.util.LifecycleDisposable import org.thoughtcrime.securesms.util.LifecycleDisposable
import org.thoughtcrime.securesms.util.ViewUtil import org.thoughtcrime.securesms.util.ViewUtil
import org.thoughtcrime.securesms.util.fragments.requireListener import org.thoughtcrime.securesms.util.fragments.requireListener
@ -37,6 +40,7 @@ class GiftFlowStartFragment : DSLSettingsFragment(
GiftRowItem.register(adapter) GiftRowItem.register(adapter)
NetworkFailure.register(adapter) NetworkFailure.register(adapter)
IndeterminateLoadingCircle.register(adapter) IndeterminateLoadingCircle.register(adapter)
SplashImage.register(adapter)
val next = requireView().findViewById<View>(R.id.next) val next = requireView().findViewById<View>(R.id.next)
next.setOnClickListener { next.setOnClickListener {
@ -58,6 +62,28 @@ class GiftFlowStartFragment : DSLSettingsFragment(
private fun getConfiguration(state: GiftFlowState): DSLConfiguration { private fun getConfiguration(state: GiftFlowState): DSLConfiguration {
return configure { return configure {
customPref(
SplashImage.Model(
R.drawable.ic_gift_chat
)
)
noPadTextPref(
title = DSLSettingsText.from(
R.string.GiftFlowStartFragment__gift_a_badge,
DSLSettingsText.CenterModifier,
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_Headline)
)
)
space(DimensionUnit.DP.toPixels(16f).toInt())
noPadTextPref(
title = DSLSettingsText.from(R.string.GiftFlowStartFragment__gift_someone_a_badge, DSLSettingsText.CenterModifier)
)
space(DimensionUnit.DP.toPixels(16f).toInt())
customPref( customPref(
CurrencySelection.Model( CurrencySelection.Model(
selectedCurrency = state.currency, selectedCurrency = state.currency,

Wyświetl plik

@ -13,39 +13,6 @@
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:navigationIcon="@drawable/ic_arrow_left_24" /> app:navigationIcon="@drawable/ic_arrow_left_24" />
<ImageView
android:id="@+id/hero_image"
android:layout_width="240dp"
android:layout_height="200dp"
android:importantForAccessibility="no"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/toolbar"
app:srcCompat="@drawable/ic_gift_chat" />
<TextView
android:id="@+id/headline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingHorizontal="37dp"
android:text="@string/GiftFlowStartFragment__gift_a_badge"
android:textAppearance="@style/Signal.Text.Headline"
android:textColor="@color/signal_colorOnPrimaryContainer"
app:layout_constraintTop_toBottomOf="@id/hero_image" />
<TextView
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center"
android:paddingHorizontal="37dp"
android:text="@string/GiftFlowStartFragment__gift_someone_a_badge"
android:textAppearance="@style/Signal.Text.Body"
android:textColor="@color/signal_text_secondary"
app:layout_constraintTop_toBottomOf="@id/headline" />
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler" android:id="@+id/recycler"
android:layout_width="0dp" android:layout_width="0dp"
@ -56,7 +23,7 @@
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/description" /> app:layout_constraintTop_toBottomOf="@id/toolbar" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/next" android:id="@+id/next"