v1.0.59: pause/resume sync
New PAUSED status. When a sync is running, the sync button becomes a pause button (⏸). Tapping it cancels the WorkManager job and sets the status to PAUSED (purple). The button then becomes a play button (▶) to resume. Works in both the home screen card and the pair detail screen. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -8,6 +8,7 @@ import androidx.work.WorkManager
|
||||
import com.syncflow.data.db.SyncPairDao
|
||||
import com.syncflow.data.db.entities.SyncPairEntity
|
||||
import com.syncflow.domain.model.ScheduleType
|
||||
import com.syncflow.domain.model.SyncStatus
|
||||
import com.syncflow.worker.FileWatchService
|
||||
import com.syncflow.worker.SyncWorker
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
@@ -32,6 +33,11 @@ class HomeViewModel @Inject constructor(
|
||||
workManager.enqueue(req)
|
||||
}
|
||||
|
||||
fun pauseSync(pair: SyncPairEntity) {
|
||||
workManager.cancelAllWorkByTag("sync_${pair.id}")
|
||||
viewModelScope.launch { syncPairDao.updateStatus(pair.id, SyncStatus.PAUSED) }
|
||||
}
|
||||
|
||||
fun toggleEnabled(pair: SyncPairEntity) {
|
||||
viewModelScope.launch {
|
||||
val nowEnabled = !pair.isEnabled
|
||||
|
||||
Reference in New Issue
Block a user