1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #ifndef PLATFORM_ANDROID_POWER_ANDROID_H_
- #define PLATFORM_ANDROID_POWER_ANDROID_H_
- #include "os/os.h"
- #include <android/native_window_jni.h>
- class power_android {
- struct LocalReferenceHolder {
- JNIEnv *m_env;
- const char *m_func;
- };
- private:
- static struct LocalReferenceHolder refs;
- static JNIEnv *env;
- static jmethodID mid;
- static jobject context;
- static jstring action;
- static jclass cls;
- static jobject filter;
- static jobject intent;
- static jstring iname;
- static jmethodID imid;
- static jstring bname;
- static jmethodID bmid;
- int nsecs_left;
- int percent_left;
- OS::PowerState power_state;
- bool GetPowerInfo_Android();
- bool UpdatePowerInfo();
- public:
- static int s_active;
- power_android();
- virtual ~power_android();
- static bool LocalReferenceHolder_Init(struct LocalReferenceHolder *refholder, JNIEnv *env);
- static struct LocalReferenceHolder LocalReferenceHolder_Setup(const char *func);
- static void LocalReferenceHolder_Cleanup(struct LocalReferenceHolder *refholder);
- OS::PowerState get_power_state();
- int get_power_seconds_left();
- int get_power_percent_left();
- };
- #endif
|