Re-added TAN procedure types photoTan and QrCode as we need to display their images (TODO: how to decode their images?)
This commit is contained in:
parent
35572a0906
commit
bf6d7b9896
|
@ -17,5 +17,10 @@ enum class TanProcedureType {
|
||||||
|
|
||||||
SmsTan,
|
SmsTan,
|
||||||
|
|
||||||
AppTan
|
AppTan,
|
||||||
|
|
||||||
|
photoTan,
|
||||||
|
|
||||||
|
QrCode
|
||||||
|
|
||||||
}
|
}
|
|
@ -30,7 +30,8 @@ import javax.inject.Inject
|
||||||
open class EnterTanDialog : DialogFragment() {
|
open class EnterTanDialog : DialogFragment() {
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
val OpticalTanProcedures = listOf(TanProcedureType.ChipTanFlickercode, TanProcedureType.ChipTanQrCode, TanProcedureType.ChipTanPhotoTanMatrixCode)
|
val OpticalTanProcedures = listOf(TanProcedureType.ChipTanFlickercode, TanProcedureType.ChipTanQrCode,
|
||||||
|
TanProcedureType.ChipTanPhotoTanMatrixCode, TanProcedureType.photoTan, TanProcedureType.QrCode)
|
||||||
|
|
||||||
const val DialogTag = "EnterTanDialog"
|
const val DialogTag = "EnterTanDialog"
|
||||||
}
|
}
|
||||||
|
|
|
@ -223,6 +223,8 @@ open class fints4javaModelMapper {
|
||||||
net.dankito.fints.model.TanProcedureType.ChipTanPhotoTanMatrixCode -> TanProcedureType.ChipTanPhotoTanMatrixCode
|
net.dankito.fints.model.TanProcedureType.ChipTanPhotoTanMatrixCode -> TanProcedureType.ChipTanPhotoTanMatrixCode
|
||||||
net.dankito.fints.model.TanProcedureType.SmsTan -> TanProcedureType.SmsTan
|
net.dankito.fints.model.TanProcedureType.SmsTan -> TanProcedureType.SmsTan
|
||||||
net.dankito.fints.model.TanProcedureType.AppTan -> TanProcedureType.AppTan
|
net.dankito.fints.model.TanProcedureType.AppTan -> TanProcedureType.AppTan
|
||||||
|
net.dankito.fints.model.TanProcedureType.photoTan -> TanProcedureType.photoTan
|
||||||
|
net.dankito.fints.model.TanProcedureType.QrCode -> TanProcedureType.QrCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -332,6 +334,8 @@ open class fints4javaModelMapper {
|
||||||
TanProcedureType.ChipTanPhotoTanMatrixCode -> net.dankito.fints.model.TanProcedureType.ChipTanPhotoTanMatrixCode
|
TanProcedureType.ChipTanPhotoTanMatrixCode -> net.dankito.fints.model.TanProcedureType.ChipTanPhotoTanMatrixCode
|
||||||
TanProcedureType.SmsTan -> net.dankito.fints.model.TanProcedureType.SmsTan
|
TanProcedureType.SmsTan -> net.dankito.fints.model.TanProcedureType.SmsTan
|
||||||
TanProcedureType.AppTan -> net.dankito.fints.model.TanProcedureType.AppTan
|
TanProcedureType.AppTan -> net.dankito.fints.model.TanProcedureType.AppTan
|
||||||
|
TanProcedureType.photoTan -> net.dankito.fints.model.TanProcedureType.photoTan
|
||||||
|
TanProcedureType.QrCode -> net.dankito.fints.model.TanProcedureType.QrCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -695,12 +695,15 @@ open class FinTsClient @JvmOverloads constructor(
|
||||||
val tanProcedure = customer.selectedTanProcedure
|
val tanProcedure = customer.selectedTanProcedure
|
||||||
|
|
||||||
return when (tanProcedure.type) {
|
return when (tanProcedure.type) {
|
||||||
TanProcedureType.ChipTanFlickercode, TanProcedureType.ChipTanManuell ->
|
TanProcedureType.ChipTanFlickercode, TanProcedureType.ChipTanManuell, TanProcedureType.ChipTanUsb ->
|
||||||
FlickerCodeTanChallenge(FlickerCodeDecoder().decodeChallenge(challenge), messageToShowToUser, challenge, tanProcedure, tanResponse.tanMediaIdentifier)
|
FlickerCodeTanChallenge(FlickerCodeDecoder().decodeChallenge(challenge), messageToShowToUser, challenge, tanProcedure, tanResponse.tanMediaIdentifier)
|
||||||
|
|
||||||
TanProcedureType.ChipTanQrCode, TanProcedureType.ChipTanPhotoTanMatrixCode ->
|
TanProcedureType.ChipTanQrCode, TanProcedureType.ChipTanPhotoTanMatrixCode ->
|
||||||
ImageTanChallenge(TanImageDecoder().decodeChallenge(challenge), messageToShowToUser, challenge, tanProcedure, tanResponse.tanMediaIdentifier)
|
ImageTanChallenge(TanImageDecoder().decodeChallenge(challenge), messageToShowToUser, challenge, tanProcedure, tanResponse.tanMediaIdentifier)
|
||||||
|
|
||||||
|
TanProcedureType.QrCode, TanProcedureType.photoTan -> // TODO: how do these TAN procedures work? i don't think they use the HHD format
|
||||||
|
ImageTanChallenge(TanImageDecoder().decodeChallenge(challenge), messageToShowToUser, challenge, tanProcedure, tanResponse.tanMediaIdentifier)
|
||||||
|
|
||||||
else -> TanChallenge(messageToShowToUser, challenge, tanProcedure, tanResponse.tanMediaIdentifier)
|
else -> TanChallenge(messageToShowToUser, challenge, tanProcedure, tanResponse.tanMediaIdentifier)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -935,7 +938,7 @@ open class FinTsClient @JvmOverloads constructor(
|
||||||
// QRTAN+ from 1822 direct has nothing to do with chipTAN QR.
|
// QRTAN+ from 1822 direct has nothing to do with chipTAN QR.
|
||||||
name.contains("qr") -> {
|
name.contains("qr") -> {
|
||||||
if (tanProcedureNameContains(name, "chipTAN", "Smart")) TanProcedureType.ChipTanQrCode
|
if (tanProcedureNameContains(name, "chipTAN", "Smart")) TanProcedureType.ChipTanQrCode
|
||||||
else TanProcedureType.AppTan
|
else TanProcedureType.QrCode
|
||||||
}
|
}
|
||||||
|
|
||||||
// photoTAN from Commerzbank (comdirect), Deutsche Bank, norisbank has nothing to do with chipTAN photo
|
// photoTAN from Commerzbank (comdirect), Deutsche Bank, norisbank has nothing to do with chipTAN photo
|
||||||
|
@ -943,7 +946,7 @@ open class FinTsClient @JvmOverloads constructor(
|
||||||
// e.g. 'Smart-TAN photo' / description 'Challenge'
|
// e.g. 'Smart-TAN photo' / description 'Challenge'
|
||||||
if (tanProcedureNameContains(name, "chipTAN", "Smart")) TanProcedureType.ChipTanPhotoTanMatrixCode
|
if (tanProcedureNameContains(name, "chipTAN", "Smart")) TanProcedureType.ChipTanPhotoTanMatrixCode
|
||||||
// e.g. 'photoTAN-Verfahren', description 'Freigabe durch photoTAN'
|
// e.g. 'photoTAN-Verfahren', description 'Freigabe durch photoTAN'
|
||||||
else TanProcedureType.AppTan
|
else TanProcedureType.photoTan
|
||||||
}
|
}
|
||||||
|
|
||||||
tanProcedureNameContains(name, "SMS", "mobile", "mTAN") -> TanProcedureType.SmsTan
|
tanProcedureNameContains(name, "SMS", "mobile", "mTAN") -> TanProcedureType.SmsTan
|
||||||
|
|
|
@ -17,6 +17,10 @@ enum class TanProcedureType {
|
||||||
|
|
||||||
SmsTan,
|
SmsTan,
|
||||||
|
|
||||||
AppTan
|
AppTan,
|
||||||
|
|
||||||
|
photoTan,
|
||||||
|
|
||||||
|
QrCode
|
||||||
|
|
||||||
}
|
}
|
|
@ -83,6 +83,7 @@ open class hbci4jModelMapper {
|
||||||
val displayNameLowerCase = displayName.toLowerCase()
|
val displayNameLowerCase = displayName.toLowerCase()
|
||||||
|
|
||||||
return when {
|
return when {
|
||||||
|
// TODO: implement all TAN procedures
|
||||||
displayNameLowerCase.contains("chiptan") -> {
|
displayNameLowerCase.contains("chiptan") -> {
|
||||||
if (displayNameLowerCase.contains("qr")) {
|
if (displayNameLowerCase.contains("qr")) {
|
||||||
net.dankito.banking.ui.model.tan.TanProcedure(displayName, TanProcedureType.ChipTanQrCode, code)
|
net.dankito.banking.ui.model.tan.TanProcedure(displayName, TanProcedureType.ChipTanQrCode, code)
|
||||||
|
|
Loading…
Reference in New Issue