Navigate to qr code scanner activity.
This commit is contained in:
parent
5dfaa2527a
commit
9b7f6c9003
@ -16,14 +16,52 @@
|
|||||||
|
|
||||||
package im.vector.app.features.login.qr
|
package im.vector.app.features.login.qr
|
||||||
|
|
||||||
|
import android.app.Activity
|
||||||
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import im.vector.app.core.extensions.registerStartForActivityResult
|
||||||
import im.vector.app.core.platform.VectorBaseFragment
|
import im.vector.app.core.platform.VectorBaseFragment
|
||||||
import im.vector.app.databinding.FragmentQrCodeLoginInstructionsBinding
|
import im.vector.app.databinding.FragmentQrCodeLoginInstructionsBinding
|
||||||
|
import im.vector.app.features.qrcode.QrCodeScannerActivity
|
||||||
|
import timber.log.Timber
|
||||||
|
|
||||||
class QrCodeLoginInstructionsFragment : VectorBaseFragment<FragmentQrCodeLoginInstructionsBinding>() {
|
class QrCodeLoginInstructionsFragment : VectorBaseFragment<FragmentQrCodeLoginInstructionsBinding>() {
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
initScanQrCodeButton()
|
||||||
|
}
|
||||||
|
|
||||||
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentQrCodeLoginInstructionsBinding {
|
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentQrCodeLoginInstructionsBinding {
|
||||||
return FragmentQrCodeLoginInstructionsBinding.inflate(inflater, container, false)
|
return FragmentQrCodeLoginInstructionsBinding.inflate(inflater, container, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun initScanQrCodeButton() {
|
||||||
|
views.qrCodeLoginInstructionsScanQrCodeButton.debouncedClicks {
|
||||||
|
QrCodeScannerActivity.startForResult(requireActivity(), scanActivityResultLauncher)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private val scanActivityResultLauncher = registerStartForActivityResult { activityResult ->
|
||||||
|
if (activityResult.resultCode == Activity.RESULT_OK) {
|
||||||
|
val scannedQrCode = QrCodeScannerActivity.getResultText(activityResult.data)
|
||||||
|
val wasQrCode = QrCodeScannerActivity.getResultIsQrCode(activityResult.data)
|
||||||
|
|
||||||
|
if (wasQrCode && !scannedQrCode.isNullOrBlank()) {
|
||||||
|
onQrCodeScanned(scannedQrCode)
|
||||||
|
} else {
|
||||||
|
onQrCodeScannerFailed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun onQrCodeScanned(scannedQrCode: String) {
|
||||||
|
Timber.d("QrCodeLoginInstructionsFragment.onQrCodeScanned $scannedQrCode")
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun onQrCodeScannerFailed() {
|
||||||
|
Timber.d("QrCodeLoginInstructionsFragment.onQrCodeScannerFailed")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user