]> hydra-www.ietfng.org Git - acmetensortoys-ctfws-android/commitdiff
Refactor: download logic to utils
authorNathaniel Wesley Filardo <nwfilardo@gmail.com>
Sat, 28 Sep 2019 12:53:28 +0000 (13:53 +0100)
committerNathaniel Wesley Filardo <nwfilardo@gmail.com>
Sat, 28 Sep 2019 12:53:28 +0000 (13:53 +0100)
mobile/src/main/java/com/acmetensortoys/ctfwstimer/AboutActivity.java
mobile/src/main/java/com/acmetensortoys/ctfwstimer/HandbookActivity.java
mobile/src/main/java/com/acmetensortoys/ctfwstimer/utils/CheckedAsyncDownloader.java [moved from mobile/src/main/java/com/acmetensortoys/ctfwstimer/CheckedAsyncDownloader.java with 93% similarity]
mobile/src/main/java/com/acmetensortoys/ctfwstimer/utils/HandbookDownloader.java [moved from mobile/src/main/java/com/acmetensortoys/ctfwstimer/HandbookDownloader.java with 92% similarity]

index cb2b39970e615e1300181392aec10026999f4f8e..850fc9f980433cf82472b9f0419f5eed678b218b 100644 (file)
@@ -20,6 +20,7 @@ import android.widget.TabHost;
 import android.widget.TextView;
 
 import com.acmetensortoys.ctfwstimer.lib.CtFwSGameStateManager;
+import com.acmetensortoys.ctfwstimer.utils.CheckedAsyncDownloader;
 
 import java.util.Arrays;
 import java.util.Locale;
@@ -57,7 +58,7 @@ public class AboutActivity extends AppCompatActivity {
         {
             if (lastDL != null) {
                 sb.append("Last fetched handbook:\n  result: ");
-                sb.append(lastDL.result);
+                sb.append(lastDL.getResult());
                 sb.append("\n  checksum: ");
                 for (byte b : Arrays.copyOfRange(lastDL.sha256, 0, 16)) {
                     sb.append(String.format(Locale.ROOT, "%02x", b));
index d36952125be590d66be097acde67604209e06ba5..3652020626233e9405bc78cf8fec98190269a753 100644 (file)
@@ -17,6 +17,8 @@ import android.widget.Chronometer;
 import android.widget.SearchView;
 import android.widget.Toast;
 
+import com.acmetensortoys.ctfwstimer.utils.CheckedAsyncDownloader;
+
 import java.io.File;
 
 public class HandbookActivity extends AppCompatActivity {
@@ -52,7 +54,7 @@ public class HandbookActivity extends AppCompatActivity {
         @Override
         public void onHandbookFetch(MainService.LocalBinder b, CheckedAsyncDownloader.DL dl) {
             display();
-            if (dl.result == CheckedAsyncDownloader.Result.RES_OK) {
+            if (dl.getResult() == CheckedAsyncDownloader.Result.RES_OK) {
                 Toast.makeText(HandbookActivity.this,
                                 R.string.hand_new,
                                 Toast.LENGTH_SHORT)
similarity index 93%
rename from mobile/src/main/java/com/acmetensortoys/ctfwstimer/CheckedAsyncDownloader.java
rename to mobile/src/main/java/com/acmetensortoys/ctfwstimer/utils/CheckedAsyncDownloader.java
index 91e415c6b6fee7cdd0dde46fed28aad754f2bf23..cf87a77255ff87a0680150fdd5a57aee4a263b5e 100644 (file)
@@ -1,4 +1,4 @@
-package com.acmetensortoys.ctfwstimer;
+package com.acmetensortoys.ctfwstimer.utils;
 
 import android.os.AsyncTask;
 
@@ -29,12 +29,12 @@ public class CheckedAsyncDownloader extends AsyncTask<CheckedAsyncDownloader.DL,
     }
 
     public static class DL {
-        final URL url;
-        final byte[] sha256;
-        final File dest;
-        final long lengthLimit; /* In bytes, or 0 for no limit */
-        Result result;
-        long dlsize;
+        public final URL url;
+        public final byte[] sha256;
+        public final File dest;
+        public final long lengthLimit; /* In bytes, or 0 for no limit */
+        private Result result;
+        private long dlsize;
 
         public DL(URL url, byte[] sha256, long lim, File dest) {
             this.url = url;
@@ -53,6 +53,9 @@ public class CheckedAsyncDownloader extends AsyncTask<CheckedAsyncDownloader.DL,
             this.result = dl.result;
             this.dlsize = dl.dlsize;
         }
+
+        public Result getResult() { return result; }
+        public long getDlsize() { return dlsize ; }
     }
 
     @Override
similarity index 92%
rename from mobile/src/main/java/com/acmetensortoys/ctfwstimer/HandbookDownloader.java
rename to mobile/src/main/java/com/acmetensortoys/ctfwstimer/utils/HandbookDownloader.java
index dae590d5fc4d2c4c4a30fc9891068579d687f256..04f9407efaa48e3129069d2b4a9318c1af274234 100644 (file)
@@ -1,10 +1,12 @@
-package com.acmetensortoys.ctfwstimer;
+package com.acmetensortoys.ctfwstimer.utils;
 
 import android.content.Context;
 import android.os.Handler;
 import android.support.v4.util.Consumer;
 import android.util.Log;
 
+import com.acmetensortoys.ctfwstimer.HandbookActivity;
+
 import org.eclipse.paho.client.mqttv3.IMqttAsyncClient;
 import org.eclipse.paho.client.mqttv3.IMqttMessageListener;
 import org.eclipse.paho.client.mqttv3.MqttException;
@@ -114,7 +116,7 @@ public class HandbookDownloader implements IMqttMessageListener {
                 dl = HandbookDownloader.this.download;
                 fini();
             }
-            Log.d(TAG, "Post Ex: " + dl.result);
+            Log.d(TAG, "Post Ex: " + dl.getResult());
             HandbookDownloader.this.mDLFiniCB.accept(dl);
         }
 
@@ -162,13 +164,15 @@ public class HandbookDownloader implements IMqttMessageListener {
                                + (Character.digit(checksum_str.charAt(2*i+1),16)));
         }
         synchronized (this) {
-            if (download != null
-                    && (download.result == CheckedAsyncDownloader.Result.RES_OK
-                        || download.result == CheckedAsyncDownloader.Result.RES_ALREADY)
+            if (download != null) {
+                CheckedAsyncDownloader.Result dlr = download.getResult();
+                if ((dlr == CheckedAsyncDownloader.Result.RES_OK
+                        || dlr == CheckedAsyncDownloader.Result.RES_ALREADY)
                     && java.util.Arrays.equals(checksum, download.sha256)) {
-                /* Nothing to do */
-                Log.d(TAG, "Checksum matches last fetch");
-                return;
+                    /* Nothing to do */
+                    Log.d(TAG, "Checksum matches last fetch");
+                    return;
+                }
             }
 
             if (this.downloader != null) {