Evas_Object *layout;
bool visible;
bool on_initialization;
- int before_wifi_state;
} s_info = {
.win = NULL,
.bg_scroller = NULL,
.layout = NULL,
.visible = false,
.on_initialization = false,
- .before_wifi_state = 0,
};
static telephony_handle_list_s handle_list;
static void __register_status_callback(void);
static void __unregister_status_callback(void);
static void __battery_state_changed_cb(device_callback_e type, void *value, void *user_data);
-static void __call_network_service_state_changed_cb(telephony_h handle, telephony_noti_e noti_id, void *data, void *user_data);
+static void __telephony_service_state_changed_cb(telephony_h handle, telephony_noti_e noti_id, void *data, void *user_data);
+static void __callsignal_state_changed_cb(telephony_h handle, telephony_noti_e noti_id, void *data, void *user_data);
+static void __network_packet_type_changed_cb(telephony_h handle, telephony_noti_e noti_id, void *data, void *user_data);
static void __network_type_changed_cb(keynode_t *node, void *user_data);
static void __flight_mode_changed_cb(keynode_t *node, void *user_data);
static void __wifi_state_changed_cb(keynode_t *node, void *user_data);
static void __get_wifi_strength_and_packet_type(int *strength, int *packet_type);
static int __get_round_off_percent(int real_percent);
+static void __network_enable(void);
+static void __network_disable(void);
+static void __callsignal_disable(void);
+static void __callsignal_enable(void);
+
bool moments_get_visible(void)
{
return s_info.visible;
_D("This device is 3G DEVICE");
moments_status_callsignal_icon_show();
moments_status_network_icon_show();
- __simcard_state_changed_cb(NULL, 0, NULL, NULL);
- __call_network_service_state_changed_cb(NULL, 0, NULL, NULL);
+ __callsignal_state_changed_cb(NULL, 0, NULL, NULL);
+ __network_type_changed_cb(NULL, NULL);
__location_service_state_changed_cb(0, NULL);
__callforwarding_state_changed_cb(NULL, NULL);
}
+ __wifi_state_changed_cb(NULL, NULL);
__bluetooth_state_changed_cb(NULL, NULL);
__headset_state_changed_cb(NULL, NULL);
return;
}
+ /* Sim State */
ret = telephony_set_noti_cb(handle_list.handle[0], TELEPHONY_NOTI_SIM_STATUS, __simcard_state_changed_cb, NULL);
if (ret != TELEPHONY_ERROR_NONE) {
_E("Falied to set telephony notify sim state callback");
return;
}
- ret = telephony_set_noti_cb(handle_list.handle[0], TELEPHONY_NOTI_NETWORK_SERVICE_STATE, __call_network_service_state_changed_cb, NULL);
+ /* Telephony service state */
+ ret = telephony_set_noti_cb(handle_list.handle[0], TELEPHONY_NOTI_NETWORK_SERVICE_STATE, __telephony_service_state_changed_cb, NULL);
if (ret != TELEPHONY_ERROR_NONE) {
_E("Falied to set telephony notify service state callback");
return;
}
- ret = telephony_set_noti_cb(handle_list.handle[0], TELEPHONY_NOTI_NETWORK_SIGNALSTRENGTH_LEVEL, __call_network_service_state_changed_cb, NULL);
+ /* CallSignal */
+ ret = telephony_set_noti_cb(handle_list.handle[0], TELEPHONY_NOTI_NETWORK_SIGNALSTRENGTH_LEVEL, __callsignal_state_changed_cb, NULL);
if (ret != TELEPHONY_ERROR_NONE) {
_E("Falied to set telephony notify signal strength callback");
return;
}
-
- ret = telephony_set_noti_cb(handle_list.handle[0], TELEPHONY_NOTI_NETWORK_ROAMING_STATUS, __call_network_service_state_changed_cb, NULL);
+ ret = telephony_set_noti_cb(handle_list.handle[0], TELEPHONY_NOTI_NETWORK_ROAMING_STATUS, __callsignal_state_changed_cb, NULL);
if (ret != TELEPHONY_ERROR_NONE) {
_E("Falied to set telephony notify roaming status callback");
return;
}
- ret = telephony_set_noti_cb(handle_list.handle[0], TELEPHONY_NOTI_NETWORK_PS_TYPE, __call_network_service_state_changed_cb, NULL);
+ /* Network */
+ vconf_notify_key_changed(VCONFKEY_DNET_STATE, __network_type_changed_cb, NULL);
+ ret = telephony_set_noti_cb(handle_list.handle[0], TELEPHONY_NOTI_NETWORK_PS_TYPE, __network_packet_type_changed_cb, NULL);
if (ret != TELEPHONY_ERROR_NONE) {
_E("Falied to set telephony notify ps type callback");
return;
}
- vconf_notify_key_changed(VCONFKEY_DNET_STATE, __network_type_changed_cb, NULL);
-
+ /* Location */
ret = runtime_info_set_changed_cb(RUNTIME_INFO_KEY_GPS_STATUS, __location_service_state_changed_cb, NULL);
if (ret != RUNTIME_INFO_ERROR_NONE) {
_E("Failed to set location changed cb");
return;
}
+ /* Callforwarding */
vconf_notify_key_changed(VCONFKEY_TELEPHONY_CALL_FORWARD_STATE, __callforwarding_state_changed_cb, NULL);
+
+ /* FLIGHT MODE */
+ vconf_notify_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, __flight_mode_changed_cb, NULL);
}
- /* FLIGHTI MODE */
- vconf_notify_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, __flight_mode_changed_cb, NULL);
/* WIFI */
vconf_notify_key_changed(VCONFKEY_WIFI_STATE, __wifi_state_changed_cb, NULL);
vconf_notify_key_changed(VCONFKEY_WIFI_TRANSFER_STATE, __wifi_state_changed_cb, NULL);
moments_status_battery_update(percent, converted_percent, is_charging);
}
-static void __update_status_view_by_call_network_changed(int is_flight, int _service_state, int wifi_state)
+static void __telephony_service_state_changed_cb(telephony_h handle, telephony_noti_e noti_id, void *data, void *user_data)
{
+ _D("Telephony Service State Changed");
+ // Call, network, location, callforward
+ __callsignal_state_changed_cb(NULL, 0, NULL, NULL);
+ __network_type_changed_cb(NULL, NULL);
+ __location_service_state_changed_cb(0, NULL);
+ __callforwarding_state_changed_cb(NULL, NULL);
+}
+
+static void __callsignal_state_changed_cb(telephony_h handle, telephony_noti_e noti_id, void *data, void *user_data)
+{
+ _D("Callsignal Strength or Roaming State is changed");
int callsignal_strength = 0;
- int network_type = 0;
- int packet_type = 0;
bool is_roaming = false;
- telephony_network_service_state_e service_state = (telephony_network_service_state_e)_service_state;
- if (is_flight) {
- callsignal_strength = MOMENT_STATUS_FLIGHT_MODE;
- network_type = MOMENT_STATUS_NETWORK_DISABLE;
- packet_type = MOMENT_STATUS_NETWORK_PS_DISABLE;
- moments_status_location_icon_hide();
- } else {
- if (service_state == TELEPHONY_NETWORK_SERVICE_STATE_IN_SERVICE) {
- __get_callsignal_state(&is_roaming, &callsignal_strength);
-
- if (wifi_state == VCONFKEY_WIFI_CONNECTED) {
- __get_wifi_strength_and_packet_type(&network_type, &packet_type);
- } else {
- __get_network_strength_and_packet_type(&network_type, &packet_type);
- }
- __location_service_state_changed_cb(0, NULL);
- } else {
- if (wifi_state == VCONFKEY_WIFI_CONNECTED) {
- __get_wifi_strength_and_packet_type(&network_type, &packet_type);
- } else {
- network_type = MOMENT_STATUS_NETWORK_DISABLE;
- packet_type = MOMENT_STATUS_NETWORK_PS_DISABLE;
- }
- callsignal_strength = MOMENT_STATUS_CALL_DISABLE;
- moments_status_location_icon_hide();
- }
- }
+ __get_callsignal_state(&is_roaming, &callsignal_strength);
+
moments_status_callsignal_update(callsignal_strength, is_roaming);
- moments_status_network_update(wifi_state == VCONFKEY_WIFI_CONNECTED ? (int)network_type + MOMENT_STATUS_SIGNAL_WIFI_INDEX : (int)network_type, (int)network_type == 0 ? (int)network_type : (int)packet_type+15);
+}
+static void __callsignal_enable(void)
+{
+ _D("Callsignal enable");
+ int callsignal_strength = 0;
+ bool is_roaming = false;
- moments_status_update_view();
+ __get_callsignal_state(&is_roaming, &callsignal_strength);
+
+ moments_status_callsignal_update(callsignal_strength, is_roaming);
}
+static void __callsignal_disable(void)
+{
+ _D("Callsignal Disable");
+ int callsignal_strength = MOMENT_STATUS_FLIGHT_MODE;
+ bool is_roaming = false;
-static void __call_network_service_state_changed_cb(telephony_h handle, telephony_noti_e noti_id, void *data, void *user_data)
+ moments_status_callsignal_update(callsignal_strength, is_roaming);
+}
+
+static void __network_type_changed_cb(keynode_t *node, void *user_data)
{
- _D("Call & network Service State is changed");
- int is_flight = 0;
+ _D("Network type or packet type is changed");
+ int network_type = 0;
+ int packet_type = 0;
+
+ __get_network_strength_and_packet_type(&network_type, &packet_type);
+
+ moments_status_network_update(network_type, packet_type+15);
+}
+static void __network_enable(void)
+{
+ _D("Network Enable");
+ int network_type = 0;
+ int packet_type = 0;
int wifi_state = 0;
- telephony_network_service_state_e service_state = TELEPHONY_NETWORK_SERVICE_STATE_OUT_OF_SERVICE;
- // is_flight, service_state, wifi_state
- if (vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &is_flight) < 0) {
- _E("Failed to get FLIGHT MODE VCONFKEY");
- return;
- }
- if (telephony_network_get_service_state(handle_list.handle[0], &service_state) < 0) {
- _E("Failed to get SERVICE STATE");
+ if (vconf_get_int(VCONFKEY_WIFI_STATE, &wifi_state) < 0) {
+ _E("Failed to get vconfkey for wifi state");
return;
}
- if (vconf_get_int(VCONFKEY_WIFI_STATE, &wifi_state) < 0 ) {
- _E("Failed to get wifi state");
+ if (wifi_state == VCONFKEY_WIFI_CONNECTED) {
+ __wifi_state_changed_cb(NULL, NULL);
return;
+ } else {
+ __get_network_strength_and_packet_type(&network_type, &packet_type);
}
- __update_status_view_by_call_network_changed(is_flight, (int)service_state, wifi_state);
+ moments_status_network_update(network_type, packet_type+15);
+}
+static void __network_disable(void)
+{
+ _D("Network Disable");
+ int network_type = MOMENT_STATUS_NETWORK_DISABLE;
+ int packet_type = MOMENT_STATUS_NETWORK_PS_DISABLE;
+
+ moments_status_network_update(network_type, packet_type);
+}
+
+static void __network_packet_type_changed_cb(telephony_h handle, telephony_noti_e noti_id, void *data, void *user_data)
+{
+ __network_type_changed_cb(NULL, NULL);
}
+
static void __flight_mode_changed_cb(keynode_t *node, void *user_data)
{
_D("Flight Mode is changed");
+ int is_flight = 0;
+
+ if (vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &is_flight) < 0) {
+ _E("Failed to get vconfkey for flight");
+ return;
+ }
+ // on
+ if (is_flight) {
+ if (moments_check_is_3g_device()) {
+ __callsignal_disable();
+ __network_disable();
+ } else {
+ moments_status_network_icon_hide();
+ }
+ moments_status_bluetooth_icon_hide(); // device will be removed in this function
+ moments_status_callforwarding_icon_hide();
+ } else {
+ // off
+ if (moments_check_is_3g_device()) {
+ __callsignal_enable();
+ } else {
+ moments_status_network_icon_show();
+ }
+ __network_enable();
+ __bluetooth_state_changed_cb(NULL, NULL);
+ __headset_state_changed_cb(NULL, NULL);
+ __callforwarding_state_changed_cb(NULL, NULL);
+ }
+ moments_status_update_view();
}
static void __wifi_state_changed_cb(keynode_t *node, void *user_data)
{
_D("Wifi State is changed");
+ int wifi_state = 0;
+ int network_type = 0;
+ int packet_type = 0;
+
+ if (vconf_get_int(VCONFKEY_WIFI_STATE, &wifi_state) < 0) {
+ _E("Failed to get vconfkey for wifi state");
+ return;
+ }
+
+ if (wifi_state == VCONFKEY_WIFI_CONNECTED) {
+ _D("WIFI CONNECTED");
+ if (!moments_check_is_3g_device()) {
+ moments_status_network_icon_show();
+ }
+ __get_wifi_strength_and_packet_type(&network_type, &packet_type);
+ moments_status_network_update(network_type + MOMENT_STATUS_SIGNAL_WIFI_INDEX, packet_type+15);
+ } else {
+ if (moments_check_is_3g_device()) {
+ _D("WIFI DISCONNECTED, 3G");
+ __network_enable();
+ } else {
+ _D("WIFI DISCONNECTED, NOT 3G");
+ moments_status_network_icon_hide();
+ }
+ }
+ moments_status_update_view();
}
static void __bluetooth_state_changed_cb(keynode_t *node, void *user_data)
}
} else {
// Disconnect HEADSET
+ moments_status_headset_icon_hide();
}
moments_status_bluetooth_update(on_off, connected);
moments_status_update_view();
}
-static void __network_type_changed_cb(keynode_t *node, void *user_data)
-{
- __call_network_service_state_changed_cb(NULL, 0, NULL, NULL);
-}
-
static void __simcard_state_changed_cb(telephony_h handle, telephony_noti_e noti_id, void *data, void *user_data)
{
_D("SIM STATE CHANGED[%d]", (int)data);
__battery_state_changed_cb(-1, NULL, NULL);
}
+void __t__moments_restore_status_view(void)
+{
+ __initialize_status_view();
+}
+
void __t__moments_restore_status_call_network_service_state(void)
{
- __call_network_service_state_changed_cb(NULL, 0, NULL, NULL);
+ __flight_mode_changed_cb(NULL, NULL);
}
void __t__moments_restore_status_bluetooth_state(void)
void __t__moments_manager_update_status_view(int is_flight, int service_state, int wifi_state)
{
- __update_status_view_by_call_network_changed(is_flight, service_state, wifi_state);
+ __flight_mode_changed_cb(NULL, NULL);
}
void __t__moments_get_callsignal_state(bool *is_roaming, int *strength)
Evas_Object *status_layout;
Evas_Object *status_grid;
Evas_Object *status_battery;
- Evas_Object *status_callsignal;
- Evas_Object *status_network;
- Evas_Object *status_simcard;
- Evas_Object *status_location;
- Evas_Object *status_bluetooth;
- Evas_Object *status_headset;
- Evas_Object *status_callforwarding;
+ Evas_Object *icon_array[STATUS_ICON_MAX_COUNT];
} s_info = {
.status_layout = NULL,
.status_grid = NULL,
.status_battery = NULL,
- .status_callsignal = NULL,
- .status_network = NULL,
- .status_simcard = NULL,
- .status_location = NULL,
- .status_bluetooth = NULL,
- .status_headset = NULL,
- .status_callforwarding = NULL,
+ .icon_array = { NULL, },
};
static status_icon_type_e __status_icon_priority_bt[STATUS_ICON_MAX_COUNT_BT] = {
{ 135, 7 }, { 104, 18 }, { 201, 7 }, { 232, 18 }, { 74, 36 }, { 262, 36 }, { 45, 59 }, { 291, 59 }
};
+static status_icon_type_e __status_icon_position_bt[STATUS_ICON_MAX_COUNT + 1][2] = {
+ { 201, 7 }, { 135, 7 }, { 232, 18 }, { 104, 18 }, { 262, 36 }, { 74, 36 }, { 291, 59 }, { 45, 59 }
+};
+
static char *__status_network_type_signal[19] = {
"hide_icon_image",
"no_service",
static status_icon_type_e __get_prev_type_by_priority(status_icon_type_e type);
static void __append_icon_type_to_type_list(status_icon_type_e type, status_icon_type_e prev_type);
static void __prepend_icon_type_to_type_list(status_icon_type_e type);
+static void __unpack_all_icons_from_grid(void);
+static void __pack_all_icons_to_bt_position(void);
+static void __pack_all_icons_to_3g_position(void);
+static void __remove_all_icons(void);
static Evas_Object *__create_battery(Evas_Object *parent);
static Evas_Object *__create_callsignal(Evas_Object *parent);
void moments_status_view_destroy(void)
{
_D("%s", __func__);
-
- if (s_info.status_callsignal) evas_object_del(s_info.status_callsignal);
- s_info.status_callsignal = NULL;
-
- if (s_info.status_network) evas_object_del(s_info.status_network);
- s_info.status_network = NULL;
-
- if (s_info.status_simcard) evas_object_del(s_info.status_simcard);
- s_info.status_simcard = NULL;
+ __remove_all_icons();
if (s_info.status_battery) evas_object_del(s_info.status_battery);
s_info.status_battery = NULL;
void moments_status_callsignal_icon_show(void)
{
- s_info.status_callsignal = __create_callsignal(s_info.status_layout);
+ s_info.icon_array[STATUS_ICON_CALLSIGNAL] = __create_callsignal(s_info.status_layout);
+
+ __status_icon_list[STATUS_ICON_CALLSIGNAL] = s_info.icon_array[STATUS_ICON_CALLSIGNAL];
- __status_icon_list[STATUS_ICON_CALLSIGNAL] = s_info.status_callsignal;
__status_icon_is_appended[STATUS_ICON_CALLSIGNAL] = true;
__register_icon_type_to_list(STATUS_ICON_CALLSIGNAL);
__unregister_icon_type_from_list(STATUS_ICON_CALLSIGNAL);
__status_icon_is_appended[STATUS_ICON_CALLSIGNAL] = false;
- if (s_info.status_callsignal) evas_object_del(s_info.status_callsignal);
- s_info.status_callsignal = NULL;
+ if (s_info.icon_array[STATUS_ICON_CALLSIGNAL]) evas_object_del(s_info.icon_array[STATUS_ICON_CALLSIGNAL]);
__status_icon_list[STATUS_ICON_CALLSIGNAL] = NULL;
}
char callsignal_buf[PATH_MAX] = {0, };
if (strength < 0 && !is_roaming) {
- elm_object_signal_emit(s_info.status_callsignal, "change_to_no_signal", "icon_image");
+ elm_object_signal_emit(s_info.icon_array[STATUS_ICON_CALLSIGNAL], "change_to_no_signal", "icon_image");
+ return;
} else if (strength > 4 && !is_roaming) { // RSSI can't be more than 4, so this is used for flight mode
- elm_object_signal_emit(s_info.status_callsignal, "change_to_flight_mode", "icon_image");
+ elm_object_signal_emit(s_info.icon_array[STATUS_ICON_CALLSIGNAL], "change_to_flight_mode", "icon_image");
+ return;
} else if (is_roaming) {
snprintf(callsignal_buf, sizeof(callsignal_buf), "change_roaming_callsignal_strength_%02d", strength);
} else {
snprintf(callsignal_buf, sizeof(callsignal_buf), "change_callsignal_strength_%02d", strength);
}
- elm_object_signal_emit(s_info.status_callsignal, callsignal_buf, "icon_image");
+ elm_object_signal_emit(s_info.icon_array[STATUS_ICON_CALLSIGNAL], callsignal_buf, "icon_image");
}
void moments_status_network_icon_show(void)
{
- s_info.status_network = __create_network(s_info.status_layout);
+ if (s_info.icon_array[STATUS_ICON_NETWORK]) {
+ return;
+ }
+
+ s_info.icon_array[STATUS_ICON_NETWORK] = __create_network(s_info.status_layout);
- __status_icon_list[STATUS_ICON_NETWORK] = s_info.status_network;
+ __status_icon_list[STATUS_ICON_NETWORK] = s_info.icon_array[STATUS_ICON_NETWORK];
__status_icon_is_appended[STATUS_ICON_NETWORK] = true;
__register_icon_type_to_list(STATUS_ICON_NETWORK);
__unregister_icon_type_from_list(STATUS_ICON_NETWORK);
__status_icon_is_appended[STATUS_ICON_NETWORK] = false;
- if (s_info.status_network) evas_object_del(s_info.status_network);
- s_info.status_network= NULL;
+ if (s_info.icon_array[STATUS_ICON_NETWORK]) evas_object_del(s_info.icon_array[STATUS_ICON_NETWORK]);
+ s_info.icon_array[STATUS_ICON_NETWORK] = NULL;
__status_icon_list[STATUS_ICON_NETWORK] = NULL;
}
_D("Update network_type[%d], packet_type[%d]", network_type, packet_type);
if (network_type >= 0) {
- elm_object_signal_emit(s_info.status_network, __status_network_type_signal[network_type], "type_icon_image");
+ elm_object_signal_emit(s_info.icon_array[STATUS_ICON_NETWORK], __status_network_type_signal[network_type], "type_icon_image");
}
if (packet_type >= 0) {
- elm_object_signal_emit(s_info.status_network, __status_network_type_signal[packet_type], "inout_icon_image");
+ elm_object_signal_emit(s_info.icon_array[STATUS_ICON_NETWORK], __status_network_type_signal[packet_type], "inout_icon_image");
}
}
void moments_status_simcard_icon_show(void)
{
- if (s_info.status_simcard) moments_status_simcard_icon_hide();
+ if (s_info.icon_array[STATUS_ICON_NO_SIM]) moments_status_simcard_icon_hide();
- s_info.status_simcard = __create_simcard(s_info.status_layout);
+ s_info.icon_array[STATUS_ICON_NO_SIM] = __create_simcard(s_info.status_layout);
- __status_icon_list[STATUS_ICON_NO_SIM] = s_info.status_simcard;
+ __status_icon_list[STATUS_ICON_NO_SIM] = s_info.icon_array[STATUS_ICON_NO_SIM];
__status_icon_is_appended[STATUS_ICON_NO_SIM] = true;
__register_icon_type_to_list(STATUS_ICON_NO_SIM);
__unregister_icon_type_from_list(STATUS_ICON_NO_SIM);
__status_icon_is_appended[STATUS_ICON_NO_SIM] = false;
- if (s_info.status_simcard) evas_object_del(s_info.status_simcard);
- s_info.status_simcard = NULL;
+ if (s_info.icon_array[STATUS_ICON_NO_SIM]) evas_object_del(s_info.icon_array[STATUS_ICON_NO_SIM]);
+ s_info.icon_array[STATUS_ICON_NO_SIM] = NULL;
__status_icon_list[STATUS_ICON_NO_SIM] = NULL;
}
void moments_status_location_icon_show(void)
{
- if (s_info.status_location) moments_status_location_icon_hide();
+ if (s_info.icon_array[STATUS_ICON_LOCATION]) moments_status_location_icon_hide();
- s_info.status_location = __create_location(s_info.status_layout);
+ s_info.icon_array[STATUS_ICON_LOCATION] = __create_location(s_info.status_layout);
- __status_icon_list[STATUS_ICON_LOCATION] = s_info.status_location;
+ __status_icon_list[STATUS_ICON_LOCATION] = s_info.icon_array[STATUS_ICON_LOCATION];
__status_icon_is_appended[STATUS_ICON_LOCATION] = true;
__register_icon_type_to_list(STATUS_ICON_LOCATION);
__unregister_icon_type_from_list(STATUS_ICON_LOCATION);
__status_icon_is_appended[STATUS_ICON_LOCATION] = false;
- if (s_info.status_location) evas_object_del(s_info.status_location);
- s_info.status_location = NULL;
+ if (s_info.icon_array[STATUS_ICON_LOCATION]) evas_object_del(s_info.icon_array[STATUS_ICON_LOCATION]);
+ s_info.icon_array[STATUS_ICON_LOCATION] = NULL;
__status_icon_list[STATUS_ICON_LOCATION] = NULL;
}
void moments_status_bluetooth_icon_show(void)
{
- if (s_info.status_bluetooth) moments_status_bluetooth_icon_hide();
+ if (s_info.icon_array[STATUS_ICON_BLUETOOTH]) moments_status_bluetooth_icon_hide();
- s_info.status_bluetooth = __create_bluetooth(s_info.status_layout);
+ s_info.icon_array[STATUS_ICON_BLUETOOTH] = __create_bluetooth(s_info.status_layout);
- __status_icon_list[STATUS_ICON_BLUETOOTH] = s_info.status_bluetooth;
+ __status_icon_list[STATUS_ICON_BLUETOOTH] = s_info.icon_array[STATUS_ICON_BLUETOOTH];
__status_icon_is_appended[STATUS_ICON_BLUETOOTH] = true;
__register_icon_type_to_list(STATUS_ICON_BLUETOOTH);
__unregister_icon_type_from_list(STATUS_ICON_BLUETOOTH);
__status_icon_is_appended[STATUS_ICON_BLUETOOTH] = false;
- if (s_info.status_bluetooth) evas_object_del(s_info.status_bluetooth);
- s_info.status_bluetooth = NULL;
+ if (s_info.icon_array[STATUS_ICON_BLUETOOTH]) evas_object_del(s_info.icon_array[STATUS_ICON_BLUETOOTH]);
+ s_info.icon_array[STATUS_ICON_BLUETOOTH] = NULL;
__status_icon_list[STATUS_ICON_BLUETOOTH] = NULL;
}
if (!on_off) {
moments_status_bluetooth_icon_hide();
} else {
- if (!s_info.status_bluetooth) {
+ if (!s_info.icon_array[STATUS_ICON_BLUETOOTH]) {
moments_status_bluetooth_icon_show();
}
if (!connected) {
- elm_object_signal_emit(s_info.status_bluetooth, "bt_disconnected", "bluetooth");
+ elm_object_signal_emit(s_info.icon_array[STATUS_ICON_BLUETOOTH], "bt_disconnected", "bluetooth");
} else {
- elm_object_signal_emit(s_info.status_bluetooth, "bt_connected", "bluetooth");
+ elm_object_signal_emit(s_info.icon_array[STATUS_ICON_BLUETOOTH], "bt_connected", "bluetooth");
}
}
}
void moments_status_headset_icon_show(void)
{
- if (s_info.status_headset) moments_status_headset_icon_hide();
+ if (s_info.icon_array[STATUS_ICON_HEADSET]) moments_status_headset_icon_hide();
- s_info.status_headset = __create_headset(s_info.status_layout);
+ s_info.icon_array[STATUS_ICON_HEADSET] = __create_headset(s_info.status_layout);
- __status_icon_list[STATUS_ICON_HEADSET] = s_info.status_headset;
+ __status_icon_list[STATUS_ICON_HEADSET] = s_info.icon_array[STATUS_ICON_HEADSET];
__status_icon_is_appended[STATUS_ICON_HEADSET] = true;
__register_icon_type_to_list(STATUS_ICON_HEADSET);
__unregister_icon_type_from_list(STATUS_ICON_HEADSET);
__status_icon_is_appended[STATUS_ICON_HEADSET] = false;
- if (s_info.status_headset) evas_object_del(s_info.status_headset);
- s_info.status_headset = NULL;
+ if (s_info.icon_array[STATUS_ICON_HEADSET]) evas_object_del(s_info.icon_array[STATUS_ICON_HEADSET]);
+ s_info.icon_array[STATUS_ICON_HEADSET] = NULL;
__status_icon_list[STATUS_ICON_HEADSET] = NULL;
}
void moments_status_callforwarding_icon_show(void)
{
- if (s_info.status_callforwarding) moments_status_callforwarding_icon_hide();
+ if (s_info.icon_array[STATUS_ICON_CALLFORWARDING]) moments_status_callforwarding_icon_hide();
- s_info.status_callforwarding = __create_callforwarding(s_info.status_layout);
+ s_info.icon_array[STATUS_ICON_CALLFORWARDING] = __create_callforwarding(s_info.status_layout);
- __status_icon_list[STATUS_ICON_CALLFORWARDING] = s_info.status_callforwarding;
+ __status_icon_list[STATUS_ICON_CALLFORWARDING] = s_info.icon_array[STATUS_ICON_CALLFORWARDING];
__status_icon_is_appended[STATUS_ICON_CALLFORWARDING] = true;
__register_icon_type_to_list(STATUS_ICON_CALLFORWARDING);
__unregister_icon_type_from_list(STATUS_ICON_CALLFORWARDING);
__status_icon_is_appended[STATUS_ICON_CALLFORWARDING] = false;
- if (s_info.status_callforwarding) evas_object_del(s_info.status_callforwarding);
- s_info.status_callforwarding = NULL;
+ if (s_info.icon_array[STATUS_ICON_CALLFORWARDING]) evas_object_del(s_info.icon_array[STATUS_ICON_CALLFORWARDING]);
+ s_info.icon_array[STATUS_ICON_CALLFORWARDING] = NULL;
__status_icon_list[STATUS_ICON_CALLFORWARDING] = NULL;
}
void moments_status_update_view(void)
{
_D("Update status icon list");
- int i;
+
+ __unpack_all_icons_from_grid();
+
+ if (moments_check_is_3g_device()) {
+ __pack_all_icons_to_3g_position();
+ } else {
+ __pack_all_icons_to_bt_position();
+ }
+}
+
+static void __pack_all_icons_to_bt_position(void)
+{
+ int i = 0;
void *data = NULL;
- for (i = 0; i < STATUS_ICON_MAX_COUNT; i++)
- {
- Evas_Object *icon = __status_icon_list[i];
- if (icon) {
- elm_grid_unpack(s_info.status_grid, icon);
- evas_object_move(icon, OUTSIDE_X, OUTSIDE_Y);
- }
+ Eina_List *list = NULL;
+
+ EINA_LIST_FOREACH(__status_icon_type_list, list, data) {
+ status_icon_type_e type = (status_icon_type_e)data;
+ elm_grid_pack(s_info.status_grid, __status_icon_list[type], __status_icon_position_bt[i][0], __status_icon_position_bt[i][1], MOMENTS_STATUS_ICON_W, MOMENTS_STATUS_ICON_H);
+ i++;
}
+}
+static void __pack_all_icons_to_3g_position(void)
+{
+ int i = 0;
+ void *data = NULL;
Eina_List *list = NULL;
- i = 0;
EINA_LIST_FOREACH(__status_icon_type_list, list, data) {
status_icon_type_e type = (status_icon_type_e)data;
elm_grid_pack(s_info.status_grid, __status_icon_list[type], __status_icon_position[i][0], __status_icon_position[i][1], MOMENTS_STATUS_ICON_W, MOMENTS_STATUS_ICON_H);
}
}
+static void __unpack_all_icons_from_grid(void)
+{
+ int i = 0;
+ for (i = 0; i < STATUS_ICON_MAX_COUNT; i++)
+ {
+ Evas_Object *icon = __status_icon_list[i];
+ if (icon) {
+ elm_grid_unpack(s_info.status_grid, icon);
+ evas_object_move(icon, OUTSIDE_X, OUTSIDE_Y);
+ }
+ }
+}
+
static status_icon_type_e __get_prev_type_by_priority(status_icon_type_e type)
{
int i;
return -1;
}
+static void __remove_all_icons(void)
+{
+ Eina_List *list = NULL;
+ void *data = NULL;
+ int i = 0;
+
+ EINA_LIST_FOREACH(__status_icon_type_list, list, data) {
+ __status_icon_type_list = eina_list_remove_list(__status_icon_type_list, list);
+ }
+ for (i = 0; i < STATUS_ICON_MAX_COUNT; i++)
+ {
+ if (s_info.icon_array[i]) {
+ evas_object_del(s_info.icon_array[i]);
+ __status_icon_is_appended[i] = false;
+ __status_icon_list[i] = NULL;
+ s_info.icon_array[i] = NULL;
+ }
+ }
+}
+
#include <test.h>
#if TEST_MODE
Evas_Object *__t__get_moments_status_layout(void)
Evas_Object *__t__get_moments_status_callsignal(void)
{
- return s_info.status_callsignal;
+ return s_info.icon_array[STATUS_ICON_CALLSIGNAL];
}
Evas_Object *__t__get_moments_status_network(void)
{
- return s_info.status_network;
+ return s_info.icon_array[STATUS_ICON_NETWORK];
}
Evas_Object *__t__get_moments_status_simcard(void)
{
- return s_info.status_simcard;
+ return s_info.icon_array[STATUS_ICON_NO_SIM];
}
Evas_Object *__t__get_moments_status_location(void)
{
- return s_info.status_location;
+ return s_info.icon_array[STATUS_ICON_LOCATION];
}
Evas_Object *__t__get_moments_status_bluetooth(void)
{
- return s_info.status_bluetooth;
+ return s_info.icon_array[STATUS_ICON_BLUETOOTH];
}
Evas_Object *__t__get_moments_status_headset(void)
{
- return s_info.status_headset;
+ return s_info.icon_array[STATUS_ICON_HEADSET];
}
Evas_Object *__t__get_moments_status_callforwarding(void)
{
- return s_info.status_callforwarding;
+ return s_info.icon_array[STATUS_ICON_CALLFORWARDING];
}
int __t__get_moments_status_icon_index(int type)
{
return __get_icon_position_index(type);
}
+
+void __t__remove_all_icons(void)
+{
+ __remove_all_icons();
+}
#endif
TEST_GROUP_ADD("group_feature_moments_default_ui", group_feature_moments_default_ui);
TEST_GROUP_ADD("group_feature_moments_status_view_ui", group_feature_moments_status_view_ui);
- TEST_GROUP_ADD("group_feature_moments_status_behavior", group_feature_moments_status_behavior);
+ //TEST_GROUP_ADD("group_feature_moments_status_behavior", group_feature_moments_status_behavior);
TEST_GROUP_ADD("group_feature_status_area_layer_show", group_feature_status_area_layer_show);
TEST_GROUP_ADD("group_feature_moments_show", group_feature_moments_show);
TEST_GROUP_ADD("group_feature_moments_pull_down", group_feature_moments_pull_down);
static struct {
unit_group_t * group;
+ int is_3g;
} s_info = {
.group = NULL,
+ .is_3g = 0,
};
-static int __t_status_icon_position[STATUS_ICON_MAX_COUNT + 1][2] = {
- { 135, 7 }, { 104, 18 }, { 201, 7 }, { 232, 18 }, { 74, 36 }, { 262, 36 }, { 45, 59 }, { 291, 59 }
+static int __t_status_icon_position[2][STATUS_ICON_MAX_COUNT + 1][2] = {
+ { { 201, 7 }, { 135, 7 }, { 232, 18 }, { 104, 18 }, { 262, 36 }, { 74, 36 }, { 291, 59 }, { 45, 59 } },
+ { { 135, 7 }, { 104, 18 }, { 201, 7 }, { 232, 18 }, { 74, 36 }, { 262, 36 }, { 45, 59 }, { 291, 59 } }
};
static char *__callsignal_type[13] = {
if (moments_get_visible() == false) {
main_s * info = main_get_info();
+ if (moments_check_is_3g_device() == true) {
+ __T("THIS TEST IS FOR 3G DEVICE");
+ s_info.is_3g = 1;
+ }
+ __t__remove_all_icons();
+
__t__layout_mouse_down(info->layout, 180, 50);
TEST_GROUP_SET_UP_DONE(0.6, s_info.group);
static void __group_tear_down(void)
{
+ __t__remove_all_icons();
__status_restore_icons();
if (moments_get_visible()) {
static bool is_roaming = false;
static int call_strength = -1;
static int call_signal_index = 0;
-static bool call_is_for_test = false;
static unit_case_func_t __continue_check_status_callsignal_icon_change(void *data);
static unit_case_func_t __case_check_status_view_callsignal(void *data)
if (!callsignal) {
moments_status_callsignal_icon_show();
moments_status_update_view();
- call_is_for_test = true;
TEST_CASE_CONTINUE(0.1, __case_check_status_view_callsignal, NULL);
}
TEST_ASSERT_TRUE_UPGRADE(evas_object_visible_get(callsignal));
+ int index = __t__get_moments_status_icon_index(STATUS_ICON_CALLSIGNAL);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(STATUS_ICON_CALLSIGNAL, index);
+
int x, y, w, h;
evas_object_geometry_get(callsignal, &x, &y, &w, &h);
- TEST_ASSERT_EQUAL_INT_UPGRADE(135, x);
- TEST_ASSERT_EQUAL_INT_UPGRADE(7, y);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[s_info.is_3g][index][0], x);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[s_info.is_3g][index][1], y);
TEST_ASSERT_EQUAL_INT_UPGRADE(MOMENTS_STATUS_ICON_W, w);
TEST_ASSERT_EQUAL_INT_UPGRADE(MOMENTS_STATUS_ICON_H, h);
.network_type = 0,
.packet_type = -1
};
-static int network_is_for_test = false;
static unit_case_func_t __case_check_status_view_network(void *data)
{
Evas_Object *network = __t__get_moments_status_network();
if (!network) {
moments_status_network_icon_show();
moments_status_update_view();
- network_is_for_test = true;
TEST_CASE_CONTINUE(0.1, __case_check_status_view_network, NULL);
}
TEST_ASSERT_TRUE_UPGRADE(evas_object_visible_get(network));
+ int index = __t__get_moments_status_icon_index(STATUS_ICON_NETWORK);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(STATUS_ICON_NETWORK, index);
+
int x, y, w, h;
evas_object_geometry_get(network, &x, &y, &w, &h);
- TEST_ASSERT_EQUAL_INT_UPGRADE(104, x);
- TEST_ASSERT_EQUAL_INT_UPGRADE(18, y);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[s_info.is_3g][index][0], x);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[s_info.is_3g][index][1], y);
TEST_ASSERT_EQUAL_INT_UPGRADE(MOMENTS_STATUS_ICON_W, w);
TEST_ASSERT_EQUAL_INT_UPGRADE(MOMENTS_STATUS_ICON_H, h);
TEST_CASE_CONTINUE(0.1, __continue_check_status_network_icon_change, data);
}
-static int simcard_is_for_test = false;
-static unit_case_func_t __continue_check_status_simcard_icon_change(void *data);
-static unit_case_func_t __case_check_status_view_simcard(void *data)
-{
- Evas_Object *simcard = __t__get_moments_status_simcard();
- if (!simcard) {
- moments_status_simcard_icon_show();
- moments_status_update_view();
- simcard_is_for_test = true;
- TEST_CASE_CONTINUE(0.6, __case_check_status_view_simcard, NULL);
- }
-
- TEST_ASSERT_TRUE_UPGRADE(evas_object_visible_get(simcard));
-
- int index = __t__get_moments_status_icon_index(STATUS_ICON_NO_SIM);
- TEST_ASSERT_TRUE_UPGRADE(index >= 0);
-
- int x, y, w, h;
- evas_object_geometry_get(simcard, &x, &y, &w, &h);
- TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[index][0], x);
- TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[index][1], y);
- TEST_ASSERT_EQUAL_INT_UPGRADE(MOMENTS_STATUS_ICON_W, w);
- TEST_ASSERT_EQUAL_INT_UPGRADE(MOMENTS_STATUS_ICON_H, h);
-
- moments_status_simcard_icon_hide();
- moments_status_update_view();
-
- TEST_CASE_CONTINUE(0.6, __continue_check_status_simcard_icon_change, simcard);
-}
-
-static unit_case_func_t __continue_check_status_simcard_icon_change(void *data)
-{
- Evas_Object *simcard = (Evas_Object *)data;
- TEST_ASSERT_TRUE_UPGRADE(!evas_object_visible_get(simcard));
-
- TEST_CASE_DONE(s_info.group);
-}
-
-static bool location_is_for_test = false;
-static unit_case_func_t __continue_check_status_location_icon_change(void *data);
-static unit_case_func_t __case_check_status_view_location(void *data)
-{
- Evas_Object *location = __t__get_moments_status_location();
- if (!location) {
- moments_status_location_icon_show();
- moments_status_update_view();
- location_is_for_test = true;
- TEST_CASE_CONTINUE(0.6, __case_check_status_view_location, NULL);
- }
-
- TEST_ASSERT_TRUE_UPGRADE(evas_object_visible_get(location));
-
- int index = __t__get_moments_status_icon_index(STATUS_ICON_LOCATION);
- TEST_ASSERT_TRUE_UPGRADE(index >= 0);
-
- int x, y, w, h;
- evas_object_geometry_get(location, &x, &y, &w, &h);
- TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[index][0], x);
- TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[index][1], y);
- TEST_ASSERT_EQUAL_INT_UPGRADE(MOMENTS_STATUS_ICON_W, w);
- TEST_ASSERT_EQUAL_INT_UPGRADE(MOMENTS_STATUS_ICON_H, h);
-
- moments_status_location_icon_hide();
- moments_status_update_view();
-
- TEST_CASE_CONTINUE(0.6, __continue_check_status_location_icon_change, location);
- TEST_CASE_DONE(s_info.group);
-}
-
-static unit_case_func_t __continue_check_status_location_icon_change(void *data)
-{
- Evas_Object *location = (Evas_Object *)data;
- TEST_ASSERT_TRUE_UPGRADE(!evas_object_visible_get(location));
-
- TEST_CASE_DONE(s_info.group);
-}
-
static int bt_on_off = 1;
static int bt_connected = 0;
static unit_case_func_t __continue_check_status_bluetooth_icon_change(void *data);
TEST_ASSERT_TRUE_UPGRADE(evas_object_visible_get(bluetooth));
int index = __t__get_moments_status_icon_index(STATUS_ICON_BLUETOOTH);
- TEST_ASSERT_TRUE_UPGRADE(index >= 0);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(STATUS_ICON_BLUETOOTH, index);
int x, y, w, h;
evas_object_geometry_get(bluetooth, &x, &y, &w, &h);
- TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[index][0], x);
- TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[index][1], y);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[s_info.is_3g][index][0], x);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[s_info.is_3g][index][1], y);
TEST_ASSERT_EQUAL_INT_UPGRADE(MOMENTS_STATUS_ICON_W, w);
TEST_ASSERT_EQUAL_INT_UPGRADE(MOMENTS_STATUS_ICON_H, h);
moments_status_bluetooth_update(bt_on_off, bt_connected);
TEST_CASE_CONTINUE(0.3, __continue_check_status_bluetooth_icon_change, bluetooth);
+ } else if (bt_connected == 2) { // Show again
+ bt_connected++;
+
+ moments_status_bluetooth_update(1, 1);
+
+ TEST_CASE_CONTINUE(0.3, __continue_check_status_bluetooth_icon_change, NULL);
}
- TEST_ASSERT_TRUE_UPGRADE(!evas_object_visible_get(bluetooth));
+ bluetooth = __t__get_moments_status_bluetooth();
+ TEST_ASSERT_TRUE_UPGRADE(evas_object_visible_get(bluetooth));
TEST_CASE_DONE(s_info.group);
}
+static unit_case_func_t __continue_check_status_headset_icon_change(void *data);
static unit_case_func_t __case_check_status_view_headset(void *data)
{
Evas_Object *headset = __t__get_moments_status_headset();
TEST_ASSERT_TRUE_UPGRADE(evas_object_visible_get(headset));
int index = __t__get_moments_status_icon_index(STATUS_ICON_HEADSET);
- TEST_ASSERT_TRUE_UPGRADE(index >= 0);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(STATUS_ICON_HEADSET, index);
int x, y, w, h;
evas_object_geometry_get(headset, &x, &y, &w, &h);
- TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[index][0], x);
- TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[index][1], y);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[s_info.is_3g][index][0], x);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[s_info.is_3g][index][1], y);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(MOMENTS_STATUS_ICON_W, w);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(MOMENTS_STATUS_ICON_H, h);
+
+ moments_status_update_view();
+
+ moments_status_headset_icon_hide();
+
+ TEST_CASE_CONTINUE(0.3, __continue_check_status_headset_icon_change, headset);
+}
+
+static unit_case_func_t __continue_check_status_headset_icon_change(void *data)
+{
+ if (data != NULL) {
+ Evas_Object *headset = (Evas_Object *)data;
+
+ TEST_ASSERT_TRUE_UPGRADE(!evas_object_visible_get(headset));
+
+ moments_status_headset_icon_show();
+ moments_status_update_view();
+
+ TEST_CASE_CONTINUE(0.3, __continue_check_status_headset_icon_change, NULL);
+ } else {
+ Evas_Object *headset = __t__get_moments_status_headset();
+
+ TEST_ASSERT_TRUE_UPGRADE(evas_object_visible_get(headset));
+
+ TEST_CASE_DONE(s_info.group);
+ }
+}
+
+static int simcard_is_for_test = false;
+static unit_case_func_t __continue_check_status_simcard_icon_change(void *data);
+static unit_case_func_t __case_check_status_view_simcard(void *data)
+{
+ Evas_Object *simcard = __t__get_moments_status_simcard();
+ if (!simcard) {
+ moments_status_simcard_icon_show();
+ moments_status_update_view();
+ simcard_is_for_test = true;
+ TEST_CASE_CONTINUE(0.6, __case_check_status_view_simcard, NULL);
+ }
+
+ TEST_ASSERT_TRUE_UPGRADE(evas_object_visible_get(simcard));
+
+ int index = __t__get_moments_status_icon_index(STATUS_ICON_NO_SIM);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(STATUS_ICON_NO_SIM, index);
+
+ int x, y, w, h;
+ evas_object_geometry_get(simcard, &x, &y, &w, &h);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[s_info.is_3g][index][0], x);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[s_info.is_3g][index][1], y);
TEST_ASSERT_EQUAL_INT_UPGRADE(MOMENTS_STATUS_ICON_W, w);
TEST_ASSERT_EQUAL_INT_UPGRADE(MOMENTS_STATUS_ICON_H, h);
+ moments_status_simcard_icon_hide();
moments_status_update_view();
+ TEST_CASE_CONTINUE(0.6, __continue_check_status_simcard_icon_change, simcard);
+}
+
+static unit_case_func_t __continue_check_status_simcard_icon_change(void *data)
+{
+ if (data != NULL) {
+ Evas_Object *simcard = (Evas_Object *)data;
+ TEST_ASSERT_TRUE_UPGRADE(!evas_object_visible_get(simcard));
+
+ moments_status_simcard_icon_show();
+ moments_status_update_view();
+
+ TEST_CASE_CONTINUE(0.6, __continue_check_status_simcard_icon_change, NULL);
+ } else {
+ Evas_Object *simcard = __t__get_moments_status_simcard();
+ TEST_ASSERT_TRUE_UPGRADE(simcard != NULL);
+ TEST_ASSERT_TRUE_UPGRADE(evas_object_visible_get(simcard));
+ }
+
TEST_CASE_DONE(s_info.group);
}
TEST_ASSERT_TRUE_UPGRADE(evas_object_visible_get(callforwarding));
int index = __t__get_moments_status_icon_index(STATUS_ICON_CALLFORWARDING);
- TEST_ASSERT_TRUE_UPGRADE(index >= 0);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(STATUS_ICON_CALLFORWARDING, index);
int x, y, w, h;
evas_object_geometry_get(callforwarding, &x, &y, &w, &h);
- TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[index][0], x);
- TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[index][1], y);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[s_info.is_3g][index][0], x);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[s_info.is_3g][index][1], y);
TEST_ASSERT_EQUAL_INT_UPGRADE(MOMENTS_STATUS_ICON_W, w);
TEST_ASSERT_EQUAL_INT_UPGRADE(MOMENTS_STATUS_ICON_H, h);
TEST_CASE_DONE(s_info.group);
}
+static bool location_is_for_test = false;
+static unit_case_func_t __continue_check_status_location_icon_change(void *data);
+static unit_case_func_t __case_check_status_view_location(void *data)
+{
+ Evas_Object *location = __t__get_moments_status_location();
+ if (!location) {
+ moments_status_location_icon_show();
+ moments_status_update_view();
+ location_is_for_test = true;
+ TEST_CASE_CONTINUE(0.6, __case_check_status_view_location, NULL);
+ }
+
+ TEST_ASSERT_TRUE_UPGRADE(evas_object_visible_get(location));
+
+ int index = __t__get_moments_status_icon_index(STATUS_ICON_LOCATION);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(index, STATUS_ICON_LOCATION);
+
+ int x, y, w, h;
+ evas_object_geometry_get(location, &x, &y, &w, &h);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[s_info.is_3g][index][0], x);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(__t_status_icon_position[s_info.is_3g][index][1], y);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(MOMENTS_STATUS_ICON_W, w);
+ TEST_ASSERT_EQUAL_INT_UPGRADE(MOMENTS_STATUS_ICON_H, h);
+
+ moments_status_location_icon_hide();
+ moments_status_update_view();
+
+ TEST_CASE_CONTINUE(0.6, __continue_check_status_location_icon_change, location);
+ TEST_CASE_DONE(s_info.group);
+}
+
+static unit_case_func_t __continue_check_status_location_icon_change(void *data)
+{
+ if (data != NULL) {
+ Evas_Object *location = (Evas_Object *)data;
+ TEST_ASSERT_TRUE_UPGRADE(!evas_object_visible_get(location));
+
+ moments_status_location_icon_show();
+ moments_status_update_view();
+
+ TEST_CASE_CONTINUE(0.6, __continue_check_status_location_icon_change, NULL);
+ } else {
+ Evas_Object *location = __t__get_moments_status_location();
+ TEST_ASSERT_TRUE_UPGRADE(location != NULL);
+ TEST_ASSERT_TRUE_UPGRADE(evas_object_visible_get(location));
+ }
+
+ TEST_CASE_DONE(s_info.group);
+}
+
void group_feature_moments_status_view_ui(unit_group_t * group)
{
s_info.group = group;
TEST_CASE_ADD(s_info.group, __case_check_status_view_battery, NULL);
TEST_CASE_ADD(s_info.group, __case_check_status_view_callsignal, NULL);
TEST_CASE_ADD(s_info.group, __case_check_status_view_network, NULL);
- TEST_CASE_ADD(s_info.group, __case_check_status_view_simcard, NULL);
- TEST_CASE_ADD(s_info.group, __case_check_status_view_location, NULL);
TEST_CASE_ADD(s_info.group, __case_check_status_view_bluetooth, NULL);
TEST_CASE_ADD(s_info.group, __case_check_status_view_headset, NULL);
+ TEST_CASE_ADD(s_info.group, __case_check_status_view_simcard, NULL);
TEST_CASE_ADD(s_info.group, __case_check_status_view_callforwarding, NULL);
+ TEST_CASE_ADD(s_info.group, __case_check_status_view_location, NULL);
TEST_GROUP_TEAR_DOWN(s_info.group, __group_tear_down);
TEST_GROUP_RUN(s_info.group);
static void __status_restore_icons(void)
{
- if (call_is_for_test) {
- moments_status_callsignal_icon_hide();
- }
- if (network_is_for_test) {
- moments_status_network_icon_hide();
- }
- if (!simcard_is_for_test) {
- moments_status_simcard_icon_show();
- }
- if (!location_is_for_test) {
- moments_status_location_icon_show();
- }
- if (!call_is_for_test && !network_is_for_test) {
- __t__moments_restore_status_call_network_service_state();
- }
- __t__moments_restore_status_bluetooth_state();
- __t__moments_restore_status_headset_state();
- __t__moments_restore_status_callforwarding_state();
+ __t__moments_restore_status_view();
}
#endif