diff --git a/app/src/main/java/se/leap/bitmaskclient/base/models/Introducer.java b/app/src/main/java/se/leap/bitmaskclient/base/models/Introducer.java index c31912d91b9ad77cbfa3053659da4136fe15b3a0..671992ca02f0268e7fad0fe2ffee536ae41c7e1c 100644 --- a/app/src/main/java/se/leap/bitmaskclient/base/models/Introducer.java +++ b/app/src/main/java/se/leap/bitmaskclient/base/models/Introducer.java @@ -29,6 +29,10 @@ public class Introducer implements Parcelable { kcpEnabled = in.readByte() != 0; } + public String getFullyQualifiedDomainName() { + return fullyQualifiedDomainName; + } + @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(type); diff --git a/app/src/main/java/se/leap/bitmaskclient/base/models/Provider.java b/app/src/main/java/se/leap/bitmaskclient/base/models/Provider.java index ac3aba7a3b0a9179387015db255ddf76a5741ebb..5b5fac48d4ff00e6443cbb1967aafff670b76e77 100644 --- a/app/src/main/java/se/leap/bitmaskclient/base/models/Provider.java +++ b/app/src/main/java/se/leap/bitmaskclient/base/models/Provider.java @@ -135,7 +135,7 @@ public final class Provider implements Parcelable { public Provider() { } public Provider(Introducer introducer) { - this(introducer.toUrl(), null); + this("https://" + introducer.getFullyQualifiedDomainName()); this.introducer = introducer; } diff --git a/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerV5.java b/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerV5.java index 926b154585555b7ba8a0e2418a44121fd7d5e394..9af14eda4e83566c746b90bee7a32ad74101b1a8 100644 --- a/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerV5.java +++ b/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerV5.java @@ -164,7 +164,9 @@ public class ProviderApiManagerV5 extends ProviderApiManagerBase implements IPro if (TorStatusObservable.isRunning() && TorStatusObservable.getSocksProxyPort() != -1) { bm.setSocksProxy(SOCKS_PROXY_SCHEME + PROXY_HOST + ":" + TorStatusObservable.getSocksProxyPort()); } - // TODO bm.setIntroducer(); + if (provider.hasIntroducer()) { + bm.setIntroducer(provider.getIntroducer().toUrl()); + } } catch (Exception e) { // TODO: improve error message return eventSender.setErrorResult(currentDownload, R.string.config_error_found, null); diff --git a/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/ProviderSelectionFragment.java b/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/ProviderSelectionFragment.java index 3ac122f8c714e1b9eb19f9e38086c9e99141f006..e4302be5a82eefedbd8cbd4ad2670a0a97c33057 100644 --- a/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/ProviderSelectionFragment.java +++ b/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/ProviderSelectionFragment.java @@ -3,10 +3,8 @@ package se.leap.bitmaskclient.providersetup.fragments; import static se.leap.bitmaskclient.providersetup.fragments.viewmodel.ProviderSelectionViewModel.ADD_PROVIDER; import static se.leap.bitmaskclient.providersetup.fragments.viewmodel.ProviderSelectionViewModel.INVITE_CODE_PROVIDER; -import android.Manifest; import android.app.Activity; import android.content.Intent; -import android.content.pm.PackageManager; import android.graphics.Typeface; import android.os.Bundle; import android.text.Editable; @@ -20,19 +18,17 @@ import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.core.app.ActivityCompat; -import androidx.core.content.ContextCompat; import androidx.lifecycle.ViewModelProvider; import java.util.ArrayList; import se.leap.bitmaskclient.R; -import se.leap.bitmaskclient.providersetup.activities.scanner.ScannerActivity; import se.leap.bitmaskclient.base.models.Introducer; import se.leap.bitmaskclient.base.models.Provider; import se.leap.bitmaskclient.base.utils.ViewHelper; import se.leap.bitmaskclient.databinding.FProviderSelectionBinding; import se.leap.bitmaskclient.providersetup.activities.CancelCallback; +import se.leap.bitmaskclient.providersetup.activities.scanner.ScannerActivity; import se.leap.bitmaskclient.providersetup.fragments.viewmodel.ProviderSelectionViewModel; import se.leap.bitmaskclient.providersetup.fragments.viewmodel.ProviderSelectionViewModelFactory; diff --git a/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/viewmodel/ProviderSelectionViewModel.java b/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/viewmodel/ProviderSelectionViewModel.java index 5f9a0f3d448098ea3b435e2008d78af7ea5fc442..fe21c6b37d1e27c431bcc98d3916cdfef09d29be 100644 --- a/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/viewmodel/ProviderSelectionViewModel.java +++ b/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/viewmodel/ProviderSelectionViewModel.java @@ -6,7 +6,6 @@ import static se.leap.bitmaskclient.base.utils.ConfigHelper.isNetworkUrl; import android.content.Context; import android.content.res.AssetManager; import android.text.InputType; -import android.util.Patterns; import android.view.View; import androidx.lifecycle.ViewModel;