#define ERROR_MESSAGE_LEN 256
+#define INDICATOR_HEIGHT_TM1 52
+
Evas_Coord_Point indicator_press_coord = {0,0};
Ecore_Timer *clock_timer;
int is_transparent = 0;
return;
}
+static void _indicator_service_cb(void *data, tzsh_indicator_service_h service,
+ int angle, int opacity)
+{
+ win_info *info = data;
+
+ switch (angle) {
+ case 0:
+ case 180:
+ _D("Enable indicator portrait mode: %d %d", info->port_w, INDICATOR_HEIGHT_TM1);
+ evas_object_resize(info->win, info->port_w, INDICATOR_HEIGHT_TM1);
+ break;
+ case 90:
+ case 270:
+ _D("Enable indicator landscape mode: %d %d", info->land_w, INDICATOR_HEIGHT_TM1);
+ evas_object_resize(info->win, info->land_w, INDICATOR_HEIGHT_TM1);
+ break;
+ default:
+ _E("Unahandled rotation value");
+ }
+}
+
+int indicator_tzsh_init(win_info *info)
+{
+ info->tzsh = tzsh_create(TZSH_TOOLKIT_TYPE_EFL);
+ if (!info->tzsh) {
+ _E("tzsh_create failed for TZSH_TOOLKIT_TYPE_EFL");
+ return -1;
+ }
+ info->service = tzsh_indicator_service_create(info->tzsh, elm_win_window_id_get(info->win));
+ if (!info->service) {
+ _E("tzsh_indicator_service_create failed");
+ tzsh_destroy(info->tzsh);
+ info->tzsh = NULL;
+ return -1;
+ }
+ int err = tzsh_indicator_service_property_change_cb_set(info->service,
+ _indicator_service_cb, info);
+ if (err != TZSH_ERROR_NONE) {
+ _E("tzsh_indicator_service_property_change_cb_set failed[%d]: %s",
+ err, get_error_message(err));
+ tzsh_indicator_service_destroy(info->service);
+ tzsh_destroy(info->tzsh);
+ info->tzsh = NULL;
+ info->service = NULL;
+ return -1;
+ }
+
+ _D("Successfully created tzsh indicator service");
+ return 0;
+}
+
+void indicator_tzsh_shutdown(win_info *info)
+{
+ if (info->service) tzsh_indicator_service_destroy(info->service);
+ if (info->tzsh) tzsh_destroy(info->tzsh);
+}
static Eina_Bool _indicator_listen_timer_cb(void* data)
{
}
}
-#define INDICATOR_HEIGHT_TM1 52
static void _create_window(struct appdata *ad)
{
Evas_Object *dummy_win = NULL;
_D("w,h(%d,%d)", ad->win.port_w, INDICATOR_HEIGHT_TM1);
evas_object_show(ad->win.win);
-
+ if (indicator_tzsh_init(&ad->win))
+ _E("indicator_tzsh_init failed. Indicator support for device rotation will not be available.");
}
static void _create_base_gui(void* data)
box_fini(&(ad->win));
evas_image_cache_flush(ad->win.evas);
evas_object_del(ad->win.layout);
+ indicator_tzsh_shutdown(&ad->win);
evas_object_del(ad->win.win);
_D("INDICATOR IS TERMINATED");