media_app.c 97 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870
  1. /********************************************************************
  2. ** File Name: file_app.c
  3. **
  4. ** File Description: This file implements media system application
  5. **
  6. ** Copyright(c) 2009 Sunplus Technologies - All Rights Reserved
  7. **
  8. ** History Information Description
  9. ** Date Author Modification
  10. ********************************************************************/
  11. /********************************************************************
  12. Including Files
  13. ********************************************************************/
  14. #include "gl_queue.h"
  15. #include "gl_task.h"
  16. #include "app_menumgr.h"
  17. #include "gobj_mgr.h"
  18. #include "app_factory_flash_access.h"
  19. //#include "gobj_mgr.h"
  20. #include "sysapp_table.h"
  21. #include "sysapp_if.h"
  22. #include "app_guiobj_source.h"
  23. #include "app_guiobj_mute.h"
  24. #include "app_guiobj_mainmenu.h"
  25. #include "app_guiobj_mainmenupop.h"
  26. #include "app_audio.h"
  27. #include "app_factory.h"
  28. #include "app_guiobj_adjust.h"
  29. #include "app_scart.h"
  30. //#include "app_guiobj_fm_factory.h"
  31. #if defined(CONFIG_BT_RDA5856)
  32. #include "app_guiobj_bt_setting.h"
  33. #endif
  34. #include "app_fileplayer_event.h"
  35. #include "media_gui_object_table.h"
  36. #include "al_fw.h"
  37. #include "app_fileplayer_event.h"
  38. /******** middlewares header files **************/
  39. #include "AL_Multimedia_FileSystem_IF.h"
  40. #include "AL_Multimedia_Player_IF.h"
  41. #include "AL_Multimedia_PlayList_IF.h"
  42. #include "AL_Multimedia_Player_PIC_Lib_Access.h"
  43. /******** Sys app internal header files **************/
  44. #ifdef CONFIG_SUPPORT_MEDIA_AUTO_PLAY
  45. #include "MM_media_auto_play.h"
  46. #endif
  47. #include "MM_Multimedia_Data.h"
  48. #include "MM_Multimedia.h"
  49. #include "MM_homepage_gui.h"
  50. #include "MM_popmsg_gui.h"
  51. #include "MM_movie_playback_gui.h"
  52. #include "MM_music_playback_gui.h"
  53. #include "MM_photo_playback_gui.h"
  54. #include "MM_music_source_gui.h"
  55. #include "MM_thumbnail_gui.h"
  56. #include "MM_EBook_gui.h"
  57. #include "main_app.h"
  58. #include "media_app.h"
  59. #include "app_gui.h"
  60. #include "app_event.h"
  61. #include "app_data_setting.h"
  62. #include "app_guiobj_mute.h"
  63. #include "MM_popmsg_gui.h"
  64. #include "main_app.h"
  65. #ifdef CONFIG_SUPPORT_HDMI_PLUGIN_CHANGE_SOURCE
  66. #include "cecd_interface.h"
  67. #endif
  68. #ifdef SUPPORT_CEC_TV
  69. #include "umf_cec.h"
  70. #endif
  71. #include "app_video.h"
  72. #include "app_guiobj_hdmilink.h"
  73. #include "pin_config.h"
  74. #include "umf_ioctl.h"
  75. #include "app_guiobj_sleeptimer.h"
  76. #include "MM_media_qsd_gui.h"
  77. #include "app_sysset.h"
  78. #include "app_guiobj_cul_fm_factorySetting_new.h"
  79. #include "app_guiobj_cul_fm_HotelSetting.h"
  80. #include "MM_homepage_gui.h"
  81. #ifdef CONFIG_USB_RECOVER_SPOT_SUPPORT
  82. #include "MM_usb_resume_gui.h"
  83. #endif
  84. #ifdef CONFIG_SUPPORT_PANNEL_PHOTO_TEST
  85. #include "mw_logo.h"
  86. #endif
  87. #ifdef CONFIG_SUPPORT_WIFI
  88. #include "netsetting_if.h"
  89. #include "net_ip_setting.h"
  90. #endif
  91. //#include "MM_gui_object_table.h"
  92. /********************************************************************
  93. Macros
  94. ********************************************************************/
  95. #define FILE_DEBUG
  96. #define file_printf(fmt, arg...) ((void) 0)
  97. #ifdef FILE_DEBUG
  98. #undef file_printf
  99. #define file_printf(fmt, arg...) UMFDBG(0,"[media app][%s:%d]:"fmt, __FUNCTION__, __LINE__, ##arg)
  100. #endif
  101. int SysApp_MM_OnCreate(void** ppPrivateData);
  102. int SysApp_MM_OnDestroy(void** ppPrivateData);
  103. int SysApp_MM_OnRun(void* pPrivateData, UINT32 dParam);
  104. int SysApp_MM_OnTerminate(void* pPrivateData, UINT32 dParam);
  105. int SysApp_MM_OnTimerUpdate(void* pPrivateData);
  106. int SysApp_MM_OnEvent(void* pPrivateData, UINT32 dMessage, UINT32 dParam);
  107. SysAppInstDef stFilePlayerInst =
  108. {
  109. SYS_APP_FILE_PLAYER,
  110. SysApp_MM_OnCreate,
  111. SysApp_MM_OnDestroy,
  112. SysApp_MM_OnRun,
  113. SysApp_MM_OnTerminate,
  114. SysApp_MM_OnTimerUpdate,
  115. SysApp_MM_OnEvent,
  116. SYSTEM_IDLE,
  117. FILEBROWSER_GUI_Obj_List,
  118. MEDIA_GUIOBJ_MAX,
  119. NULL,
  120. NULL
  121. };
  122. #ifdef CONFIG_SUPPORT_ESTICKER_INFILE
  123. static UINT8 g_u32StoreModeOpenTimer = 0;
  124. #endif
  125. bool g_bOpenHomeMenuAfterCloseFM = FALSE;
  126. static UINT8 g_u8SourceTrastTimer = 0;
  127. static APP_Audio_SetDualMode_e bakDaulMode = AUDIO_OUTPUT_CHANNEL_AUTO;
  128. static INT32 g_u32Mutekeydelaytime = 10;
  129. static INT32 g_u32MuteIconHandle = 10;
  130. static INT32 MUTE_KEY_INTERVAL = 10;
  131. static UINT8 g_Media_ADCAutoChnage = FALSE;
  132. extern UINT8 AL_FLASH_GetColorLUTALL(ColorLUT_t* bColorLUTValue);
  133. extern void _APP_GUIOBJ_Sound_SetMuteStatus();
  134. /******************************************************************************/
  135. /**
  136. * @brief :redraw mainmenu , source, optionmenu... if they are exist.
  137. * @param
  138. * @return
  139. *
  140. ******************************************************************************/
  141. void SysApp_MM_Reset_ADCAutoChnageFlag(void)
  142. {
  143. g_Media_ADCAutoChnage = FALSE;
  144. }
  145. void SysApp_MM_Refresh_GUI(void)
  146. {
  147. int iGuiObject = 0;
  148. if (SYSTEM_APP_SUCCESS == SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_FILE_PLAYER, &iGuiObject))
  149. {
  150. if ( iGuiObject == APP_GUIOBJ_MAINMENU
  151. ||iGuiObject == APP_GUIOBJ_PICTURE
  152. ||iGuiObject == APP_GUIOBJ_SOUND
  153. ||iGuiObject == APP_GUIOBJ_FEATURE
  154. ||iGuiObject == APP_GUIOBJ_SETUP
  155. #ifdef CONFIG_BT_RDA5856
  156. ||iGuiObject == APP_GUIOBJ_BT_DEVICELIST
  157. ||iGuiObject == APP_GUIOBJ_BT_SETTING
  158. #endif
  159. )
  160. {
  161. file_printf("line: %d\n", __LINE__);
  162. SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_FILE_PLAYER,
  163. iGuiObject, APP_GLOBAL_EVENT_REFRESH_FOCUS_UI, 0);
  164. }
  165. if (iGuiObject == APP_GUIOBJ_SOURCE || iGuiObject == APP_GUIOBJ_OPTIONMENU
  166. || iGuiObject == APP_GUIOBJ_SLEEP_INFO)
  167. {
  168. file_printf("line: %d\n", __LINE__);
  169. SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_FILE_PLAYER,
  170. iGuiObject, APP_GLOBAL_EVENT_REFRESH_FOCUS_UI, 0);
  171. }
  172. }
  173. }
  174. /******************************************************************************/
  175. /**
  176. * @brief : For FactoryMenu -> factory User Mode -> Utility -> Burn in mode.
  177. * @param
  178. * @return
  179. *
  180. ******************************************************************************/
  181. void SysApp_MM_BurninMode_Pause_MediaPlay(void)
  182. {
  183. SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_FILE_PLAYER, FILE_GLOBAL_EVENT_MEDIA_CLOSE_ALL|PASS_TO_SYSAPP, 0);
  184. #if 0
  185. int sdRet = 0;
  186. MediaPlayState_e ePlayState;
  187. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PHOTO_PLAYBACK))
  188. {
  189. file_printf("[%s] line [%d]: pause playing picture & stop playing BG music...\n",__FUNCTION__,__LINE__);
  190. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MUSIC_BGSOURCE);
  191. SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_FILE_PLAYER,
  192. MEDIA_GUIOBJ_MUSIC_BGPLAYBACK, FILE_INTRA_EVENT_FILE_STOP, 0);
  193. //SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MUSIC_BGPLAYBACK);
  194. ePlayState = MM_PhotoPlayback_GetPlayState();
  195. if ((ePlayState != MEDIA_STATE_STOP) && (ePlayState != MEDIA_STATE_MAX))
  196. {
  197. MM_PhotoPlayback_SetPlayState(MEDIA_STATE_PAUSE);
  198. }
  199. MM_PhotoPlayback_ClearDisplayImage();
  200. return;
  201. }
  202. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MUSIC_PLAYBACK))
  203. {
  204. file_printf("[%s] line [%d]: pause playing music...\n",__FUNCTION__,__LINE__);
  205. ePlayState = MM_Music_GetPlayState();
  206. if ((ePlayState != MEDIA_STATE_STOP)
  207. && (ePlayState != MEDIA_STATE_PAUSE)
  208. && (ePlayState != MEDIA_STATE_MAX)
  209. )
  210. {
  211. sdRet = MM_Music_Pause();
  212. if (sdRet != 0)
  213. {
  214. file_printf("[%s] line [%d]: Err [%d]\n",__FUNCTION__,__LINE__,sdRet);
  215. }
  216. }
  217. return;
  218. }
  219. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MOVIE_PLAYBACK))
  220. {
  221. Movie_Data_t * p_stMovieData = MM_MoviePlayback_GetMovieData();
  222. ePlayState = p_stMovieData->ePlayState;
  223. if ((ePlayState != MEDIA_STATE_STOP) && (ePlayState != MEDIA_STATE_MAX))
  224. {
  225. file_printf("[%s] line [%d]: pause playing movie...\n",__FUNCTION__,__LINE__);
  226. if ((ePlayState == MEDIA_STATE_FB) ||
  227. (ePlayState == MEDIA_STATE_FF) ||
  228. (ePlayState == MEDIA_STATE_SB) ||
  229. (ePlayState == MEDIA_STATE_SF) ||
  230. (ePlayState == MEDIA_STATE_PLAY))
  231. {
  232. sdRet = MM_MoviePlayback_Pause();
  233. if (sdRet != 0)
  234. {
  235. file_printf("[%s] line [%d]: Err [%d]\n",__FUNCTION__,__LINE__,sdRet);
  236. }
  237. }
  238. else if (ePlayState == MEDIA_STATE_PAUSE)
  239. {
  240. //Nothing to do.
  241. }
  242. else
  243. {
  244. sdRet = MM_MoviePlayback_Stop();
  245. if (sdRet != 0)
  246. {
  247. file_printf("[%s] line [%d]: Err [%d]\n",__FUNCTION__,__LINE__,sdRet);
  248. }
  249. }
  250. }
  251. return;
  252. }
  253. /*
  254. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PVR_PLAYBACK))
  255. {
  256. file_printf("[%s] line [%d]: pause playing pvr...\n",__FUNCTION__,__LINE__);
  257. ePlayState = MM_PVRPlayback_GetPlayStatus();
  258. if ((ePlayState == MEDIA_STATE_FF) ||
  259. (ePlayState == MEDIA_STATE_FB) ||
  260. (ePlayState == MEDIA_STATE_PLAY))
  261. {
  262. sdRet = MM_PVRPlayback_Pause();
  263. if (sdRet != 0)
  264. {
  265. file_printf("[%s] line [%d]: Err [%d]\n",__FUNCTION__,__LINE__,sdRet);
  266. }
  267. }
  268. else
  269. {
  270. //Nothing to do.
  271. }
  272. return;
  273. }*/
  274. #endif
  275. }
  276. /******************************************************************************/
  277. /**
  278. * @brief : For FactoryMenu -> factory User Mode -> Utility -> Burn in mode.
  279. * @param
  280. * @return
  281. *
  282. ******************************************************************************/
  283. void SysApp_MM_BurninMode_Resume_MediaPlay(void)
  284. {
  285. MediaPlayState_e ePlayState;
  286. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PHOTO_PLAYBACK))
  287. {
  288. ePlayState = MM_PhotoPlayback_GetPlayState();
  289. if ((ePlayState != MEDIA_STATE_STOP) && (ePlayState != MEDIA_STATE_MAX))
  290. {
  291. SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_FILE_PLAYER,
  292. MEDIA_GUIOBJ_PHOTO_PLAYBACK, FILE_INTRA_EVENT_FILE_NEXT, 0);
  293. MM_PhotoPlayback_SetPlayState(MEDIA_STATE_PLAY);
  294. }
  295. return;
  296. }
  297. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MUSIC_PLAYBACK))
  298. {
  299. ePlayState = MM_Music_GetPlayState();
  300. if ((ePlayState != MEDIA_STATE_STOP)
  301. && (ePlayState != MEDIA_STATE_MAX)
  302. )
  303. {
  304. SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_FILE_PLAYER,
  305. MEDIA_GUIOBJ_MUSIC_PLAYBACK, UI_EVENT_PLAY_PAUSE, 0);
  306. //MM_Music_OpenSelectedFile();
  307. //MM_Music_Play();
  308. }
  309. return;
  310. }
  311. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MOVIE_PLAYBACK))
  312. {
  313. file_printf("[%s] line [%d]: start to resume playing movie...\n",__FUNCTION__,__LINE__);
  314. Movie_Data_t * p_stMovieData = MM_MoviePlayback_GetMovieData();
  315. ePlayState = p_stMovieData->ePlayState;
  316. if (ePlayState == MEDIA_STATE_PAUSE)
  317. {
  318. MM_MoviePlayback_Play();
  319. SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_FILE_PLAYER,
  320. MEDIA_GUIOBJ_MOVIE_HINT, FILE_INTRA_EVENT_FILE_STATE_REFRESH, 0);
  321. }
  322. else
  323. {
  324. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MOVIE_PLAYBACK);
  325. }
  326. return;
  327. }
  328. /*if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PVR_PLAYBACK))
  329. {
  330. file_printf("[%s] line [%d]: start to resume playing pvr...\n",__FUNCTION__,__LINE__);
  331. ePlayState = MM_PVRPlayback_GetPlayStatus();
  332. if (ePlayState == MEDIA_STATE_PAUSE)
  333. {
  334. MM_PVRPlayback_Play();
  335. }
  336. else
  337. {
  338. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PVR_PLAYBACK);
  339. }
  340. return;
  341. }*/
  342. }
  343. /******************************************************************************/
  344. /**
  345. * @brief
  346. * @param
  347. * @return
  348. *
  349. ******************************************************************************/
  350. int SysApp_MM_DestroyPartialObjects(bool bIsCleanAll)
  351. {
  352. int i = 0;
  353. UINT32 u32TotalObj = 0;
  354. UINT8 u8FilteredObj = 0;
  355. UINT32 u32GuiObjID[MEDIA_GUIOBJ_MAX] = {0};
  356. UINT32 u32CloseGuiObjID[MEDIA_GUIOBJ_MAX] = {0};
  357. /*
  358. when we call this api to destroty all gui object, the the current gui object will not
  359. implement lose foucus function,this means that some ui resource will not free,so
  360. create a null gui object to let the current gui object lost focus--gadenia
  361. */
  362. if(bIsCleanAll)
  363. {
  364. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL, 0);
  365. }
  366. if (SYSAPP_GOBJ_GetTotalCreatedObjects(SYS_APP_FILE_PLAYER, &u32TotalObj) \
  367. == SYSTEM_APP_INDEX_ERROR)
  368. {
  369. file_printf("%s() %d\n", __FUNCTION__, __LINE__);
  370. return SP_ERR_FAILURE;
  371. }
  372. for (i = u32TotalObj - 1; i >= 0; i--)
  373. {
  374. if (SYSAPP_GOBJ_GetObjectIDByIndex(SYS_APP_FILE_PLAYER, i , &u32GuiObjID[u8FilteredObj]) \
  375. == SYSTEM_APP_INDEX_ERROR)
  376. {
  377. file_printf("%s() %d\n", __FUNCTION__, __LINE__);
  378. return SP_ERR_FAILURE;
  379. }
  380. if (
  381. (u32GuiObjID[u8FilteredObj] == MEDIA_GUIOBJ_HOMEPAGE
  382. || u32GuiObjID[u8FilteredObj] == APP_GUIOBJ_MUTE
  383. || u32GuiObjID[u8FilteredObj] == MEDIA_GUIOBJ_POPMSG
  384. #ifdef CONFIG_SUPPORT_SHOW_KEYPADMENU
  385. || u32GuiObjID[u8FilteredObj] == APP_GUIOBJ_KEYPADMENU
  386. #endif
  387. )
  388. && (!bIsCleanAll)
  389. )
  390. {
  391. continue;
  392. }
  393. u8FilteredObj++;
  394. }
  395. /*mantis33781:when we call this api to destroty all gui object, menu close order need depend on open order*/
  396. for (i = u8FilteredObj - 1; i >= 0; i--)
  397. {
  398. u32CloseGuiObjID[u8FilteredObj - i - 1] = u32GuiObjID[i];
  399. }
  400. file_printf("[%s] MEDIA_GUIOBJ_POPMSG = %d\n", __FUNCTION__, MEDIA_GUIOBJ_POPMSG);
  401. file_printf("[%s] u8FilteredObj = %d\n", __FUNCTION__, u8FilteredObj);
  402. SYSAPP_GOBJ_DestroyPartialGUIObjects(SYS_APP_FILE_PLAYER, u32CloseGuiObjID, u8FilteredObj);
  403. return SP_SUCCESS;
  404. }
  405. /******************************************************************************/
  406. /**
  407. * @brief : Destroy all common GUIs.
  408. * @param :
  409. * @return :
  410. *
  411. ******************************************************************************/
  412. void SysApp_MM_DestroyAppointedGUI(void)
  413. {
  414. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_POPMSG))
  415. {
  416. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_POPMSG);
  417. }
  418. #ifdef SUPPORT_FACTORY_AUTO_TEST_MODE2
  419. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_FAC_AUTOTEST))
  420. {
  421. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_FAC_AUTOTEST);
  422. }
  423. #endif
  424. if (APP_MenuMgr_Exist_Main_Menu())
  425. {
  426. APP_MenuMgr_Exit_Main_Menu();
  427. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_POPMSG_MAINMENU))
  428. {
  429. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_POPMSG_MAINMENU);
  430. }
  431. }
  432. if (APP_MenuMgr_Exist_Factory_Menu())
  433. {
  434. APP_MenuMgr_Exit_Factory_Menu();
  435. }
  436. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_OPTIONMENU))
  437. {
  438. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_OPTIONMENU);
  439. }
  440. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MAINMENUPOP))
  441. {
  442. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MAINMENUPOP);
  443. }
  444. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_LANGUAGE))
  445. {
  446. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_LANGUAGE);
  447. }
  448. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOURCE))
  449. {
  450. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOURCE);
  451. }
  452. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOURCE_CEC))
  453. {
  454. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOURCE_CEC);
  455. }
  456. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_BANNER))
  457. {
  458. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_BANNER);
  459. }
  460. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_ADJUST))
  461. {
  462. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_ADJUST);
  463. }
  464. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_AMPLIFIERVOLUME))
  465. {
  466. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_AMPLIFIERVOLUME);
  467. }
  468. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SLEEP_INFO))
  469. {
  470. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SLEEP_INFO);
  471. }
  472. }
  473. #ifdef SUPPORT_POWERAGAIN_CONFIRM_POWEROFF
  474. void SysApp_MM_DestroyMediaNotPlaybackGUI(void)
  475. {
  476. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PHOTO_HINT))
  477. {
  478. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PHOTO_HINT);
  479. }
  480. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PHOTO_INFO))
  481. {
  482. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PHOTO_INFO);
  483. }
  484. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PHOTO_PLAYSTATE))
  485. {
  486. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PHOTO_PLAYSTATE);
  487. }
  488. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MOVIE_HINT))
  489. {
  490. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MOVIE_HINT);
  491. }
  492. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MOVIE_GOTO))
  493. {
  494. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MOVIE_GOTO);
  495. }
  496. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MOVIE_INFO))
  497. {
  498. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MOVIE_INFO);
  499. }
  500. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MOVIE_PROGRAMLIST))
  501. {
  502. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MOVIE_PROGRAMLIST);
  503. }
  504. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MOVIE_PLAYSTATE))
  505. {
  506. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MOVIE_PLAYSTATE);
  507. }
  508. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MEIDA_PLAYLIST))
  509. {
  510. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MEIDA_PLAYLIST);
  511. }
  512. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MEDIA_BANNER))
  513. {
  514. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MEDIA_BANNER);
  515. }
  516. }
  517. #endif
  518. int SysApp_MM_ScheduleMainmenuPopup(PopmsgParam_t Popup)
  519. {
  520. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_POPMSG_MAINMENU))
  521. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_POPMSG_MAINMENU);
  522. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_POPMSG_MAINMENU, (UINT32)&Popup);
  523. return SP_SUCCESS;
  524. }
  525. int SysApp_MM_CloseMainmenuPopup(UINT32 u32ClosePopup,UINT32 dMessage)
  526. {
  527. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_POPMSG_MAINMENU))
  528. {
  529. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_POPMSG_MAINMENU);
  530. }
  531. if (dMessage != UI_EVENT_NULL)
  532. {
  533. SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_FILE_PLAYER, dMessage, u32ClosePopup);
  534. }
  535. return SP_SUCCESS;
  536. }
  537. /******************************************************************************/
  538. /**
  539. * @brief
  540. * @param
  541. * @return
  542. *
  543. ******************************************************************************/
  544. int SysApp_MM_OnCreate(void** ppPrivateData)
  545. {
  546. file_printf("[FilePlayer] %s.\n", __FUNCTION__);
  547. FilePlayerPrivateData_t* pFilePlayerPrivateData = (FilePlayerPrivateData_t*) GL_MemAlloc(sizeof(FilePlayerPrivateData_t));
  548. if(pFilePlayerPrivateData == NULL)
  549. {
  550. return SP_ERR_INVALID_PARAM;
  551. }
  552. memset(pFilePlayerPrivateData, 0x00, sizeof(FilePlayerPrivateData_t));
  553. //Assign pointer back to system application instance.
  554. (*ppPrivateData) = (void*) pFilePlayerPrivateData;
  555. /* Multimedia initial*/
  556. if (MM_Multimedia_Prior_Init() != SP_SUCCESS)
  557. {
  558. file_printf("%s() %d, call MM_Multimedia_Prior_Init() ret Fail\n", __FUNCTION__, __LINE__);
  559. }
  560. if (APP_Multimedia_Data_Init() != SP_SUCCESS)
  561. {
  562. file_printf("%s() %d, call APP_Mulitmedia_Data_Init() ret Fail\n", __FUNCTION__, __LINE__);
  563. }
  564. #ifdef CONFIG_ATV_SUPPORT
  565. AL_FW_Init(FW_ATV_INIT, NULL, NULL);
  566. #endif
  567. stFilePlayerInst.bAppState = SYSTEM_IDLE;
  568. return SP_SUCCESS;
  569. }
  570. /******************************************************************************/
  571. /**
  572. * @brief
  573. * @param
  574. * @return
  575. *
  576. ******************************************************************************/
  577. int SysApp_MM_OnDestroy(void** ppPrivateData)
  578. {
  579. file_printf("[FilePlayer] %s.\n", __FUNCTION__);
  580. AL_Multimedia_PlayList_Uninit();
  581. return SP_SUCCESS;
  582. }
  583. /******************************************************************************/
  584. /**
  585. * @brief
  586. * @param
  587. * @return
  588. *
  589. ******************************************************************************/
  590. int SysApp_MM_OnRun(void* pPrivateData, UINT32 dParam)
  591. {
  592. file_printf("\n\n[FilePlayer] %s.\n", __FUNCTION__);
  593. stFilePlayerInst.bAppState = SYSTEM_RUNNING;
  594. APP_GuiMgr_Set_Menu() ;
  595. APP_GuiMgr_SwitchShareMenu(SYS_APP_FILE_PLAYER);
  596. /*Change Source*/
  597. if (SP_SUCCESS != APP_GUIOBJ_Source_SetMidSource(NULL))
  598. {
  599. file_printf("[%s] %d, Mid display setting source fail\n", __FUNCTION__, __LINE__);
  600. APP_GUIOBJ_Source_SetSourceTransState(FALSE);
  601. g_u8SourceTrastTimer = 0;
  602. return SP_ERR_FAILURE;
  603. }
  604. MM_PopMsg_Init();
  605. APP_GUIOBJ_PopMs_SetCloseFun(SysApp_MM_CloseMainmenuPopup); //Init popmsg close func for Mainmenu.
  606. MM_Multimedia_Init();
  607. AL_Setting_ReadDefault(APP_Data_UserSetting_Handle(), SYS_SET_ID_MULTIMEDIA,
  608. &(g_stSettingDefault_Multimedia));
  609. AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_MULTIMEDIA, 0, sizeof(APP_SETTING_Multimedia_t));
  610. #if 1
  611. SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_FILE_PLAYER,
  612. FILE_GLOBAL_EVENT_MEDIA_ONRUN | PASS_TO_SYSAPP, TRUE);
  613. #else
  614. g_bOpenHomeMenuAfterCloseFM = TRUE;
  615. if(!APP_Factory_CheckNeedReopenFm(SYS_APP_FILE_PLAYER))
  616. {
  617. g_bOpenHomeMenuAfterCloseFM = FALSE;
  618. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE))
  619. {
  620. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE, 0);
  621. }
  622. #ifdef SUPPORT_FACTORY_AUTO_TEST_MODE2
  623. if(APP_Factory_GetAutoTestOnOff() == TRUE)
  624. {
  625. extern void APP_GUIOBJ_Fac_AutoTest_SetAutoTestFlag(al_bool MenuOpen);
  626. APP_GUIOBJ_Fac_AutoTest_SetAutoTestFlag(al_true);
  627. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE))
  628. {
  629. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE, 0);
  630. }
  631. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_FAC_AUTOTEST))
  632. {
  633. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_FAC_AUTOTEST, 1);
  634. }
  635. }
  636. else
  637. #endif
  638. {
  639. #ifdef CONFIG_USB_DEMO_SUPPORT
  640. if (AL_Multimedia_FileSystem_GetTotalPartitionCount() > 0)
  641. {
  642. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_USB_DEMO))
  643. {
  644. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_USB_DEMO, 0);
  645. }
  646. }
  647. else if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE))
  648. {
  649. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE, 0);
  650. }
  651. #else
  652. #ifdef CONFIG_SUPPORT_MEDIA_AUTO_PLAY
  653. if (MM_AutoPlay_SetFlag())
  654. {
  655. if((MM_AutoPlay_IsOn() == TRUE) && (DeviceCount > 0))
  656. {
  657. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_AUTO_PLAY))
  658. {
  659. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_AUTO_PLAY, 0);
  660. }
  661. }
  662. }
  663. else
  664. #endif
  665. if ((MM_MediaQsd_IsTest() == TRUE) && (AL_Multimedia_FileSystem_GetTotalPartitionCount() > 0))
  666. {
  667. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_QSD_TEST))
  668. {
  669. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_QSD_TEST, 0);
  670. }
  671. }
  672. else
  673. {
  674. MM_MediaQsd_SetTestFlag(FALSE,2);
  675. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE))
  676. {
  677. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE, 0);
  678. }
  679. }
  680. #endif
  681. }
  682. }
  683. MM_BGSource_CreatePlayListHandle();
  684. MM_Browser_CreateSelectedFileListHandle();
  685. /*
  686. ** System has called the function APP_Audio_SetMute() as switching source
  687. ** even the origional source was not muted.
  688. ** Force mute audio
  689. */
  690. APP_Audio_SetMute(TRUE, TRUE, APP_MUTE_MODE_NO_SIGNALE, APP_SOURCE_MEDIA);
  691. APP_Video_SetMute(TRUE, TRUE, APP_MUTE_MODE_NO_SIGNALE, APP_SOURCE_MEDIA);
  692. /* change source to net, it will destroy `mute' icon
  693. ** so, judge `mute' state, show icon
  694. */
  695. if (g_stUserInfoData.Mute == TRUE)
  696. {
  697. SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE,
  698. APP_INTRA_EVENT_SHOW_MUTE, SHOW_MUTE_ON_FS);
  699. }
  700. APP_GUIOBJ_Source_SetSourceTransState(FALSE);
  701. g_u8SourceTrastTimer = 0;
  702. bakDaulMode = APP_Audio_GetDualMode();
  703. APP_Audio_SetDualMode(AUDIO_OUTPUT_CHANNEL_STEREO);
  704. #endif
  705. return SP_SUCCESS;
  706. }
  707. /******************************************************************************/
  708. /**
  709. * @brief
  710. * @param
  711. * @return
  712. *
  713. ******************************************************************************/
  714. int SysApp_MM_OnTerminate(void* pPrivateData, UINT32 dParam)
  715. {
  716. file_printf("[FilePlayer] %s.\n", __FUNCTION__);
  717. #ifdef CONFIG_SUPPORT_MEDIA_MOVIE_RESUME
  718. if((SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MOVIE_PLAYBACK)))
  719. {
  720. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER,MEDIA_GUIOBJ_MOVIE_PLAYBACK);
  721. }
  722. #endif
  723. #ifdef CONFIG_USB_RECOVER_SPOT_SUPPORT
  724. MM_MediaEsdTest_ESDTEST_StoreLogData2NVM();
  725. #endif
  726. SysApp_MM_DestroyPartialObjects(TRUE);
  727. SYSAPP_GOBJ_FinalizeGUIObject(SYS_APP_FILE_PLAYER);
  728. #ifndef USE_MON_CONTROL_TEST
  729. MM_Multimedia_Uninit();
  730. MM_BGSource_DestroyPlayListHandle();
  731. MM_Browser_DestroySelectedFileListHandle();
  732. #ifdef CONFIG_SUPPORT_MEDIA_AUTO_BGPLAYBACK
  733. #ifdef CONFIG_SUPPORT_MEDIA_ASANO_BGPLAYBACK
  734. MM_Browser_DestroySelectedMusicFileListHandle();
  735. #endif
  736. #endif
  737. #endif
  738. MM_PopMsg_Init();
  739. //To avoid the PoPo scream when switching source to others.
  740. #ifdef CONFIG_SCARTOUT_IN_AVC
  741. APP_Audio_SetMute(TRUE, FALSE, APP_MUTE_MODE_STATEMAX, APP_SOURCE_MEDIA);
  742. #else
  743. APP_Audio_SetMute(TRUE, TRUE, APP_MUTE_MODE_STATEMAX, APP_SOURCE_MEDIA);
  744. #endif
  745. APP_Video_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, APP_SOURCE_MEDIA);
  746. APP_Audio_SetDualMode(bakDaulMode);
  747. stFilePlayerInst.bAppState = SYSTEM_IDLE;
  748. return SP_SUCCESS;
  749. }
  750. /******************************************************************************/
  751. /**
  752. * @brief
  753. * @param
  754. * @return
  755. *
  756. ******************************************************************************/
  757. int SysApp_MM_OnTimerUpdate(void* pPrivateData)
  758. {
  759. /*Delay the mute key sending to AMP*/
  760. if((0 <= g_u32Mutekeydelaytime) && (g_u32Mutekeydelaytime < MUTE_KEY_INTERVAL))
  761. {
  762. g_u32Mutekeydelaytime++;
  763. g_u32MuteIconHandle++;
  764. }
  765. /*Set timer to source translate state
  766. avoid dvb app not received onrun message result in not clear the falg*/
  767. if (APP_GUIOBJ_Source_GetSourceTransState())
  768. {
  769. g_u8SourceTrastTimer++;
  770. if (g_u8SourceTrastTimer >= 3)//3*100ms
  771. {
  772. APP_GUIOBJ_Source_SetSourceTransState(FALSE);
  773. g_u8SourceTrastTimer = 0;
  774. }
  775. }
  776. #ifdef CONFIG_SUPPORT_ESTICKER_INFILE
  777. UINT32 dIndex=SYS_APP_FILE_PLAYER;
  778. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_SETUP, 0,
  779. sizeof(APP_SETTING_Setup_t), &(g_stSetupData));
  780. if(g_stSetupData.StoreMode == APP_SWITCH_ON)
  781. {
  782. {
  783. if(!SYSAPP_GOBJ_GUIObjectExist(dIndex, APP_GUIOBJ_ESTICKER))
  784. {
  785. #ifndef CONFIG_SUPPORT_ESTICKER_NEW
  786. g_u32StoreModeOpenTimer++;
  787. if(g_u32StoreModeOpenTimer >= STOREMODE_TIMEGAP*10)
  788. {
  789. SYSAPP_GOBJ_CreateGUIObject_WithPara(dIndex, APP_GUIOBJ_ESTICKER, 0);
  790. g_u32StoreModeOpenTimer = 0;
  791. }
  792. #endif
  793. }
  794. else
  795. {
  796. g_u32StoreModeOpenTimer = 0;
  797. }
  798. }
  799. }
  800. else
  801. {
  802. g_u32StoreModeOpenTimer = 0;
  803. }
  804. #endif
  805. return SP_SUCCESS;
  806. }
  807. /******************************************************************************/
  808. /**
  809. * @brief
  810. * @param
  811. * @return
  812. *
  813. ******************************************************************************/
  814. static int SysApp_MM_OnGlobalEvent(void* pPrivateData, UINT32 dMessage, UINT32 dParam)
  815. {
  816. UINT8 RegionIdx = 0;
  817. ColorLUT_t stColorLUTValue;
  818. #ifdef SUPPORT_SOURCE_DVBTCS
  819. APP_Source_Type_t eSourType = APP_SOURCE_MAX;
  820. UINT32 RFtype = APP_RF_TYPE_DVB_MAX;
  821. UINT32 StringId = 0;
  822. #endif
  823. dMessage = (dMessage & ~PASS_TO_SYSAPP);
  824. file_printf("[FilePlayer] %s : dMessage = 0x%x.\n", __FUNCTION__, dMessage);
  825. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
  826. sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
  827. #ifdef CONFIG_POWER_ON_TV_LOCK
  828. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_SETUP,
  829. ITEM_OFFSET(APP_SETTING_Setup_t, PowerOnTVLock),
  830. sizeof(g_stSetupData.PowerOnTVLock), &(g_stSetupData.PowerOnTVLock));
  831. if(g_stSetupData.PowerOnTVLock == APP_SWITCH_ON && APP_GUIOBJ_GET_PASSWORDRight_Flag() == FALSE)
  832. {
  833. PopmsgParam_t stPopup;
  834. memset(&stPopup, 0x0, sizeof(PopmsgParam_t));
  835. stPopup.eType = POPMSG_TYPE_PWD;
  836. stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
  837. stPopup.u16ReturnType= GUI_OBJECT_POST_EVENT ;
  838. stPopup.extend.stPwd.ePwdType = POPMSG_PWD_PINCODE;
  839. SysApp_MM_ScheduleMainmenuPopup(stPopup);
  840. return SP_SUCCESS;
  841. }
  842. #endif
  843. if (dMessage == FILE_GLOBAL_EVENT_MEDIA_CLOSE_ALL)
  844. {
  845. file_printf("FILE_GLOBAL_EVENT_MEDIA_CLOSE_ALL\n");
  846. MM_HomePage_ExitAllMenu(TRUE);
  847. return SP_SUCCESS;
  848. }
  849. if (g_stFactoryUserData.n_FactSet_BurningMode == al_true)
  850. {
  851. return SP_SUCCESS;
  852. }
  853. if (MM_Music_GetPanelControlType() == APP_PANEL_POWER_DOWN && (dMessage >= UI_EVENT_0 && dMessage < UI_EVENT_NULL) && (dMessage != UI_EVENT_POWER))
  854. {
  855. Cmd_SetPanelBacklightPower(1);
  856. //No need to set Backlight again. Mark by jiahe 2012.8.28: Start
  857. /*
  858. APP_Video_OSD_PQSet(APP_VIDEO_OSD_ITEM_BACKLIGHT,
  859. g_stSetupData.HomeMode.Backlight[g_stSetupData.HomeMode.Type]);
  860. */
  861. //No need to set Backlight again. Mark by jiahe 2012.8.28: End
  862. MM_Music_SetPanelControlType(APP_PANEL_POWER_UP);
  863. return SP_SUCCESS;
  864. }
  865. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTHOTEL, 0,
  866. sizeof(APP_SETTING_FactoryHotel_t), &(g_stFactoryHotelData));
  867. if ((g_stFactoryHotelData.HotelModeOnOff == 1)
  868. &&(g_stFactoryHotelData.MainUIOperation == 1)
  869. &&(dMessage == UI_EVENT_MENU))
  870. {
  871. return SP_SUCCESS;
  872. }
  873. if ((g_stFactoryHotelData.HotelModeOnOff == 1)
  874. &&(g_stFactoryHotelData.AspectRatioLock == 1)
  875. &&(dMessage == UI_EVENT_ASPECT))
  876. {
  877. return SP_SUCCESS;
  878. }
  879. #ifdef SUPPORT_CEC_TV
  880. if (CECTV_GetCECEnable()==CECTV_ENABLE)
  881. {
  882. //active source
  883. if(dMessage==UI_EVENT_TVRADIO)
  884. {
  885. file_printf("========================UI_EVENT_TVRADIO========================");
  886. CECTV_SendCmd(CECTV_SINGLE_ACT_CMD_CHGSRC_OUT_HDMI, SRC_OTHERS);
  887. }
  888. if(dMessage==UI_EVENT_MUTE)
  889. {
  890. file_printf("\n\n=============CEC Send Audio Mute===============\n\n");
  891. //CECTV_SendCmd(CECTV_SINGLE_ACT_CMD_KEYPRESS, CECTV_KEY_MUTE<<8|0x05);//Mute Function
  892. if (CECTV_GetHDMISystemAudioMode())
  893. {
  894. if(g_u32Mutekeydelaytime >= MUTE_KEY_INTERVAL) /*Delay the mute key sending to AMP*/
  895. {
  896. cec_RemoteControlPassThrough(CECTV_KEY_MUTE);
  897. cec_RemoteControlPassThrough(CECTV_KEY_MUTE_RELEASE);
  898. g_u32Mutekeydelaytime = 0;
  899. }
  900. }
  901. }
  902. if(dMessage==UI_EVENT_VOL_UP)
  903. {
  904. file_printf("========================UI_EVENT_VOL_UP========================");
  905. //CECTV_SendCmd(CECTV_SINGLE_ACT_CMD_KEYPRESS, CECTV_KEY_VOLUME_UP<<8|0x05);//UCP VOL_DN Function
  906. if (CECTV_GetHDMISystemAudioMode() && APP_Check_CEC_DEVICE_Status())
  907. {
  908. if (dParam & IR_EVENT_REPEAT_TYPE)
  909. {
  910. cec_RemoteControlPassThrough(CECTV_KEY_VOLUME_UP);
  911. }
  912. else if (dParam & IR_EVENT_REPEAT_END)
  913. {
  914. cec_RemoteControlPassThrough(CECTV_KEY_VOLUME_UP_RELEASE);
  915. }
  916. else
  917. {
  918. cec_RemoteControlPassThrough(CECTV_KEY_VOLUME_UP);
  919. cec_RemoteControlPassThrough(CECTV_KEY_VOLUME_UP_RELEASE);
  920. }
  921. }
  922. }
  923. if(dMessage==UI_EVENT_VOL_DN)
  924. {
  925. file_printf("========================UI_EVENT_VOL_DN========================");
  926. //CECTV_SendCmd(CECTV_SINGLE_ACT_CMD_KEYPRESS, CECTV_KEY_VOLUME_DOWN<<8|0x05);//UCP VOL_DN Function
  927. if (CECTV_GetHDMISystemAudioMode() && APP_Check_CEC_DEVICE_Status())
  928. {
  929. if (dParam & IR_EVENT_REPEAT_TYPE)
  930. {
  931. cec_RemoteControlPassThrough(CECTV_KEY_VOLUME_DOWN);
  932. }
  933. else if (dParam & IR_EVENT_REPEAT_END)
  934. {
  935. cec_RemoteControlPassThrough(CECTV_KEY_VOLUME_DOWN_RELEASE);
  936. }
  937. else
  938. {
  939. cec_RemoteControlPassThrough(CECTV_KEY_VOLUME_DOWN);
  940. cec_RemoteControlPassThrough(CECTV_KEY_VOLUME_DOWN_RELEASE);
  941. }
  942. }
  943. }
  944. }
  945. #endif
  946. switch (dMessage)
  947. {
  948. #ifdef SUPPORT_POWERAGAIN_CONFIRM_POWEROFF
  949. case APP_GLOBAL_EVENT_CONFIRM_POWER:
  950. {
  951. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MAINMENUPOP))
  952. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MAINMENUPOP);
  953. SysApp_MM_DestroyAppointedGUI();
  954. SysApp_MM_DestroyMediaNotPlaybackGUI();
  955. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL, 0);
  956. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MAINMENUPOP, MAINPOPMSG_SHOW_CONFIRM_POWER);
  957. break;
  958. }
  959. #endif
  960. case FILE_GLOBAL_EVENT_MEDIA_ONRUN:
  961. {
  962. UINT16 DeviceCount = 0;
  963. #ifdef CONFIG_MULTIMEDIA1_SUPPORT
  964. APP_Source_Type_t eSourceType;
  965. APP_GUIOBJ_Source_GetCurrSource(&eSourceType);
  966. if(eSourceType == APP_SOURCE_MEDIA)
  967. {
  968. MM_HomePage_SetMediaSourceNumber(MEDIA_ONE);
  969. }
  970. else if(eSourceType == APP_SOURCE_MEDIA1)
  971. {
  972. MM_HomePage_SetMediaSourceNumber(MEDIA_TWO);
  973. }
  974. const FileSystem_Partition_t* PartitionList = MM_HomePage_GetPartitionListOfCurrentPort();
  975. DeviceCount = PartitionList->ValidCount;
  976. #else
  977. DeviceCount = AL_Multimedia_FileSystem_GetTotalPartitionCount();
  978. #endif
  979. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE))
  980. {
  981. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE, 0);
  982. }
  983. /* change source to net, it will destroy `mute' icon
  984. ** so, judge `mute' state, show icon
  985. */
  986. if (g_stUserInfoData.Mute == TRUE)
  987. {
  988. SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE,
  989. APP_INTRA_EVENT_SHOW_MUTE, SHOW_MUTE_ON_FS);
  990. }
  991. g_bOpenHomeMenuAfterCloseFM = TRUE;
  992. if(!APP_Factory_CheckNeedReopenFm(SYS_APP_FILE_PLAYER))
  993. {
  994. g_bOpenHomeMenuAfterCloseFM = FALSE;
  995. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE))
  996. {
  997. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE, 0);
  998. }
  999. #if 0//def SUPPORT_FACTORY_AUTO_TEST_MODE2
  1000. if(APP_Factory_GetAutoTestOnOff() == TRUE)
  1001. {
  1002. extern void APP_GUIOBJ_Fac_AutoTest_SetAutoTestFlag(al_bool MenuOpen);
  1003. APP_GUIOBJ_Fac_AutoTest_SetAutoTestFlag(al_true);
  1004. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE))
  1005. {
  1006. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE, 0);
  1007. }
  1008. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_FAC_AUTOTEST))
  1009. {
  1010. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_FAC_AUTOTEST, 1);
  1011. }
  1012. }
  1013. else
  1014. #endif
  1015. {
  1016. #ifdef CONFIG_USB_RECOVER_SPOT_SUPPORT
  1017. extern bool GetPowerOnFirstInsetUSB(void);
  1018. bool gb_FirstInsetUSB = GetPowerOnFirstInsetUSB();
  1019. printf("[%s,%d]:DeviceCount = %d!!!!!!!!!!!!!!!!!!!\n",__FUNCTION__,__LINE__,DeviceCount);
  1020. if (gb_FirstInsetUSB == TRUE)//mode is last memory
  1021. {
  1022. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_USB_RESUME))
  1023. {
  1024. MM_MediaEsdTest_GetPowerOnMode();
  1025. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_USB_RESUME, 0);
  1026. }
  1027. }
  1028. else if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE))
  1029. {
  1030. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE, 0);
  1031. }
  1032. #else
  1033. #ifdef CONFIG_USB_DEMO_SUPPORT
  1034. if (DeviceCount > 0)
  1035. {
  1036. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_USB_DEMO))
  1037. {
  1038. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_USB_DEMO, 0);
  1039. }
  1040. }
  1041. else if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE))
  1042. {
  1043. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE, 0);
  1044. }
  1045. #else
  1046. #ifdef CONFIG_SUPPORT_MEDIA_AUTO_PLAY
  1047. if (MM_AutoPlay_SetFlag())
  1048. {
  1049. if((MM_AutoPlay_IsOn() == TRUE) && (DeviceCount > 0))
  1050. {
  1051. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_AUTO_PLAY))
  1052. {
  1053. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_AUTO_PLAY, 0);
  1054. }
  1055. }
  1056. }
  1057. else
  1058. #endif
  1059. if ((MM_MediaQsd_IsTest() == TRUE) && (DeviceCount > 0))
  1060. {
  1061. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_QSD_TEST))
  1062. {
  1063. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_QSD_TEST, 0);
  1064. }
  1065. }
  1066. #ifdef CONFIG_SUPPORT_PANNEL_PHOTO_TEST
  1067. else if(Mid_PannelPhoto_IsPhotoPlayAnable() == TRUE)
  1068. {
  1069. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_QSD_TEST))
  1070. {
  1071. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_QSD_TEST, 0);
  1072. }
  1073. }
  1074. #endif
  1075. else
  1076. {
  1077. MM_MediaQsd_SetTestFlag(FALSE,2);
  1078. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE))
  1079. {
  1080. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE, 0);
  1081. }
  1082. }
  1083. #endif
  1084. #endif
  1085. }
  1086. }
  1087. MM_BGSource_CreatePlayListHandle();
  1088. MM_Browser_CreateSelectedFileListHandle();
  1089. #ifdef CONFIG_SUPPORT_MEDIA_AUTO_BGPLAYBACK
  1090. #ifdef CONFIG_SUPPORT_MEDIA_ASANO_BGPLAYBACK
  1091. MM_Browser_CreateSelectedMusicFileListHandle();
  1092. #endif
  1093. #endif
  1094. /*
  1095. ** System has called the function APP_Audio_SetMute() as switching source
  1096. ** even the origional source was not muted.
  1097. ** Force mute audio
  1098. */
  1099. APP_Audio_SetMute(TRUE, TRUE, APP_MUTE_MODE_NO_SIGNALE, APP_SOURCE_MEDIA);
  1100. #ifdef CONFIG_SUPPORT_PANNEL_PHOTO_TEST
  1101. if(Mid_PannelPhoto_IsPhotoPlayAnable() != TRUE)
  1102. #endif
  1103. {
  1104. APP_Video_SetMute(TRUE, TRUE, APP_MUTE_MODE_NO_SIGNALE, APP_SOURCE_MEDIA);
  1105. }
  1106. APP_GUIOBJ_Source_SetSourceTransState(FALSE);
  1107. g_u8SourceTrastTimer = 0;
  1108. bakDaulMode = APP_Audio_GetDualMode();
  1109. APP_Audio_SetDualMode(AUDIO_OUTPUT_CHANNEL_STEREO);
  1110. #ifdef CONFIG_AC_SPECIAL_FILE_CHECK
  1111. #ifdef CONFIG_SUPPORT_MEDIA_FAC_AUTO_PLAY
  1112. UINT8 CheckValue = 0;
  1113. MID_TVFE_GetSpecialFileStatus(&CheckValue);
  1114. if(CheckValue == TRUE)
  1115. {
  1116. if(MM_FacAutoPlay_SetFlag())
  1117. {
  1118. MM_FacAutoPlay_GoToPlayingMode();
  1119. }
  1120. else
  1121. {
  1122. break;
  1123. }
  1124. if((MM_FacAutoPlay_IsOn() == TRUE) && (DeviceCount > 0))
  1125. {
  1126. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_FAC_AUTO_PLAY))
  1127. {
  1128. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_FAC_AUTO_PLAY, 0);
  1129. }
  1130. }
  1131. }
  1132. #endif
  1133. #endif
  1134. }
  1135. break;
  1136. case FW_VIP_FINISH:
  1137. {
  1138. /*set PQ param*/
  1139. AL_FLASH_GetColorLUTALL(&stColorLUTValue);
  1140. for(RegionIdx = 0; RegionIdx<APP_ColorLUT_NUM; RegionIdx++)
  1141. {
  1142. MID_TVFE_SetColorLUT7Range(RegionIdx, APP_Video_GetColorLUTSetting(LUT_FUN_MAKE, RegionIdx),
  1143. stColorLUTValue.n_PicMode_CoLUT_HueMin[RegionIdx],
  1144. stColorLUTValue.n_PicMode_CoLUT_HueMax[RegionIdx],
  1145. stColorLUTValue.n_PicMode_CoLUT_SatMin[RegionIdx],
  1146. stColorLUTValue.n_PicMode_CoLUT_SatMax[RegionIdx],
  1147. stColorLUTValue.n_PicMode_CoLUT_YMin[RegionIdx],
  1148. stColorLUTValue.n_PicMode_CoLUT_YMax[RegionIdx],
  1149. stColorLUTValue.n_PicMode_CoLUT_SmoothLevel[RegionIdx], FALSE);
  1150. MID_TVFE_SetColorLUT7Axis(RegionIdx,
  1151. stColorLUTValue.n_PicMode_CoLUT_Enable[RegionIdx],
  1152. stColorLUTValue.n_PicMode_CoLUT_HueGain[RegionIdx],
  1153. stColorLUTValue.n_PicMode_CoLUT_SatGain[RegionIdx],
  1154. stColorLUTValue.n_PicMode_CoLUT_YGain[RegionIdx],
  1155. RegionIdx==(APP_ColorLUT_NUM - 1)? TRUE : FALSE);
  1156. }
  1157. // Dynamic contrast
  1158. DynamicContrast_t stDynamic;
  1159. AL_FLASH_GetDynamicContrastALL(&stDynamic);
  1160. int nLevel = stDynamic.n_PicMode_DynCon_DynamicContrastlevel;
  1161. MID_TVFE_SetPictureDynamicContrastEnable( nLevel ? 1 : 0);
  1162. MID_TVFE_SetPictureContrastLevel( stDynamic.n_PicMode_DynCon_ContrastLevel[nLevel] );
  1163. MID_TVFE_SetPictureChromaLevel( stDynamic.n_PicMode_DynCon_ChromaLevel[nLevel] );
  1164. MID_TVFE_SetPictureAlphaMode1( stDynamic.n_PicMode_DynCon_Alphamode1[nLevel] );
  1165. MID_TVFE_SetPictureAlphaMode2( stDynamic.n_PicMode_DynCon_Alphamode2[nLevel] );
  1166. MID_TVFE_SetPictureAlphaMode3( stDynamic.n_PicMode_DynCon_Alphamode3[nLevel] );
  1167. MID_TVFE_SetPictureAlphaMode4( stDynamic.n_PicMode_DynCon_Alphamode4[nLevel] );
  1168. MID_TVFE_SetPictureFleshToneLevel( stDynamic.n_PicMode_DynCon_FleshToneLevel );
  1169. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE, 0,
  1170. sizeof(APP_SETTING_Picture_t), &(g_stPictureData));
  1171. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_PQSETTING, 0,
  1172. sizeof(APP_SETTING_PqSetting_t), &(g_stPqSettingData));
  1173. APP_Video_SetPictureMode(
  1174. g_stPqSettingData.stPictureModeSourceTab[APP_STORAGE_SOURCE_MEDIA].PictureModeIndex);
  1175. APP_Video_OSD_PQSet(APP_VIDEO_OSD_ITEM_COLORTEMP, g_stPqSettingData.stPictureModeSourceTab[APP_STORAGE_SOURCE_MEDIA].ColorTempIndex);
  1176. APP_Video_OSD_PQSet(APP_VIDEO_OSD_ITEM_NR,g_stPqSettingData.NR);
  1177. //No need to set Backlight again. Mark by jiahe 2012.8.28: Start
  1178. /*
  1179. APP_Video_OSD_PQSet(APP_VIDEO_OSD_ITEM_BACKLIGHT, g_stSetupData.HomeMode.Backlight[g_stSetupData.HomeMode.Type]);
  1180. */
  1181. //No need to set Backlight again. Mark by jiahe 2012.8.28: End
  1182. SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_FILE_PLAYER, FILE_GLOBAL_EVENT_MEDIA_AUDIO_UNMUTE, 0);
  1183. }
  1184. break;
  1185. #ifdef SUPPORT_AUTO_SOURCE_TEST
  1186. case UI_EVENT_AUTOSOURCE:
  1187. {
  1188. extern APP_Source_Type_t g_AutoSourceTable[APP_SOURCE_MAX];
  1189. APP_Source_Type_t eSourType = APP_SOURCE_MAX;
  1190. extern void APP_GOBJ_Source_Get_Support_AutoSource(void);
  1191. if(TRUE == APP_Factory_GetAutoSourceTestOnOff())
  1192. {
  1193. APP_Factory_SetAutoSourceTestOnOff(FALSE);
  1194. }
  1195. else
  1196. {
  1197. APP_GOBJ_Source_Get_Support_AutoSource();
  1198. APP_Factory_SetAutoSourceTestOnOff(TRUE);
  1199. APP_GUIOBJ_Source_GetCurrSource(&eSourType);
  1200. if(g_AutoSourceTable[0] != eSourType)
  1201. {
  1202. APP_GUIOBJ_Source_SetAppSource(g_AutoSourceTable[0]);
  1203. }
  1204. }
  1205. break;
  1206. }
  1207. #endif
  1208. #ifdef CONFIG_SUPPORT_AUDIO_CODEC_OVERLAY
  1209. case FW_AUDIO_LOADCODEC_OK:
  1210. printf("\n[%s:%d] Load audio codec ok \n\n",__FUNCTION__,__LINE__);
  1211. break;
  1212. case FW_AUDIO_LOADCODEC_ERROR:
  1213. printf("\n[%s:%d] Load audio codec error \n\n",__FUNCTION__,__LINE__);
  1214. break;
  1215. #endif
  1216. case UI_EVENT_PIP_MENU:
  1217. case UI_EVENT_MENU:
  1218. if (APP_MenuMgr_Exist_Main_Menu())
  1219. {
  1220. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_POPMSG_MAINMENU))
  1221. {
  1222. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_POPMSG_MAINMENU);
  1223. }
  1224. APP_MenuMgr_Exit_Main_Menu();
  1225. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL);
  1226. }
  1227. else if (APP_MenuMgr_Exist_Factory_Menu())
  1228. {
  1229. APP_MenuMgr_Exit_Factory_Menu();
  1230. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL);
  1231. }
  1232. else if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_OPTIONMENU))
  1233. {
  1234. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_OPTIONMENU);
  1235. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL);
  1236. }
  1237. else if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MAINMENUPOP))
  1238. {
  1239. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MAINMENUPOP);
  1240. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL);
  1241. }
  1242. else if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_LANGUAGE))
  1243. {
  1244. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_LANGUAGE);
  1245. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL);
  1246. }
  1247. #ifdef SUPPORT_FACTORY_AUTO_TEST_MODE2
  1248. else if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_FAC_AUTOTEST))
  1249. {
  1250. SysApp_MM_DestroyAppointedGUI();
  1251. extern void APP_GUIOBJ_Fac_AutoTest_SetAutoTestFlag(al_bool MenuOpen);
  1252. APP_GUIOBJ_Fac_AutoTest_SetAutoTestFlag(al_true);
  1253. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL, 0);
  1254. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER,APP_GUIOBJ_MAINMENU, FIRST_ENTER_MAINMENU);
  1255. APP_GUIOBJ_Fac_AutoTest_SetAutoTestFlag(al_false);
  1256. }
  1257. #endif
  1258. else
  1259. {
  1260. SysApp_MM_DestroyAppointedGUI();
  1261. if(g_bOpenHomeMenuAfterCloseFM == TRUE)
  1262. {
  1263. g_bOpenHomeMenuAfterCloseFM = FALSE;
  1264. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE))
  1265. {
  1266. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE, 0);
  1267. }
  1268. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE))
  1269. {
  1270. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE, 0);
  1271. }
  1272. }
  1273. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL, 0);
  1274. #ifdef CONFIG_BT_RDA5856
  1275. if(UI_EVENT_PIP_MENU == dMessage)
  1276. {
  1277. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER,
  1278. APP_GUIOBJ_BT_SETTING, BT_FROM_OPTION);
  1279. }
  1280. else
  1281. #endif
  1282. {
  1283. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER,
  1284. APP_GUIOBJ_MAINMENU, FIRST_ENTER_MAINMENU);
  1285. }
  1286. }
  1287. break;
  1288. case UI_EVENT_SOURCE:
  1289. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOURCE))
  1290. {
  1291. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOURCE);
  1292. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL);
  1293. }
  1294. else if(APP_MenuMgr_Exist_Factory_Menu())
  1295. {
  1296. APP_MenuMgr_Exit_Factory_Menu();
  1297. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL);
  1298. }
  1299. #ifdef SUPPORT_FACTORY_AUTO_TEST_MODE2
  1300. else if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_FAC_AUTOTEST))
  1301. {
  1302. SysApp_MM_DestroyAppointedGUI();
  1303. extern void APP_GUIOBJ_Fac_AutoTest_SetAutoTestFlag(al_bool MenuOpen);
  1304. APP_GUIOBJ_Fac_AutoTest_SetAutoTestFlag(al_true);
  1305. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL, 0);
  1306. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOURCE, 0);
  1307. APP_GUIOBJ_Fac_AutoTest_SetAutoTestFlag(al_false);
  1308. }
  1309. #endif
  1310. else
  1311. {
  1312. SysApp_MM_DestroyAppointedGUI();
  1313. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL, 0);
  1314. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOURCE, 0);
  1315. }
  1316. break;
  1317. case UI_EVENT_HDMI:
  1318. APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_HDMI);
  1319. break;
  1320. case UI_EVENT_PC:
  1321. APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_PC);
  1322. break;
  1323. case UI_EVENT_ATV:
  1324. APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_ATV);
  1325. break;
  1326. case UI_EVENT_AV:
  1327. APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_AV);
  1328. break;
  1329. #ifdef CELLO_REMOTE_KEY
  1330. case UI_EVENT_SATELLITE:
  1331. APP_GUIOBJ_Channel_SetRFType(FRONTEND_CONNECT_TYPE_DVB_S, AL_DB_INVALIDHDL);
  1332. break;
  1333. case UI_EVENT_CABLE:
  1334. APP_GUIOBJ_Channel_SetRFType(FRONTEND_CONNECT_TYPE_DVB_C, AL_DB_INVALIDHDL);
  1335. break;
  1336. case UI_EVENT_HDMI:
  1337. APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_HDMI);
  1338. break;
  1339. case UI_EVENT_DTV:
  1340. APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_DTV);
  1341. break;
  1342. case UI_EVENT_ATV:
  1343. APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_ATV);
  1344. break;
  1345. case UI_EVENT_DVD:
  1346. APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_DVD);
  1347. break;
  1348. #endif
  1349. case UI_EVENT_ATVDTV:
  1350. break;
  1351. #ifdef SUPPORT_SOURCE_DVBTCS
  1352. case UI_EVENT_DVBC:// For DVB-C shortcut key
  1353. case UI_EVENT_RED:
  1354. #ifdef CONFIG_DVB_SYSTEM_DVBC_SUPPORT
  1355. APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_DTV);
  1356. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0,
  1357. sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
  1358. RFtype = g_stChannelData.TV_Connection;
  1359. if(RFtype != APP_RF_TYPE_DVB_C)
  1360. {
  1361. APP_GUIOBJ_Source_GetCurrSource(&eSourType);
  1362. if((eSourType == APP_SOURCE_DTV)||((eSourType == APP_SOURCE_RADIO)))
  1363. {
  1364. StringId = APP_GUIOBJ_Channel_GetStringIDByRFType(APP_RF_TYPE_DVB_C);
  1365. APP_GUIOBJ_Channel_SetRFTypeByStringID(StringId);
  1366. }
  1367. }
  1368. #endif
  1369. break;
  1370. case UI_EVENT_DVBS:// For DVB-C shortcut key
  1371. case UI_EVENT_GREEN:
  1372. #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
  1373. APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_DTV);
  1374. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0,
  1375. sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
  1376. RFtype = g_stChannelData.TV_Connection;
  1377. if(RFtype != APP_RF_TYPE_DVB_S)
  1378. {
  1379. APP_GUIOBJ_Source_GetCurrSource(&eSourType);
  1380. if((eSourType == APP_SOURCE_DTV)||((eSourType == APP_SOURCE_RADIO)))
  1381. {
  1382. StringId = APP_GUIOBJ_Channel_GetStringIDByRFType(APP_RF_TYPE_DVB_S);
  1383. APP_GUIOBJ_Channel_SetRFTypeByStringID(StringId);
  1384. }
  1385. }
  1386. #endif
  1387. break;
  1388. #endif
  1389. case UI_EVENT_OPEN_FACTORY:
  1390. if (APP_MenuMgr_Exist_Factory_Menu())
  1391. {
  1392. APP_MenuMgr_Exit_Factory_Menu();
  1393. if(g_bOpenHomeMenuAfterCloseFM == TRUE)
  1394. {
  1395. g_bOpenHomeMenuAfterCloseFM = FALSE;
  1396. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE))
  1397. {
  1398. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE, 0);
  1399. }
  1400. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE))
  1401. {
  1402. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE, 0);
  1403. }
  1404. }
  1405. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL);
  1406. }
  1407. else
  1408. {
  1409. SysApp_MM_DestroyAppointedGUI();
  1410. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL, 0);
  1411. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_FM_FACTORYSETTING, 0);
  1412. }
  1413. break;
  1414. case UI_EVENT_FACTORY:
  1415. if (APP_MenuMgr_Exist_Factory_Menu())
  1416. {
  1417. APP_MenuMgr_Exit_Factory_Menu();
  1418. if(g_bOpenHomeMenuAfterCloseFM == TRUE)
  1419. {
  1420. g_bOpenHomeMenuAfterCloseFM = FALSE;
  1421. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE))
  1422. {
  1423. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE, 0);
  1424. }
  1425. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE))
  1426. {
  1427. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE, 0);
  1428. }
  1429. }
  1430. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL);
  1431. }
  1432. else
  1433. {
  1434. #if 0
  1435. #ifdef SUPPORT_HKC_FACTORY_REMOTE
  1436. if ((SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOURCE))||((dParam == UI_EVENT_HKC_FACTORYMENU)&&(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)))
  1437. #else
  1438. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOURCE))
  1439. #endif
  1440. #else
  1441. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MAINMENU))
  1442. #endif
  1443. {
  1444. SysApp_MM_DestroyAppointedGUI();
  1445. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL, 0);
  1446. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_FM_FACTORYSETTING, 0);
  1447. }
  1448. }
  1449. break;
  1450. case UI_EVENT_FAC_HOTEL:
  1451. if (APP_MenuMgr_Exist_Factory_Menu())
  1452. {
  1453. APP_MenuMgr_Exit_Factory_Menu();
  1454. if(g_bOpenHomeMenuAfterCloseFM == TRUE)
  1455. {
  1456. g_bOpenHomeMenuAfterCloseFM = FALSE;
  1457. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE))
  1458. {
  1459. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE, 0);
  1460. }
  1461. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE))
  1462. {
  1463. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE, 0);
  1464. }
  1465. }
  1466. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL);
  1467. }
  1468. else
  1469. {
  1470. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MAINMENU))
  1471. {
  1472. SysApp_MM_DestroyAppointedGUI();
  1473. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL, 0);
  1474. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_FM_HOTELSETTING, ENTER_HOTELSET_NOTFROM_FACTORYMENU);
  1475. }
  1476. }
  1477. break;
  1478. case UI_EVENT_FAC_BURNINGMODE:
  1479. {
  1480. g_stFactoryUserData.n_FactSet_BurningMode = 1;
  1481. AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
  1482. sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
  1483. AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
  1484. sizeof(g_stFactoryUserData));
  1485. SysApp_MM_DestroyAppointedGUI();
  1486. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL, 0);
  1487. MID_TVFE_SetAutoPowerOn(TRUE);
  1488. #ifdef SUPPORT_FACTORY_AUTO_TEST_MODE2
  1489. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL, 0,
  1490. sizeof(APP_SETTING_Variational_t), &(g_stVariationalData));
  1491. g_stVariationalData.Volume = 90;
  1492. APP_Audio_SetVolume(g_stVariationalData.Volume);
  1493. AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL,
  1494. ITEM_OFFSET(APP_SETTING_Variational_t, Volume), sizeof(g_stVariationalData.Volume),
  1495. &(g_stVariationalData.Volume));
  1496. AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL,
  1497. ITEM_OFFSET(APP_SETTING_Variational_t, Volume), sizeof(g_stVariationalData.Volume));
  1498. #endif
  1499. APP_Factory_SetBurnIn_LEDTwinkle(TRUE);
  1500. }
  1501. break;
  1502. #ifdef SUPPORT_HKC_FACTORY_REMOTE
  1503. case UI_EVENT_HKC_ENTER_BURNINGMODE:
  1504. if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
  1505. {
  1506. SysApp_MM_DestroyAppointedGUI();
  1507. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL, 0);
  1508. g_stFactoryUserData.n_FactSet_BurningMode = 1;
  1509. AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
  1510. sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
  1511. AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
  1512. sizeof(g_stFactoryUserData));
  1513. APP_Factory_SetBurnIn_LEDTwinkle(TRUE);
  1514. //APP_Cul_Fm_CheckAndStartBurningMode();
  1515. }
  1516. break;
  1517. #endif
  1518. #ifdef CONFIG_SUPPORT_USB_UPGRADE
  1519. case UI_EVENT_CHECK_UPGRADE:
  1520. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOFTWARE_UPGRADE))
  1521. {
  1522. file_printf("upgrade is running!");
  1523. break;
  1524. }
  1525. else
  1526. {
  1527. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOURCE))
  1528. {
  1529. SysApp_MM_DestroyAppointedGUI();
  1530. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL, 0);
  1531. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOFTWARE_UPGRADE, SOFTWARE_UPGRADE_FROM_PASSWORD);
  1532. }
  1533. }
  1534. break;
  1535. #endif
  1536. #ifdef CONFIG_SUPPORT_USB_UPGRADE
  1537. case FILE_GLOBAL_EVENT_MEDIA_EXIT_UPGRADE:
  1538. SysApp_MM_DestroyAppointedGUI();
  1539. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL))
  1540. {
  1541. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL);
  1542. }
  1543. break;
  1544. #endif
  1545. #ifdef CONFIG_SUPPORT_USB_UPGRADE
  1546. case APP_GLOBAL_EVENT_USB_UPGRADE:
  1547. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOFTWARE_UPGRADE))
  1548. {
  1549. file_printf("upgrade is running!");
  1550. break;
  1551. }
  1552. else
  1553. {
  1554. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_FM_FACTORYSETTING))
  1555. {
  1556. SysApp_MM_DestroyAppointedGUI();
  1557. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL, 0);
  1558. //SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOFTWARE_UPGRADE, SOFTWARE_UPGRADE_FROM_FM);
  1559. SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_FILE_PLAYER, APP_GLOBAL_EVENT_ERASE_WHOLE_FLASH|PASS_TO_SYSAPP, 0);
  1560. }
  1561. }
  1562. break;
  1563. #endif
  1564. case FILE_GLOBAL_EVENT_MEDIA_EXIT_BURNINMODE:
  1565. SysApp_MM_DestroyAppointedGUI();
  1566. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL))
  1567. {
  1568. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL, 0);
  1569. }
  1570. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL);
  1571. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE))
  1572. {
  1573. SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_FILE_PLAYER,
  1574. FILE_GLOBAL_EVENT_MEDIA_ONRUN | PASS_TO_SYSAPP, TRUE);
  1575. }
  1576. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
  1577. sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
  1578. APP_Audio_SetMute(g_stUserInfoData.Mute, TRUE, APP_MUTE_MODE_SIGNAL_DETECT, APP_SOURCE_MEDIA);
  1579. if (g_stUserInfoData.Mute)
  1580. {
  1581. SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE,
  1582. APP_INTRA_EVENT_SHOW_MUTE, SHOW_MUTE_ON_FS);
  1583. }
  1584. else
  1585. {
  1586. SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE,
  1587. APP_INTRA_EVENT_HIDE_MUTE, 0);
  1588. }
  1589. SysApp_MM_BurninMode_Resume_MediaPlay();
  1590. break;
  1591. case UI_EVENT_EXIT:
  1592. case UI_EVENT_RETURN:
  1593. SysApp_MM_DestroyAppointedGUI();
  1594. if(g_bOpenHomeMenuAfterCloseFM == TRUE)
  1595. {
  1596. g_bOpenHomeMenuAfterCloseFM = FALSE;
  1597. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE))
  1598. {
  1599. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE, 0);
  1600. }
  1601. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE))
  1602. {
  1603. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE, 0);
  1604. }
  1605. }
  1606. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL))
  1607. {
  1608. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL);
  1609. }
  1610. break;
  1611. case UI_EVENT_MUTE:
  1612. #ifdef SUPPORT_CEC_TV
  1613. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
  1614. sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
  1615. if (( APP_SWITCH_ON == g_stFeatureData.Enable_HDMILink)
  1616. #ifdef SUPPORT_AMPLIFIER_CONTROL
  1617. &&(APP_SWITCH_ON == g_stFeatureData.AmplifierControl)
  1618. #endif
  1619. &&(APP_HDMILINK_AMPLIFIER == g_stFeatureData.SpeakerPreference) && APP_GUIOBJ_Source_GetAmplifierPort())
  1620. {
  1621. if (CECTV_GetCECEnable()==CECTV_ENABLE && CECTV_GetHDMISystemAudioMode() && g_u32MuteIconHandle >= MUTE_KEY_INTERVAL)
  1622. {
  1623. APP_Set_CECTV_Mute_Status(EVENT_CECTV_SET_MUTE_STATUS_MUTE);
  1624. if (APP_Get_HDMICEC_AMP_Mute_Status() == FALSE)
  1625. APP_Set_HDMICEC_AMP_Mute_Status(TRUE);
  1626. else
  1627. APP_Set_HDMICEC_AMP_Mute_Status(FALSE);
  1628. APP_GUIOBJ_Mute_MuteKeyHandler();
  1629. g_u32MuteIconHandle = 0;
  1630. break;
  1631. }
  1632. else if(g_u32MuteIconHandle < MUTE_KEY_INTERVAL)//Don't handle mute icon
  1633. {
  1634. break;
  1635. }
  1636. }
  1637. #endif
  1638. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SLEEP_INFO))
  1639. {
  1640. APP_GUIOBJ_SleepTimer_Reset();
  1641. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SLEEP_INFO);
  1642. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL))
  1643. {
  1644. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL);
  1645. }
  1646. }
  1647. APP_GUIOBJ_Mute_MuteKeyHandler();
  1648. //SysApp_MM_DestroyAppointedGUI();
  1649. if(g_bOpenHomeMenuAfterCloseFM == TRUE)
  1650. {
  1651. g_bOpenHomeMenuAfterCloseFM = FALSE;
  1652. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE))
  1653. {
  1654. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE, 0);
  1655. }
  1656. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE))
  1657. {
  1658. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE, 0);
  1659. }
  1660. }
  1661. break;
  1662. #ifdef SUPPORT_CEC_TV
  1663. case DMN_EVENT_CECTV_SET_MUTE_STATUS:
  1664. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
  1665. sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
  1666. if (( APP_SWITCH_ON == g_stFeatureData.Enable_HDMILink)
  1667. #ifdef SUPPORT_AMPLIFIER_CONTROL
  1668. &&(APP_SWITCH_ON == g_stFeatureData.AmplifierControl)
  1669. #endif
  1670. &&(APP_HDMILINK_AMPLIFIER == g_stFeatureData.SpeakerPreference) && APP_GUIOBJ_Source_GetAmplifierPort())
  1671. {
  1672. if (CECTV_GetCECEnable()==CECTV_ENABLE)
  1673. {
  1674. APP_Process_CECTV_Mute_Status(dParam);
  1675. if(g_stUserInfoData.Mute == TRUE && APP_Get_HDMICEC_AMP_Mute_Status() == FALSE)
  1676. {
  1677. APP_GUIOBJ_Mute_MuteKeyHandler();
  1678. }
  1679. else if(g_stUserInfoData.Mute == FALSE && APP_Get_HDMICEC_AMP_Mute_Status() == TRUE)
  1680. {
  1681. APP_GUIOBJ_Mute_MuteKeyHandler();
  1682. }
  1683. }
  1684. }
  1685. break;
  1686. case DMN_EVENT_CECTV_SET_SYSTEMAUDIO_STATUS:
  1687. APP_Process_CECTV_Control_Status_From_Amp(dParam);
  1688. break;
  1689. case DMN_EVENT_CECTV_SET_DEVICE_OSDNAME:
  1690. break;
  1691. case FILE_GLOBAL_EVENT_HDMIPORT_STATUS:
  1692. CECTV_HDMIPortStatus(dParam);
  1693. break;
  1694. #endif
  1695. #if defined(CONFIG_HEADPHONE_DETECT_BY_ISR) || defined(CONFIG_HPDET_BY_SWTIMER)
  1696. case APP_GLOBAL_EVENT_HEADPHONE_PLUG_IN:
  1697. printf("%s:%d ----- hp plug in\n",__FUNCTION__,__LINE__);
  1698. APP_Audio_Set_HPStatus(APP_Audio_Headphone_PlugIn);
  1699. APP_Audio_SetMuteSpeakerWithoutAMP(TRUE);
  1700. APP_Audio_SetMuteAMP(TRUE);
  1701. #ifdef CONFIG_HP_OUT_FROM_SPEAKER_PIN
  1702. APP_Audio_SetMuteDACSpeak(FALSE);
  1703. #elif defined(CONFIG_HP_OUT_FROM_LINEOUT_PIN)
  1704. APP_Audio_SetMuteDACSpeak(TRUE);
  1705. APP_Audio_SetMuteDACLineOut(FALSE);
  1706. #else
  1707. APP_Audio_SetMuteDACSpeak(TRUE);
  1708. APP_Audio_SetMuteDACHeadohone(FALSE);
  1709. #endif
  1710. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
  1711. sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
  1712. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
  1713. sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
  1714. if ((g_stUserInfoData.Mute == FALSE) && g_stFeatureData.SpeakerPreference == APP_HDMILINK_TVSPEAKER)
  1715. {
  1716. APP_Audio_SetMuteSpeakerWithoutAMP(FALSE);
  1717. }
  1718. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL, 0,
  1719. sizeof(APP_SETTING_Variational_t), &(g_stVariationalData));
  1720. APP_Audio_SetVolume(g_stVariationalData.Volume);
  1721. break;
  1722. case APP_GLOBAL_EVENT_HEADPHONE_PLUG_OUT:
  1723. printf("%s:%d ----- hp plug out\n",__FUNCTION__,__LINE__);
  1724. APP_Audio_Set_HPStatus(APP_Audio_Headphone_PlugOut);
  1725. APP_Audio_SetMuteDACHeadohone(TRUE);
  1726. #if defined(CONFIG_HP_OUT_FROM_LINEOUT_PIN)
  1727. APP_Audio_SetMuteDACLineOut(TRUE);
  1728. #endif
  1729. APP_Audio_SetMuteSpeakerWithoutAMP(TRUE);
  1730. APP_Audio_SetMuteDACSpeak(FALSE);
  1731. APP_Audio_SetMuteAMP(FALSE);
  1732. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
  1733. sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
  1734. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
  1735. sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
  1736. if ((g_stUserInfoData.Mute == FALSE) && g_stFeatureData.SpeakerPreference == APP_HDMILINK_TVSPEAKER)
  1737. {
  1738. APP_Audio_SetMuteSpeakerWithoutAMP(FALSE);
  1739. }
  1740. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL, 0,
  1741. sizeof(APP_SETTING_Variational_t), &(g_stVariationalData));
  1742. APP_Audio_SetVolume(g_stVariationalData.Volume);
  1743. break;
  1744. #endif
  1745. case APP_GLOBAL_EVENT_QSD_MEDIA_PLAY:
  1746. {
  1747. #ifdef CONFIG_SUPPORT_PANNEL_PHOTO_TEST
  1748. if (dParam == PANNELPHOTO_CREATEQSDGUI)
  1749. {
  1750. if (Mid_PannelPhoto_IsPhotoPlayAnable() == TRUE)
  1751. {
  1752. MM_MediaQsd_GoToTestingMode();
  1753. }
  1754. break;
  1755. }
  1756. else if (dParam == PANNELPHOTO_DESTORYQSDGUI)
  1757. {
  1758. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_QSD_TEST))
  1759. {
  1760. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_QSD_TEST);
  1761. }
  1762. break;
  1763. }
  1764. else /*PANNELPHOTO_REOPENHOMEPAGEGUI*/
  1765. {
  1766. Mid_PannelPhoto_ResetCmd();
  1767. if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE))
  1768. {
  1769. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE, 0);
  1770. }
  1771. break;
  1772. }
  1773. #endif
  1774. #ifdef CONFIG_QSD
  1775. void MM_MediaQsd_SetTestFlag(BOOLEAN bFlag, UINT32 dParam);
  1776. MM_MediaQsd_SetTestFlag(TRUE, dParam);
  1777. MM_MediaQsd_GoToTestingMode();
  1778. #endif
  1779. }
  1780. break;
  1781. case APP_GLOBAL_EVENT_QSD_SET_SOURCE:
  1782. #ifdef CONFIG_QSD
  1783. APP_GUIOBJ_Source_SetAppSource(dParam);
  1784. #endif
  1785. break;
  1786. #ifdef CONFIG_SUPPORT_CAPTURE_LOGO
  1787. case UI_EVENT_CAPTURELOGO:
  1788. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PHOTO_PLAYBACK))
  1789. SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PHOTO_PLAYBACK,
  1790. UI_EVENT_CAPTURELOGO, 0);
  1791. break;
  1792. #endif
  1793. case UI_EVENT_VOL_DN:
  1794. case UI_EVENT_VOL_UP:
  1795. #ifdef SUPPORT_CEC_TV
  1796. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
  1797. sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
  1798. if (( APP_SWITCH_ON == g_stFeatureData.Enable_HDMILink)
  1799. #ifdef SUPPORT_AMPLIFIER_CONTROL
  1800. &&(APP_SWITCH_ON == g_stFeatureData.AmplifierControl)
  1801. #endif
  1802. && (APP_HDMILINK_AMPLIFIER == g_stFeatureData.SpeakerPreference)
  1803. && (APP_GUIOBJ_Source_GetAmplifierPort() != 0) && APP_Check_CEC_DEVICE_Status())
  1804. {
  1805. if (CECTV_GetCECEnable()==CECTV_ENABLE)
  1806. {
  1807. if(dMessage == UI_EVENT_VOL_UP)
  1808. {
  1809. APP_Set_CECTV_Mute_Status(EVENT_CECTV_SET_MUTE_STATUS_VOLUME_UP);
  1810. }
  1811. else if(dMessage == UI_EVENT_VOL_DN)
  1812. {
  1813. APP_Set_CECTV_Mute_Status(EVENT_CECTV_SET_MUTE_STATUS_VOLUME_DOWN);
  1814. }
  1815. SysApp_MM_VolumeKeyHandler(dMessage,TRUE);
  1816. break;
  1817. }
  1818. }
  1819. #endif
  1820. SysApp_MM_VolumeKeyHandler(dMessage,FALSE);
  1821. break;
  1822. case UI_EVENT_SND_MOD:
  1823. #ifdef CELLO_REMOTE_KEY
  1824. case UI_EVENT_SOUND_MTS:
  1825. #endif
  1826. #ifdef SUPPORT_CEC_TV
  1827. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
  1828. sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
  1829. if(g_stUserInfoData.Mute)
  1830. {
  1831. if (CECTV_GetHDMISystemAudioMode()&& APP_Check_CEC_DEVICE_Status())
  1832. {
  1833. cec_RemoteControlPassThrough(CECTV_KEY_MUTE);
  1834. cec_RemoteControlPassThrough(CECTV_KEY_MUTE_RELEASE);
  1835. }
  1836. }
  1837. #endif
  1838. _APP_GUIOBJ_Sound_SetMuteStatus();
  1839. case UI_EVENT_SLEEP:
  1840. case UI_EVENT_PIC_MOD:
  1841. case UI_EVENT_ASPECT:
  1842. if((dMessage == UI_EVENT_ASPECT)
  1843. &&(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MOVIE_PLAYBACK)
  1844. && !SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PHOTO_PLAYBACK)
  1845. && !SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MUSIC_PLAYBACK)
  1846. #ifdef GAME_SUPPORT
  1847. && !SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_GAME_PLAYBACK)
  1848. #endif
  1849. ))
  1850. {
  1851. break;
  1852. }
  1853. if((dMessage == UI_EVENT_PIC_MOD)&&(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MOVIE_PLAYBACK))
  1854. && (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PHOTO_PLAYBACK))
  1855. )
  1856. {
  1857. break;
  1858. }
  1859. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_BANNER))
  1860. {
  1861. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_BANNER);
  1862. }
  1863. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_ADJUST))
  1864. {
  1865. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_ADJUST);
  1866. }
  1867. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_AMPLIFIERVOLUME))
  1868. {
  1869. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_AMPLIFIERVOLUME);
  1870. }
  1871. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MEDIA_BANNER))
  1872. {
  1873. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MEDIA_BANNER);
  1874. }
  1875. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_OPTIONMENU))
  1876. {
  1877. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_OPTIONMENU);
  1878. }
  1879. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MAINMENUPOP))
  1880. {
  1881. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MAINMENUPOP);
  1882. }
  1883. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL))
  1884. {
  1885. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL);
  1886. }
  1887. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_BANNER, dMessage);
  1888. break;
  1889. case APP_GLOBAL_EVENT_SLEEP_TIMER_INFO:
  1890. MM_PhotoPlayback_DestroySubGUI();
  1891. MM_MoviePlayback_DestroySubGUI();
  1892. //MM_PVRPlayback_CloseSubGui();
  1893. MM_EBook_CloseBookListMenu();
  1894. MM_Music_DestroySubGUI();
  1895. SysApp_MM_DestroyAppointedGUI();
  1896. if (MM_Music_GetPanelControlType() == APP_PANEL_POWER_DOWN)
  1897. {
  1898. Cmd_SetPanelBacklightPower(1);
  1899. //need to set Backlight again. mantis25381 start
  1900. APP_Video_OSD_PQSet(APP_VIDEO_OSD_ITEM_BACKLIGHT,
  1901. g_stSetupData.HomeMode.Backlight[g_stSetupData.HomeMode.Type]);
  1902. //need to set Backlight again. mantis25381 End
  1903. MM_Music_SetPanelControlType(APP_PANEL_POWER_UP);
  1904. }
  1905. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL, 0);
  1906. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SLEEP_INFO, dParam);
  1907. break;
  1908. #ifdef CONFIG_HDMI_SUPPORT_MHL
  1909. case DMN_EVENT_MHL_CHANGE_SOURCE:
  1910. file_printf("[FileApp OnGlobalEvent] DMN_EVENT_MHL_CHANGE_SOURCE.\n");
  1911. /* Check invalid state +++*/
  1912. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
  1913. sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
  1914. if (g_stFactoryUserData.n_FactSet_BurningMode == al_true)
  1915. {
  1916. break;
  1917. }
  1918. /* Check Valid state ---*/
  1919. APP_Source_Type_t eMhlSrc;
  1920. UINT8 IsMHLSoure;
  1921. APP_GOBJ_Source_CheckAndGetMHLSource(&IsMHLSoure,&eMhlSrc);
  1922. if(FALSE == IsMHLSoure)
  1923. {
  1924. if (SP_SUCCESS != APP_GUIOBJ_Source_SetAppSource(eMhlSrc))
  1925. {
  1926. file_printf("[FileApp OnGlobalEvent] APP_GUIOBJ_Source_SetAppSource faild.\n");
  1927. }
  1928. }
  1929. break;
  1930. #endif
  1931. #ifdef CONFIG_SUPPORT_HDMI_PLUGIN_CHANGE_SOURCE
  1932. case APP_GLOBAL_EVENT_HDMI_CHANGE_SOURCE:
  1933. file_printf("[FileApp OnGlobalEvent] APP_GLOBAL_EVENT_HDMI_CHANGE_SOURCE.\n");
  1934. /* Check invalid state +++*/
  1935. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
  1936. sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
  1937. if (g_stFactoryUserData.n_FactSet_BurningMode == al_true)
  1938. {
  1939. break;
  1940. }
  1941. SysApp_MM_DestroyAppointedGUI();
  1942. UINT8 tmpSrc = (UINT8)((CONFIG_HDMI_PORT_MAP>>(dParam*4))&0xf);
  1943. APP_Source_Type_t eSrc1;
  1944. switch(tmpSrc)
  1945. {
  1946. case SRC_HDMI_1:
  1947. eSrc1 = APP_SOURCE_HDMI;
  1948. break;
  1949. case SRC_HDMI_2:
  1950. eSrc1 = APP_SOURCE_HDMI1;
  1951. break;
  1952. case SRC_HDMI_3:
  1953. eSrc1 = APP_SOURCE_HDMI2;
  1954. break;
  1955. default:
  1956. file_printf(" not invalid source,need change backsource!");
  1957. return 0;
  1958. }
  1959. /* Check invalid state ---*/
  1960. if (SP_SUCCESS != APP_GUIOBJ_Source_SetAppSource(eSrc1))
  1961. {
  1962. file_printf("[FileApp OnGlobalEvent] APP_GUIOBJ_Source_SetAppSource faild.\n");
  1963. }
  1964. break;
  1965. #endif
  1966. #ifdef SUPPORT_CEC_TV
  1967. case DMN_EVENT_CECTV_CHANGE_SOURCE:
  1968. file_printf("[FileApp OnGlobalEvent] DMN_EVENT_CECTV_CHANGE_SOURCE.\n");
  1969. /* Check invalid state +++*/
  1970. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
  1971. sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
  1972. if (g_stFactoryUserData.n_FactSet_BurningMode == al_true)
  1973. {
  1974. break;
  1975. }
  1976. APP_Source_Type_t eSrc;
  1977. APP_Video_GetCECPortMapping(dParam, &eSrc);
  1978. /* Check invalid state ---*/
  1979. if (SP_SUCCESS != APP_GUIOBJ_Source_SetAppSource(eSrc))
  1980. {
  1981. file_printf("[FileApp OnGlobalEvent] APP_GUIOBJ_Source_SetAppSource faild.\n");
  1982. }
  1983. break;
  1984. break;
  1985. case DMN_EVENT_CECTV_STANDBY:
  1986. MAINAPP_SendGlobalEvent(UI_EVENT_POWER, 0);
  1987. break;
  1988. #endif
  1989. case DMN_EVENT_AUTODVD_CHANGE_SOURCE:
  1990. /* Check invalid state +++*/
  1991. #if 1
  1992. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
  1993. sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
  1994. if (g_stFactoryUserData.n_FactSet_BurningMode == al_true)
  1995. {
  1996. break;
  1997. }
  1998. #endif
  1999. /* Check invalid state ---*/
  2000. if (SP_SUCCESS != APP_GUIOBJ_Source_SetAppSource(dParam))
  2001. {
  2002. file_printf("[FileApp OnGlobalEvent] APP_GUIOBJ_Source_SetAppSource faild.\n");
  2003. }
  2004. break;
  2005. case DMN_EVENT_AUTOSCART_CHANGE_SOURCE:
  2006. /* Check invalid state +++*/
  2007. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
  2008. sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
  2009. if (g_stFactoryUserData.n_FactSet_BurningMode == al_true)
  2010. {
  2011. break;
  2012. }
  2013. /* Check invalid state ---*/
  2014. if (SP_SUCCESS != APP_GUIOBJ_Source_SetAppSource(dParam))
  2015. {
  2016. file_printf("[FileApp OnGlobalEvent] APP_GUIOBJ_Source_SetAppSource faild.\n");
  2017. }
  2018. else
  2019. {
  2020. #ifdef CONFIG_DVB_SYSTEM
  2021. if (dParam == APP_SOURCE_SCART)
  2022. {
  2023. APP_SCARTIN_SetAutoPlugInStatus(1);
  2024. APP_SCARTIN_SetPlugStatus(1);
  2025. }
  2026. #endif
  2027. }
  2028. break;
  2029. case FILE_GLOBAL_EVENT_OBJECT_CLOSE:
  2030. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL))
  2031. {
  2032. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL);
  2033. }
  2034. if(g_bOpenHomeMenuAfterCloseFM == TRUE)
  2035. {
  2036. g_bOpenHomeMenuAfterCloseFM = FALSE;
  2037. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE))
  2038. {
  2039. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE, 0);
  2040. }
  2041. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE))
  2042. {
  2043. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE, 0);
  2044. }
  2045. }
  2046. break;
  2047. case FILE_INTRA_EVENT_POPMSG_YES:
  2048. if (FILE_POP_FLIP == dParam)
  2049. {
  2050. g_stFactoryUserData.Function.PanelSetting.n_FlipIndex = Factory_GetFlipIndex();
  2051. AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER,
  2052. ITEM_OFFSET(APP_SETTING_FactoryUser_t, Function.PanelSetting.n_FlipIndex), sizeof(g_stFactoryUserData.Function.PanelSetting.n_FlipIndex),
  2053. &(g_stFactoryUserData.Function.PanelSetting.n_FlipIndex));
  2054. AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER,
  2055. ITEM_OFFSET(APP_SETTING_FactoryUser_t, Function.PanelSetting.n_FlipIndex), sizeof(g_stFactoryUserData.Function.PanelSetting.n_FlipIndex));
  2056. MID_TVFE_SetPanelInverse((BOOL)(g_stFactoryUserData.Function.PanelSetting.n_FlipIndex));
  2057. //MID_DISP_DTVSetFlip((MID_DISP_FlipType_t)(g_stFactoryUserData.Function.PanelSetting.n_FlipIndex) ); // added for VIP test
  2058. GL_TaskSleep(2000);
  2059. APP_Sysset_Reset_System();
  2060. //MID_GPIO_SetGPIOOffLevel(GPIO_BL_ON_PIN);
  2061. //APP_Panel_SetBacklightEnOnOff(FALSE);
  2062. //MID_GPIO_SetGPIOOffLevel(GPIO_PANEL_ON_PIN);
  2063. //system_reset();
  2064. }
  2065. #ifdef CONFIG_SUPPORT_USB_UPGRADE
  2066. if (FILE_POP_ERASE_WHOLE_FLASH == dParam)
  2067. {
  2068. if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOFTWARE_UPGRADE))
  2069. {
  2070. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOFTWARE_UPGRADE, SOFTWARE_UPGRADE_FROM_FM);
  2071. }
  2072. }
  2073. #endif
  2074. break;
  2075. case FILE_INTRA_EVENT_POPMSG_NO:
  2076. if (dParam == FILE_POP_FLIP)
  2077. {
  2078. MM_PopMsg_Close(FILE_POP_FLIP, UI_EVENT_NULL);
  2079. SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_FILE_PLAYER,
  2080. (UI_EVENT_FACTORY|PASS_TO_SYSAPP), 1);
  2081. }
  2082. #ifdef CONFIG_SUPPORT_USB_UPGRADE
  2083. if (FILE_POP_ERASE_WHOLE_FLASH == dParam)
  2084. {
  2085. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL))
  2086. {
  2087. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL);
  2088. }
  2089. //if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOFTWARE_UPGRADE))
  2090. //{
  2091. //SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOFTWARE_UPGRADE, SOFTWARE_UPGRADE_FROM_FM);
  2092. //}
  2093. }
  2094. #endif
  2095. break;
  2096. case APP_GLOBAL_EVENT_FLIP:
  2097. if (APP_MenuMgr_Exist_Factory_Menu())
  2098. {
  2099. APP_MenuMgr_Exit_Factory_Menu();
  2100. }
  2101. MM_PopMsg_Show(FILE_POP_FLIP);
  2102. break;
  2103. #ifdef CONFIG_SUPPORT_USB_UPGRADE
  2104. case APP_GLOBAL_EVENT_ERASE_WHOLE_FLASH:
  2105. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_FM_FACTORYSETTING))
  2106. {
  2107. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_FM_FACTORYSETTING);
  2108. }
  2109. MM_PopMsg_Show(FILE_POP_ERASE_WHOLE_FLASH);
  2110. break;
  2111. #endif
  2112. case APP_GLOBAL_EVENT_KEYLOCK:
  2113. if (!APP_MenuMgr_Exist_Main_Menu() && !APP_MenuMgr_Exist_Factory_Menu())
  2114. {
  2115. MM_PopMsg_Show(FILE_POP_KEYLOCK);
  2116. }
  2117. break;
  2118. #ifdef CONFIG_SUPPORT_SHOW_KEYPADMENU
  2119. case APP_GLOBAL_EVENT_KEYPADMENU_OPEN:
  2120. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_KEYPADMENU, 0);
  2121. break;
  2122. case APP_GLOBAL_EVENT_KEYPADMENU_CLOSE:
  2123. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_KEYPADMENU);
  2124. break;
  2125. #endif
  2126. case APP_GLOBAL_EVENT_OVER_MAXVOLUME:
  2127. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_ADJUST))
  2128. {
  2129. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_ADJUST);
  2130. }
  2131. MM_PopMsg_Show(FILE_POP_OVERMAXVOLUME);
  2132. break;
  2133. case UI_EVENT_MultiPanelIndex:
  2134. {
  2135. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_SOURCE))
  2136. {
  2137. UINT8 u8PanelIdx = tv_GetPanelIndex();
  2138. u8PanelIdx = (u8PanelIdx + 1) % CONFIG_PANEL_NUM;
  2139. tv_SetPanelIndex(u8PanelIdx);
  2140. g_stFactoryUserData.Function.PanelSetting.n_MultiplePanelIndex = u8PanelIdx;
  2141. AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER,
  2142. ITEM_OFFSET(APP_SETTING_FactoryUser_t, Function.PanelSetting.n_MultiplePanelIndex), sizeof(g_stFactoryUserData.Function.PanelSetting.n_MultiplePanelIndex),
  2143. &(g_stFactoryUserData.Function.PanelSetting.n_MultiplePanelIndex));
  2144. AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER,
  2145. ITEM_OFFSET(APP_SETTING_FactoryUser_t, Function.PanelSetting.n_MultiplePanelIndex), sizeof(g_stFactoryUserData.Function.PanelSetting.n_MultiplePanelIndex));
  2146. tv_SetRebootAfterPowerOff();
  2147. MAINAPP_SendGlobalEvent(UI_EVENT_POWER, 0);
  2148. printf("[%s], %d: Panel Index is %d\n", __FUNCTION__, __LINE__, u8PanelIdx);
  2149. }
  2150. break;
  2151. }
  2152. #ifdef SUPPORT_FACTORY_AUTO_TEST
  2153. case UI_EVENT_KEYPAD_DOWN:
  2154. case UI_EVENT_KEYPAD_UP:
  2155. case UI_EVENT_KEYPAD_SOURCE:
  2156. case UI_EVENT_KEYPAD_LEFT:
  2157. case UI_EVENT_KEYPAD_RIGHT:
  2158. case UI_EVENT_KEYPAD_POWER:
  2159. case UI_EVENT_KEYPAD_MENU:
  2160. {
  2161. extern int APP_Factory_GetAutoTestOnOff(void);
  2162. if(APP_Factory_GetAutoTestOnOff() == TRUE)
  2163. {
  2164. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER,
  2165. APP_GUIOBJ_BANNER, dMessage);
  2166. }
  2167. }
  2168. break;
  2169. #endif
  2170. #ifdef CONFIG_POWER_ON_TV_LOCK
  2171. case APP_GLOBAL_EVENT_POPMSG_PWD:
  2172. {
  2173. if(g_stSetupData.PowerOnTVLock == APP_SWITCH_ON && APP_GUIOBJ_GET_PASSWORDRight_Flag() == TRUE)
  2174. {
  2175. SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_FILE_PLAYER,
  2176. FILE_GLOBAL_EVENT_MEDIA_ONRUN | PASS_TO_SYSAPP, TRUE);
  2177. }
  2178. }
  2179. break;
  2180. #endif
  2181. case APP_GLOBAL_EVENT_ADC_AUTO_CHANGE_SOURCE:
  2182. #if 0
  2183. if(dParam == TRUE)//plug in
  2184. {
  2185. if(g_Media_ADCAutoChnage == FALSE)
  2186. {
  2187. if (SP_SUCCESS != APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_PC))
  2188. {
  2189. file_printf("APP_GUIOBJ_Source_SetAppSource Fail!!!!!!!!!\n");
  2190. }
  2191. else
  2192. {
  2193. g_Media_ADCAutoChnage = TRUE;
  2194. }
  2195. }
  2196. }
  2197. else // plutg out
  2198. {
  2199. g_Media_ADCAutoChnage = FALSE;
  2200. extern void SysApp_ATV_Reset_ADCAutoChnageFlag(void);
  2201. SysApp_ATV_Reset_ADCAutoChnageFlag();
  2202. }
  2203. #endif
  2204. break;
  2205. #ifdef CONFIG_SUPPORT_WIFI
  2206. case DMN_EVENT_WIFI_DONGLE_ATTACHED:
  2207. {
  2208. #if 1
  2209. extern void Network_WifiDongle_Attached_Check(void);
  2210. Network_WifiDongle_Attached_Check();
  2211. #else
  2212. UINT8 retry_count = 0;
  2213. #ifdef CONFIG_SUPPORT_NET_SETTING
  2214. Al_IP_t Get_IPaddress = {0};
  2215. UINT32 dRetry = 0;
  2216. UINT8 ifflag = E_MID_NWSI_IF_OFF;
  2217. AL_Return_t ret = AL_FAILURE;
  2218. #endif
  2219. while((MID_NWSI_GetIFFlag(E_MID_NWSI_CONNECT_TYPE_WIRELESS) & E_MID_NWSI_IF_UP) != E_MID_NWSI_IF_UP && retry_count < 20)
  2220. {
  2221. usleep(200000);
  2222. retry_count ++;
  2223. printf("wait interface up\n");
  2224. }
  2225. retry_count = 0;
  2226. #ifdef CONFIG_SUPPORT_NET_SETTING
  2227. if(Al_Network_Ctrl_GetIP(&Get_IPaddress) != AL_SUCCESS)
  2228. {
  2229. if(MID_NWSI_WLAN_GetAPState() == E_MID_NWSI_WLAN_CONNECT_STATE_ON)
  2230. {
  2231. Al_APPW_t *pAPPW = NULL;
  2232. pAPPW = &g_stSetupData.WiFiSetting.WiFiPassword.APPW[0];
  2233. if(Al_Network_Ctrl_ConnectAP(g_stSetupData.WiFiSetting.ConnectAPData, pAPPW->PWlen, pAPPW->PassWord) == AL_SUCCESS)
  2234. {
  2235. Al_Network_Ctrl_SetDhcpStatic(e_AL_Network_Mode_Wireless, g_stSetupData.EthernetConnectMode, &g_stSetupData.IPSetting);
  2236. }
  2237. MID_NWSI_WLAN_WiFiEnable(TRUE);
  2238. while(ret != AL_SUCCESS && dRetry < 30)
  2239. {
  2240. ret = Al_Network_Ctrl_GetIP(&Get_IPaddress);
  2241. ifflag = MID_NWSI_GetIFFlag(e_AL_Network_Mode_Wireless);
  2242. if(ret == AL_SUCCESS && (ifflag&E_MID_NWSI_IF_RUNNING))
  2243. {
  2244. break;
  2245. }
  2246. dRetry ++;
  2247. }
  2248. }
  2249. }
  2250. #endif
  2251. #endif
  2252. break;
  2253. }
  2254. #endif
  2255. default :
  2256. break;
  2257. }
  2258. return SP_SUCCESS;
  2259. }
  2260. /******************************************************************************/
  2261. /**
  2262. * @brief
  2263. * @param
  2264. * @return
  2265. *
  2266. ******************************************************************************/
  2267. static int SysApp_MM_OnGUIFeedbackEvent(void* pPrivateData, UINT32 dMessage, UINT32 dParam)
  2268. {
  2269. file_printf("[FilePlayer] %s.\n", __FUNCTION__);
  2270. switch(dMessage)
  2271. {
  2272. case GUI_RESPOND_MEDIA_PLAYDONE:
  2273. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_BANNER))
  2274. {
  2275. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_BANNER);
  2276. }
  2277. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_ADJUST))
  2278. {
  2279. if (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)
  2280. {
  2281. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_ADJUST);
  2282. }
  2283. }
  2284. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_AMPLIFIERVOLUME))
  2285. {
  2286. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_AMPLIFIERVOLUME);
  2287. }
  2288. if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MOVIE_PLAYBACK))
  2289. {
  2290. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MOVIE_PLAYBACK);
  2291. }
  2292. else if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PHOTO_PLAYBACK))
  2293. {
  2294. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PHOTO_PLAYBACK);
  2295. }
  2296. /*
  2297. else if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PVR_PLAYBACK))
  2298. {
  2299. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_PVR_PLAYBACK);
  2300. }
  2301. */
  2302. else if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_EBOOK_PLAYBACK))
  2303. {
  2304. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_EBOOK_PLAYBACK);
  2305. }
  2306. #ifdef GAME_SUPPORT
  2307. else if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_GAME_PLAYBACK))
  2308. {
  2309. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_GAME_PLAYBACK);
  2310. }
  2311. #endif
  2312. else if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MUSIC_PLAYBACK))
  2313. {
  2314. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_MUSIC_PLAYBACK);
  2315. }
  2316. #ifdef CONFIG_SUPPORT_KARAOKE_AUTO_PLAY
  2317. else if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_AUTO_PLAY))
  2318. {
  2319. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_AUTO_PLAY);
  2320. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE, 0);
  2321. }
  2322. #endif
  2323. break;
  2324. case GUI_RESPOND_EXIT_ALL_MENU:
  2325. SysApp_MM_DestroyAppointedGUI();
  2326. if(g_bOpenHomeMenuAfterCloseFM == TRUE)
  2327. {
  2328. g_bOpenHomeMenuAfterCloseFM = FALSE;
  2329. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE))
  2330. {
  2331. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE, 0);
  2332. }
  2333. if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE))
  2334. {
  2335. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_HOMEPAGE, 0);
  2336. }
  2337. }
  2338. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL))
  2339. {
  2340. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, MEDIA_GUIOBJ_NULL);
  2341. }
  2342. break;
  2343. default:
  2344. file_printf("[FilePlayer] Unknown GUI feedback message received.\n");
  2345. break;
  2346. }
  2347. return SP_SUCCESS;
  2348. }
  2349. /******************************************************************************/
  2350. /**
  2351. * @brief
  2352. * @param
  2353. * @return
  2354. *
  2355. *******************************************************************************/
  2356. int SysApp_MM_OnEvent(void* pPrivateData, UINT32 dMessage, UINT32 dParam)
  2357. {
  2358. file_printf("[%s] dMessage: 0x%04x dParam: %d received.\n", __FUNCTION__, dMessage, dParam);
  2359. switch (dMessage & GUIOBJ_MESSAGE_TYPE_MASK)
  2360. {
  2361. case SYSAPP_GLOBAL_EVENT_TYPE:
  2362. SysApp_MM_OnGlobalEvent(pPrivateData, (dMessage & GUIOBJ_MESSAGE_MASK), dParam);
  2363. break;
  2364. case GUIOBJ_FEEDBACK_EVENT_TYPE:
  2365. #if (CONFIG_DRAMSIZE == 128 )
  2366. Player_PIC_Reset_VIP_Addr();//Reset the VIP display mem addr, because of after rotate the second VIP mem is smaller in DRAMSIZE 128.
  2367. #endif
  2368. SysApp_MM_OnGUIFeedbackEvent(pPrivateData, (dMessage & GUIOBJ_MESSAGE_MASK), dParam);
  2369. break;
  2370. default:
  2371. file_printf("[FileBrowser] Unknown message type received.\n");
  2372. break;
  2373. }
  2374. return SP_SUCCESS;
  2375. }
  2376. bool SysApp_MM_AL_CallBackFuc(AL_PLAYER_Event_t Event)
  2377. {
  2378. file_printf("\n\n\n\n------only test ----callback message from al middleware\n");
  2379. file_printf("[%s] 0x%x\n\n\n", __FUNCTION__, Event);
  2380. switch (Event)
  2381. {
  2382. case PLAYER_AV_EVENT_INITOK:
  2383. SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_FILE_PLAYER,
  2384. FILE_GLOBAL_EVENT_MEDIA_INITOK, 0);
  2385. break;
  2386. case PLAYER_AV_EVENT_DECODE_FINISH: //0x10001
  2387. SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_FILE_PLAYER,
  2388. FILE_GLOBAL_EVENT_MEDIA_PLAYDONE, 0);
  2389. break;
  2390. case PLAYER_AV_EVENT_READERROR: //0x10007
  2391. SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_FILE_PLAYER,
  2392. FILE_GLOBAL_EVENT_MEDIA_READ_DATA_FAIL, 0);
  2393. break;
  2394. case PLAYER_AV_EVENT_VIDEOUNSUPPORT: //0x1000e
  2395. SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_FILE_PLAYER,
  2396. FILE_GLOBAL_EVENT_MEDIA_UNSUPPORTVIDEO, 0);
  2397. break;
  2398. case PLAYER_AV_EVENT_AUDIOUNSUPPORT: //0x1000a
  2399. SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_FILE_PLAYER,
  2400. FILE_GLOBAL_EVENT_MEDIA_UNSUPPORTAUDIO, 0);
  2401. break;
  2402. case PLAYER_AV_EVENT_UNSUPPORT: //0x1000a
  2403. APP_Audio_SetMute(TRUE, TRUE, APP_MUTE_MODE_NO_SIGNALE, APP_SOURCE_MEDIA);
  2404. APP_Video_SetMute(TRUE, TRUE, APP_MUTE_MODE_NO_SIGNALE, APP_SOURCE_MEDIA);
  2405. SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_FILE_PLAYER,
  2406. FILE_GLOBAL_EVENT_MEDIA_PLAYERROR, 0);
  2407. break;
  2408. case PLAYER_AV_EVENT_BACK_FINISH: //0x1000b
  2409. SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_FILE_PLAYER,
  2410. FILE_GLOBAL_EVENT_MEDIA_BACK_FINISH, 0);
  2411. break;
  2412. case PLAYER_AV_EVENT_RESUME_PLAY:
  2413. SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_FILE_PLAYER,
  2414. FILE_GLOBAL_EVENT_MEDIA_RESUME_PLAY, 0);
  2415. break;
  2416. case PLAYER_AV_EVENT_UPDATE_RATING:
  2417. SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_FILE_PLAYER,
  2418. FILE_GLOBAL_EVENT_MEDIA_UPDATE_RATING, 0);
  2419. break;
  2420. case PLAYER_PIC_EVENT_DECODE_START: // 0x4ffff
  2421. case PLAYER_PIC_EVENT_EFFECT_FINISH: //0x40004
  2422. break;
  2423. case PLAYER_AV_EVENT_UPDATE_TIME: //0x10008
  2424. SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_FILE_PLAYER,
  2425. FILE_GLOBAL_EVENT_MEDIA_UPDATE_TIME, 0);
  2426. break;
  2427. default:
  2428. file_printf("[%s] Unknown message type received.\n", __FUNCTION__);
  2429. break;
  2430. }
  2431. return TRUE;
  2432. }
  2433. void SysApp_MM_VolumeKeyHandler(UINT32 dMessage, UINT8 IsCECKey)
  2434. {
  2435. if(IsCECKey == TRUE)
  2436. {
  2437. #ifdef SUPPORT_CEC_TV
  2438. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
  2439. sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
  2440. if (( APP_SWITCH_ON == g_stFeatureData.Enable_HDMILink)
  2441. #ifdef SUPPORT_AMPLIFIER_CONTROL
  2442. &&(APP_SWITCH_ON == g_stFeatureData.AmplifierControl)
  2443. #endif
  2444. &&(APP_HDMILINK_AMPLIFIER == g_stFeatureData.SpeakerPreference) && APP_GUIOBJ_Source_GetAmplifierPort())
  2445. {
  2446. if (CECTV_GetCECEnable()==CECTV_ENABLE && CECTV_GetHDMISystemAudioMode() && APP_Check_CEC_DEVICE_Status())
  2447. {
  2448. if(APP_Get_HDMICEC_AMP_Mute_Status() == TRUE)
  2449. {
  2450. APP_Set_HDMICEC_AMP_Mute_Status(FALSE);
  2451. CECTV_SendCmd(CECTV_SINGLE_ACT_CMD_KEYPRESS, CECTV_KEY_MUTE<<8|0x05);//Mute Function
  2452. SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE,
  2453. APP_INTRA_EVENT_HIDE_MUTE, 0);
  2454. }
  2455. }
  2456. }
  2457. #endif
  2458. }
  2459. else
  2460. {
  2461. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
  2462. sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
  2463. if (g_stUserInfoData.Mute)
  2464. {
  2465. if(dMessage == UI_EVENT_VOL_UP || IsCECKey == TRUE)
  2466. {
  2467. SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_MUTE,
  2468. APP_INTRA_EVENT_HIDE_MUTE, 0);
  2469. APP_Audio_SetMute(FALSE, TRUE, APP_MUTE_MODE_SIGNAL_DETECT, APP_SOURCE_MEDIA);
  2470. g_stUserInfoData.Mute = FALSE;
  2471. AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO,
  2472. ITEM_OFFSET(APP_SETTING_UserInfo_t, Mute),
  2473. sizeof(g_stUserInfoData.Mute),&(g_stUserInfoData.Mute));
  2474. #ifdef SUPPORT_STORE_MUTE_FLAG
  2475. AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO,
  2476. ITEM_OFFSET(APP_SETTING_UserInfo_t, Mute),
  2477. sizeof(g_stUserInfoData.Mute));
  2478. #endif
  2479. }
  2480. }
  2481. }
  2482. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_BANNER))
  2483. {
  2484. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_BANNER);
  2485. }
  2486. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_AMPLIFIERVOLUME))
  2487. {
  2488. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_AMPLIFIERVOLUME);
  2489. }
  2490. if(IsCECKey == TRUE
  2491. #ifdef SUPPORT_CEC_TV
  2492. && CECTV_GetHDMISystemAudioMode() && APP_Check_CEC_DEVICE_Status()
  2493. #endif
  2494. )
  2495. {
  2496. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_ADJUST))
  2497. {
  2498. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_ADJUST);
  2499. }
  2500. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_AMPLIFIERVOLUME))
  2501. {
  2502. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_AMPLIFIERVOLUME);
  2503. }
  2504. else
  2505. {
  2506. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER,APP_GUIOBJ_AMPLIFIERVOLUME, 0);
  2507. }
  2508. }
  2509. else
  2510. {
  2511. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_AMPLIFIERVOLUME))
  2512. {
  2513. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_AMPLIFIERVOLUME);
  2514. }
  2515. if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_FILE_PLAYER, APP_GUIOBJ_ADJUST))
  2516. {
  2517. SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_FILE_PLAYER, APP_GUIOBJ_ADJUST);
  2518. }
  2519. else
  2520. {
  2521. UINT8 u8VolumeIdx = g_stVariationalData.Volume;
  2522. if (dMessage == UI_EVENT_VOL_UP)
  2523. {
  2524. g_stVariationalData.Volume = u8VolumeIdx >= ADJUST_MAX_VALUE ? ADJUST_MAX_VALUE : ++u8VolumeIdx;
  2525. }
  2526. else if (dMessage == UI_EVENT_VOL_DN)
  2527. {
  2528. g_stVariationalData.Volume = u8VolumeIdx <= ADJUST_MIN_VALUE ? ADJUST_MIN_VALUE : --u8VolumeIdx;
  2529. }
  2530. AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTHOTEL, 0,
  2531. sizeof(APP_SETTING_FactoryHotel_t), &(g_stFactoryHotelData));
  2532. if ((g_stFactoryHotelData.MaxVolume < g_stVariationalData.Volume)
  2533. &&(g_stFactoryHotelData.HotelModeOnOff == 1))
  2534. {
  2535. g_stVariationalData.Volume = g_stFactoryHotelData.MaxVolume;
  2536. }
  2537. APP_Audio_SetVolume((UINT32)g_stVariationalData.Volume);
  2538. AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL,
  2539. ITEM_OFFSET(APP_SETTING_Variational_t, Volume),
  2540. sizeof(g_stVariationalData.Volume), &(g_stVariationalData.Volume));
  2541. SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_FILE_PLAYER, APP_GUIOBJ_ADJUST, ADJUST_VOLUME);
  2542. }
  2543. }
  2544. }
  2545. /*****************************************************************************
  2546. ** FUNCTION : FILEApp_fw_callback
  2547. **
  2548. ** DESCRIPTION :
  2549. **
  2550. **
  2551. ** PARAMETERS :
  2552. ** None
  2553. **
  2554. ** RETURN VALUES:
  2555. ** None
  2556. *****************************************************************************/
  2557. INT32 FILEApp_fw_callback(AFW_event_t event, void *param)
  2558. {
  2559. UINT32 message = 0xffffffff;
  2560. UINT32 dParam = 0;
  2561. UINT32 Index = SYS_APP_FILE_PLAYER;
  2562. if(MAIN_APP_SUCCESS != MAINAPP_GetActiveSystemAppIndex(&Index))
  2563. {
  2564. file_printf("[%s: %d] get active system app fail\n",__FUNCTION__, __LINE__);
  2565. }
  2566. if (Index == SYS_APP_FILE_PLAYER)
  2567. {
  2568. switch (event)
  2569. {
  2570. #ifdef CONFIG_SCART_SUPPORT
  2571. case FW_SCART_INPUTSTATUS_CHANGE:
  2572. dParam = *(UINT32 *)param;
  2573. APP_SCARTIN_Pin8Function(dParam);
  2574. break;
  2575. #endif
  2576. case FW_VIP_FINISH:
  2577. message = FW_VIP_FINISH|PASS_TO_SYSAPP;
  2578. break;
  2579. #ifdef SUPPORT_CEC_TV
  2580. case FW_HDMI_PORTSTATUS:
  2581. dParam = *(UINT32 *)param;
  2582. message = FILE_GLOBAL_EVENT_HDMIPORT_STATUS|PASS_TO_SYSAPP;
  2583. break;
  2584. #endif
  2585. #ifdef CONFIG_QSD
  2586. case FW_QSD_Media_Play:
  2587. dParam = *(UINT32 *)param;
  2588. message = APP_GLOBAL_EVENT_QSD_MEDIA_PLAY|PASS_TO_SYSAPP;
  2589. break;
  2590. case FW_QSD_Source_Set:
  2591. dParam = *(UINT32 *)param;
  2592. message = APP_GLOBAL_EVENT_QSD_SET_SOURCE|PASS_TO_SYSAPP;
  2593. //APP_GUIOBJ_Source_SetAppSource(dParam);
  2594. break;
  2595. #endif
  2596. case FW_AUDIO_HEADPHONE_PLUG_IN:
  2597. message = APP_GLOBAL_EVENT_HEADPHONE_PLUG_IN|PASS_TO_SYSAPP;
  2598. break;
  2599. case FW_AUDIO_HEADPHONE_PLUG_OUT:
  2600. message = APP_GLOBAL_EVENT_HEADPHONE_PLUG_OUT|PASS_TO_SYSAPP;
  2601. break;
  2602. case FW_HDMI_CHANGE_SOURCE:
  2603. dParam = *(UINT32 *)param;
  2604. message = APP_GLOBAL_EVENT_HDMI_CHANGE_SOURCE|PASS_TO_SYSAPP;
  2605. break;
  2606. #ifdef CONFIG_SUPPORT_AUDIO_CODEC_OVERLAY
  2607. case FW_AUDIO_LOADCODEC_OK:
  2608. case FW_AUDIO_LOADCODEC_ERROR:
  2609. message = event|PASS_TO_SYSAPP;
  2610. dParam = *(UINT32 *)param;
  2611. break;
  2612. case FW_AUDIO_LOADCODEC_TYPE:
  2613. {
  2614. UINT16 new_condec = *(UINT32 *)param;
  2615. TVFE_Audio_LOAD_CODEC_t stConfig;
  2616. memset(&stConfig, 0, sizeof(TVFE_Audio_LOAD_CODEC_t));
  2617. stConfig.flag = TVFE_AUDIO_CODEC_FLAG_SET;
  2618. stConfig.new_type = new_condec;
  2619. TVFE_Audio_Load_Codec(&stConfig);
  2620. printf("\n\n[%s:%d] new_condec =========== %d\n\n\n",__FUNCTION__,__LINE__,new_condec);
  2621. }
  2622. break;
  2623. #endif
  2624. #ifdef CONFIG_HDMI_SUPPORT_MHL
  2625. case FW_HDMI_MHL_CONNECTED:
  2626. dParam = *(UINT32 *)param;
  2627. if(dParam == 1)
  2628. {
  2629. message = DMN_EVENT_MHL_CHANGE_SOURCE|PASS_TO_SYSAPP;
  2630. }
  2631. break;
  2632. #endif
  2633. #ifdef CONFIG_SUPPORT_WIFI
  2634. case FW_USB_PLUGIN:
  2635. dParam = *(UINT32 *)param;
  2636. if(dParam == 0)
  2637. {
  2638. if(MID_NWSI_WLAN_CheckWifiDongle() == WIFI_DONGLE)
  2639. {
  2640. message = DMN_EVENT_WIFI_DONGLE_ATTACHED;
  2641. }
  2642. }
  2643. break;
  2644. #endif
  2645. case FW_ADC_AUTOCHANGE_SOURCE:
  2646. dParam = *(UINT32 *)param;
  2647. message = APP_GLOBAL_EVENT_ADC_AUTO_CHANGE_SOURCE|PASS_TO_SYSAPP;
  2648. break;
  2649. default:
  2650. message = 0xffffffff;
  2651. break;
  2652. }
  2653. }
  2654. else
  2655. {
  2656. switch (event)
  2657. {
  2658. default:
  2659. message = 0xffffffff;
  2660. break;
  2661. }
  2662. }
  2663. if (message != 0xffffffff)
  2664. {
  2665. SYSAPP_IF_SendGlobalEventWithIndex(Index, message, dParam);
  2666. return SP_SUCCESS;
  2667. }
  2668. else
  2669. {
  2670. return SP_ERR_FAILURE;
  2671. }
  2672. }