diff options
author | tom79 <tschneider.ac@gmail.com> | 2019-10-29 15:08:39 +0100 |
---|---|---|
committer | tom79 <tschneider.ac@gmail.com> | 2019-10-29 15:08:39 +0100 |
commit | 9d37f348352010ee88c2a4258d2e5c05217f1657 (patch) | |
tree | 69b0c5fd76d4621149e31ac8fb79d927bd0ffc68 | |
parent | 485cf33af2daecc2ef7cf822a156e39da9f275cb (diff) |
Avoid to change network with 421
-rw-r--r-- | app/src/main/java/app/fedilab/android/client/API.java | 41 |
1 files changed, 22 insertions, 19 deletions
diff --git a/app/src/main/java/app/fedilab/android/client/API.java b/app/src/main/java/app/fedilab/android/client/API.java index 83ffd1ad1..42b50e696 100644 --- a/app/src/main/java/app/fedilab/android/client/API.java +++ b/app/src/main/java/app/fedilab/android/client/API.java @@ -782,10 +782,16 @@ public class API { } catch (NoSuchAlgorithmException | KeyManagementException | JSONException e1) { e1.printStackTrace(); } catch (HttpsConnection.HttpsConnectionException e1) { - instanceNodeInfo.setName("GNU"); - instanceNodeInfo.setVersion("unknown"); - instanceNodeInfo.setOpenRegistrations(true); - e1.printStackTrace(); + if( e1.getStatusCode() == 404) { + instanceNodeInfo.setName("GNU"); + instanceNodeInfo.setVersion("unknown"); + instanceNodeInfo.setOpenRegistrations(true); + e1.printStackTrace(); + }else{ + instanceNodeInfo.setName("MASTODON"); + instanceNodeInfo.setVersion("3.0"); + instanceNodeInfo.setOpenRegistrations(false); + } } e.printStackTrace(); } @@ -826,11 +832,7 @@ public class API { } catch (JSONException e) { setDefaultError(e); } - } catch (IOException e) { - e.printStackTrace(); - } catch (NoSuchAlgorithmException e) { - e.printStackTrace(); - } catch (KeyManagementException e) { + } catch (IOException | JSONException | NoSuchAlgorithmException | KeyManagementException e) { e.printStackTrace(); } catch (HttpsConnection.HttpsConnectionException e) { try { @@ -842,20 +844,21 @@ public class API { } catch (IOException e1) { instanceNodeInfo.setConnectionError(true); e1.printStackTrace(); - } catch (NoSuchAlgorithmException e1) { - e1.printStackTrace(); - } catch (KeyManagementException e1) { + } catch (NoSuchAlgorithmException | JSONException | KeyManagementException e1) { e1.printStackTrace(); } catch (HttpsConnection.HttpsConnectionException e1) { - instanceNodeInfo.setName("GNU"); - instanceNodeInfo.setVersion("unknown"); - instanceNodeInfo.setOpenRegistrations(true); - } catch (JSONException e1) { - e1.printStackTrace(); + if( e1.getStatusCode() == 404) { + instanceNodeInfo.setName("GNU"); + instanceNodeInfo.setVersion("unknown"); + instanceNodeInfo.setOpenRegistrations(true); + e1.printStackTrace(); + }else{ + instanceNodeInfo.setName("MASTODON"); + instanceNodeInfo.setVersion("3.0"); + instanceNodeInfo.setOpenRegistrations(false); + } } e.printStackTrace(); - } catch (JSONException e) { - e.printStackTrace(); } return instanceNodeInfo; } |