tv: remove gesture navigation from screen reader.
authorLukasz Stanislawski <l.stanislaws@samsung.com>
Wed, 4 Mar 2015 11:12:26 +0000 (12:12 +0100)
committerLukasz Stanislawski <l.stanislaws@samsung.com>
Wed, 4 Mar 2015 11:12:26 +0000 (12:12 +0100)
Change-Id: I888171b5dadf38fe346b8557c8588d54e3370bd1

include/gesture_tracker.h [deleted file]
src/gesture_tracker.c [deleted file]
src/main.c
src/navigator.c

diff --git a/include/gesture_tracker.h b/include/gesture_tracker.h
deleted file mode 100644 (file)
index 5ae3ea9..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#include <eldbus-1/Eldbus.h>
-#include <atspi/atspi.h>
-
-/**
- * @brief Accessibility gestures
- */
-enum _Gesture {
-     ONE_FINGER_HOVER,
-     TWO_FINGERS_HOVER,
-     ONE_FINGER_FLICK_LEFT,
-     ONE_FINGER_FLICK_RIGHT,
-     ONE_FINGER_FLICK_UP,
-     ONE_FINGER_FLICK_DOWN,
-     THREE_FINGERS_FLICK_LEFT,
-     THREE_FINGERS_FLICK_RIGHT,
-     THREE_FINGERS_FLICK_UP,
-     THREE_FINGERS_FLICK_DOWN,
-     ONE_FINGER_SINGLE_TAP,
-     ONE_FINGER_DOUBLE_TAP,
-     TWO_FINGERS_FLICK_UP,
-     TWO_FINGERS_FLICK_LEFT,
-     TWO_FINGERS_FLICK_RIGHT,
-     TWO_FINGERS_FLICK_DOWN,
-     GESTURES_COUNT,
-};
-typedef enum _Gesture Gesture;
-
-typedef struct {
-     Gesture type;         // Type of recognized gesture
-     int x_begin, x_end;     // (x,y) coordinates when gesture begin
-     int y_begin, y_end;     // (x,y) coordinates when gesture ends
-     int state;              // 0 - gesture begins, 1 - continues, 2 - ended
-} Gesture_Info;
-
-
-typedef void (*Gesture_Tracker_Cb) (void *data, Gesture_Info *g);
-void gesture_tracker_init(Eldbus_Connection *conn);
-void gesture_tracker_register(Gesture_Tracker_Cb cb, void *data);
-void gesture_tracker_shutdown(void);
-AtspiAccessible* _get_active_win(void);
diff --git a/src/gesture_tracker.c b/src/gesture_tracker.c
deleted file mode 100644 (file)
index 3d45446..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-#include <string.h>
-#include "gesture_tracker.h"
-#include "logger.h"
-
-#define BUS "com.samsung.EModule"
-#define INTERFACE "com.samsung.GestureNavigation"
-#define PATH "/com/samsung/GestureNavigation"
-#define SIGNAL "GestureDetected"
-
-static Eldbus_Connection *a11y_conn;
-static Eldbus_Object *object;
-static Eldbus_Proxy *man;
-static Gesture_Tracker_Cb user_cb;
-static void *user_data;
-
-static Gesture gesture_name_to_enum (const char *gesture_name)
-{
-  if(!gesture_name)
-     return GESTURES_COUNT;
-  DEBUG("Dbus incoming gesture: %s", gesture_name);
-  if(!strcmp("OneFingerHover", gesture_name))
-     return ONE_FINGER_HOVER;
-
-  if(!strcmp("TwoFingersHover", gesture_name))
-     return TWO_FINGERS_HOVER;
-
-  if(!strcmp("OneFingerFlickLeft", gesture_name))
-     return ONE_FINGER_FLICK_LEFT;
-
-  if(!strcmp("OneFingerFlickRight", gesture_name))
-     return ONE_FINGER_FLICK_RIGHT;
-
-  if(!strcmp("OneFingerFlickUp", gesture_name))
-     return ONE_FINGER_FLICK_UP;
-
-  if(!strcmp("OneFingerFlickDown", gesture_name))
-     return ONE_FINGER_FLICK_DOWN;
-
- if(!strcmp("ThreeFingersFlickLeft", gesture_name))
-     return THREE_FINGERS_FLICK_LEFT;
-
- if(!strcmp("ThreeFingersFlickRight", gesture_name))
-     return THREE_FINGERS_FLICK_RIGHT;
-
- if(!strcmp("ThreeFingersFlickUp", gesture_name))
-     return THREE_FINGERS_FLICK_UP;
-
- if(!strcmp("ThreeFingersFlickDown", gesture_name))
-     return THREE_FINGERS_FLICK_DOWN;
-
- if(!strcmp("OneFingerSingleTap", gesture_name))
-     return ONE_FINGER_SINGLE_TAP;
-
- if(!strcmp("OneFingerDoubleTap", gesture_name))
-     return ONE_FINGER_DOUBLE_TAP;
-
- if(!strcmp("TwoFingersFlickLeft", gesture_name))
-    return TWO_FINGERS_FLICK_LEFT;
-
- if(!strcmp("TwoFingersFlickRight", gesture_name))
-    return TWO_FINGERS_FLICK_RIGHT;
-
- if(!strcmp("TwoFingersFlickUp", gesture_name))
-    return TWO_FINGERS_FLICK_UP;
-
- if(!strcmp("TwoFingersFlickDown", gesture_name))
-     return TWO_FINGERS_FLICK_DOWN;
-
- return GESTURES_COUNT;
-}
-
-static void on_gesture_detected(void *context EINA_UNUSED, const Eldbus_Message *msg)
-{
-    const char *gesture_name;
-    int x_s, y_s, x_e, y_e, state;
-
-    if(!eldbus_message_arguments_get(msg, "siiiiu", &gesture_name, &x_s, &y_s, &x_e, &y_e, &state))
-        ERROR("error geting arguments on_gesture_detected");
-
-    Gesture_Info g;
-    g.type = gesture_name_to_enum(gesture_name);
-    g.x_begin = x_s;
-    g.y_begin = y_s;
-    g.x_end = x_e;
-    g.y_end = y_e;
-    g.state = state;
-
-    if(user_cb)
-        user_cb(user_data, &g);
-}
-
-void gesture_tracker_init(Eldbus_Connection *conn)
-{
-    a11y_conn = conn;
-    eldbus_connection_ref(conn);
-    object = eldbus_object_get(conn, BUS, PATH);
-    man = eldbus_proxy_get(object, INTERFACE);
-    eldbus_proxy_signal_handler_add(man, SIGNAL, on_gesture_detected, NULL);
-}
-
-void gesture_tracker_register(Gesture_Tracker_Cb cb, void *data)
-{
-   user_cb = cb;
-   user_data = data;
-}
-
-void gesture_tracker_shutdown(void)
-{
-    eldbus_proxy_unref(man);
-    eldbus_object_unref(object);
-    eldbus_connection_unref(a11y_conn);
-}
index 7047a92..a28ae26 100755 (executable)
@@ -2,7 +2,6 @@
 #include <eldbus-1/Eldbus.h>
 #include "navigator.h"
 #include "window_tracker.h"
