From ca4b6d586560741c22bfbec07348e85ba609d77e Mon Sep 17 00:00:00 2001 From: rapterjet2004 Date: Mon, 28 Jul 2025 10:46:45 -0500 Subject: [PATCH 1/2] Allows login to locally hosted instances Signed-off-by: rapterjet2004 --- .../nextcloud/talk/account/BrowserLoginActivity.kt | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/nextcloud/talk/account/BrowserLoginActivity.kt b/app/src/main/java/com/nextcloud/talk/account/BrowserLoginActivity.kt index 39b80ccba..746ba00fd 100644 --- a/app/src/main/java/com/nextcloud/talk/account/BrowserLoginActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/account/BrowserLoginActivity.kt @@ -25,6 +25,7 @@ import androidx.work.WorkManager import autodagger.AutoInjector import com.google.android.material.snackbar.Snackbar import com.google.gson.JsonParser +import com.nextcloud.talk.BuildConfig import com.nextcloud.talk.R import com.nextcloud.talk.activities.BaseActivity import com.nextcloud.talk.activities.MainActivity @@ -104,7 +105,7 @@ class BrowserLoginActivity : BaseActivity() { binding = ActivityWebViewLoginBinding.inflate(layoutInflater) okHttpClient = OkHttpClient.Builder() .cookieJar(CookieJar.NO_COOKIES) - .connectionSpecs(listOf(ConnectionSpec.COMPATIBLE_TLS)) + .setDebuggableConnectionSpecs() .sslSocketFactory(socketFactory, trustManager) .hostnameVerifier { _: String?, _: SSLSession? -> true } .build() @@ -118,6 +119,15 @@ class BrowserLoginActivity : BaseActivity() { lifecycle.addObserver(lifecycleEventObserver) } + // CLEARTEXT is insecure, so this checks if the app is in debug mode, before enabling it + private fun OkHttpClient.Builder.setDebuggableConnectionSpecs(): OkHttpClient.Builder { + return if (BuildConfig.DEBUG) { + this.connectionSpecs(listOf(ConnectionSpec.COMPATIBLE_TLS, ConnectionSpec.CLEARTEXT)) + } else { + this.connectionSpecs(listOf(ConnectionSpec.COMPATIBLE_TLS)) + } + } + private fun handleIntent() { val extras = intent.extras!! baseUrl = extras.getString(KEY_BASE_URL) From 01a155cf7c364ee62a57281d5137dfd7f2b53d53 Mon Sep 17 00:00:00 2001 From: rapterjet2004 Date: Mon, 28 Jul 2025 11:19:51 -0500 Subject: [PATCH 2/2] linter Signed-off-by: rapterjet2004 --- .../java/com/nextcloud/talk/account/BrowserLoginActivity.kt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/account/BrowserLoginActivity.kt b/app/src/main/java/com/nextcloud/talk/account/BrowserLoginActivity.kt index 746ba00fd..b550e32c7 100644 --- a/app/src/main/java/com/nextcloud/talk/account/BrowserLoginActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/account/BrowserLoginActivity.kt @@ -120,13 +120,12 @@ class BrowserLoginActivity : BaseActivity() { } // CLEARTEXT is insecure, so this checks if the app is in debug mode, before enabling it - private fun OkHttpClient.Builder.setDebuggableConnectionSpecs(): OkHttpClient.Builder { - return if (BuildConfig.DEBUG) { + private fun OkHttpClient.Builder.setDebuggableConnectionSpecs(): OkHttpClient.Builder = + if (BuildConfig.DEBUG) { this.connectionSpecs(listOf(ConnectionSpec.COMPATIBLE_TLS, ConnectionSpec.CLEARTEXT)) } else { this.connectionSpecs(listOf(ConnectionSpec.COMPATIBLE_TLS)) } - } private fun handleIntent() { val extras = intent.extras!!