diff options
author | Parménides GV <parmegv@sdf.org> | 2015-05-01 10:34:33 +0200 |
---|---|---|
committer | Parménides GV <parmegv@sdf.org> | 2015-05-01 10:34:33 +0200 |
commit | e2e90dab0fcad09b342630617dd9da8be3d23f8c (patch) | |
tree | 18671f6716133ca2dc2a059b82ad86d45d555fa5 /app/src/main/java/se/leap/bitmaskclient/ProviderAPICommand.java | |
parent | 834fe99739264d498e3e8c87002b0e92cf8160a0 (diff) | |
parent | 436de7afeea2cd234db8a4b70ace396101126e88 (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.java | 45 |
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; + } + + +} |