mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2025-02-09 00:29:00 +01: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) {
|
private fun renderQrCode(text: String) {
|
||||||
debug_qr_code.setData(text, true)
|
debug_qr_code.setData(text)
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnClick(R.id.debug_test_text_view_link)
|
@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.content.Context
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.graphics.drawable.AnimationDrawable
|
|
||||||
import android.graphics.drawable.BitmapDrawable
|
|
||||||
import android.util.AttributeSet
|
import android.util.AttributeSet
|
||||||
import androidx.appcompat.widget.AppCompatImageView
|
import androidx.appcompat.widget.AppCompatImageView
|
||||||
import im.vector.app.core.qrcode.toBitMatrix
|
import im.vector.app.core.qrcode.toBitMatrix
|
||||||
import im.vector.app.core.qrcode.toBitmap
|
import im.vector.app.core.qrcode.toBitmap
|
||||||
import kotlin.random.Random
|
|
||||||
|
|
||||||
class QrCodeImageView @JvmOverloads constructor(
|
class QrCodeImageView @JvmOverloads constructor(
|
||||||
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
|
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
|
||||||
) : AppCompatImageView(context, attrs, defStyleAttr) {
|
) : AppCompatImageView(context, attrs, defStyleAttr) {
|
||||||
|
|
||||||
private var data: String? = null
|
private var data: String? = null
|
||||||
private var animate = false
|
|
||||||
|
|
||||||
init {
|
init {
|
||||||
setBackgroundColor(Color.WHITE)
|
setBackgroundColor(Color.WHITE)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setData(data: String, animate: Boolean) {
|
fun setData(data: String) {
|
||||||
this.data = data
|
this.data = data
|
||||||
this.animate = animate
|
|
||||||
|
|
||||||
render()
|
render()
|
||||||
}
|
}
|
||||||
@ -53,47 +48,8 @@ class QrCodeImageView @JvmOverloads constructor(
|
|||||||
data
|
data
|
||||||
?.takeIf { height > 0 }
|
?.takeIf { height > 0 }
|
||||||
?.let {
|
?.let {
|
||||||
if (animate) {
|
val bitmap = it.toBitMatrix(height).toBitmap()
|
||||||
// NOT SUPPORTED YET val anim = createAnimation(it)
|
post { setImageBitmap(bitmap) }
|
||||||
// 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) }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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 {
|
bottomSheetVerificationQrCodeItem {
|
||||||
id("qr")
|
id("qr")
|
||||||
data(state.qrCodeText)
|
data(state.qrCodeText)
|
||||||
animate(false)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dividerItem {
|
dividerItem {
|
||||||
|
@ -32,12 +32,9 @@ abstract class BottomSheetVerificationQrCodeItem : VectorEpoxyModel<BottomSheetV
|
|||||||
@EpoxyAttribute
|
@EpoxyAttribute
|
||||||
lateinit var data: String
|
lateinit var data: String
|
||||||
|
|
||||||
@EpoxyAttribute
|
|
||||||
var animate = false
|
|
||||||
|
|
||||||
override fun bind(holder: Holder) {
|
override fun bind(holder: Holder) {
|
||||||
super.bind(holder)
|
super.bind(holder)
|
||||||
holder.qsrCodeImage.setData(data, animate)
|
holder.qsrCodeImage.setData(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
class Holder : VectorEpoxyHolder() {
|
class Holder : VectorEpoxyHolder() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user