summaryrefslogtreecommitdiff
path: root/plugins/nl.x-services.plugins.insomnia/src/android/nl/xservices
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/nl.x-services.plugins.insomnia/src/android/nl/xservices')
-rw-r--r--plugins/nl.x-services.plugins.insomnia/src/android/nl/xservices/plugins/Insomnia.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/plugins/nl.x-services.plugins.insomnia/src/android/nl/xservices/plugins/Insomnia.java b/plugins/nl.x-services.plugins.insomnia/src/android/nl/xservices/plugins/Insomnia.java
new file mode 100644
index 00000000..95094938
--- /dev/null
+++ b/plugins/nl.x-services.plugins.insomnia/src/android/nl/xservices/plugins/Insomnia.java
@@ -0,0 +1,47 @@
+package nl.xservices.plugins;
+
+import android.view.WindowManager;
+import org.apache.cordova.CallbackContext;
+import org.apache.cordova.CordovaPlugin;
+import org.apache.cordova.PluginResult;
+import org.json.JSONArray;
+import org.json.JSONException;
+
+public class Insomnia extends CordovaPlugin {
+
+ private static final String ACTION_KEEP_AWAKE = "keepAwake";
+ private static final String ACTION_ALLOW_SLEEP_AGAIN = "allowSleepAgain";
+
+ @Override
+ public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {
+ try {
+ if (ACTION_KEEP_AWAKE.equals(action)) {
+ cordova.getActivity().runOnUiThread(
+ new Runnable() {
+ public void run() {
+ cordova.getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
+ callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK));
+ }
+ });
+ return true;
+
+ } else if (ACTION_ALLOW_SLEEP_AGAIN.equals(action)) {
+ cordova.getActivity().runOnUiThread(
+ new Runnable() {
+ public void run() {
+ cordova.getActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
+ callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK));
+ }
+ });
+ return true;
+
+ } else {
+ callbackContext.error("insomnia." + action + " is not a supported function. Did you mean '" + ACTION_KEEP_AWAKE + "'?");
+ return false;
+ }
+ } catch (Exception e) {
+ callbackContext.error(e.getMessage());
+ return false;
+ }
+ }
+}