@@ -170,13 +170,12 @@ data class SessionState(
170170 UiElement .BALANCE
171171 ),
172172 val tipCardConnected : Boolean = false ,
173- val fullScreenLoading : Boolean = false ,
174173)
175174
176175sealed interface SessionEvent {
177176 data object PresentTipEntry : SessionEvent
178- data object RequestNotificationPermissions : SessionEvent
179- data class SendIntent (val intent : Intent ): SessionEvent
177+ data object RequestNotificationPermissions : SessionEvent
178+ data class SendIntent (val intent : Intent ) : SessionEvent
180179}
181180
182181enum class RestrictionType {
@@ -225,7 +224,7 @@ class Session @Inject constructor(
225224 appSettings.observe()
226225 .map { it.cameraStartByDefault }
227226 .distinctUntilChanged()
228- .onEach {cameraAutoStart ->
227+ .onEach { cameraAutoStart ->
229228 uiFlow.update {
230229 it.copy(autoStartCamera = cameraAutoStart)
231230 }
@@ -630,12 +629,12 @@ class Session @Inject constructor(
630629 delay(5 .seconds.inWholeMilliseconds)
631630 }
632631 withContext(Dispatchers .Main ) {
633- uiFlow.update {
634- it.copy(
635- billState = it.billState.copy(showToast = false )
636- )
637- }
632+ uiFlow.update {
633+ it.copy(
634+ billState = it.billState.copy(showToast = false )
635+ )
638636 }
637+ }
639638 }
640639 }
641640
@@ -768,6 +767,7 @@ class Session @Inject constructor(
768767 )
769768 attemptLogin(codePayload)
770769 }
770+
771771 Kind .Tip -> {
772772 trace(
773773 tag = " Bill" ,
@@ -868,6 +868,7 @@ class Session @Inject constructor(
868868 _eventFlow .emit(SessionEvent .RequestNotificationPermissions )
869869 }
870870 }
871+
871872 else -> {
872873 @SuppressLint(" NewApi" )
873874 channel?.importance = NotificationManager .IMPORTANCE_DEFAULT
@@ -1464,16 +1465,18 @@ class Session @Inject constructor(
14641465 fun onImageSelected (
14651466 uri : Uri
14661467 ) {
1467- var scanning = false
1468- codeAnalyzer.onCodeScanned = {
1469- scanning = false
1468+ fun onScanningStop () {
1469+ codeAnalyzer.onCodeScanned = {}
1470+ codeAnalyzer.onNoCodeFound = {}
1471+ }
14701472
1471- uiFlow.update { state -> state.copy(fullScreenLoading = false ) }
1473+ codeAnalyzer.onCodeScanned = {
1474+ onScanningStop()
14721475 onCodeScan(it)
14731476 }
1477+
14741478 codeAnalyzer.onNoCodeFound = {
1475- scanning = false
1476- uiFlow.update { state -> state.copy(fullScreenLoading = false ) }
1479+ onScanningStop()
14771480
14781481 TopBarManager .showMessage(
14791482 TopBarManager .TopBarMessage (
@@ -1484,14 +1487,6 @@ class Session @Inject constructor(
14841487 }
14851488
14861489 codeAnalyzer.analyze(uri)
1487- scanning = true
1488-
1489- viewModelScope.launch {
1490- delay(300 )
1491- if (scanning) {
1492- uiFlow.update { it.copy(fullScreenLoading = true ) }
1493- }
1494- }
14951490 }
14961491
14971492 fun onCodeScan (
@@ -1568,7 +1563,8 @@ class Session @Inject constructor(
15681563 private fun shareTipCard () = viewModelScope.launch {
15691564 val connectedAccount = tipController.connectedAccount.value ? : return @launch
15701565 withContext(Dispatchers .Main ) {
1571- val shareIntent = IntentUtils .tipCard(connectedAccount.username, connectedAccount.platform)
1566+ val shareIntent =
1567+ IntentUtils .tipCard(connectedAccount.username, connectedAccount.platform)
15721568
15731569 _eventFlow .emit(SessionEvent .SendIntent (shareIntent))
15741570 }
@@ -1669,6 +1665,7 @@ class Session @Inject constructor(
16691665 attemptPayment(payload, request)
16701666 }
16711667 }
1668+
16721669 request.loginRequest != null -> {
16731670 val payload = CodePayload (
16741671 kind = Kind .Login ,
@@ -1684,6 +1681,7 @@ class Session @Inject constructor(
16841681 scannedRendezvous.add(payload.rendezvous.publicKey)
16851682 attemptLogin(payload, request)
16861683 }
1684+
16871685 request.tipRequest != null -> {
16881686 val payload = CodePayload (
16891687 kind = Kind .Tip ,
0 commit comments