p = soundzone[i].req;
while (p) {
if (p->timer > 0) {
- p->timer --;
+ if (p->timer >= ICO_APC_REQREPLY_INTERVAL)
+ p->timer -= ICO_APC_REQREPLY_INTERVAL;
+ else
+ p->timer = 0;
apfw_trace("request_timer: soundzone[%d] timer(%d)", i, p->timer);
if (p->timer == 0) {
apfw_trace("request_timer: sound timedout(%s %d %d prio=%08x)",
break;
case ICO_UXF_POLICY_SHIFT_PARKING:
if ((VehicleSpeed < ICO_SYC_APC_REGULATION_SPEED_RUNNING) &&
- (ShiftPosition == ICO_SYC_APC_REGULATION_SHIFT_PARKING))
- wkcontrol[idx].display = ICO_SYC_APC_REGULATION_REGULATION;
- else
+ ((ShiftPosition == ICO_SYC_APC_REGULATION_SHIFT_PARKING) ||
+ (ShiftPosition == ICO_SYC_APC_REGULATION_SHIFT_NEUTRALS)))
wkcontrol[idx].display = ICO_SYC_APC_REGULATION_NOREGULATION;
+ else
+ wkcontrol[idx].display = ICO_SYC_APC_REGULATION_REGULATION;
break;
case ICO_UXF_POLICY_SHIFT_REVERSES:
if (ShiftPosition == ICO_SYC_APC_REGULATION_SHIFT_REVERSES)
wkcontrol[idx].sound = ICO_SYC_APC_REGULATION_NOREGULATION;
break;
case ICO_UXF_POLICY_SHIFT_PARKING:
- if (ShiftPosition == ICO_SYC_APC_REGULATION_SHIFT_PARKING)
+ if ((VehicleSpeed < ICO_SYC_APC_REGULATION_SPEED_RUNNING) &&
+ ((ShiftPosition == ICO_SYC_APC_REGULATION_SHIFT_PARKING) ||
+ (ShiftPosition == ICO_SYC_APC_REGULATION_SHIFT_NEUTRALS)))
wkcontrol[idx].sound = ICO_SYC_APC_REGULATION_NOREGULATION;
else
wkcontrol[idx].sound = ICO_SYC_APC_REGULATION_REGULATION;
wkcontrol[idx].input = ICO_SYC_APC_REGULATION_NOREGULATION;
break;
case ICO_UXF_POLICY_SHIFT_PARKING:
- if (ShiftPosition == ICO_SYC_APC_REGULATION_SHIFT_PARKING)
+ if ((VehicleSpeed < ICO_SYC_APC_REGULATION_SPEED_RUNNING) &&
+ ((ShiftPosition == ICO_SYC_APC_REGULATION_SHIFT_PARKING) ||
+ (ShiftPosition == ICO_SYC_APC_REGULATION_SHIFT_NEUTRALS)))
wkcontrol[idx].input = ICO_SYC_APC_REGULATION_NOREGULATION;
else
wkcontrol[idx].input = ICO_SYC_APC_REGULATION_REGULATION;
gIco_Uxf_Api_Mng.WaylandFd = -1;
gIco_Uxf_Api_Mng.Wayland_Display = NULL;
gIco_Uxf_Api_Mng.InitTimer = ICO_UXF_SUSP_INITTIME;
+ gIco_Uxf_Api_Mng.Win_Show_Anima = 1;
+ gIco_Uxf_Api_Mng.Win_Hide_Anima = 1;
/* read configurations */
sysconf = (Ico_Uxf_Sys_Config *)ico_uxf_getSysConfig();
{
Ico_Uxf_Mng_Process *proc; /* process management table */
int hash;
- bundle *appBundle = NULL;
Ico_Uxf_conf_application *apptbl = NULL;
uifw_trace("ico_uxf_process_execute: Enter(%s)", name);
proc->attr.status = ICO_UXF_PROCSTATUS_INIT;
ico_uxf_leave_critical(); /* leave critical section */
- /* setup option */
- appBundle = bundle_create();
- apptbl = (Ico_Uxf_conf_application *)ico_uxf_getAppByAppid(name);
- if ((appBundle != NULL) && (apptbl != NULL)) {
- char *opt = strdup(apptbl->exec);
- char *key = strtok(opt, " ");
- char *val = NULL;
- while (key != NULL) {
- key = strtok(NULL, " ");
- val = strtok(NULL, " ");
- if ((key != NULL) && (val != NULL)) {
- bundle_add(appBundle, key, val);
- uifw_trace("ico_uxf_process_execute: option(key=%s, val=%s)", key, val);
- }
- }
- free(opt);
- }
-
/* execute program */
- proc->attr.internalid = aul_launch_app(name ,appBundle);
- if (appBundle != NULL) {
- bundle_free(appBundle);
- }
+ proc->attr.internalid = aul_launch_app(name , NULL);
if (proc->attr.internalid < 0) {
uifw_error("ico_uxf_process_execute: Leave(ENOSYS), Launch App Error(%d)",
proc->attr.internalid);
int EventMask; /* receive event */
unsigned int LastEvent; /* last receive event(end synchronization)*/
int AppsCtlVisible; /* Tempolary visible all windows */
+ short Win_Show_Anima; /* Window animation at show */
+ short Win_Hide_Anima; /* Window animation at hide */
int NeedTimer; /* need timer control */
int InitTimer; /* initial timer */
else newcontrol = 1;
}
/* request to Weston(Multi Window Manager) */
- ico_uxf_window_visible_control(
- winmng,
- (newcontrol != 0) ? ICO_WINDOW_MGR_VISIBLE_HIDE_ANIMATION :
- ICO_WINDOW_MGR_VISIBLE_SHOW_ANIMATION,
- ICO_WINDOW_MGR_RAISE_NOCHANGE);
+ if (newcontrol == 0) {
+ if (gIco_Uxf_Api_Mng.Win_Show_Anima)
+ i = ICO_WINDOW_MGR_VISIBLE_SHOW_ANIMATION;
+ else
+ i = ICO_WINDOW_MGR_VISIBLE_SHOW;
+ }
+ else {
+ if (gIco_Uxf_Api_Mng.Win_Hide_Anima)
+ i = ICO_WINDOW_MGR_VISIBLE_HIDE_ANIMATION;
+ else
+ i = ICO_WINDOW_MGR_VISIBLE_HIDE;
+ }
+ ico_uxf_window_visible_control(winmng, i,
+ ICO_WINDOW_MGR_RAISE_NOCHANGE);
}
}
uifw_trace("ico_uxf_window_control: Leave(EOK) control=%x(%d) visible=%d",
/*--------------------------------------------------------------------------*/
/**
+ * @brief ico_uxf_window_control: target window control from AppsController
+ *
+ * @param[in] control Control Target(0=Hide/1=Show)
+ * @param[in] animation Animation(0=Without Animation/1=With Animation)
+ * @return none
+ */
+/*--------------------------------------------------------------------------*/
+ICO_APF_API void
+ico_uxf_window_animation_control(const int control, const int animation)
+{
+ uifw_trace("ico_uxf_window_animation_control: %s to %s",
+ control ? "Show" : "Hide", animation ? "Animation" : "No Animation");
+ if (control) {
+ gIco_Uxf_Api_Mng.Win_Show_Anima = animation;
+ }
+ else {
+ gIco_Uxf_Api_Mng.Win_Hide_Anima = animation;
+ }
+}
+
+/*--------------------------------------------------------------------------*/
+/**
* @brief ico_uxf_window_show: show a target window
* if target window's state is visible, do nothing and return success
*
/* Activate window */
int ico_uxf_window_animation(const int window, const char *animation, const int time);
/* Set window animation */
+void ico_uxf_window_animation_control(const int control, const int animation);
+ /* Set animation control */
int ico_uxf_window_control(const char *appid, const int winidx,
const int control, const int onoff);
/* Window visible control from AppsController*/
+* Wed Jun 12 2013 Shibata Makoto <shibata@mac.tec.toyota.co.jp> submit/2.0alpha-wayland/20130612.051552@7006a0f
+- 0.3.07 release
+- Fix for TIVI-1002 - [WLD] Entertainment.Visual APP doesn't stop the audio play and show the window while vehicle speed>=4
+ The spelling of the category name that defined in configuration file(/opt/apps/org.tizen.ico.homescreen/res/config/system.conf) was wrong with "Entertainment.visiual".
+ A judgment logic had an error about the control of the sound by the run regulation.
+- fix for - Run regulation was it in an error in a judgment logic of the run regulation about shift_back (e.g., a application category of Camera.back).
+- fix for - A definition of category CarSetting was wrong in configuration.
+- Add an transition of the fading at the time of a change of the application screen.
+- Appoint that more than ico-uxf-weston-plugin-0.5.06 are necessary for spec file.
+- Delete logic of setting argment when Homescreen launch a application
+
* Wed Jun 12 2013 Shibata Makoto <shibata@mac.tec.toyota.co.jp> accepted/2.0alpha-wayland/20130606.173158@c36bbb6
- 0.3.06 release
- Fix for TIVI-840 - [WLD] Nothing rendered when launching Contacts app
Name: ico-uxf-HomeScreen
Summary: sample homescreen
-Version: 0.3.06
+Version: 0.3.07
Release: 1.1
Group: TO_BE/FILLED_IN
License: Apache License, Version 2.0
3.priority=2
4=CarSetting
4.type=maker
-4.view=parked
-4.sound=parked
-4.input=parked
+4.view=shift_park
+4.sound=shift_park
+4.input=shift_park
4.priority=2
5=Camera.Back
5.type=maker
9.sound=always
9.input=always
9.priority=0
-10=Entertainment.visiual
+10=Entertainment.visual
10.type=unknown
10.view=always
10.sound=parked
3=SysApp.audio
3.privilege=system.audio
3.priority=3
-4=SysApp.visiual
+4=SysApp.visual
4.privilege=system.visible
4.priority=3
5=Maker
int sid;
uifw_trace("hs_show_appscreen: Enter(appid=%s)", appid ? appid : "(NULL)");
+
+ if (hs_stat_touch == ICO_HS_TOUCH_IN_HIDE) {
+ /* if it is the transition from an application screen to */
+ /* an other application screen, perform animation at hide screen*/
+ ico_uxf_window_animation_control(0, 1);
+ }
+ else {
+ /* if it is the transition from menu to an application screen, */
+ /* do not perform animation at hide appllication screen */
+ ico_uxf_window_animation_control(0, 0);
+ }
+
/* change to noraml mode for AppsControler */
ico_uxf_window_control(NULL, -1, ICO_UXF_APPSCTL_TEMPVISIBLE, 0);
}
}
hs_stat_touch = ICO_HS_TOUCH_IN_HIDE;
+ ico_uxf_window_animation_control(0, 1); /* change hide animation to default */
ico_uxf_main_loop_iterate();
uifw_trace("hs_show_appscreen: Leave");
fi
# 5 start sample wayland client for display cursor
-sync;sync
-/usr/bin/nice -19 /usr/bin/wayland-smoke &
-sleep 0.3
+#sync;sync
+#/usr/bin/nice -19 /usr/bin/wayland-smoke &
+#sleep 0.3
# 6 start app core daemon
/bin/ps ax | /bin/grep launchpad_preloading_preinitializing_daemon | /bin/grep -v grep > /dev/null
#define TYPE_UINT32 6
#define TYPE_DOUBLE 7
#define TYPE_STRING 8
+#define TYPE_SHIFT 12
#if LWS_INTERFACE > 0 /* WebSocket Interface */
#define LWS_DEFAULTIP "127.0.0.1" /* websockets default ip(localhost) */
{ "Direction", "DIRECTION", {TYPE_DOUBLE, TYPE_NULL, 0,0} },
{ "EngineSpeed", "ENGINE_SPEED", {TYPE_INT32, TYPE_NULL, 0, 0} },
{ "Engine", "ENGINE_SPEED", {TYPE_INT32, TYPE_NULL, 0, 0} },
- { "Shift", "SHIFT", {TYPE_BYTE, TYPE_BYTE, TYPE_NULL, 0} },
- { "ShiftPosition", "SHIFT", {TYPE_BYTE, TYPE_BYTE, TYPE_NULL, 0} },
+ { "Shift", "SHIFT", {TYPE_SHIFT, TYPE_BYTE, TYPE_NULL, 0} },
+ { "ShiftPosition", "SHIFT", {TYPE_SHIFT, TYPE_BYTE, TYPE_NULL, 0} },
{ "Break_Signal", "BRAKE_SIGNAL", {TYPE_BOOL, TYPE_NULL, 0,0} },
{ "BreakSignal", "BRAKE_SIGNAL", {TYPE_BOOL, TYPE_NULL, 0,0} },
{ "Break", "BRAKE_SIGNAL", {TYPE_BOOL, TYPE_NULL, 0,0} },
if (value[j] != 0) {
value[j++] = 0;
}
- switch (vehicleinfo_key[key].datatype[idx]) {
+ switch (vehicleinfo_key[key].datatype[idx] % 10) {
case TYPE_BOOL:
case TYPE_BYTE:
+ if (vehicleinfo_key[key].datatype[idx] == TYPE_SHIFT) {
+ if ((strcasecmp(&value[i], "sp") == 0) ||
+ (strcasecmp(&value[i], "s0") == 0)) {
+ strcpy(&value[i], "0");
+ }
+ else if (strcasecmp(&value[i], "sr") == 0) {
+ strcpy(&value[i], "1");
+ }
+ else if (strcasecmp(&value[i], "sn") == 0) {
+ strcpy(&value[i], "2");
+ }
+ else if ((strcasecmp(&value[i], "sd") == 0) ||
+ (strcasecmp(&value[i], "s4") == 0)) {
+ strcpy(&value[i], "4");
+ }
+ else if ((strcasecmp(&value[i], "s1") == 0) ||
+ (strcasecmp(&value[i], "sl") == 0)) {
+ strcpy(&value[i], "5");
+ }
+ else if (strcasecmp(&value[i], "s2") == 0) {
+ strcpy(&value[i], "6");
+ }
+ else if (strcasecmp(&value[i], "s3") == 0) {
+ strcpy(&value[i], "7");
+ }
+ }
msg.msg.data.status[pt++] = strtoul(&value[i], (char **)0, 0);
msgsize += 1;
break;