int set_screen_state(int on) { QEMU_FALLBACK(set_screen_state(on)); LOGI("*** set_screen_state %d", on); initialize_fds(); //LOGI("go_to_sleep eventTime=%lld now=%lld g_error=%s\n", eventTime, // systemTime(), strerror(g_error)); if (g_error) return g_error; char buf[32]; int len; if(on) len = sprintf(buf, on_state); else len = sprintf(buf, off_state); len = write(g_fds[REQUEST_STATE], buf, len); if(len < 0) { LOGE("Failed setting last user activity: g_error=%d\n", g_error); } return 0; }
int set_screen_state(int on) { QEMU_FALLBACK(set_screen_state(on)); LOGI("*** set_screen_state %d", on); initialize_fds(); //LOGI("go_to_sleep eventTime=%lld now=%lld g_error=%s\n", eventTime, // systemTime(), strerror(g_error)); if (g_error) { LOGE("Failed setting last user activity: g_error=%d\n", g_error); return 0; } char buf[32]; int len; if (on == 1) { len = sprintf(buf, "%s", on_state); len = write(g_fds[REQUEST_STATE], buf, len); if (len < 0) LOGE("Failed setting last user activity: g_error=%d\n", g_error); } else if(on == 0){ /*Check it is safe to enter suspend*/ if (is_safe_suspend()) { len = sprintf(buf, "%s", off_state); len = write(g_fds[REQUEST_STATE], buf, len); if (len < 0) LOGE("Failed setting last user activity: g_error=%d\n", g_error); } else{ pthread_t threadId; pthread_create(&threadId, NULL, set_state_off_sync, NULL); } }else if(on == 2){ /*Check it is safe to enter suspend*/ if (is_safe_suspend()) { len = sprintf(buf, "%s", eink_state); len = write(g_fds[REQUEST_STATE], buf, len); if (len < 0) LOGE("Failed setting last user activity: g_error=%d\n", g_error); } else{ pthread_t threadId; pthread_create(&threadId, NULL, set_state_eink_sync, NULL); } } return 0; }
int set_screen_state(int on) { QEMU_FALLBACK(set_screen_state(on)); LOGI("*** set_screen_state %d", on); initialize_fds(); //LOGI("go_to_sleep eventTime=%lld now=%lld g_error=%s\n", eventTime, // systemTime(), strerror(g_error)); if (g_error) return g_error; char buf[32]; int len; FILE *fp; if(on) { system("echo 4 > /sys/devices/system/cpu/cpu0/op"); system("echo 0 > /sys/class/backlight/pxa3xx_pwm_bl/bl_power"); system("echo everlife > /sys/power/wake_unlock"); len = sprintf(buf, on_state); } else { fp = fopen("/tmp/wakeup", "r"); if (fp != 0) { fclose(fp); system("echo everlife > /sys/power/wake_lock"); system("rm /tmp/wakeup"); } //system("echo everlife > /sys/power/wake_lock"); //system("echo 1 > /sys/class/backlight/pxa3xx_pwm_bl/bl_power"); //system("echo 1 > /sys/devices/system/cpu/cpu0/op"); len = sprintf(buf, off_state); } len = write(g_fds[REQUEST_STATE], buf, len); if(len < 0) { LOGE("Failed setting last user activity: g_error=%d\n", g_error); } return 0; }
void *thread_fastsleep(void *para) { ALOGE("##: delay 2 seconds to wait AT command has been sent to modem...\n"); sleep(2); ALOGE("##: Going to sleep mode!\n"); turnoff_lcd_backlight(); set_screen_state(0); ALOGE("##: Waiting for a while...\n"); char cmd[] = {"echo mem > /sys/power/state"}; system(cmd); #if 0 int fd, stringsize; char cmd[] = {"echo mem > /sys/power/state"}; system(cmd); fd = open("proc/syssleep", O_RDWR); if (fd < 0) { ALOGE("Unknown error: %s", strerror(errno)); return NULL; } if (lseek(fd, 0, SEEK_SET) != 0) { ALOGE("Cant lseek error :%s", strerror(errno)); goto leave; } stringsize = strlen("on"); if (write(fd, "on", stringsize) != stringsize) { ALOGE("Could not write error :%s", strerror(errno)); goto leave; } leave: close(fd); #endif return NULL; }
void SetScreenEnabled(bool enabled) { set_screen_state(enabled); sScreenEnabled = enabled; }
static int setScreenState(JNIEnv *env, jobject clazz, jboolean on) { return set_screen_state(on); }