|
|
|
@ -42,12 +42,10 @@ static void set_awake(UIState *s, bool awake) { |
|
|
|
|
// TODO: replace command_awake and command_sleep with direct calls to android
|
|
|
|
|
if (awake) { |
|
|
|
|
LOGW("awake normal"); |
|
|
|
|
system("service call window 18 i32 1"); // enable event processing
|
|
|
|
|
framebuffer_set_power(s->fb, HWC_POWER_MODE_NORMAL); |
|
|
|
|
} else { |
|
|
|
|
LOGW("awake off"); |
|
|
|
|
set_brightness(s, 0); |
|
|
|
|
system("service call window 18 i32 0"); // disable event processing
|
|
|
|
|
framebuffer_set_power(s->fb, HWC_POWER_MODE_OFF); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -57,8 +55,20 @@ static void set_awake(UIState *s, bool awake) { |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int event_processing_enabled = -1; |
|
|
|
|
static void enable_event_processing(bool yes) { |
|
|
|
|
if (event_processing_enabled != 1 && yes) { |
|
|
|
|
system("service call window 18 i32 1"); // enable event processing
|
|
|
|
|
event_processing_enabled = 1; |
|
|
|
|
} else if (event_processing_enabled != 0 && !yes) { |
|
|
|
|
system("service call window 18 i32 0"); // disable event processing
|
|
|
|
|
event_processing_enabled = 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void navigate_to_settings(UIState *s) { |
|
|
|
|
#ifdef QCOM |
|
|
|
|
enable_event_processing(true); |
|
|
|
|
system("am broadcast -a 'ai.comma.plus.SidebarSettingsTouchUpInside'"); |
|
|
|
|
#else |
|
|
|
|
// computer UI doesn't have offroad settings
|
|
|
|
@ -67,6 +77,9 @@ static void navigate_to_settings(UIState *s) { |
|
|
|
|
|
|
|
|
|
static void navigate_to_home(UIState *s) { |
|
|
|
|
#ifdef QCOM |
|
|
|
|
if (s->vision_connected) { |
|
|
|
|
enable_event_processing(false); |
|
|
|
|
} |
|
|
|
|
system("am broadcast -a 'ai.comma.plus.HomeButtonTouchUpInside'"); |
|
|
|
|
#else |
|
|
|
|
// computer UI doesn't have offroad home
|
|
|
|
@ -722,6 +735,7 @@ static void* vision_connect_thread(void *args) { |
|
|
|
|
|
|
|
|
|
s->vision_connected = true; |
|
|
|
|
s->vision_connect_firstrun = true; |
|
|
|
|
enable_event_processing(false); |
|
|
|
|
|
|
|
|
|
// Drain sockets
|
|
|
|
|
while (true){ |
|
|
|
@ -926,6 +940,8 @@ int main(int argc, char* argv[]) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!s->vision_connected) { |
|
|
|
|
// always process events offroad
|
|
|
|
|
enable_event_processing(true); |
|
|
|
|
if (s->status != STATUS_STOPPED) { |
|
|
|
|
update_status(s, STATUS_STOPPED); |
|
|
|
|
} |
|
|
|
|