-#include "gesture_tracker.h"
 #include "logger.h"
 #include "screen_reader.h"
 
@@ -20,9 +19,8 @@ static void _init_modules(void *data, const Eldbus_Message *msg, Eldbus_Pending
    logger_init();
    if(!eldbus_message_arguments_get(msg, "s", &a11y_bus_address))
       ERROR("error geting arguments _init_modules");
-   Eldbus_Connection *a11y_conn = eldbus_address_connection_get(a11y_bus_address);
+   a11y_conn = eldbus_address_connection_get(a11y_bus_address);
    
-   gesture_tracker_init(a11y_conn);
    navigator_init();
 }
 
@@ -46,7 +44,6 @@ static int app_terminate(void *data)
     screen_reader_terminate_service(data);
 
     eldbus_connection_unref(a11y_conn);
-    gesture_tracker_shutdown();
     navigator_shutdown();
     eldbus_shutdown();
     logger_shutdown();
index 0531097..1c46dd1 100644 (file)
@@ -3,7 +3,6 @@
 #include <math.h>
 #include "logger.h"
 #include "navigator.h"
-#include "gesture_tracker.h"
 #include "window_tracker.h"
 #include "keyboard_tracker.h"
 #include "pivot_chooser.h"
      error = NULL;\
    }
 
-typedef struct
-{
-  int x,y;
-} last_focus_t;
-
-static last_focus_t last_focus = {-1,-1};
-static AtspiAccessible *current_obj;
 static AtspiAccessible *top_window;
 static Eina_Bool _window_cache_builded;
 static FlatNaviContext *context;
@@ -211,35 +203,6 @@ static AtspiAccessible *get_nearest_widget(AtspiAccessible* app_obj, gint x_cord
 }
 #endif
 
