Commit d483554e authored by Dan Ballard's avatar Dan Ballard
Browse files

fixup! Add Tor integration and UI

Bug 42632: Don't display builtin bridges in provide bridge popup;
Also fix saving user provided bridges by splitting on \n instead of \r\n and prune empty lines
parent 9020793e
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -157,12 +157,20 @@ class TorControllerGV(
    // with no bridge strings
    override var userProvidedBridges: String?
        get() {
            return getTorSettings()?.bridgeBridgeStrings?.joinToString("\r\n")
            return getTorSettings()?.let {
                if (it.bridgesSource == BridgeSource.UserProvided) {
                    return getTorSettings()?.bridgeBridgeStrings?.joinToString("\n")
                }
                return ""
            }
        }
        set(value) {
            getTorSettings()?.let {
                Log.i(TAG, "setUserProvidedBridges: '$value'");
                // Hack: we don't have validation so lets do something quick and dirty (each line has a length)
                val  userProvidedLines: Array<String> = value?.split("\n")?.filter { it.length > 4 }?.toTypedArray() ?: arrayOf<String>()
                it.bridgesSource = BridgeSource.UserProvided
                it.bridgeBridgeStrings = value?.split("\r\n")?.toTypedArray() ?: arrayOf<String>()
                it.bridgeBridgeStrings = userProvidedLines
                getTorIntegration().setSettings(it, true, true)
            }
        }