Merge pull request #5296 from vector-im/feature/adm/crash-when-reading-qr
Fixing crash adding room by QR code
This commit is contained in:
commit
77c48f2c48
1
changelog.d/5295.bugfix
Normal file
1
changelog.d/5295.bugfix
Normal file
@ -0,0 +1 @@
|
|||||||
|
Fixing crash when adding room by QR code after accepting the camera permission for the first time
|
@ -152,7 +152,8 @@ class CreateDirectRoomActivity : SimpleFragmentActivity() {
|
|||||||
|
|
||||||
private val permissionCameraLauncher = registerForPermissionsResult { allGranted, deniedPermanently ->
|
private val permissionCameraLauncher = registerForPermissionsResult { allGranted, deniedPermanently ->
|
||||||
if (allGranted) {
|
if (allGranted) {
|
||||||
addFragment(views.container, QrCodeScannerFragment::class.java)
|
val args = QrScannerArgs(showExtraButtons = false, R.string.add_by_qr_code)
|
||||||
|
addFragment(views.container, QrCodeScannerFragment::class.java, args)
|
||||||
} else if (deniedPermanently) {
|
} else if (deniedPermanently) {
|
||||||
onPermissionDeniedSnackbar(R.string.permissions_denied_qr_code)
|
onPermissionDeniedSnackbar(R.string.permissions_denied_qr_code)
|
||||||
}
|
}
|
||||||
|
@ -53,10 +53,10 @@ data class QrScannerArgs(
|
|||||||
@StringRes val titleRes: Int
|
@StringRes val titleRes: Int
|
||||||
) : Parcelable
|
) : Parcelable
|
||||||
|
|
||||||
open class QrCodeScannerFragment @Inject constructor() : VectorBaseFragment<FragmentQrCodeScannerBinding>(), ZXingScannerView.ResultHandler {
|
class QrCodeScannerFragment @Inject constructor() : VectorBaseFragment<FragmentQrCodeScannerBinding>(), ZXingScannerView.ResultHandler {
|
||||||
|
|
||||||
private val qrViewModel: QrCodeScannerViewModel by activityViewModel()
|
private val qrViewModel: QrCodeScannerViewModel by activityViewModel()
|
||||||
private val scannerArgs: QrScannerArgs? by args()
|
private val scannerArgs: QrScannerArgs by args()
|
||||||
|
|
||||||
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentQrCodeScannerBinding {
|
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentQrCodeScannerBinding {
|
||||||
return FragmentQrCodeScannerBinding.inflate(inflater, container, false)
|
return FragmentQrCodeScannerBinding.inflate(inflater, container, false)
|
||||||
@ -93,13 +93,13 @@ open class QrCodeScannerFragment @Inject constructor() : VectorBaseFragment<Frag
|
|||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
val title = scannerArgs?.titleRes?.let { getString(it) }
|
val title = scannerArgs.titleRes.let { getString(it) }
|
||||||
|
|
||||||
setupToolbar(views.qrScannerToolbar)
|
setupToolbar(views.qrScannerToolbar)
|
||||||
.setTitle(title)
|
.setTitle(title)
|
||||||
.allowBack(useCross = true)
|
.allowBack(useCross = true)
|
||||||
|
|
||||||
scannerArgs?.showExtraButtons?.let { showButtons ->
|
scannerArgs.showExtraButtons.let { showButtons ->
|
||||||
views.userCodeMyCodeButton.isVisible = showButtons
|
views.userCodeMyCodeButton.isVisible = showButtons
|
||||||
views.userCodeOpenGalleryButton.isVisible = showButtons
|
views.userCodeOpenGalleryButton.isVisible = showButtons
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user