From dfecbf70900dfbf1c6614ac3d03c1097882693aa Mon Sep 17 00:00:00 2001 From: Jannis Mattheis Date: Sat, 22 Dec 2018 17:02:54 +0100 Subject: [PATCH 1/2] Allow clear text traffic --- app/src/main/AndroidManifest.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b1ae700..997f0e1 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -13,6 +13,7 @@ android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher" android:supportsRtl="true" + android:usesCleartextTraffic="true" android:theme="@style/AppTheme"> Date: Sat, 22 Dec 2018 17:04:13 +0100 Subject: [PATCH 2/2] Add warning message when using http --- .../com/github/gotify/login/LoginActivity.java | 16 +++++++++++++++- app/src/main/res/values/strings.xml | 3 +++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/github/gotify/login/LoginActivity.java b/app/src/main/java/com/github/gotify/login/LoginActivity.java index 5c3ad9a..b775142 100644 --- a/app/src/main/java/com/github/gotify/login/LoginActivity.java +++ b/app/src/main/java/com/github/gotify/login/LoginActivity.java @@ -102,11 +102,16 @@ public class LoginActivity extends AppCompatActivity { @OnClick(R.id.checkurl) public void doCheckUrl() { String url = urlField.getText().toString(); - if (HttpUrl.parse(url) == null) { + HttpUrl parsedUrl = HttpUrl.parse(url); + if (parsedUrl == null) { Utils.showSnackBar(LoginActivity.this, "Invalid URL (include http:// or https://)"); return; } + if ("http".equals(parsedUrl.scheme())) { + showHttpWarning(); + } + checkUrlProgress.setVisibility(View.VISIBLE); checkUrlButton.setVisibility(View.GONE); @@ -117,6 +122,15 @@ public class LoginActivity extends AppCompatActivity { .enqueue(callInUI(this, onValidUrl(fixedUrl), onInvalidUrl(fixedUrl))); } + public void showHttpWarning() { + new AlertDialog.Builder(this) + .setTitle(R.string.warning) + .setCancelable(true) + .setMessage(R.string.http_warning) + .setPositiveButton(R.string.i_understand, (a, b) -> {}) + .show(); + } + @OnClick(R.id.open_logs) public void openLogs() { startActivity(new Intent(this, LogsActivity.class)); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 805b51d..bdba0b9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -54,4 +54,7 @@ Done No certificate selected Remove CA Certificate + Warning + Using http is insecure and it\'s recommend to use https instead. Use your favorite search engine to get more information about this topic. + I Understand