Skip to content

Commit

Permalink
feat(PublicShareClosedApp): Still open links as intended, when app is…
Browse files Browse the repository at this point in the history
… completely closed
  • Loading branch information
FabianDevel committed Oct 1, 2024
1 parent f330016 commit e7f18a6
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions app/src/main/java/com/infomaniak/drive/ui/LaunchActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import android.annotation.SuppressLint
import android.content.Intent
import android.os.Build
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.lifecycleScope
import com.infomaniak.drive.BuildConfig
Expand All @@ -38,9 +37,11 @@ import com.infomaniak.drive.data.models.ShareLink
import com.infomaniak.drive.data.services.UploadWorker
import com.infomaniak.drive.ui.login.LoginActivity
import com.infomaniak.drive.ui.publicShare.PublicShareActivity
import com.infomaniak.drive.ui.publicShare.PublicShareActivity.Companion.PUBLIC_SHARE_TAG
import com.infomaniak.drive.ui.publicShare.PublicShareActivityArgs
import com.infomaniak.drive.ui.publicShare.PublicShareListFragment.Companion.PUBLIC_SHARE_DEFAULT_ID
import com.infomaniak.drive.utils.AccountUtils
import com.infomaniak.drive.utils.AccountUtils.getUserById
import com.infomaniak.drive.utils.Utils
import com.infomaniak.drive.utils.Utils.ROOT_ID
import com.infomaniak.drive.utils.Utils.openDeepLinkInBrowser
Expand Down Expand Up @@ -170,6 +171,10 @@ class LaunchActivity : AppCompatActivity() {

private suspend fun handleDeeplink() = Dispatchers.IO {
intent.data?.path?.let { deeplink ->
// If the app is closed, the currentUser will be null. We don't want that otherwise the link will always be opened as
// external instead of internal if you already have access to the files. So we set it here
if (AccountUtils.currentUser == null) AccountUtils.currentUser = getUserById(AccountUtils.currentUserId)

if (deeplink.contains("/app/share/")) processPublicShare(deeplink) else processInternalLink(deeplink)
SentryLog.i(UploadWorker.BREADCRUMB_TAG, "DeepLink: $deeplink")
}
Expand Down Expand Up @@ -203,9 +208,7 @@ class LaunchActivity : AppCompatActivity() {
error?.code == ErrorCode.PUBLIC_SHARE_LINK_IS_NOT_VALID -> {
setPublicShareActivityArgs(driveId, publicShareUuid, isExpired = true)
}
else -> {
Log.e("TOTO", "downloadSharedFile: ${error?.code}")
}
else -> SentryLog.e(PUBLIC_SHARE_TAG, "Error during getPublicShareFile: ${error?.code} / ${error?.description}")
}
}

Expand Down

0 comments on commit e7f18a6

Please sign in to comment.