@@ -24,6 +24,7 @@ import com.nextcloud.utils.extensions.minPlural
24
24
import com.nextcloud.utils.extensions.setVisibleIf
25
25
import com.owncloud.android.R
26
26
import com.owncloud.android.databinding.InternalTwoWaySyncLayoutBinding
27
+ import com.owncloud.android.lib.common.utils.Log_OC
27
28
import com.owncloud.android.ui.adapter.InternalTwoWaySyncAdapter
28
29
import kotlinx.coroutines.Dispatchers
29
30
import kotlinx.coroutines.launch
@@ -36,6 +37,8 @@ class InternalTwoWaySyncActivity :
36
37
DrawerActivity (),
37
38
Injectable ,
38
39
InternalTwoWaySyncAdapter .InternalTwoWaySyncAdapterOnUpdate {
40
+ private val tag = " InternalTwoWaySyncActivity"
41
+
39
42
@Inject
40
43
lateinit var backgroundJobManager: BackgroundJobManager
41
44
@@ -105,21 +108,28 @@ class InternalTwoWaySyncActivity :
105
108
}
106
109
}
107
110
111
+ @Suppress(" TooGenericExceptionCaught" )
108
112
private fun disableTwoWaySyncAndWorkers () {
109
113
lifecycleScope.launch(Dispatchers .IO ) {
110
- backgroundJobManager.cancelTwoWaySyncJob()
114
+ try {
115
+ backgroundJobManager.cancelTwoWaySyncJob()
111
116
112
- val folders = fileDataStorageManager.getInternalTwoWaySyncFolders(user.get())
113
- folders.forEach { folder ->
114
- FileDownloadWorker .cancelOperation(user.get().accountName, folder.fileId)
115
- backgroundJobManager.cancelFilesDownloadJob(user.get(), folder.fileId)
117
+ val currentUser = user.get()
116
118
117
- folder.internalFolderSyncTimestamp = - 1L
118
- fileDataStorageManager.saveFile(folder)
119
- }
119
+ val folders = fileDataStorageManager.getInternalTwoWaySyncFolders(currentUser)
120
+ folders.forEach { folder ->
121
+ FileDownloadWorker .cancelOperation(currentUser.accountName, folder.fileId)
122
+ backgroundJobManager.cancelFilesDownloadJob(currentUser, folder.fileId)
123
+
124
+ folder.internalFolderSyncTimestamp = - 1L
125
+ fileDataStorageManager.saveFile(folder)
126
+ }
120
127
121
- launch(Dispatchers .Main ) {
122
- internalTwoWaySyncAdapter.update()
128
+ withContext(Dispatchers .Main ) {
129
+ internalTwoWaySyncAdapter.update()
130
+ }
131
+ } catch (e: Exception ) {
132
+ Log_OC .d(tag, " Error caught at disableTwoWaySyncAndWorkers: $e " )
123
133
}
124
134
}
125
135
}
@@ -202,14 +212,12 @@ class InternalTwoWaySyncActivity :
202
212
}
203
213
204
214
private fun checkDisableForAllFoldersMenuButtonVisibility () {
205
- lifecycleScope.launch( Dispatchers . Main ) {
215
+ lifecycleScope.launch {
206
216
val folderSize = withContext(Dispatchers .IO ) {
207
217
fileDataStorageManager.getInternalTwoWaySyncFolders(user.get()).size
208
218
}
209
219
210
- launch(Dispatchers .Main ) {
211
- checkDisableForAllFoldersMenuButtonVisibility(preferences.isTwoWaySyncEnabled, folderSize)
212
- }
220
+ checkDisableForAllFoldersMenuButtonVisibility(preferences.isTwoWaySyncEnabled, folderSize)
213
221
}
214
222
}
215
223
0 commit comments