Merge branch 'hotfix/1.6.2'
This commit is contained in:
commit
65e0a9f64c
@ -39,7 +39,7 @@ allprojects {
|
||||
ext {
|
||||
androidApplicationId = 'org.cryptomator'
|
||||
androidVersionCode = getVersionCode()
|
||||
androidVersionName = '1.6.1'
|
||||
androidVersionName = '1.6.2'
|
||||
}
|
||||
repositories {
|
||||
mavenCentral()
|
||||
|
@ -1 +1 @@
|
||||
- Kompatibilität zu Tresor-Format 8 verbessert
|
||||
- Fixed add pCloud connection on some devices
|
@ -1 +1 @@
|
||||
- Enhanced compatibility to vault format 8
|
||||
- pCloud-Verbindung können wieder auf allen Geräten hinzugefügt werden
|
@ -1,3 +1,3 @@
|
||||
<ul>
|
||||
<li>Enhanced compatibility to vault format 8</li>
|
||||
<li>Fixed add pCloud connection on some devices</li>
|
||||
</ul>
|
@ -2,6 +2,7 @@ package org.cryptomator.presentation.ui.activity
|
||||
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Handler
|
||||
import android.widget.Toast
|
||||
import org.cryptomator.generator.Activity
|
||||
import org.cryptomator.presentation.BuildConfig
|
||||
@ -13,6 +14,12 @@ import timber.log.Timber
|
||||
@Activity
|
||||
class AuthenticatePCloudActivity : BaseActivity() {
|
||||
|
||||
private val startAuthenticationRequestCode = 1232
|
||||
private val redirectTimeoutAfterAuthenticationAndResumed = 1000L
|
||||
|
||||
private var cancelAuthenticationHandler: Handler = Handler()
|
||||
private var oAuthResultReceived = false
|
||||
|
||||
override fun setupView() {
|
||||
val uri = Uri.parse("https://my.pcloud.com/oauth2/authorize")
|
||||
.buildUpon()
|
||||
@ -21,18 +28,27 @@ class AuthenticatePCloudActivity : BaseActivity() {
|
||||
.appendQueryParameter("redirect_uri", "pcloudoauth://redirect")
|
||||
.build()
|
||||
|
||||
startActivityForResult(Intent(Intent.ACTION_VIEW, uri), 25)
|
||||
startActivityForResult(Intent(Intent.ACTION_VIEW, uri), startAuthenticationRequestCode)
|
||||
}
|
||||
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent?) {
|
||||
super.onActivityResult(requestCode, resultCode, intent)
|
||||
finish()
|
||||
if (requestCode == startAuthenticationRequestCode) {
|
||||
cancelAuthenticationHandler.postDelayed({
|
||||
if (!oAuthResultReceived) {
|
||||
Timber.tag("AuthenticatePCloudActivity").i("Authentication canceled or no redirect received after resuming Cryptomator since 1.5s")
|
||||
Toast.makeText(context(), R.string.error_authentication_failed, Toast.LENGTH_SHORT).show()
|
||||
finish()
|
||||
}
|
||||
}, redirectTimeoutAfterAuthenticationAndResumed)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onNewIntent(intent: Intent) {
|
||||
super.onNewIntent(intent)
|
||||
intent.data?.let {
|
||||
if(it.host == "redirect" && it.scheme == "pcloudoauth") {
|
||||
if (it.host == "redirect" && it.scheme == "pcloudoauth") {
|
||||
oAuthResultReceived = true
|
||||
val parameters = parseUrlFragmentParameters(it)
|
||||
val accessToken = parameters["access_token"]
|
||||
val hostname = parameters["hostname"]
|
||||
@ -41,10 +57,11 @@ class AuthenticatePCloudActivity : BaseActivity() {
|
||||
result.putExtra(CloudConnectionListPresenter.PCLOUD_OAUTH_AUTH_CODE, accessToken)
|
||||
result.putExtra(CloudConnectionListPresenter.PCLOUD_HOSTNAME, hostname)
|
||||
setResult(android.app.Activity.RESULT_OK, result)
|
||||
finish()
|
||||
} else {
|
||||
Toast.makeText(this, R.string.error_authentication_failed, Toast.LENGTH_LONG).show()
|
||||
Timber.tag("AuthenticatePCloudActivity").i("Authentication failed as the access token or hostname is null")
|
||||
}
|
||||
finish()
|
||||
} else {
|
||||
Timber.tag("AuthenticatePCloudActivity").e("Tried to call activity using a different redirect scheme")
|
||||
}
|
||||
@ -63,4 +80,9 @@ class AuthenticatePCloudActivity : BaseActivity() {
|
||||
}
|
||||
return emptyMap()
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
cancelAuthenticationHandler.removeCallbacksAndMessages(null)
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user