Ei kuvausta

RNIdleModule.java 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package com.github.wusuopu.RNIdle;
  2. import android.app.Activity;
  3. import android.content.BroadcastReceiver;
  4. import android.content.Context;
  5. import android.content.Intent;
  6. import android.content.IntentFilter;
  7. import android.content.pm.ActivityInfo;
  8. import android.content.res.Configuration;
  9. import android.util.Log;
  10. import com.facebook.common.logging.FLog;
  11. import com.facebook.react.bridge.Arguments;
  12. import com.facebook.react.bridge.Callback;
  13. import com.facebook.react.bridge.ReactApplicationContext;
  14. import com.facebook.react.bridge.ReactContextBaseJavaModule;
  15. import com.facebook.react.bridge.ReactMethod;
  16. import com.facebook.react.bridge.WritableMap;
  17. import com.facebook.react.common.ReactConstants;
  18. import com.facebook.react.modules.core.DeviceEventManagerModule;
  19. import java.util.HashMap;
  20. import java.util.Map;
  21. import javax.annotation.Nullable;
  22. public class RNIdleModule extends ReactContextBaseJavaModule {
  23. public RNIdleModule(ReactApplicationContext reactContext) {
  24. super(reactContext);
  25. }
  26. @Override
  27. public String getName() {
  28. return "RNIdle";
  29. }
  30. @ReactMethod
  31. public void disableIdleTimer() {
  32. setIdleTimerDisabled(true);
  33. }
  34. @ReactMethod
  35. public void enableIdleTimer() {
  36. setIdleTimerDisabled(false);
  37. }
  38. public void setIdleTimerDisabled(final boolean disabled) {
  39. final Activity activity = this.getCurrentActivity();
  40. if (activity != null) {
  41. activity.runOnUiThread(new Runnable() {
  42. @Override
  43. public void run() {
  44. if (disabled) {
  45. activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
  46. } else {
  47. activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
  48. }
  49. }
  50. });
  51. }
  52. }
  53. }