[TBT][Sensor][NonACR][TNEXT-2915,Added new testcasefor pedometer sensor] 58/145858/2
authornibha.sharma <nibha.sharma@samsung.com>
Thu, 24 Aug 2017 05:49:13 +0000 (11:19 +0530)
committerNibha Sharma <nibha.sharma@samsung.com>
Thu, 24 Aug 2017 07:36:34 +0000 (07:36 +0000)
Change-Id: I0608c3302fdf561e2f5311dfa1dd5f378c691cfd
Signed-off-by: nibha.sharma <nibha.sharma@samsung.com>
release/binary-armv7l/org.tizen.tbtcoreapp-1.0.0-arm.tpk
release/binary-x86/org.tizen.tbtcoreapp-1.0.0-x86.tpk
tbtcoreapp/inc/model/tbt-info.h
tbtcoreapp/inc/utils/app_module_config.h
tbtcoreapp/src/model/tbt-list.c
tbtcoreapp/src/view/tbt-genlist-view.c
tbtcoreapp/src/view/tbt-sensor-view.c
tbtcoreapp/tizen-manifest.xml

index d5c6bb5b7292f1bc6acd593473fed42517494aa4..0c446ce15bcea738f1f9b4d518ceafff98a9f4bd 100755 (executable)
Binary files a/release/binary-armv7l/org.tizen.tbtcoreapp-1.0.0-arm.tpk and b/release/binary-armv7l/org.tizen.tbtcoreapp-1.0.0-arm.tpk differ
index e10843d03d0812c65eaacf2cc39f2a014eb71d7d..44fa755dc5457bdf9e7a6e050ae3fe1092540c35 100755 (executable)
Binary files a/release/binary-x86/org.tizen.tbtcoreapp-1.0.0-x86.tpk and b/release/binary-x86/org.tizen.tbtcoreapp-1.0.0-x86.tpk differ
index 4562cb16812f65d477b43a4bf5a96947351b80f8..658bd3fecf4632c1992e9fac687a80e8df816c3b 100644 (file)
@@ -139,6 +139,7 @@ typedef enum {
     TBT_APP_SENSOR_ULTRA_VIOLET,
     TBT_APP_SENSOR_MAGNATOMETER,
     TBT_APP_SENSOR_PRESSURE,
+    TBT_APP_SENSOR_PEDOMETER,
 
 
     TBT_APP_ANIMATION_FADE,
index 4dfdab822995602a1491c18778e8dbf8861819f3..1bc595ec3865f1433bced34210bc38e7afb7fc3f 100644 (file)
 #define TBT_MODULE_APP_SENSOR_ULTRA_VIOLET
 #define TBT_MODULE_APP_SENSOR_PRESSURE
 #define TBT_MODULE_APP_SENSOR_MAGNATOMETER
+#define TBT_MODULE_APP_SENSOR_PEDOMETER
 
 #define TBT_MODULE_ANIMATION
 #define TBT_MODULE_APP_ANIMATION_FADE
index 5748cf359af3c5f11e6bfdefccc8000352d064cf..59f4efcdc6277bcabe0f5ebbb2d05061c71cf8c9 100644 (file)
@@ -1400,6 +1400,25 @@ static tbt_info tbtapps[] =
                        .features_required = {FEATURE_SENSOR_MAGNETOMETER}
                },
        #endif
+
+       #ifdef TBT_MODULE_APP_SENSOR_PEDOMETER
+
+               //Pedometer
+               {
+                       .name = "Pedometer",
+                       .parent = "Sensor",
+                       .apptype = TBT_APP_SENSOR_PEDOMETER,
+                       .icon_name = "dummy",
+                       .info = "1. Walk with the device about 10 steps or shake the device up and down.<br/>"
+                                       "2. Pedometer state will be updated accordingly",
+                       .result = -1,
+                       .sensor_response_interval = 100,
+                       .sensortype = SENSOR_HUMAN_PEDOMETER,
+                       .units = SENSOR_UNIT_METRE_PER_SECOND_SQUARED,
+                       .required_features_count = 1,
+                       .features_required = {FEATURE_SENSOR_PEDOMETER}
+               },
+       #endif
 #endif
 
 #ifdef TBT_MODULE_ANIMATION