-static void _focus_widget(Gesture_Info *info)
-{
-    AtspiAccessible *target_widget;
-    AtspiComponent *window_component;
-    GError *err = NULL;
-
-    window_component = atspi_accessible_get_component(top_window);
-    if(!window_component)
-        return;
-    if ((last_focus.x == info->x_begin) && (last_focus.y == info->y_begin))
-      return;
-
-    target_widget = atspi_component_get_accessible_at_point(window_component, info->x_begin, info->y_begin, ATSPI_COORD_TYPE_WINDOW, &err);
-    GERROR_CHECK(err)
-    if (target_widget) {
-         if (flat_navi_context_current_set(context, target_widget))
-           {
-             _current_highlight_object_set(target_widget);
-             last_focus.x = info->x_begin;
-             last_focus.y = info->y_begin;
-           }
-         else
-           ERROR("Hoveed object not found in window context[%dx%d][%s]", info->x_begin, info->y_begin, atspi_accessible_get_role_name(top_window, &err));
-    }
-    else
-      DEBUG("NO widget under (%d, %d) found",
-            info->x_begin, info->y_begin);
-}
-
 static void _focus_next(void)
 {
    AtspiAccessible *obj;
@@ -294,254 +257,6 @@ static void _focus_prev(void)
      DEBUG("Previous widget not found. Abort");
 }
 
