kopia lustrzana https://github.com/ryukoposting/Signal-Android
Move gift header into recycler.
rodzic
deed8ac6c9
commit
cb057968ee
|
@ -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,
|
||||||
|
|
|
@ -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"
|
||||||
|
|
Ładowanie…
Reference in New Issue