@@ -2619,7 +2638,7 @@ void tbt_list_init()
     {
         info->result = 0;
                #ifdef TBT_MODULE_SENSOR
-        if(info->apptype == TBT_APP_SENSOR_ACCELEROMETER || info->apptype == TBT_APP_SENSOR_GYROSCOPE || info->apptype == TBT_APP_SENSOR_PROXIMITY || info->apptype == TBT_APP_SENSOR_MAGNATOMETER || info->apptype == TBT_APP_SENSOR_LIGHT || info->apptype == TBT_APP_SENSOR_PRESSURE || info->apptype == TBT_APP_SENSOR_ULTRA_VIOLET)
+        if(info->apptype == TBT_APP_SENSOR_ACCELEROMETER || info->apptype == TBT_APP_SENSOR_GYROSCOPE || info->apptype == TBT_APP_SENSOR_PROXIMITY || info->apptype == TBT_APP_SENSOR_MAGNATOMETER || info->apptype == TBT_APP_SENSOR_LIGHT || info->apptype == TBT_APP_SENSOR_PRESSURE || info->apptype == TBT_APP_SENSOR_ULTRA_VIOLET || info->apptype == TBT_APP_SENSOR_PEDOMETER)
        {
                float resolution = 1.0;
                int ret;
index b38b9968725bfe92d62a37e5f7268c8497a2c9f6..cdc3fcac7ab0c9ded6e7532165c3d643e18ed6e8 100644 (file)
@@ -583,6 +583,10 @@ static bool is_sensor_supported(tbt_info *info)
        {
                type= SENSOR_ULTRAVIOLET;
        }
+       else if(info->apptype == TBT_APP_SENSOR_PEDOMETER)
+       {
+               type= SENSOR_HUMAN_PEDOMETER;
+       }
        int ret = sensor_is_supported(type, &supported);
        RETVM_IF(SENSOR_ERROR_NONE!=ret, false,"sensor_is_supported failed");
 
@@ -987,6 +991,10 @@ static void _gl_item_selected_cb(void *data, Evas_Object *obj EINA_UNUSED, void
                        case TBT_APP_SENSOR_PRESSURE:
                                sensor_view_add(view->navi, info, it);
                                break;
+
+                       case TBT_APP_SENSOR_PEDOMETER:
+                               sensor_view_add(view->navi, info, it);
+                               break;
                #endif
 
                #ifdef TBT_MODULE_ANIMATION
index 0117fcfe3b76ed9e0524bfb363ad96f5205b80ca..a56570fc8eec19ce36dbce9cdd0ed65deeaac857 100644 (file)
@@ -127,6 +127,8 @@ struct _sensor_view
        Evas_Object *ultraviolet_image;
        Evas_Object *ultraviolet_label;
 
+       Evas_Object *pedometer_label;
+
        Evas_Object *fork_x;
        Evas_Object *fork_y;
        Evas_Object *fork_z;
@@ -366,6 +368,11 @@ sensor_view *sensor_view_add(Evas_Object *navi, tbt_info *tbt_info, Elm_Object_I
                tbt_info->layout_group = "5_part_cnt_cnt_cnt_cnt_btn";
                tbt_info->layout_file = get_edje_path("5_part_cnt__cnt__cnt__cnt_btn.edj");
        }
+       else if(tbt_info->apptype == TBT_APP_SENSOR_PEDOMETER)
+       {
+               tbt_info->layout_group = "3_part_cnt_txt_btn";
+               tbt_info->layout_file = get_edje_path("3_part_cnt2.75_txt_btn.edj");
+       }
        else
        {
                tbt_info->layout_group = "4_part_cnt_cnt_btn_btn";
@@ -579,6 +586,14 @@ sensor_view *sensor_view_add(Evas_Object *navi, tbt_info *tbt_info, Elm_Object_I
                elm_object_part_content_set(this->view->layout, "1cnt_2cnt_3cnt", label);
 
        }
+       else if(this->sensor_info->apptype == TBT_APP_SENSOR_PEDOMETER)
+       {
+               get_screen_resolution(this);
+
+               this->pedometer_label = ui_utils_label_add(this->view->layout, "");
+               elm_object_part_content_set(this->view->layout, "1cnt_2txt", this->pedometer_label);
+               sensor_get_default_sensor(SENSOR_HUMAN_PEDOMETER, &this->sensor_info->sensor);
+       }
 
        this->glview = gles_cube_view_init(this);
        if(this->glview == NULL)
@@ -868,6 +883,23 @@ static void genlist_sensor_value_items_update(sensor_view *view, float *values)
       rotate_image(view->fork_y, y);
       rotate_image(view->fork_z, z);
        }
+       else if(view->sensor_info->apptype == TBT_APP_SENSOR_PEDOMETER)
+       {
+               DBG("Distance: %f %f %f %f %f %f %f", values[0], values[1], values[2],values[3],values[4],values[5],values[6],values[7]);
+
+               if(values[6] == 0.0f)
+               {
+                       ui_utils_label_set_text(view->pedometer_label, "SENSOR_PEDOMETER_STATE_STOP", "left");
+               }
+               else if(values[6] ==3.0f || values[6] == 3.7f)
+               {
+                       ui_utils_label_set_text(view->pedometer_label, "SENSOR_PEDOMETER_STATE_RUN", "left");
+               }
+               else if(values[6] == 1.5f || values[6] == 2.0f)
+               {
+                       ui_utils_label_set_text(view->pedometer_label, "SENSOR_PEDOMETER_STATE_WALK", "left");
+               }
+       }
 }
 
 
@@ -1578,6 +1610,10 @@ static bool is_sensor_supported(sensor_view *view)
        {
                type= SENSOR_ULTRAVIOLET;
        }
+       else if(view->view->tbt_info->apptype == TBT_APP_SENSOR_PEDOMETER)
+       {
+               type= SENSOR_HUMAN_PEDOMETER;
+       }
        int ret = sensor_is_supported(type, &supported);
        RETVM_IF(SENSOR_ERROR_NONE!=ret, false,"sensor_is_supported failed: %s",get_sensor_error(ret));
 
index 803847c88ef6077bfab9065b271ebd0dace7ea80..140dc27a131b4b891b9a87abf4dcb74c90cfc816 100644 (file)
@@ -29,6 +29,7 @@
         <privilege>http://tizen.org/privilege/notification</privilege>
         <privilege>http://tizen.org/privilege/network.profile</privilege>
         <privilege>http://tizen.org/privilege/recorder</privilege>
+               <privilege>http://tizen.org/privilege/healthinfo</privilege>
     </privileges>
     <feature name="http://tizen.org/feature/screen.size.all">true</feature>
 </manifest>