static void __set_bg_state(void)
{
- if (__init_wl() < 0)
+ if (!tz_policy && __init_wl() < 0)
return;
tizen_policy_set_background_state(tz_policy, getpid());
wl_display_roundtrip(dsp);
bg_state = false;
_DBG("bg state: %d", bg_state);
- __finish_wl();
}
static void __appcore_efl_prepare_to_suspend(void *data)
first_launch = FALSE;
} else {
_INFO("[APP %d] App already running, raise the window", _pid);
- if (bg_state) {
- bg_launch = bundle_get_val(b, AUL_SVC_K_BG_LAUNCH);
- if (!bg_launch || strcmp(bg_launch, "enable"))
+ bg_launch = bundle_get_val(b, AUL_SVC_K_BG_LAUNCH);
+ if (bg_launch && strcmp(bg_launch, "enable") == 0) {
+ if (!bg_state && ui->state != AS_RUNNING)
+ __set_bg_state();
+ } else {
+ if (bg_state)
__unset_bg_state();
}
- wl_raise_win();
+ if (!bg_state)
+ wl_raise_win();
}
LOG(LOG_DEBUG, "LAUNCH", "[%s:Application:reset:done]",
ui->name);
ecore_event_handler_del(ui->hlower);
__appcore_timer_del(ui);
+ __finish_wl();
elm_shutdown();
static void __set_bg_state(void)
{
- if (__init_wl() < 0)
+ if (!tz_policy && __init_wl() < 0)
return;
tizen_policy_set_background_state(tz_policy, getpid());
wl_display_roundtrip(dsp);
bg_state = false;
_DBG("bg state: %d", bg_state);
- __finish_wl();
}
static void __do_start(bundle *b)
return;
}
- if ((__context.hint & APPCORE_UI_BASE_HINT_BG_LAUNCH_CONTROL) &&
- bg_state) {
+ if (__context.hint & APPCORE_UI_BASE_HINT_BG_LAUNCH_CONTROL) {
bg_launch = bundle_get_val(b, AUL_SVC_K_BG_LAUNCH);
- if (!bg_launch || strcmp(bg_launch, "enable"))
- __unset_bg_state();
+ if (bg_launch && strcmp(bg_launch, "enable") == 0) {
+ if (!bg_state && __context.state != AS_RUNNING)
+ __set_bg_state();
+ } else {
+ if (bg_state)
+ __unset_bg_state();
+ }
}
- __raise_win();
+ if (!bg_state)
+ __raise_win();
}
EXPORT_API int appcore_ui_base_on_receive(aul_type type, bundle *b)
if (__context.hlower)
ecore_event_handler_del(__context.hlower);
+ __finish_wl();
elm_shutdown();
/* Check loader case */