-static void _value_inc_widget(void)
-{
-    AtspiAccessible* current_widget = NULL;
-    AtspiText *text_interface;
-    gint current_offset;
-    gboolean ret;
-    GError *err = NULL;
-    gchar *role;
-
-    if(!current_obj)
-      return;
-
-    current_widget = current_obj;
-
-    role = atspi_accessible_get_role_name(current_widget, &err);
-    GERROR_CHECK(err)
-    if(!strcmp(role, "entry"))
-    {
-        text_interface = atspi_accessible_get_text(current_widget);
-        if(text_interface)
-        {
-            current_offset = atspi_text_get_caret_offset(text_interface, &err);
-            GERROR_CHECK(err)
-            ret = atspi_text_set_caret_offset(text_interface, current_offset + 1, &err);
-            GERROR_CHECK(err)
-            if(ret)
-            {
-                ERROR("Caret position increment done");
-            }
-            else
-            {
-                ERROR("Caret position increment error");
-            }
-        }
-        else
-            ERROR("No text interface supported!");
-        g_free(role);
-        return;
-    }
-    g_free(role);
-    AtspiValue *value_interface = atspi_accessible_get_value(current_widget);
-    if(value_interface)
-    {
-        ERROR("Value interface supported!\n");
-        gdouble current_val = atspi_value_get_current_value(value_interface, &err);
-        GERROR_CHECK(err)
-        ERROR("Current value: %f\n ", (double)current_val);
-        gdouble minimum_inc = atspi_value_get_minimum_increment(value_interface, &err);
-        ERROR("Minimum increment: %f\n ", (double)minimum_inc);
-        GERROR_CHECK(err)
-        atspi_value_set_current_value(value_interface, current_val + minimum_inc, &err);
-        GERROR_CHECK(err)
-    }
-    else
-        ERROR("No value interface supported!\n");
-}
-
-static void _value_dec_widget(void)
-{
-    AtspiAccessible* current_widget = NULL;
-    AtspiText *text_interface;
-    gint current_offset;
-    GError *err = NULL;
-    gboolean ret;
-    gchar *role;
-
-    if(!current_obj)
-      return;
-    current_widget = current_obj;
-
-    role = atspi_accessible_get_role_name(current_widget, &err);
-    GERROR_CHECK(err)
-    if(!strcmp(role, "entry"))
-    {
-        text_interface = atspi_accessible_get_text(current_widget);
-        if(text_interface)
-        {
-            current_offset = atspi_text_get_caret_offset(text_interface, &err);
-            GERROR_CHECK(err)
-            ret = atspi_text_set_caret_offset(text_interface, current_offset - 1, &err);
-            GERROR_CHECK(err)
-            if(ret)
-            {
-                ERROR("Caret position decrement done");
-            }
-            else
-            {
-                ERROR("Caret position decrement error");
-            }
-        }
-        else
-            ERROR("No text interface supported!");
-        g_free(role);
-        return;
-    }
-    g_free(role);
-
-    AtspiValue *value_interface = atspi_accessible_get_value(current_widget);
-    if(value_interface)
-    {
-        ERROR("Value interface supported!\n");
-        gdouble current_val = atspi_value_get_current_value(value_interface, &err);
-        GERROR_CHECK(err)
-        ERROR("Current value: %f\n ", (double)current_val);
-        gdouble minimum_inc = atspi_value_get_minimum_increment(value_interface, &err);
-        GERROR_CHECK(err)
-        ERROR("Minimum increment: %f\n ", (double)minimum_inc);
-        atspi_value_set_current_value(value_interface, current_val - minimum_inc, &err);
-        GERROR_CHECK(err)
-    }
-    else
-        ERROR("No value interface supported!\n");
-}
-
-static void _activate_widget(void)
-{
-    //activate the widget
-    //only if activate mean click
-    //special behavior for entry, caret should move from first/last last/first
-
-    AtspiAccessible *current_widget = NULL;
-    AtspiComponent *focus_component;
-    GError *err = NULL;
-
-    if(!current_obj)
-      return;
-
-    current_widget = current_obj;
-
-    gchar *roleName;
-    gchar *actionName;
-    roleName = atspi_accessible_get_role_name(current_widget, &err);
-    GERROR_CHECK(err)
-    ERROR("Widget role prev: %s\n", roleName);
-
-    if(!strcmp(roleName, "entry"))
-    {
-        focus_component = atspi_accessible_get_component(current_widget);
-        if (focus_component != NULL)
-        {
-            if (atspi_component_grab_focus(focus_component, &err) == TRUE)
-              {
-                ERROR("Entry activated\n");
-                GERROR_CHECK(err)
-              }
-            g_free(roleName);
-            return;
-        }
-    }
-    g_free(roleName);
-
-    AtspiAction *action;
-    gint number;
-    int i;
-    int k;
-
-    action = atspi_accessible_get_action(current_widget);
-
-    if(!action)
-      {
-        ERROR("Action null");
-        return;
-      }
-    number = atspi_action_get_n_actions(action, &err);
-    ERROR("Number of available action = %d\n", number);
-    GERROR_CHECK(err)
-        GArray *array = atspi_accessible_get_interfaces(current_widget);
-        ERROR("TAB LEN = %d \n", array->len);
-
-        for (k=0; k < array->len; k++)
-            ERROR("Interface = %s\n", g_array_index( array, gchar *, k ));
-
-        for (i=0; i<number; i++)
-        {
-            actionName = atspi_action_get_name(action, i, &err);
-            ERROR("Action name = %s\n", actionName);
-            GERROR_CHECK(err)
-
-            if (actionName && !strcmp("click", actionName))
-            {
-                atspi_action_do_action(action, 0, &err);
-                GERROR_CHECK(err)
-            }
-            g_free(actionName);
-        }
-
-}
-
-static void _quickpanel_change_state(gboolean quickpanel_switch)
-{
-    Ecore_X_Window xwin = 0;
-
-    ERROR(quickpanel_switch ? "QUICKPANEL STATE ON" : "QUICKPANEL STATE OFF");
-
-    Ecore_X_Illume_Quickpanel_State state;
-
-
-
-    ecore_x_window_prop_xid_get(ecore_x_window_root_first_get(),
-                                     ECORE_X_ATOM_NET_ACTIVE_WINDOW,
-                                     ECORE_X_ATOM_WINDOW,
-                                     &xwin, 1);
-
-    state = quickpanel_switch ? ECORE_X_ILLUME_QUICKPANEL_STATE_ON : ECORE_X_ILLUME_QUICKPANEL_STATE_OFF;
-
-    ecore_x_e_illume_quickpanel_state_set(xwin, state);
-
-    ecore_x_e_illume_quickpanel_state_send(ecore_x_e_illume_zone_get(xwin), state);
-
-    ecore_main_loop_iterate();
-}
-
-static void on_gesture_detected(void *data, Gesture_Info *info)
-{
-   switch(info->type)
-   {
-      case ONE_FINGER_HOVER:
-          _focus_widget(info);
-          break;
-      case ONE_FINGER_FLICK_LEFT:
-          _focus_prev();
-          break;
-      case ONE_FINGER_FLICK_RIGHT:
-          _focus_next();
-          break;
-      case ONE_FINGER_FLICK_UP:
-          _value_inc_widget();
-          break;
-      case ONE_FINGER_FLICK_DOWN:
-          _value_dec_widget();
-          break;
-      case ONE_FINGER_SINGLE_TAP:
-          _focus_widget(info);
-          break;
-      case ONE_FINGER_DOUBLE_TAP:
-          _activate_widget();
-          break;
-      case THREE_FINGERS_FLICK_DOWN:
-          _quickpanel_change_state(QUICKPANEL_DOWN);
-          break;
-      case THREE_FINGERS_FLICK_UP:
-          _quickpanel_change_state(QUICKPANEL_UP);
-          break;
-      default:
-          DEBUG("Gesture type %d not handled in switch", info->type);
-   }
-}
-
 static void
 _on_cache_builded(void *data)
 {
@@ -612,9 +327,6 @@ void kb_tracker (void *data, Key k)
 
 void navigator_init(void)
 {
-   // register on gesture_getected
-   gesture_tracker_register(on_gesture_detected, NULL);
-   // register on active_window
    window_tracker_init();
    window_tracker_register(on_window_activate, NULL);
    window_tracker_active_window_request();