@@ -12,6 +12,7 @@ import kotlinx.coroutines.Dispatchers
12
12
import kotlinx.coroutines.flow.Flow
13
13
import kotlinx.coroutines.launch
14
14
import kotlinx.coroutines.flow.collect
15
+ import kotlin.math.log
15
16
16
17
class ReplicatorViewModel (private val replicatorService : ReplicatorService )
17
18
: ViewModel () {
@@ -46,24 +47,46 @@ class ReplicatorViewModel(private val replicatorService: ReplicatorService)
46
47
logMessages.add(" INFORMATION:: Getting Replication Change Flow..." )
47
48
replicatorFlow = replicatorService.getReplicatorChangeFlow()
48
49
replicatorFlow?.let { flowChange ->
49
- flowChange.collect { replicatorChange ->
50
+ logMessages.add(" INFORMATION:: Collecting Replicator Changes" )
51
+ flowChange.collect { replicatorChange ->
50
52
logMessages.add(" INFORMATION:: Collecting Replication Change Flow..." )
51
53
52
54
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
+ }
58
75
}
59
76
replicatorChange.status.error?.let { error ->
60
77
logMessages.add(" ERROR:: ${error.code} - ${error.message} " )
61
78
}
62
79
logMessages.add(" INFORMATION:: Checking replication progress..." )
63
80
if (replicatorChange.status.progress.completed == replicatorChange.status.progress.total){
64
81
replicationProgress.value = " Completed"
82
+ logMessages.add(" INFORMATION:: returned STATUS Completed..." )
65
83
} 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
+ }
67
90
}
68
91
}
69
92
}
0 commit comments