From 3f598a4ce61cc9d1e351209fc261f60d840df985 Mon Sep 17 00:00:00 2001 From: Adeel Zafar Date: Sun, 11 Aug 2019 20:08:07 +0500 Subject: [PATCH] Add check for null ip address Show toast --- .../kiwixmobile/webserver/ServerStateListener.java | 2 ++ .../kiwixmobile/webserver/WebServerHelper.java | 14 ++++++++++---- .../kiwixmobile/webserver/ZimHostActivity.java | 9 +++++++-- app/src/main/res/values/strings.xml | 1 + 4 files changed, 20 insertions(+), 6 deletions(-) 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 :