diff options
Diffstat (limited to 'app/src/fatweb/java/se.leap.bitmaskclient')
-rw-r--r-- | app/src/fatweb/java/se.leap.bitmaskclient/appUpdate/DownloadServiceCommand.java | 29 | ||||
-rw-r--r-- | app/src/fatweb/java/se.leap.bitmaskclient/appUpdate/UpdateDownloadManager.java | 11 |
2 files changed, 35 insertions, 5 deletions
diff --git a/app/src/fatweb/java/se.leap.bitmaskclient/appUpdate/DownloadServiceCommand.java b/app/src/fatweb/java/se.leap.bitmaskclient/appUpdate/DownloadServiceCommand.java index 4e0d9079..41efd621 100644 --- a/app/src/fatweb/java/se.leap.bitmaskclient/appUpdate/DownloadServiceCommand.java +++ b/app/src/fatweb/java/se.leap.bitmaskclient/appUpdate/DownloadServiceCommand.java @@ -18,6 +18,7 @@ package se.leap.bitmaskclient.appUpdate; import android.content.Context; import android.content.Intent; +import android.os.Bundle; import android.os.ResultReceiver; import androidx.annotation.NonNull; @@ -31,18 +32,27 @@ public class DownloadServiceCommand { CHECK_VERSION_FILE = "checkVersionFile", DOWNLOAD_UPDATE = "downloadUpdate"; - private Context context; - private String action; - private ResultReceiver resultReceiver; + private final Context context; + private final String action; + private Bundle parameters; + private final ResultReceiver resultReceiver; private DownloadServiceCommand(@NonNull Context context, @NonNull String action) { - this(context.getApplicationContext(), action, null); + this(context.getApplicationContext(), action, null, null); } + private DownloadServiceCommand(@NonNull Context context, @NonNull String action, @Nullable Bundle parameters) { + this(context.getApplicationContext(), action, parameters, null); + } private DownloadServiceCommand(@NonNull Context context, @NonNull String action, @Nullable ResultReceiver resultReceiver) { + this(context.getApplicationContext(), action, null, resultReceiver); + } + + private DownloadServiceCommand(@NonNull Context context, @NonNull String action, @Nullable Bundle parameters, @Nullable ResultReceiver resultReceiver) { super(); this.context = context; this.action = action; + this.parameters = parameters; this.resultReceiver = resultReceiver; } @@ -53,6 +63,10 @@ public class DownloadServiceCommand { if (resultReceiver != null) { command.putExtra(ProviderAPI.RECEIVER_KEY, resultReceiver); } + if (parameters == null) { + parameters = Bundle.EMPTY; + } + command.putExtra(ProviderAPI.PARAMETERS, parameters); return command; } @@ -73,7 +87,12 @@ public class DownloadServiceCommand { command.execute(); } - public static void execute(Context context, String action, ResultReceiver resultReceiver) { + public static void execute(Context context, String action, Bundle parameters) { + DownloadServiceCommand command = new DownloadServiceCommand(context, action, parameters); + command.execute(); + } + + public static void execute(Context context, String action, Bundle parameters, ResultReceiver resultReceiver) { DownloadServiceCommand command = new DownloadServiceCommand(context, action, resultReceiver); command.execute(); } diff --git a/app/src/fatweb/java/se.leap.bitmaskclient/appUpdate/UpdateDownloadManager.java b/app/src/fatweb/java/se.leap.bitmaskclient/appUpdate/UpdateDownloadManager.java index b50c587c..109164c5 100644 --- a/app/src/fatweb/java/se.leap.bitmaskclient/appUpdate/UpdateDownloadManager.java +++ b/app/src/fatweb/java/se.leap.bitmaskclient/appUpdate/UpdateDownloadManager.java @@ -48,6 +48,8 @@ import static se.leap.bitmaskclient.base.models.Constants.BROADCAST_DOWNLOAD_SER import static se.leap.bitmaskclient.base.models.Constants.BROADCAST_RESULT_CODE; import static se.leap.bitmaskclient.base.models.Constants.BROADCAST_RESULT_KEY; import static se.leap.bitmaskclient.base.utils.FileHelper.readPublicKey; +import static se.leap.bitmaskclient.providersetup.ProviderAPI.DELAY; +import static se.leap.bitmaskclient.providersetup.ProviderAPI.PARAMETERS; import static se.leap.bitmaskclient.providersetup.ProviderAPI.RECEIVER_KEY; public class UpdateDownloadManager implements Logger, DownloadConnector.DownloadProgress { @@ -93,6 +95,15 @@ public class UpdateDownloadManager implements Logger, DownloadConnector.Download receiver = command.getParcelableExtra(RECEIVER_KEY); } String action = command.getAction(); + Bundle parameters = command.getBundleExtra(PARAMETERS); + + if (parameters.containsKey(DELAY)) { + try { + Thread.sleep(parameters.getLong(DELAY)); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } Bundle result = new Bundle(); switch (action) { |