diff options
author | Junghoon Park <jh9216.park@samsung.com> | 2016-03-16 11:03:05 +0900 |
---|---|---|
committer | Junghoon Park <jh9216.park@samsung.com> | 2016-03-15 19:33:02 -0700 |
commit | 1ef14706fdb95bfa42d9ad0f881ad8223e73f64b (patch) | |
tree | 9325377f2e5aede1e90473f03bbb5338d74b0dca | |
parent | 066b27a1867d361ccc395c56d8ff4699a30089cf (diff) | |
download | app-core-1ef14706fdb95bfa42d9ad0f881ad8223e73f64b.tar.gz app-core-1ef14706fdb95bfa42d9ad0f881ad8223e73f64b.tar.bz2 app-core-1ef14706fdb95bfa42d9ad0f881ad8223e73f64b.zip |
Support activate-below feature when launching appsubmit/tizen/20160404.120725accepted/tizen/wearable/20160405.012913accepted/tizen/tv/20160405.012858accepted/tizen/mobile/20160405.012838accepted/tizen/ivi/20160405.013204accepted/tizen/common/20160405.132156
- Requires
https://review.tizen.org/gerrit/#/c/61893/
https://review.tizen.org/gerrit/#/c/62048/
Change-Id: Id3b2ad04202f148161dc664f0c6d418abdaeb720
Signed-off-by: Junghoon Park <jh9216.park@samsung.com>
-rw-r--r-- | src/appcore-efl.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/appcore-efl.c b/src/appcore-efl.c index a585e79..62f9ea8 100644 --- a/src/appcore-efl.c +++ b/src/appcore-efl.c @@ -42,6 +42,8 @@ #include <gio/gio.h> #include <stdbool.h> #include <aul.h> +#include <aul_svc.h> +#include <bundle_internal.h> #include <ttrace.h> #include "appcore-internal.h" @@ -80,6 +82,7 @@ struct ui_priv { void *rot_cb_data; enum appcore_rm rot_mode; bundle *pending_data; + char *below_app; }; static struct ui_priv priv; @@ -249,6 +252,7 @@ static void __do_app(enum app_event event, void *data, bundle * b) { int r = -1; struct ui_priv *ui = data; + const char *below_app; _DBG("[APP %d] Event: %d", _pid, event); _ret_if(ui == NULL || event >= AE_MAX); @@ -306,6 +310,14 @@ static void __do_app(enum app_event event, void *data, bundle * b) ui->pending_data = bundle_dup(b); LOG(LOG_DEBUG, "LAUNCH", "[%s:Application:reset:start]", ui->name); + if (ui->below_app) { + free(ui->below_app); + ui->below_app = NULL; + } + + below_app = bundle_get_val(b, AUL_SVC_K_RELOCATE_BELOW); + if (below_app) + ui->below_app = strdup(below_app); #ifdef _APPFW_FEATURE_BACKGROUND_MANAGEMENT if (ui->exit_from_suspend) { _DBG("[__SUSPEND__] reset case"); @@ -383,6 +395,12 @@ static void __do_app(enum app_event event, void *data, bundle * b) traceEnd(TTRACE_TAG_APPLICATION_MANAGER); } ui->state = AS_RUNNING; + + if (ui->below_app) { + aul_app_group_activate_below(ui->below_app); + free(ui->below_app); + ui->below_app = NULL; + } } /*TODO : rotation start*/ /* r = appcore_resume_rotation_cb(); */ |