From 00bc4e4e3553fa11c9471bbe8a7d686fd3336d47 Mon Sep 17 00:00:00 2001 From: Julian Raufelder Date: Fri, 4 Feb 2022 18:57:31 +0100 Subject: [PATCH] Fix race condition when AuthActivity finished and resumes BrowseFiles Callback method is executed before races against onStart of the Fragment so the fix of d93624c5dd93bdbb947d645187c1a5b0fed34c1b doesn't always help. --- .../presentation/presenter/BrowseFilesPresenter.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/presentation/src/main/java/org/cryptomator/presentation/presenter/BrowseFilesPresenter.kt b/presentation/src/main/java/org/cryptomator/presentation/presenter/BrowseFilesPresenter.kt index fffe2809..9ff476f8 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/presenter/BrowseFilesPresenter.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/presenter/BrowseFilesPresenter.kt @@ -232,7 +232,6 @@ class BrowseFilesPresenter @Inject constructor( // @Callback(dispatchResultOkOnly = false) fun getCloudListAfterAuthentication(result: ActivityResult, cloudFolderModel: CloudFolderModel) { - resumedAfterAuthentication = false if(result.isResultOk) { val cloudModel = result.getSingleResult(CloudModel::class.java) // FIXME update other vaults using this cloud as well val cloudNode = cloudFolderModel.toCloudNode() @@ -251,6 +250,7 @@ class BrowseFilesPresenter @Inject constructor( // val folder = cloudFolderModelMapper.toModel(it) view?.updateActiveFolderDueToAuthenticationProblem(folder) getCloudList(folder) + resumedAfterAuthentication = false } ?: throw FatalBackendException("cloudFolderModel with updated Cloud shouldn't be null") } @@ -263,6 +263,9 @@ class BrowseFilesPresenter @Inject constructor( // view?.updateActiveFolderDueToAuthenticationProblem(folder) getCloudList(folder) } + override fun onFinished() { + resumedAfterAuthentication = false + } }) }