From 82943aabda399bd983968b2bde51c6ab3cb063b5 Mon Sep 17 00:00:00 2001
From: cyBerta <cyberta@riseup.net>
Date: Fri, 15 Nov 2024 01:28:03 +0100
Subject: [PATCH] fix getDomain() implementation in Provider after api v5
 integration

---
 .../leap/bitmaskclient/base/models/Provider.java | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

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 ff9c48c0f..17b200f2d 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
@@ -94,7 +94,7 @@ public final class Provider implements Parcelable {
     private String certificatePin = "";
     private String certificatePinEncoding = "";
     private String caCert = "";
-    private int apiVersion = 5;
+    private int apiVersion = 3;
     private int[] apiVersions = new int[0];
     private String privateKeyString = "";
     private transient PrivateKey privateKey = null;
@@ -141,16 +141,19 @@ public final class Provider implements Parcelable {
 
     public Provider(String mainUrl) {
         this(mainUrl, null);
+        domain = getHostFromUrl(mainUrl);
     }
 
     public Provider(String mainUrl, String geoipUrl) {
         setMainUrl(mainUrl);
         setGeoipUrl(geoipUrl);
+        domain = getHostFromUrl(mainUrl);
     }
 
     public static Provider createCustomProvider(String mainUrl, String domain, Introducer introducer) {
         Provider p = new Provider(mainUrl);
         p.domain = domain;
+        p.introducer = introducer;
         return p;
     }
 
@@ -428,15 +431,14 @@ public final class Provider implements Parcelable {
     }
 
     public String getDomain() {
+        if ((apiVersion < 5 && (domain == null || domain.isEmpty())) ||
+                (modelsProvider == null)) {
+            return getHostFromUrl(mainUrl);
+        }
         if (apiVersion < 5) {
             return domain;
         }
-        try {
-            return modelsProvider.getDomain();
-        } catch (NullPointerException ignore) {
-            return "";
-        }
-
+        return modelsProvider.getDomain();
     }
 
     public String getMainUrl() {
-- 
GitLab