mirror of
https://github.com/vector-im/element-android.git
synced 2024-11-16 02:05:06 +08:00
Remove dead code (QrCode animation)
This commit is contained in:
parent
b69616117f
commit
cd28ad4c07
@ -68,7 +68,7 @@ class DebugMenuActivity : VectorBaseActivity() {
|
||||
}
|
||||
|
||||
private fun renderQrCode(text: String) {
|
||||
debug_qr_code.setData(text, true)
|
||||
debug_qr_code.setData(text)
|
||||
}
|
||||
|
||||
@OnClick(R.id.debug_test_text_view_link)
|
||||
|
@ -18,28 +18,23 @@ package im.vector.app.core.ui.views
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.graphics.drawable.AnimationDrawable
|
||||
import android.graphics.drawable.BitmapDrawable
|
||||
import android.util.AttributeSet
|
||||
import androidx.appcompat.widget.AppCompatImageView
|
||||
import im.vector.app.core.qrcode.toBitMatrix
|
||||
import im.vector.app.core.qrcode.toBitmap
|
||||
import kotlin.random.Random
|
||||
|
||||
class QrCodeImageView @JvmOverloads constructor(
|
||||
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
|
||||
) : AppCompatImageView(context, attrs, defStyleAttr) {
|
||||
|
||||
private var data: String? = null
|
||||
private var animate = false
|
||||
|
||||
init {
|
||||
setBackgroundColor(Color.WHITE)
|
||||
}
|
||||
|
||||
fun setData(data: String, animate: Boolean) {
|
||||
fun setData(data: String) {
|
||||
this.data = data
|
||||
this.animate = animate
|
||||
|
||||
render()
|
||||
}
|
||||
@ -53,47 +48,8 @@ class QrCodeImageView @JvmOverloads constructor(
|
||||
data
|
||||
?.takeIf { height > 0 }
|
||||
?.let {
|
||||
if (animate) {
|
||||
// NOT SUPPORTED YET val anim = createAnimation(it)
|
||||
// NOT SUPPORTED YET setImageDrawable(anim)
|
||||
// NOT SUPPORTED YET anim.start()
|
||||
// NOT SUPPORTED YET setImageDrawable(BitmapDrawable(resources, it.toBitMatrix(height).toBitmap()))
|
||||
val bitmap = it.toBitMatrix(height).toBitmap()
|
||||
post { setImageBitmap(bitmap) }
|
||||
} else {
|
||||
val bitmap = it.toBitMatrix(height).toBitmap()
|
||||
post { setImageBitmap(bitmap) }
|
||||
}
|
||||
val bitmap = it.toBitMatrix(height).toBitmap()
|
||||
post { setImageBitmap(bitmap) }
|
||||
}
|
||||
}
|
||||
|
||||
private fun createAnimation(data: String): AnimationDrawable {
|
||||
val finalQr = data.toBitMatrix(height)
|
||||
|
||||
val list = mutableListOf(finalQr)
|
||||
|
||||
val random = Random(System.currentTimeMillis())
|
||||
val repeatTime = 8
|
||||
repeat(repeatTime) { index ->
|
||||
val alteredQr = finalQr.clone()
|
||||
for (x in 0 until alteredQr.width) {
|
||||
for (y in 0 until alteredQr.height) {
|
||||
if (random.nextInt(repeatTime - index) == 0) {
|
||||
// Pb is that it does not toggle a whole black square, but only a pixel
|
||||
alteredQr.unset(x, y)
|
||||
}
|
||||
}
|
||||
}
|
||||
list.add(alteredQr)
|
||||
}
|
||||
|
||||
val animDrawable = AnimationDrawable()
|
||||
|
||||
list.asReversed()
|
||||
.forEach {
|
||||
animDrawable.addFrame(BitmapDrawable(resources, it.toBitmap()), 150)
|
||||
}
|
||||
|
||||
return animDrawable
|
||||
}
|
||||
}
|
||||
|
@ -53,7 +53,6 @@ class VerificationChooseMethodController @Inject constructor(
|
||||
bottomSheetVerificationQrCodeItem {
|
||||
id("qr")
|
||||
data(state.qrCodeText)
|
||||
animate(false)
|
||||
}
|
||||
|
||||
dividerItem {
|
||||
|
@ -32,12 +32,9 @@ abstract class BottomSheetVerificationQrCodeItem : VectorEpoxyModel<BottomSheetV
|
||||
@EpoxyAttribute
|
||||
lateinit var data: String
|
||||
|
||||
@EpoxyAttribute
|
||||
var animate = false
|
||||
|
||||
override fun bind(holder: Holder) {
|
||||
super.bind(holder)
|
||||
holder.qsrCodeImage.setData(data, animate)
|
||||
holder.qsrCodeImage.setData(data)
|
||||
}
|
||||
|
||||
class Holder : VectorEpoxyHolder() {
|
||||
|
Loading…
Reference in New Issue
Block a user