Skip to content

Commit 6ec6cd8

Browse files
Use Conscrypt when Play services are not available
1 parent d900baf commit 6ec6cd8

File tree

4 files changed

+14
-5
lines changed

4 files changed

+14
-5
lines changed

app/build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,7 @@ dependencies {
296296
implementation(libs.androidx.ui.graphics)
297297
implementation(libs.androidx.ui.tooling.preview)
298298
implementation(libs.coil.compose)
299+
implementation(libs.conscrypt)
299300
implementation(libs.hilt)
300301
implementation(libs.kotlinx.serialization.json)
301302
implementation(libs.moshi)
@@ -330,8 +331,6 @@ dependencies {
330331
"googleImplementation"(libs.play.services.base)
331332
"googleImplementation"(libs.firebase.messaging)
332333

333-
"libreImplementation"(libs.conscrypt)
334-
335334
debugImplementation(libs.androidx.ui.test.manifest)
336335
debugImplementation(libs.androidx.ui.tooling)
337336

app/src/google/kotlin/app/fyreplace/fyreplace/SecureActivity.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import android.content.Intent
55
import androidx.activity.ComponentActivity
66
import com.google.android.gms.common.GoogleApiAvailability
77
import com.google.android.gms.security.ProviderInstaller
8+
import org.conscrypt.Conscrypt
9+
import java.security.Security
810

911
abstract class SecureActivity : ComponentActivity(), ProviderInstaller.ProviderInstallListener {
1012
private var hasShownWarning = false
@@ -32,6 +34,7 @@ abstract class SecureActivity : ComponentActivity(), ProviderInstaller.ProviderI
3234
override fun onProviderInstalled() = Unit
3335

3436
private fun warnUser() {
37+
Security.insertProviderAt(Conscrypt.newProvider(), 1)
3538
hasShownWarning = true
3639
AlertDialog.Builder(this)
3740
.setTitle(R.string.secure_warning_dialog_title)

app/src/legacyGoogle/kotlin/app/fyreplace/fyreplace/legacy/SecureApp.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,17 @@ package app.fyreplace.fyreplace.legacy
22

33
import app.fyreplace.fyreplace.BaseApp
44
import com.google.android.gms.security.ProviderInstaller
5+
import org.conscrypt.Conscrypt
6+
import java.security.Security
57

68
abstract class SecureApp : BaseApp() {
79
override fun onCreate() {
810
super.onCreate()
9-
ProviderInstaller.installIfNeeded(this)
11+
12+
try {
13+
ProviderInstaller.installIfNeeded(this)
14+
} catch (_: Exception) {
15+
Security.insertProviderAt(Conscrypt.newProvider(), 1)
16+
}
1017
}
1118
}

app/src/libre/kotlin/app/fyreplace/fyreplace/SecureActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import org.conscrypt.Conscrypt
66
import java.security.Security
77

88
abstract class SecureActivity : ComponentActivity() {
9-
override fun onCreate(savedInstanceState: Bundle?) {
10-
super.onCreate(savedInstanceState)
9+
override fun onPostCreate(savedInstanceState: Bundle?) {
10+
super.onPostCreate(savedInstanceState)
1111
Security.insertProviderAt(Conscrypt.newProvider(), 1)
1212
}
1313
}

0 commit comments

Comments
 (0)