Skip to content

Commit 21bb51e

Browse files
Merge pull request #16435 from nextcloud/fix/clear-data-app-crash
fix(manage-space-activity): app in foreground
2 parents 86482e7 + ff362f1 commit 21bb51e

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

app/src/main/java/com/nextcloud/client/jobs/metadata/MetadataWorker.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ class MetadataWorker(private val context: Context, params: WorkerParameters, pri
3535
return Result.failure()
3636
}
3737

38+
if (user.isAnonymous) {
39+
Log_OC.w(TAG, "user is anonymous cannot start metadata worker")
40+
return Result.failure()
41+
}
42+
3843
val storageManager = FileDataStorageManager(user, context.contentResolver)
3944
val currentDir = storageManager.getFileByDecryptedRemotePath(filePath)
4045
if (currentDir == null) {

app/src/main/java/com/owncloud/android/ui/activity/ManageSpaceActivity.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import android.os.Bundle
1111
import android.view.MenuItem
1212
import androidx.appcompat.app.AppCompatActivity
1313
import androidx.lifecycle.lifecycleScope
14+
import androidx.work.WorkManager
1415
import com.google.android.material.snackbar.Snackbar
1516
import com.nextcloud.android.common.ui.util.extensions.applyEdgeToEdgeWithSystemBarPadding
1617
import com.nextcloud.client.account.UserAccountManager
@@ -61,6 +62,9 @@ class ManageSpaceActivity :
6162
@Suppress("MagicNumber")
6263
private suspend fun clearData() {
6364
withContext(Dispatchers.IO) {
65+
// cancel all works
66+
WorkManager.getInstance(this@ManageSpaceActivity).cancelAllWork()
67+
6468
val lockPref = preferences.lockPreference
6569
val passCodeEnable = SettingsActivity.LOCK_PASSCODE == lockPref
6670
var passCodeDigits = arrayOfNulls<String>(4)
@@ -87,6 +91,7 @@ class ManageSpaceActivity :
8791
val result = clearApplicationData()
8892
withContext(Dispatchers.Main) {
8993
if (result) {
94+
finishAffinity()
9095
finishAndRemoveTask()
9196
exitProcess(0)
9297
} else {

app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -840,6 +840,10 @@ public void swapDirectory(
840840
return;
841841
}
842842

843+
if (userId == null) {
844+
return;
845+
}
846+
843847
helper.prepareFileList(directory,
844848
adapterDataProvider,
845849
onlyOnDevice,

0 commit comments

Comments
 (0)