@@ -12,6 +12,7 @@ import kotlinx.coroutines.Dispatchers
1212import kotlinx.coroutines.flow.Flow
1313import kotlinx.coroutines.launch
1414import kotlinx.coroutines.flow.collect
15+ import kotlin.math.log
1516
1617class ReplicatorViewModel (private val replicatorService : ReplicatorService )
1718 : ViewModel () {
@@ -46,24 +47,46 @@ class ReplicatorViewModel(private val replicatorService: ReplicatorService)
4647 logMessages.add(" INFORMATION:: Getting Replication Change Flow..." )
4748 replicatorFlow = replicatorService.getReplicatorChangeFlow()
4849 replicatorFlow?.let { flowChange ->
49- flowChange.collect { replicatorChange ->
50+ logMessages.add(" INFORMATION:: Collecting Replicator Changes" )
51+ flowChange.collect { replicatorChange ->
5052 logMessages.add(" INFORMATION:: Collecting Replication Change Flow..." )
5153
5254 when (replicatorChange.status.activityLevel){
53- ReplicatorActivityLevel .OFFLINE -> replicationStatus.value = ReplicationStatus .OFFLINE
54- ReplicatorActivityLevel .IDLE -> replicationStatus.value = ReplicationStatus .IDlE
55- ReplicatorActivityLevel .STOPPED -> replicationStatus.value = ReplicationStatus .STOPPED
56- ReplicatorActivityLevel .BUSY -> replicationStatus.value = ReplicationStatus .BUSY
57- ReplicatorActivityLevel .CONNECTING -> replicationStatus.value = ReplicationStatus .CONNECTING
55+ ReplicatorActivityLevel .OFFLINE -> {
56+ replicationStatus.value = ReplicationStatus .OFFLINE
57+ logMessages.add(" INFORMATION:: returned Status OFFLINE..." )
58+ }
59+ ReplicatorActivityLevel .IDLE -> {
60+ replicationStatus.value = ReplicationStatus .IDlE
61+ logMessages.add(" INFORMATION:: returned Status IDLE..." )
62+ }
63+ ReplicatorActivityLevel .STOPPED -> {
64+ replicationStatus.value = ReplicationStatus .STOPPED
65+ logMessages.add(" INFORMATION:: returned Status STOPPED..." )
66+ }
67+ ReplicatorActivityLevel .BUSY -> {
68+ replicationStatus.value = ReplicationStatus .BUSY
69+ logMessages.add(" INFORMATION:: returned Status BUSY..." )
70+ }
71+ ReplicatorActivityLevel .CONNECTING -> {
72+ replicationStatus.value = ReplicationStatus .CONNECTING
73+ logMessages.add(" INFORMATION:: returned Status CONNECTING..." )
74+ }
5875 }
5976 replicatorChange.status.error?.let { error ->
6077 logMessages.add(" ERROR:: ${error.code} - ${error.message} " )
6178 }
6279 logMessages.add(" INFORMATION:: Checking replication progress..." )
6380 if (replicatorChange.status.progress.completed == replicatorChange.status.progress.total){
6481 replicationProgress.value = " Completed"
82+ logMessages.add(" INFORMATION:: returned STATUS Completed..." )
6583 } else {
66- replicationProgress.value = " ${replicatorChange.status.progress.total / replicatorChange.status.progress.completed} "
84+ if (replicatorChange.status.activityLevel == ReplicatorActivityLevel .IDLE && replicatorChange.status.progress.total.toInt() == 1 ) {
85+ replicationProgress.value = " Completed"
86+ } else {
87+ replicationProgress.value =
88+ " ${replicatorChange.status.progress.total / replicatorChange.status.progress.completed} "
89+ }
6790 }
6891 }
6992 }
0 commit comments