diff options
author | Bryson Steck <steck.bryson@gmail.com> | 2021-05-21 08:23:26 -0600 |
---|---|---|
committer | Bryson Steck <steck.bryson@gmail.com> | 2021-05-21 08:23:26 -0600 |
commit | 377487c04e1e1dc0636f923e0405911f853f1521 (patch) | |
tree | c599150fc3ab81c79d66e50b3fdc12d5d9e2e58c /app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi | |
parent | e700953ebbe12d1af8d786eb9250e39ad5fc3ef5 (diff) | |
download | wiimmfi-watcher-377487c04e1e1dc0636f923e0405911f853f1521.tar wiimmfi-watcher-377487c04e1e1dc0636f923e0405911f853f1521.tar.gz wiimmfi-watcher-377487c04e1e1dc0636f923e0405911f853f1521.tar.bz2 |
added a new error if jsoup throws exception
Diffstat (limited to 'app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi')
-rw-r--r-- | app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomData.java | 11 | ||||
-rw-r--r-- | app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomFragment.java | 15 |
2 files changed, 22 insertions, 4 deletions
diff --git a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomData.java b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomData.java index 47faf4b..60ad7df 100644 --- a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomData.java +++ b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomData.java @@ -14,20 +14,21 @@ public class RoomData { String roomHeader; String playerLink; String friendCode; + Exception error; ArrayList<Player> players = new ArrayList<>(); String userAgent = "Wiimmfi Watcher for Android (https://github.com/brysonsteck/wiimmfi-watcher) Version " + BuildConfig.VERSION_NAME; public RoomData (ArrayList<Player> players, String friendCode) { this.friendCode = friendCode; - getPlayerLink(); + error = getPlayerLink(); Document doc = null; if (this.playerLink == null) { - System.out.println("The player link is null for some reason"); + System.out.println("The player link is null for some reason:"); + System.out.println(error); } else { try { - System.out.println(userAgent); doc = Jsoup.connect("https://wiimmfi.de/" + this.playerLink) .userAgent(userAgent) .get(); @@ -93,7 +94,7 @@ public class RoomData { } } - public void getPlayerLink() { + public Exception getPlayerLink() { try { Document doc = Jsoup.connect("https://wiimmfi.de/stats/mkw") .userAgent(userAgent) @@ -117,10 +118,12 @@ public class RoomData { } } } + return null; } catch (Exception e) { e.printStackTrace(); + return e; } } public ArrayList<Player> getPlayers() { return players; } diff --git a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomFragment.java b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomFragment.java index 2c17476..8de81f9 100644 --- a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomFragment.java +++ b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomFragment.java @@ -14,7 +14,9 @@ import androidx.recyclerview.widget.RecyclerView; import com.google.android.material.floatingactionbutton.FloatingActionButton; +import java.net.UnknownHostException; import java.util.ArrayList; +import java.util.Arrays; import me.brysonsteck.wiimmfiwatcher.R; @@ -44,6 +46,13 @@ public class RoomFragment extends Fragment { if (header == null) { header = "This player is not online, not inside a room or does not exist. Click the refresh button to try again, or click on the back button to enter a different friend code."; } + if (roomData.error != null) { + header = "Wiimmfi Watcher was unable to connect to the Wiimmfi servers. This could be that you are not connected to the internet, but it could be something else. Here was the error:\n\n" + + roomData.error.getMessage() + "\n\n" + + "If the error is along the lines of \"Unable to resolve host\" or \"Timeout\", you are probably having internet issues. Make sure you are connected to the internet then click the refresh button or press back to watch a new friend code.\n\n" + + "If the error is something other than that or if the error persists, make sure that Wiimmfi's website is currently running. Otherwise, please screenshot this screen and submit a bug report by clicking the About icon on the main page."; + + } headerTextView.setText(header); RecyclerView recyclerView = view.findViewById(R.id.player_data_recycler_view); recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); @@ -59,6 +68,12 @@ public class RoomFragment extends Fragment { if (header == null) { header = "This player is not online, not inside a room or does not exist. Click the refresh button to try again, or click on the back button to enter a different friend code."; } + if (newRoomData.error instanceof java.net.SocketTimeoutException || newRoomData.error instanceof java.net.UnknownHostException) { + header = "Wiimmfi Watcher was unable to connect to the Wiimmfi servers. This could be that you are not connected to the internet, but it could be something else. Here was the error:\n\n" + + roomData.error.getMessage() + "\n\n" + + "If the error is along the lines of \"Unable to resolve host\" or \"Timeout\", you are probably having internet issues. Make sure you are connected to the internet then click the refresh button or press back to watch a new friend code.\n\n" + + "If the error is something other than that or if the error persists, make sure that Wiimmfi's website is currently running. Otherwise, please screenshot this screen and submit a bug report by clicking the About icon on the main page."; + } recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); recyclerView.setAdapter(new RoomAdapter(display, playerLink, header, players, getContext())); |