diff options
author | Parménides GV <parmegv@sdf.org> | 2015-04-29 12:25:24 +0200 |
---|---|---|
committer | Parménides GV <parmegv@sdf.org> | 2015-04-29 12:26:23 +0200 |
commit | f008b5ec8e1c74968e4a605d2de5423edf91b854 (patch) | |
tree | a6e8906aa5d09c24a48f533f6a057a84ee16265e /app/src/main/java/se/leap/bitmaskclient/ProviderAPICommand.java | |
parent | 6cc1443a27a4be762e4b53deb464d15a99d698ac (diff) |
Creating a user session fragment.
I've separated the user session management to it, and encapsulated
ProviderAPICommand into its own class.
Putting the fragment statically in dashboard.xml isn't working, Android
complains about it being duplicated, so I'm going to add it dynamically.
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; + } + + +} |