mirror of
https://github.com/oxen-io/session-android.git
synced 2025-08-11 15:41:26 +00:00
Feature/debug menu (#1645)
* Reorganised cells * Clipping content * Simplifying Cell and leaving responsibility to modifier and content * Fixing animations Also fixing compose copy that wasn't set up properly... * Debug menu Added a debug menu It can be accessed from the settings page or via an app shortcut (from the app icon) * Finalising the debug menu We can now switch environments between mainnet and testnet * Update app/src/main/java/org/thoughtcrime/securesms/debugmenu/DebugMenu.kt Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> --------- Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com>
This commit is contained in:
@@ -2,7 +2,6 @@
|
||||
|
||||
package org.session.libsession.snode
|
||||
|
||||
import android.os.Build
|
||||
import com.goterl.lazysodium.exceptions.SodiumException
|
||||
import com.goterl.lazysodium.interfaces.GenericHash
|
||||
import com.goterl.lazysodium.interfaces.PwHash
|
||||
@@ -76,9 +75,7 @@ object SnodeAPI {
|
||||
// Use port 4433 to enforce pinned certificates
|
||||
private val seedNodePort = 4443
|
||||
|
||||
private const val useTestnet = false
|
||||
|
||||
private val seedNodePool = if (useTestnet) setOf(
|
||||
private val seedNodePool = if (SnodeModule.shared.useTestNet) setOf(
|
||||
"http://public.loki.foundation:38157"
|
||||
) else setOf(
|
||||
"https://seed1.getsession.org:$seedNodePort",
|
||||
|
@@ -3,16 +3,18 @@ package org.session.libsession.snode
|
||||
import org.session.libsignal.database.LokiAPIDatabaseProtocol
|
||||
import org.session.libsignal.utilities.Broadcaster
|
||||
|
||||
class SnodeModule(val storage: LokiAPIDatabaseProtocol, val broadcaster: Broadcaster) {
|
||||
class SnodeModule(
|
||||
val storage: LokiAPIDatabaseProtocol, val broadcaster: Broadcaster, val useTestNet: Boolean
|
||||
) {
|
||||
|
||||
companion object {
|
||||
lateinit var shared: SnodeModule
|
||||
|
||||
val isInitialized: Boolean get() = Companion::shared.isInitialized
|
||||
|
||||
fun configure(storage: LokiAPIDatabaseProtocol, broadcaster: Broadcaster) {
|
||||
fun configure(storage: LokiAPIDatabaseProtocol, broadcaster: Broadcaster, useTestNet: Boolean) {
|
||||
if (isInitialized) { return }
|
||||
shared = SnodeModule(storage, broadcaster)
|
||||
shared = SnodeModule(storage, broadcaster, useTestNet)
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,5 @@
|
||||
package org.session.libsession.utilities
|
||||
|
||||
enum class Environment(val label: String) {
|
||||
MAIN_NET("Mainnet"), TEST_NET("Testnet")
|
||||
}
|
@@ -18,6 +18,7 @@ import org.session.libsession.utilities.TextSecurePreferences.Companion.AUTOPLAY
|
||||
import org.session.libsession.utilities.TextSecurePreferences.Companion.CALL_NOTIFICATIONS_ENABLED
|
||||
import org.session.libsession.utilities.TextSecurePreferences.Companion.CLASSIC_DARK
|
||||
import org.session.libsession.utilities.TextSecurePreferences.Companion.CLASSIC_LIGHT
|
||||
import org.session.libsession.utilities.TextSecurePreferences.Companion.ENVIRONMENT
|
||||
import org.session.libsession.utilities.TextSecurePreferences.Companion.FOLLOW_SYSTEM_SETTINGS
|
||||
import org.session.libsession.utilities.TextSecurePreferences.Companion.HIDE_PASSWORD
|
||||
import org.session.libsession.utilities.TextSecurePreferences.Companion.LAST_VACUUM_TIME
|
||||
@@ -190,6 +191,8 @@ interface TextSecurePreferences {
|
||||
fun setHidePassword(value: Boolean)
|
||||
fun getLastVersionCheck(): Long
|
||||
fun setLastVersionCheck()
|
||||
fun getEnvironment(): Environment
|
||||
fun setEnvironment(value: Environment)
|
||||
|
||||
companion object {
|
||||
val TAG = TextSecurePreferences::class.simpleName
|
||||
@@ -277,6 +280,7 @@ interface TextSecurePreferences {
|
||||
const val FINGERPRINT_KEY_GENERATED = "fingerprint_key_generated"
|
||||
const val SELECTED_ACCENT_COLOR = "selected_accent_color"
|
||||
const val LAST_VERSION_CHECK = "pref_last_version_check"
|
||||
const val ENVIRONMENT = "debug_environment"
|
||||
|
||||
const val HAS_RECEIVED_LEGACY_CONFIG = "has_received_legacy_config"
|
||||
const val HAS_FORCED_NEW_CONFIG = "has_forced_new_config"
|
||||
@@ -1554,6 +1558,17 @@ class AppTextSecurePreferences @Inject constructor(
|
||||
setLongPreference(LAST_VERSION_CHECK, System.currentTimeMillis())
|
||||
}
|
||||
|
||||
override fun getEnvironment(): Environment {
|
||||
val environment = getStringPreference(ENVIRONMENT, null)
|
||||
return if (environment != null) {
|
||||
Environment.valueOf(environment)
|
||||
} else Environment.MAIN_NET
|
||||
}
|
||||
|
||||
override fun setEnvironment(value: Environment) {
|
||||
setStringPreference(ENVIRONMENT, value.name)
|
||||
}
|
||||
|
||||
override fun setShownCallNotification(): Boolean {
|
||||
val previousValue = getBooleanPreference(SHOWN_CALL_NOTIFICATION, false)
|
||||
if (previousValue) return false
|
||||
|
Reference in New Issue
Block a user