diff --git a/app/src/main/java/org/kiwix/kiwixmobile/webserver/ServerStateListener.java b/app/src/main/java/org/kiwix/kiwixmobile/webserver/ServerStateListener.java
index 5641237e8..2e04cb4fd 100644
--- a/app/src/main/java/org/kiwix/kiwixmobile/webserver/ServerStateListener.java
+++ b/app/src/main/java/org/kiwix/kiwixmobile/webserver/ServerStateListener.java
@@ -8,6 +8,8 @@ public interface ServerStateListener {
void serverStopped();
+ void serverFailed();
+
void hotspotTurnedOn(WifiConfiguration wifiConfiguration);
void hotspotFailed();
diff --git a/app/src/main/java/org/kiwix/kiwixmobile/webserver/WebServerHelper.java b/app/src/main/java/org/kiwix/kiwixmobile/webserver/WebServerHelper.java
index 8de95e009..0fd913146 100644
--- a/app/src/main/java/org/kiwix/kiwixmobile/webserver/WebServerHelper.java
+++ b/app/src/main/java/org/kiwix/kiwixmobile/webserver/WebServerHelper.java
@@ -22,7 +22,7 @@ public class WebServerHelper {
}
public void startServerHelper(ServerStateListener stateListener) {
-
+
// 1. Get port from settings screen
// 2. Ask user to change port in settings if port is in use.
// OR
@@ -30,7 +30,13 @@ public class WebServerHelper {
if (!isServerStarted && startAndroidWebServer()) {
isServerStarted = true;
- stateListener.serverStarted(getIpAddress() + ":" + port);
+ String ip = getIpAddress();
+ ip = ip.replaceAll("\n", "");
+ if (ip.length() == 0) {
+ stateListener.serverFailed();
+ } else {
+ stateListener.serverStarted("http://" + ip + ":" + port);
+ }
}
}
@@ -85,10 +91,10 @@ public class WebServerHelper {
ip += "Something Wrong! " + e.toString() + "\n";
}
- return "http://" + ip;
+ return ip;
}
public static String getAddress() {
- return getIpAddress() + ":" + port;
+ return "http://" + getIpAddress() + ":" + port;
}
}
diff --git a/app/src/main/java/org/kiwix/kiwixmobile/webserver/ZimHostActivity.java b/app/src/main/java/org/kiwix/kiwixmobile/webserver/ZimHostActivity.java
index e0f9b4cfe..9f07c4759 100644
--- a/app/src/main/java/org/kiwix/kiwixmobile/webserver/ZimHostActivity.java
+++ b/app/src/main/java/org/kiwix/kiwixmobile/webserver/ZimHostActivity.java
@@ -18,6 +18,7 @@ import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
+import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
@@ -375,9 +376,8 @@ public class ZimHostActivity extends BaseActivity implements
}
@Override public void serverStarted(String ip) {
- ip = ip.replaceAll("\n", "");
this.ip = ip;
- serverTextView.setText(getString(R.string.server_started_message) + " " + ip);
+ serverTextView.setText(getString(R.string.server_started_message) + " " + this.ip);
startServerButton.setText(getString(R.string.stop_server_label));
startServerButton.setBackgroundColor(getResources().getColor(R.color.stopServer));
isServerStarted = true;
@@ -390,6 +390,11 @@ public class ZimHostActivity extends BaseActivity implements
isServerStarted = false;
}
+ @Override public void serverFailed() {
+ String message = String.format(getString(R.string.server_failed_message));
+ Toast.makeText(this, message, Toast.LENGTH_LONG).show();
+ }
+
@Override public void hotspotTurnedOn(WifiConfiguration wifiConfiguration) {
//Show an alert dialog for hotspot details
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 7c2ff04f5..346158f9d 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -31,6 +31,7 @@
Starting hotspot
Running Hotspot
STOP
+ Couldn’t start server. Please turn on your hotspot
Hotspot turned on
Following are the details of your local hotspot.
SSID :