From 4e8d418bcfabd220a25a4536aff32d5c8bcb1036 Mon Sep 17 00:00:00 2001 From: KiWo Date: Thu, 14 May 2020 21:06:09 +0200 Subject: [PATCH 1/4] added logging / throw exception if published message serverResponse is not 200 --- .../java/org/itoapp/strict/network/NetworkHelper.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/org/itoapp/strict/network/NetworkHelper.java b/android/src/main/java/org/itoapp/strict/network/NetworkHelper.java index a78e5d5..1802b29 100644 --- a/android/src/main/java/org/itoapp/strict/network/NetworkHelper.java +++ b/android/src/main/java/org/itoapp/strict/network/NetworkHelper.java @@ -23,7 +23,7 @@ public class NetworkHelper { - private static final String LOG_TAG = "ITOInfectedUUIDRepository"; + private static final String LOG_TAG = "ITONetworkHelper"; public static final String BASE_URL = "https://tcn.ito-app.org/tcnreport"; private static final int SIGNATURELENGTH = 64; @@ -44,6 +44,7 @@ public static List refreshInfectedUUIDs() { url = new URL(BASE_URL); else url = new URL(BASE_URL + "?from=" + lastReportHashForServer.lastReportHash); + Log.d(LOG_TAG, "Query using: " + url.toString()); urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.addRequestProperty("Accept", "application/octet-stream"); InputStream in = new BlockingInputStream(urlConnection.getInputStream()); @@ -79,6 +80,7 @@ public static List refreshInfectedUUIDs() { urlConnection.disconnect(); } } + Log.d(LOG_TAG, "Found " + reports.size() + " new Reports"); if (reports.size() > 0) { byte[] lastreport = reports.get(reports.size() - 1); @@ -103,7 +105,9 @@ public static void publishReports(List reports) throws IOException { OutputStream outputStream = new BufferedOutputStream(urlConnection.getOutputStream()); outputStream.write(report); outputStream.close(); - + if (urlConnection.getResponseCode() != 200) { + throw new RuntimeException("Response Code was " + urlConnection.getResponseCode()); + } InputStream inputStream = urlConnection.getInputStream(); inputStream.read(); inputStream.close(); From 069a65ee855337353441240ab4d8c29401e3811f Mon Sep 17 00:00:00 2001 From: KiWo Date: Thu, 14 May 2020 21:06:47 +0200 Subject: [PATCH 2/4] added more debug messages Publishing & Server checking --- .../main/java/org/itoapp/strict/service/CheckServerTask.java | 1 + .../java/org/itoapp/strict/service/PublishBeaconsTask.java | 3 ++- .../main/java/org/itoapp/strict/service/TracingService.java | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/android/src/main/java/org/itoapp/strict/service/CheckServerTask.java b/android/src/main/java/org/itoapp/strict/service/CheckServerTask.java index c6b4598..42cf353 100644 --- a/android/src/main/java/org/itoapp/strict/service/CheckServerTask.java +++ b/android/src/main/java/org/itoapp/strict/service/CheckServerTask.java @@ -25,6 +25,7 @@ public CheckServerTask(ItoDBHelper itoDBHelper) { @RequiresApi(api = 24) @Override protected Void doInBackground(Void... voids) { + Log.d(LOG_TAG, "Check Server Task started"); try { List reports = NetworkHelper.refreshInfectedUUIDs(); reports.stream().filter(x -> TCNProtoUtil.verifySignatureOfReportCorrect(x)).forEach(x -> TCNProtoUtil.generateAllTCNsFromReport(x, tcn -> this.checkInfection(tcn))); diff --git a/android/src/main/java/org/itoapp/strict/service/PublishBeaconsTask.java b/android/src/main/java/org/itoapp/strict/service/PublishBeaconsTask.java index 1329e70..ff6e8eb 100644 --- a/android/src/main/java/org/itoapp/strict/service/PublishBeaconsTask.java +++ b/android/src/main/java/org/itoapp/strict/service/PublishBeaconsTask.java @@ -12,7 +12,7 @@ import java.util.List; class PublishBeaconsTask extends AsyncTask { - private static final String LOG_TAG = "PublishBeaconsTask"; + private static final String LOG_TAG = "ITOPublishTask"; private List report; private long from; private long to; @@ -26,6 +26,7 @@ public PublishBeaconsTask(List report, PublishUUIDsCallback callback) { @Override protected Void doInBackground(Void... voids) { try { + Log.d(LOG_TAG, "Publishing " + report); NetworkHelper.publishReports(report); try { RoomDB.db.localKeyDao().deleteAll(); // remove all Keys that we have sent diff --git a/android/src/main/java/org/itoapp/strict/service/TracingService.java b/android/src/main/java/org/itoapp/strict/service/TracingService.java index a12dab1..8d93275 100644 --- a/android/src/main/java/org/itoapp/strict/service/TracingService.java +++ b/android/src/main/java/org/itoapp/strict/service/TracingService.java @@ -76,6 +76,7 @@ public void setDistanceCallback(DistanceCallback distanceCallback) { @Override public void publishBeaconUUIDs(long from, long to, PublishUUIDsCallback callback) { // todo use from & to ? + Log.d(LOG_TAG, "Publishing Reports..."); List reports = TCNProtoUtil.loadAllRatchets().stream().map(ratchet -> ratchet.generateReport(ratchet.getRatchetTickCount())).collect(Collectors.toList()); new PublishBeaconsTask(reports, callback).execute(); From 581319dcbd1ea42e0ba8abe3742ddc2f992a5a07 Mon Sep 17 00:00:00 2001 From: KiWo Date: Thu, 14 May 2020 21:09:38 +0200 Subject: [PATCH 3/4] added hex string to log when publishing tcnreport --- .../src/main/java/org/itoapp/strict/network/NetworkHelper.java | 2 +- .../main/java/org/itoapp/strict/service/PublishBeaconsTask.java | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/android/src/main/java/org/itoapp/strict/network/NetworkHelper.java b/android/src/main/java/org/itoapp/strict/network/NetworkHelper.java index 1802b29..b5c42f8 100644 --- a/android/src/main/java/org/itoapp/strict/network/NetworkHelper.java +++ b/android/src/main/java/org/itoapp/strict/network/NetworkHelper.java @@ -94,9 +94,9 @@ public static List refreshInfectedUUIDs() { public static void publishReports(List reports) throws IOException { - HttpURLConnection urlConnection = null; for (byte[] report : reports) // FIXME: validate return code + Log.d(LOG_TAG, "Publishing " + byte2Hex(report)); try { URL url = new URL(BASE_URL); urlConnection = (HttpURLConnection) url.openConnection(); diff --git a/android/src/main/java/org/itoapp/strict/service/PublishBeaconsTask.java b/android/src/main/java/org/itoapp/strict/service/PublishBeaconsTask.java index ff6e8eb..4d4233a 100644 --- a/android/src/main/java/org/itoapp/strict/service/PublishBeaconsTask.java +++ b/android/src/main/java/org/itoapp/strict/service/PublishBeaconsTask.java @@ -26,7 +26,6 @@ public PublishBeaconsTask(List report, PublishUUIDsCallback callback) { @Override protected Void doInBackground(Void... voids) { try { - Log.d(LOG_TAG, "Publishing " + report); NetworkHelper.publishReports(report); try { RoomDB.db.localKeyDao().deleteAll(); // remove all Keys that we have sent From 076512b3f14b8190090af897faeac7c2ba46b4ad Mon Sep 17 00:00:00 2001 From: KiWo Date: Thu, 14 May 2020 21:15:07 +0200 Subject: [PATCH 4/4] .. --- .../src/main/java/org/itoapp/strict/network/NetworkHelper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/android/src/main/java/org/itoapp/strict/network/NetworkHelper.java b/android/src/main/java/org/itoapp/strict/network/NetworkHelper.java index b5c42f8..e754cd1 100644 --- a/android/src/main/java/org/itoapp/strict/network/NetworkHelper.java +++ b/android/src/main/java/org/itoapp/strict/network/NetworkHelper.java @@ -95,7 +95,7 @@ public static List refreshInfectedUUIDs() { public static void publishReports(List reports) throws IOException { HttpURLConnection urlConnection = null; - for (byte[] report : reports) // FIXME: validate return code + for (byte[] report : reports) { // FIXME: validate return code Log.d(LOG_TAG, "Publishing " + byte2Hex(report)); try { URL url = new URL(BASE_URL); @@ -118,5 +118,6 @@ public static void publishReports(List reports) throws IOException { if (urlConnection != null) urlConnection.disconnect(); } + } } }