gengxin
authorCCC <2393524978@qq.com>
Mon, 11 Dec 2023 06:31:26 +0000 (14:31 +0800)
committerCCC <2393524978@qq.com>
Mon, 11 Dec 2023 06:31:26 +0000 (14:31 +0800)
2.sdk/sdk/gui/lv_watch/lv_apps/launcher/launcher.c

index ff0f5de..2db0928 100644 (file)
@@ -50,6 +50,10 @@ static void launcher_drop_pull_prepare_destory(lv_obj_t * activity_obj);
 static lv_signal_cb_t  ancestor_launcher_tileview_scrl_signal;
 static lv_point_t * menu_valid_pos = NULL;
 static const lv_point_t dp_valid_pos[] = {{0, 0}, {1, 0}, {2, 0}};
+#ifdef __MMI_PAGE_MAIN_MENU_TTS_SUPPORT__
+static uint8_t s_page_last_tab_index = 0;
+#endif
+
 /**********************
  *      MACROS
  **********************/
@@ -334,14 +338,33 @@ static void launcher_tileview_event_cb(lv_obj_t * tileview, lv_event_t e)
 
        #ifdef __MMI_PAGE_MAIN_MENU_TTS_SUPPORT__
                uint8_t menu_index = 0;
+               uint8_t menu_cnt = primary_menu_get_menu_cnt();
                
                if(LAUNCHER_HOR_SLIDING_LOOP_MODE_ENABLE)
-                       menu_index = ext->act_id.x - 2;
+               {
+                       if(0 == ext->act_id.x)
+                       {
+                               if(1 == s_page_last_tab_index)
+                                       menu_index = menu_cnt - 1;
+                               else
+                                       menu_index = menu_cnt; // not broadcast
+                       }
+                       else if(1 == ext->act_id.x)
+                               menu_index = menu_cnt; // not broadcast
+                       else
+                               menu_index = ext->act_id.x - 2;
+               }
                else
-                       menu_index = ext->act_id.x - 1;
-
-               printf("[@CHENG_DEBUG][%s][%d]: menu_index=%d\n", __FUNCTION__, __LINE__, menu_index);
-               mmi_page_main_menu_tts_broadcast(menu_index);
+               {
+                       //menu_index = ext->act_id.x - 1;
+               }
+               s_page_last_tab_index = ext->act_id.x;
+
+               printf("[@CHENG_DEBUG][%s][%d]: x=%d,menu_index=%d\n", __FUNCTION__, __LINE__, ext->act_id.x, menu_index);
+               if(menu_index < menu_cnt)
+               {
+                       mmi_page_main_menu_tts_broadcast(menu_index);
+               }
        #endif
 
     }
@@ -364,6 +387,9 @@ static lv_obj_t * launcher_create(lv_obj_t * activity_obj)
     if(LAUNCHER_HOR_SLIDING_LOOP_MODE_ENABLE && menu_cnt > 0) {
         valid_pos_cnt = menu_cnt + 2;
         dial_index = 1;
+               #ifdef __MMI_PAGE_MAIN_MENU_TTS_SUPPORT__
+               s_page_last_tab_index = 1;
+               #endif
     } else {
         valid_pos_cnt = menu_cnt + 1;
     }