mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-03-02 07:23:38 +00:00
Small screen fixes for ACI safety number screen.
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user