summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/ProviderAPICommand.java
diff options
context:
space:
mode:
authorParménides GV <parmegv@sdf.org>2015-05-01 10:34:33 +0200
committerParménides GV <parmegv@sdf.org>2015-05-01 10:34:33 +0200
commite2e90dab0fcad09b342630617dd9da8be3d23f8c (patch)
tree18671f6716133ca2dc2a059b82ad86d45d555fa5 /app/src/main/java/se/leap/bitmaskclient/ProviderAPICommand.java
parent834fe99739264d498e3e8c87002b0e92cf8160a0 (diff)
parent436de7afeea2cd234db8a4b70ace396101126e88 (diff)
Merge branch 'feature/Move-log-in-button-to-the-Dashboard-6911' into feature/Look-for-a-better-solution-to-the-VPN-slider-#6863
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/ProviderAPICommand.java')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/ProviderAPICommand.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/ProviderAPICommand.java b/app/src/main/java/se/leap/bitmaskclient/ProviderAPICommand.java
new file mode 100644
index 00000000..0e4cfe8a
--- /dev/null
+++ b/app/src/main/java/se/leap/bitmaskclient/ProviderAPICommand.java
@@ -0,0 +1,45 @@
+package se.leap.bitmaskclient;
+
+import android.content.*;
+import android.os.*;
+
+import org.jetbrains.annotations.*;
+
+public class ProviderAPICommand {
+ private static Context context;
+
+ private static String action;
+ private static Bundle parameters;
+ private static ResultReceiver result_receiver;
+
+ public static void initialize(Context context) {
+ ProviderAPICommand.context = context;
+ }
+
+ private static boolean isInitialized() {
+ return context != null;
+ }
+
+ public static void execute(Bundle parameters, @NotNull String action, @NotNull ResultReceiver result_receiver) throws IllegalStateException {
+ if(!isInitialized()) throw new IllegalStateException();
+
+ ProviderAPICommand.action = action;
+ ProviderAPICommand.parameters = parameters;
+ ProviderAPICommand.result_receiver = result_receiver;
+
+ Intent intent = setUpIntent();
+ context.startService(intent);
+ }
+
+ private static Intent setUpIntent() {
+ Intent command = new Intent(context, ProviderAPI.class);
+
+ command.setAction(action);
+ command.putExtra(ProviderAPI.PARAMETERS, parameters);
+ command.putExtra(ProviderAPI.RECEIVER_KEY, result_receiver);
+
+ return command;
+ }
+
+
+}