Small screen fixes for ACI safety number screen.
This commit is contained in:
parent
3cee0c1bd5
commit
d0a44c3f14
4 changed files with 63 additions and 35 deletions
|
@ -6,12 +6,15 @@
|
|||
package org.thoughtcrime.securesms.verify
|
||||
|
||||
import android.animation.Animator
|
||||
import android.app.Dialog
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import com.airbnb.lottie.LottieDrawable
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehavior
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||
import org.thoughtcrime.securesms.R
|
||||
import org.thoughtcrime.securesms.animation.AnimationCompleteListener
|
||||
import org.thoughtcrime.securesms.components.FixedRoundedCornerBottomSheetDialogFragment
|
||||
|
@ -23,14 +26,21 @@ import org.thoughtcrime.securesms.util.CommunicationActions
|
|||
import org.thoughtcrime.securesms.util.visible
|
||||
|
||||
class PnpSafetyNumberEducationDialogFragment : FixedRoundedCornerBottomSheetDialogFragment() {
|
||||
override val peekHeightPercentage: Float = 0.66f
|
||||
|
||||
private val binding by ViewBinderDelegate(SafetyNumberPnpEducationBottomSheetBinding::bind)
|
||||
|
||||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
|
||||
return inflater.inflate(R.layout.safety_number_pnp_education_bottom_sheet, container, false)
|
||||
}
|
||||
|
||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||
val dialog = super.onCreateDialog(savedInstanceState) as BottomSheetDialog
|
||||
dialog.behavior.skipCollapsed = true
|
||||
dialog.setOnShowListener {
|
||||
dialog.behavior.state = BottomSheetBehavior.STATE_EXPANDED
|
||||
}
|
||||
return dialog
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
|
|
|
@ -42,6 +42,7 @@ import org.thoughtcrime.securesms.util.ViewUtil
|
|||
import org.thoughtcrime.securesms.util.visible
|
||||
import java.nio.charset.StandardCharsets
|
||||
import java.util.Locale
|
||||
import kotlin.math.max
|
||||
|
||||
/**
|
||||
* Fragment to display a user's identity key.
|
||||
|
@ -100,8 +101,11 @@ class VerifyDisplayFragment : Fragment(), OnScrollChangedListener {
|
|||
}
|
||||
})
|
||||
val peekSize = resources.getDimensionPixelSize(R.dimen.safety_number_qr_peek)
|
||||
val pageWidth = resources.getDimensionPixelSize(R.dimen.safety_number_qr_width)
|
||||
val pageTransformer = ViewPager2.PageTransformer { page: View, position: Float -> page.translationX = -position * (peekSize + (page.width - pageWidth) / 2f) }
|
||||
val pageTransformer = ViewPager2.PageTransformer { page: View, position: Float ->
|
||||
val remainingWidth = (max(0, page.width - ((page as ViewGroup).getChildAt(0).width))) / 2f
|
||||
val peekWidth = peekSize.toFloat().coerceAtMost(remainingWidth / 2f)
|
||||
page.translationX = -position * (peekWidth + remainingWidth)
|
||||
}
|
||||
binding.verifyViewPager.setPageTransformer(pageTransformer)
|
||||
binding.verifyViewPager.offscreenPageLimit = 1
|
||||
TabLayoutMediator(binding.dotIndicators, binding.verifyViewPager) { _: TabLayout.Tab?, _: Int -> }.attach()
|
||||
|
|
|
@ -15,46 +15,61 @@
|
|||
android:layout_height="2dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:background="@color/signal_icon_tint_tab_unselected"/>
|
||||
|
||||
<TextView
|
||||
style="@style/Signal.Text.Headline"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="43dp"
|
||||
|
||||
android:text="@string/PnpSafetyNumberEducationDialog__title"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
style="@style/Signal.Text.BodyMedium"
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="start"
|
||||
android:layout_marginTop="12dp"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:layout_marginBottom="24dp"
|
||||
android:text="@string/PnpSafetyNumberEducationDialog__body"
|
||||
/>
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1">
|
||||
|
||||
<com.airbnb.lottie.LottieAnimationView
|
||||
android:id="@+id/lottie"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="1dp"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:background="@drawable/rounded_outline_12"
|
||||
app:lottie_rawRes="@raw/safety_number_onboarding"/>
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
style="@style/Signal.Text.Headline"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="33dp"
|
||||
android:text="@string/PnpSafetyNumberEducationDialog__title"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
style="@style/Signal.Text.BodyMedium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="start"
|
||||
android:layout_marginTop="12dp"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:layout_marginBottom="24dp"
|
||||
android:text="@string/PnpSafetyNumberEducationDialog__body"
|
||||
/>
|
||||
|
||||
<com.airbnb.lottie.LottieAnimationView
|
||||
android:id="@+id/lottie"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="1dp"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:layout_marginBottom="35dp"
|
||||
android:background="@drawable/rounded_outline_12"
|
||||
app:lottie_rawRes="@raw/safety_number_onboarding"/>
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:layout_marginTop="47dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:layout_marginBottom="24dp"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
|
|
|
@ -222,5 +222,4 @@
|
|||
<dimen name="registrationactivity_text_view_padding">32dp</dimen>
|
||||
|
||||
<dimen name="safety_number_qr_peek">24dp</dimen>
|
||||
<dimen name="safety_number_qr_width">288dp</dimen>
|
||||
</resources>
|
||||
|
|
Loading…
Add table
Reference in a new issue