Skip to content

Commit

Permalink
feature(bank-sdk): Skonto Invoice Preview. Fix crash
Browse files Browse the repository at this point in the history
PP-722
  • Loading branch information
ndubkov-distcotech committed Aug 26, 2024
1 parent dfa19a1 commit c3957e4
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,8 @@ class ConfigurationActivity : AppCompatActivity() {
}

// 41 enable skonto screens custom bottom navigation bar
binding.layoutBottomNavigationToggles.switchSkontoHelpCustomBottomNavbar.setOnCheckedChangeListener { _, isChecked ->
binding.layoutBottomNavigationToggles.switchSkontoHelpCustomBottomNavbar
.setOnCheckedChangeListener { _, isChecked ->
configurationViewModel.setConfiguration(
configurationViewModel.configurationFlow.value.copy(
isSkontoHelpCustomNavBarEnabled = isChecked
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ class CustomSkontoHelpNavigationBarBottomAdapter:
}

override fun onCreateView(container: ViewGroup): View {
val binding = CustomSkontoHelpNavigationBarBottomBinding.inflate(LayoutInflater.from(container.context), container, false)
val binding = CustomSkontoHelpNavigationBarBottomBinding
.inflate(LayoutInflater.from(container.context), container, false)
viewBinding = binding

return viewBinding!!.root
Expand All @@ -24,4 +25,4 @@ class CustomSkontoHelpNavigationBarBottomAdapter:
override fun onDestroy() {
viewBinding = null
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ internal class SkontoInvoiceHighlightsExtractor {
val skontoPaymentMethod = skontoDiscountData.extractDataByKeys("skontoPaymentMethod")
val skontoAmountToPay = extractAmountToPayOrError(skontoDiscountData)
val skontoRemainingDays = extractRemainingDaysOrError(skontoDiscountData)
val skontoDuePeriod = extractSkontoDuePeriod(skontoDiscountData)

val skontoDueDate = extractDueDateOrError(skontoDiscountData)

Expand All @@ -35,6 +36,7 @@ internal class SkontoInvoiceHighlightsExtractor {
skontoDueDate = skontoDueDate.box,
skontoAmountToPay = skontoAmountToPay.box,
skontoAmountDiscounted = skontoAmountDiscounted?.box,
skontoDuePeriod = skontoDuePeriod?.box
)
}
}
Expand Down Expand Up @@ -75,4 +77,12 @@ internal class SkontoInvoiceHighlightsExtractor {
"skontoDueDateCalculated"
) ?: throw NoSuchElementException("Skonto data for `DueDate` is missing")

private fun extractSkontoDuePeriod(
skontoDiscountMap: Map<String, GiniCaptureSpecificExtraction>
): GiniCaptureSpecificExtraction? =
skontoDiscountMap.extractDataByKeys(
"skontoDuePeriod",
"skontoDuePeriodCalculated"
)

}
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,17 @@ import android.graphics.RectF
import net.gini.android.bank.sdk.capture.skonto.model.SkontoInvoiceHighlightBoxes
import net.gini.android.capture.internal.network.model.DocumentLayout
import net.gini.android.capture.network.model.GiniCaptureBox
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import kotlin.coroutines.resume
import kotlin.coroutines.suspendCoroutine

class SkontoPageImageProcessor {

companion object {
var LOG: Logger = LoggerFactory.getLogger(SkontoPageImageProcessor::class.java)
}

suspend fun processImage(
image: Bitmap,
skontoPageLayout: DocumentLayout.Page,
Expand All @@ -36,7 +42,11 @@ class SkontoPageImageProcessor {
this.color = color
}

canvas.drawHighlightRect(scaledRectList.unionAll(), paint)
if (scaledRectList.isNotEmpty()) {
canvas.drawHighlightRect(scaledRectList.unionAll(), paint)
} else {
LOG.error("No boxes to highlight detected")
}

continuation.resume(finalBitmap)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ data class SkontoInvoiceHighlightBoxes(
val skontoAmountDiscounted: GiniCaptureBox?,
val skontoRemainingDays: GiniCaptureBox?,
val skontoDueDate: GiniCaptureBox?,
val skontoDuePeriod: GiniCaptureBox?,
) : Parcelable {

fun getExistBoxes() = listOfNotNull(
Expand All @@ -21,5 +22,6 @@ data class SkontoInvoiceHighlightBoxes(
skontoAmountDiscounted,
skontoRemainingDays,
skontoDueDate,
skontoDuePeriod
)
}

0 comments on commit c3957e4

Please sign in to comment.