From 0f004f1ada56886c817ae96a7c630c090c3f88d3 Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Mon, 5 Feb 2024 10:24:20 -0800 Subject: [PATCH 1/3] update with IP address ability --- .../org/xmtp/android/library/ApiClient.kt | 2 +- .../java/org/xmtp/android/library/Client.kt | 5 ++-- .../xmtp/android/library/XMTPEnvironment.kt | 24 +++++++++++++++---- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/library/src/main/java/org/xmtp/android/library/ApiClient.kt b/library/src/main/java/org/xmtp/android/library/ApiClient.kt index f8b8d9b9..1f4fc204 100644 --- a/library/src/main/java/org/xmtp/android/library/ApiClient.kt +++ b/library/src/main/java/org/xmtp/android/library/ApiClient.kt @@ -90,7 +90,7 @@ data class GRPCApiClient( private val channel: ManagedChannel = Grpc.newChannelBuilderForAddress( - environment.rawValue, + environment.getValue(), 5556, if (secure) { TlsChannelCredentials.create() diff --git a/library/src/main/java/org/xmtp/android/library/Client.kt b/library/src/main/java/org/xmtp/android/library/Client.kt index 3ee28528..e879492b 100644 --- a/library/src/main/java/org/xmtp/android/library/Client.kt +++ b/library/src/main/java/org/xmtp/android/library/Client.kt @@ -2,6 +2,7 @@ package org.xmtp.android.library import android.content.Context import android.os.Build +import android.os.Environment import android.security.keystore.KeyGenParameterSpec import android.security.keystore.KeyProperties import android.util.Log @@ -66,7 +67,7 @@ data class ClientOptions( val enableAlphaMls: Boolean = false, ) { data class Api( - val env: XMTPEnvironment = XMTPEnvironment.DEV, + val env: XMTPEnvironment = XMTPEnvironment.LOCAL, val isSecure: Boolean = true, val appVersion: String? = null, ) @@ -323,7 +324,7 @@ class Client() { createClient( logger = logger, - host = "http://10.0.2.2:5556", + host = "http://${options.api.env.getValue()}:5556", isSecure = false, db = dbPath, encryptionKey = retrievedKey.encoded, diff --git a/library/src/main/java/org/xmtp/android/library/XMTPEnvironment.kt b/library/src/main/java/org/xmtp/android/library/XMTPEnvironment.kt index c01cf791..a24779d3 100644 --- a/library/src/main/java/org/xmtp/android/library/XMTPEnvironment.kt +++ b/library/src/main/java/org/xmtp/android/library/XMTPEnvironment.kt @@ -3,11 +3,27 @@ package org.xmtp.android.library enum class XMTPEnvironment(val rawValue: String) { DEV("dev.xmtp.network"), PRODUCTION("production.xmtp.network"), - LOCAL("10.0.2.2"), - ; + LOCAL("10.0.2.2") { + override fun withValue(value: String): XMTPEnvironment { + return LOCAL.apply { customValue = value } + } + }; + + private var customValue: String = "" + + open fun withValue(value: String): XMTPEnvironment { + return this + } companion object { - operator fun invoke(rawValue: String) = - XMTPEnvironment.values().firstOrNull { it.rawValue == rawValue } + operator fun invoke(rawValue: String): XMTPEnvironment { + return XMTPEnvironment.values().firstOrNull { it.rawValue == rawValue } + ?: LOCAL.withValue(rawValue) + } + } + + // This function returns the actual raw value for the enum, handling the CUSTOM case. + fun getValue(): String { + return if (this == LOCAL && customValue.isNotEmpty()) customValue else rawValue } } From cc305399ec70c9666db47d39738872ce9f5c0223 Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Mon, 5 Feb 2024 10:26:58 -0800 Subject: [PATCH 2/3] fix lint issue --- library/src/main/java/org/xmtp/android/library/Client.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/library/src/main/java/org/xmtp/android/library/Client.kt b/library/src/main/java/org/xmtp/android/library/Client.kt index e879492b..e1a23924 100644 --- a/library/src/main/java/org/xmtp/android/library/Client.kt +++ b/library/src/main/java/org/xmtp/android/library/Client.kt @@ -2,7 +2,6 @@ package org.xmtp.android.library import android.content.Context import android.os.Build -import android.os.Environment import android.security.keystore.KeyGenParameterSpec import android.security.keystore.KeyProperties import android.util.Log From 940ce05689a1499d50dd3f8fec33401da2fa6e1d Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Mon, 5 Feb 2024 13:53:05 -0800 Subject: [PATCH 3/3] the default should be dev --- library/src/main/java/org/xmtp/android/library/Client.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/src/main/java/org/xmtp/android/library/Client.kt b/library/src/main/java/org/xmtp/android/library/Client.kt index d346e4b8..cd14aeed 100644 --- a/library/src/main/java/org/xmtp/android/library/Client.kt +++ b/library/src/main/java/org/xmtp/android/library/Client.kt @@ -67,7 +67,7 @@ data class ClientOptions( val enableAlphaMls: Boolean = false, ) { data class Api( - val env: XMTPEnvironment = XMTPEnvironment.LOCAL, + val env: XMTPEnvironment = XMTPEnvironment.DEV, val isSecure: Boolean = true, val appVersion: String? = null, )