From c2c67756b02302271c646af34b99e23176e20244 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Thu, 11 Jun 2020 14:51:04 +0800 Subject: [PATCH] opt --- .../com/mogo/commons/AbsMogoApplication.java | 2 +- .../main/launcher/MainLauncherActivity.java | 5 +- .../mogo/module/apps/model/NavigatorApps.java | 5 +- .../module_apps_ic_navigator_im.png | Bin 0 -> 6423 bytes .../drawable/module_apps_ic_navigator_im.png | Bin 0 -> 2406 bytes .../back/BackToLauncherModuleProvider.java | 24 ++------ .../com/mogo/module/main/MainActivity.java | 2 +- .../com/mogo/module/service/MogoServices.java | 5 +- .../com/mogo/module/service/ServiceConst.java | 5 +- .../intent/AppOperationIntentHandler.java | 27 ++++++--- .../service/intent/IntentHandlerFactory.java | 1 + .../WholeVoiceCommandIntentHandler.java | 57 ++++++++++++++++++ .../service/marker/MapMarkerManager.java | 10 ++- .../module/service/network/RefreshModel.java | 10 ++- .../service/adas/IMogoADASController.java | 2 + .../service/impl/adas/MogoADASController.java | 14 ++++- 16 files changed, 124 insertions(+), 45 deletions(-) create mode 100755 modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_im.png create mode 100755 modules/mogo-module-apps/src/main/res/drawable/module_apps_ic_navigator_im.png create mode 100644 modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/WholeVoiceCommandIntentHandler.java diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java index 0f9bdd79bd..b1e7afd023 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java @@ -105,7 +105,7 @@ public class AbsMogoApplication extends Application { Analytics.getInstance().setAppKey( "6bbe7e0e1ecd8e2f8dc336e1678a2791" ); // 0 - debug 近实时上报,积累一条埋点上报,或者积累3秒上报一次。 // 2 - 本地缓存,聚合上报,积累30条埋点上报,或者积累60秒上报一次。 - AnalyticsConfig.getInstance( sApp ).setMode( DebugConfig.isDebug() ? 2 : 2 ); + AnalyticsConfig.getInstance( sApp ).setMode( DebugConfig.isDebug() ? 0 : 2 ); AnalyticsConfig.getInstance( sApp ).shouldLog( DebugConfig.isDebug() ); Devices.checkBindState(); diff --git a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java index d95de47511..59f382ce6a 100644 --- a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java +++ b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java @@ -29,10 +29,7 @@ public class MainLauncherActivity extends MainActivity { @Override protected void addModule() { super.addModule(); - // F 车机添加返回桌面浮窗 - if ( CarSeries.getSeries() == CarSeries.CAR_SERIES_F80X ) { - MogoModulePaths.addModule( new MogoModule( BackToLauncherConst.MODULE_PATH, BackToLauncherConst.MODULE_NAME ) ); - } + MogoModulePaths.addModule( new MogoModule( BackToLauncherConst.MODULE_PATH, BackToLauncherConst.MODULE_NAME ) ); } @Override diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/NavigatorApps.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/NavigatorApps.java index 7c9565f081..700564dce6 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/NavigatorApps.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/NavigatorApps.java @@ -15,13 +15,15 @@ public class NavigatorApps { private static AppInfo app = new AppInfo( "导航", "com.mogo.launcher.navi.search", "", 0, null, R.drawable.module_apps_ic_navigator_navi, 1 ); private static AppInfo app_ = new AppInfo( "导航", "com.mogo.launcher.navi.search", "", 0, null, R.drawable.module_apps_ic_navigator_navi_disable, 1 ); - private static AppInfo app2 = new AppInfo( "音乐", "com.pvetec.musics", "", 0, null, R.drawable.module_apps_ic_navigator_media, 2 ); + private static AppInfo app2 = new AppInfo( "音乐", "com.tencent.wecarflow", "", 0, null, R.drawable.module_apps_ic_navigator_media, 2 ); + private static AppInfo app3 = new AppInfo( "车聊聊", "com.zhidao.imdemo", "", 0, null, R.drawable.module_apps_ic_navigator_im, 6 ); private static AppInfo app4 = new AppInfo( "全部应用", "com.mogo.launcher.applist", "", 0, null, R.drawable.module_apps_ic_navigator_applist, 4 ); public static List< AppInfo > getApps() { List< AppInfo > sApps = new ArrayList<>(); sApps.add( app ); sApps.add( app2 ); + sApps.add( app3 ); sApps.add( app4 ); return sApps; } @@ -30,6 +32,7 @@ public class NavigatorApps { List< AppInfo > sApps = new ArrayList<>(); sApps.add( app ); sApps.add( app2 ); + sApps.add( app3 ); sApps.add( app4 ); return sApps; } diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_im.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_im.png new file mode 100755 index 0000000000000000000000000000000000000000..3ee3703675d9d3fd57680fefa2357e8494e4734c GIT binary patch literal 6423 zcmY+Jc{r5s*T5N*U6$;Vb&y?IhO(7q>}87>G!r6btWi-hM9A0;HKanw(uBq!j8S~E zC0{X&WsrT}$@Wga-+Nu}_5SfZ_jRA=zRq>d{hagM=X{<-+v{dr?4s-p3=CWr<|g*^ zG4Joi%1pl}5y>_T48r3UCf6Jvj;!Rf1qs}2=m_j&)f34REn!!RrU}~JKQE)r!J29( zc;U^BpxP{Zo-+XSRij;f8Oc(~81~#}`jXFh$QfMKfk1$a6c08sv-E0qFMrCP`?Cj+ zEnBw2_7)=l+~4c53F!$rXjr`M?JoJ%z_9sP_tML!(>|-CMU2yO&A(B*PXY*Q#0A8- z=dpI$>G;Zw#?HF%*6;q3?o2=1u?r99)>kJvY05Nf8j_YwtFV5uv9TBRB)6{M6i`!e zilr|r-*|JFB006MMEwW_TM%}B|)YBQ_$&<}f$U~`B-?chCS93HX zyry8bk>)nQm01&~5nr=vN0GD6z5KIF?{Y_aU_|Xu&9A}}&8khQA3wd@%#xKwu5{N> zJpW-b-HS-R8dgZlZ)<$65nU6lfvySu%{f^y+1)5sYmqs7^mBP{XlLa~Y--A8nXvly z+o@|0CLCz9v*F1{c8+TNd0ctCc>;MZk#p=m+?@A0kkcJ4^Gn{ZGkmst^e#u-`PGL= z<>wZ@c#)gCCXl`NY%fo5KV`(`JMJPP{zo7?Zh|N@JHph{HjRF#yGjHLarbBeeb{{b zxb@)Vg*R+5w7cTEDn{B6&=#^M;m|C5baFN2O}*m7-^j`2$%-&{WdxIOuqbl8`9vWi z>gTx|DIY~O=U)T#vZ%&EgF&-@Wcg3|ORoBO4U3B(IMz2t8rJ&Ny`*(dE@PC(0{Ln% z57#&BGudi-sm=i%(TpYS_tP+oPg)UeW>^}B89MrmJ~TT2?9lMGr9_5zn-Hej;zvKD zuGoiv7X-pu0}DZ>3-!)Txo3q#`m%fXUwA;0*Z`d#(rF}zpZB=hG6JE>LQ%0fdjGp91n?CIUvv;U&mb(#^_Q8bIYT^_yhT;4%jd3OC}K;BCQ95dd~THOw!bEuh~{=&}AK zW7ErJ49jJmj%clOQQm@XXQI_OX0n!D z&y8rd^1!okq_;de|2y#i_Zjf)-z81Pv1?+kn)f=pb^?1}AQKaY_jg`}9X{P(&ulY9 zS*q>JhM8?t+T1&17)Z(5T6-|KdIC}2JYEXyW^10BK3x8Oa?CF)U8_yqh11;Kql)-O=Chq+f z%2N331u`M>c5&LL7E21wMP*svR%Q95V)+!SdLv*Ut3T;3hRZrxX;(Qz zHZzeZQOBdbsg`gsX&4U1qJ%t$ceDKARB+p_ixURFMzcUf?OJS3{Ayu-UWsfxTs7pE z462g~Vq!UNhL4lKs%ay8TRtN~(UJfbtcn0!SJef=3+b&^z-M1(fMHl+vu|A|uU@ZA z3)|;EI5su3i8}ce$~uYyj)K9bZuNI|UPnD4D%^%64s%J+X$U)R-jWS@Pxsy^)UAx2 zz|KriWFs(fB8PzxfSXgV!X$0-U!&dhf5~qP!;Fw*mZ8-Kf4Bi)Zi-}+r&)toX)kOU zfh%Ppl=zVrM(KQY#ld*g5ZWe@%Bf6c_zJmu{PKF)V(Q^0lM;SP!%eI z7xFG9l>CVtYBbxrd0KyZ^4yA7M~E?CN<#xA(*;E<**4ml^ASEwLk>mm#W7g`IH>mk zAV$@_;it;d-5M?Q!tYVVLN zu;z8tHEUTcGwFFbfa;YdQ`8kqg~ZCVsv<)UjM13jVtzue6|+b zw;7>l`6Bfb^&kAhTxjq3`kQ~bLXKT=@1+V_y^0DJ_RRM#&7^i4w||C2uOvtztG$&z zwK~}c+sRjck?)T1JbC1Nzp{$ettw|vqvSKz#t&v;0brqCZ%TIjcw|?+kbbulYxCVa z)m)@Z9Qi>8?Fx}T0}&xscisgA9;8-hcbU>6E+O9}P;NBac^B21y$TpeQ?nZ_J>E3K zFhgW5Y?X1yvCZ0G&}Zc1Q71QMdT#j(B9uP*2`YY2V^eEUZxlx_&5*{l$u(|epDzW2 z#I)WG+C=>^PND8%sXxrQMZJnTwljdk)%m`CUs0xaM#Hbw1{BlX0OPaIQ55}EIjG@Y z6Gf*9JVXz_F^?zu6!t3qtDcCOA@EF>gl@KY86z@HCK^;MqEK70FY}i46x!Lw91M!9 zd^ek68@8!FKe*1zjg<^)5+Z&n`XypW$Vq>{U>${=QwDM16fNFhD;;LIQBc=+=#^?t zs=(XXftv^f+_y%_<#G-nV4e0>R;=u^g2=siATHqGui5^c5+$7Q&@V@C(Ohn2oUpJ; zpqt;H=8uySe1IX2N~%Vthu?ta?=TjH%M?x)g`Etb0=O9elOTXgHyV8(Q(5}c>Ew+C zAP!@}r|3U`&(}jqwG3`+e0SR7C3>)qF4yy-7F}_gezo6L6CRrCay>c}SwM`W)p-un zb4scMMM%yfhbPjlWhabWc@eajd~<#KamDD(iaaaEI=ztN2}T|71JjbD^zmMUn25BD z8stE>I+hFW0LA1IF|H6nhynO!o16=Thl9FM3K zXWmWCLSr!0fq+{3 yvD~kBwDo0$pz4HjEwOy7in~>~i&3B99wG{q}!TCXzsZMCs zP0ISul#j1ZKe}L!|LmyEFZI>)2Z8E-9~&X8ys1u&wH9R6_hx<|-a1(}8dM{!#Bi}8 zExi+4X&F*DkPV=R9Wy?W^sA2j9!%r(6CCkuX2yBkPr7dg9MlBV;j0-8xK1Bp#4>NT*9)g%#%?ktwnz{-yLtQ;0yssBFMz-hy ztLD&3Jeki{zPWq24pPnFT@nyVZ`oL>$KO~;&Hx_bKeNw?QlE)6hBUk2<@*~hUhJ&) z4bJi&*>>)g4r*f1d6oWNblY6Fp|(PX?a08WIYQ!EzKmuWXj35KGbAj7bhoI&n~Adc zBTBU>u&Y6YN7(xeMNlP$pnNu|esOxQK#SFld*_Bi&>zs|%pGcHK&46-E8z;t_%+s$ zpCYQIZ!ZoZNPT31p~Sdh&S!diV_n$w8EGduEHj!a z#n|CWSQ$+qX2}SX+E>%XQ6Ev>I?`1Ze5KyyUJ*qQiZVNrU*`AJ^=pw4b^Etp4{z}*je!^5~|hj zSG;TiSH?XZy&GEihIzO_%VXb&mCfeQV~2>PT#HYcRH0D%iPa{Dw0)NdHWp z++Q`dFGxN`hc*6MA_`+*txj_-hsI(zsB0_a_spi*ia;#UrW)x}PvlajJ_5i@cMb{| zAnc;lnO?pzW3iMXN8%6DNXBpR&HQ$!&xdw zpTTXYOQPf^{*%7_cy*$Fe}4+rFj?I`ETd1pZE)bI7$5NDk2Ct(B?cG=NsynD^v#u# zK$`&)@xU%zsF2oQ4S5^=A&37;SZ1Utt$}~*63kqcUF)i{42d#m^on)UPR<+eU=+X3 zlqC!s&qFhss$hVvZvwkQ0B*hy`+v3W?PC0;-8gi{;vZ*U0T=7rhfBQ8wCeiyLFTQC z#%HDLQS&6`U>pFHNL`$fxt2s_MFNQ&Jwwkbj4w1_czI7L&IWK6{-P#c`362F3?}~C zmkqqRgR{ku!Zd=QLzm>iQ`QH@958nlv#)CN*H`*C%|3e=pHx&z{cxq9Z*TDKU+%9s zJ??Mte-X=|BSN4Nu{0hLLLX4+mUgs?vh+{&t>U5How)X9e}EZ6g9z;!Hz23)`k|)8 z7tT!c2EUTIdSD#CG9ZG2TB^YGJ%>w`njS7Rq`_==Vp(Cf)^z)TXDe{5uy4 z;sZu2HOZhc&hxq^WkPjg_{?OiZEbPMkL=2iWUt?9pV_X}vO=Z|8?P>aV7x z&8gc@m$@%mes*Yt&TzvrBxB@U>zG{PCICn)?6=yCWJiE1aI}mwj}vz5VTM2j%*3l& zR!?z35irz4x_loa7%IjTR!rD@{^ttwqUEm{?t?4wiec0b##{%``lFv;Tf+~oB(7B* zofjp%bTpgeTp>RjOp^vNBxp1kZ)#dX-!QJx zaqF{?aEaES)B&_Em9tACCzp3a=}v}i*9y3g*yC})1oxL4M0Hdx(Pe z9W8~yI9A*;l#!5z-^bd9jkc4pNQ@lbw4>65)&SB8H*q_Sxq6(eS=Y3{-7NLv7Qrue zf&0^-91KFAwS{Ze9kt{rzsN?suxk^1)kl_NLnu-b?#R&Y@Df*9QZQ7?=JOB?w%W`O zK1`88*Vkai($oSUn7H9&@P*KKN;AqJh2?hY|1Q&*D^b0o5aQh8kEh0twANIy-f19e}q^h&S zSebBg;Ot5qC+JgvQ?!ceQvtxx3Q25g*Ieu$^M!={;DFTHuh*fj-fH0Ds#?1XU=%jG zTsLxNj{a(zuOU3A32@l}D_=WVHlXIsQ7HU{6duh$*arfusAvaSw&i?O_YX5TN8`at zmZ2pVyj+l@u@?2sg%I)nDA>dO#J6GpTjlY~gNe9ja!;?H12!e|SHOIU%a*3vAL3P# z&?=CCYyr42ErNlldfVk=U2TOzl-td=_n9(u=Q}0pQf8fwa&v1}BWM|=kP+~&ALi#A zgXta#xR(K8*5?^juK`r0HpGBcjc96t`wT|ONB5IA_^%JImqvw z_u;yqq_~4&7N*CitA@7w$B|3+EpqVBXL$Oy5t*Zy zkvdoN`+2PGl`p&mbgdo`8*{9q5QD|q6K7F4-BjPFzEtW~+sLd6t3OlU)!%2+oI+U4 zmy7_SaW>w=*s>DCTa+xBYYI_8SWKKsI+-x?D(g#oM%IxkVCY=%c@{B_*A4?wr0D*a zQMky1%7eF+K*C@h6WMi6CD}Ls1`uySvZEkLpNz9U#D5tRFS|baz8VRkWjOEBxut1X?}iY;oEO5Y({MyiPN=EMN)i3^uSA6s26CORf{mXbP+rLZ z0t|&Z8`#dvKkUr{Y~(-KRogAtwLF(N>1~$wLb-1lXNRCj!hD3^Bh9d`OOi3eG5;d(HN@6bOC8Xmm&%oI2kF~w zO1tb3J_)W97SldVHq=s+{GIgh)C^yX?1(B8_SA&N?Rn4C9I2o>mWR+p%SbjeXVVtB zy53tI_UE^H|5I12q894=2`aX-Qq`a zUzsnA=XP+d35Nb0ada~CA5Qb%p-m{BE>L9{rGrlUU8YniZpk3|64qOHh5>`t9tIBF zH424Hn^u23}trmV&vFJ75n zjbvXhe%l}oPncuBrO}g*)1)bEc?l#M#~VC*srbPP5I;b&sbU_qUe7%~s>8SJ&&wCE zKfYI5#VTxH??BE?G#Gz+!troR8%`qWJq|AIWu;6$0<`nfj*f3jw4cVmZ461)w7{?XtO&MT_2J0B3^=`H zJMlt?bA98U@laB~0G=^!;`Y#1)c$1pjclAX#nW^nM3))4{)NF<&aB`+ z=(kJH)Zq(ggEn2fA7l4{h`HDr3Rq?^exIWEm-2Q+N%i3;b>1Xq0F~!20hV*GZ0%zr z5mnlt<9+L zKC`y?7Jsd&N$Z2~YzI$>S+#Rh1{;TXatTe(ed4uGtVS)1=*7MTWNjh$z^(11wlDC- zb5IPTSxhK2Vvo%67hD^bl`k26AAUgWojvcbJ+0<3TXvZayYGWI2ixJ!yn@Hm}6JEKLR|Bi-9R7>=qTcJp5`YA>ui z$GvT6)z5fvc1^sOp%>5#>}BpX9|j$B6`Zo1Z&mI7UXC(0HT) z#NXA{q<(Yx^5sm?;6_F!nkANgg%Q?^`>AA7T3cU9ei&IxGbUA}s!=MC#$d=DIvDnO zd_F;iL*Ego`{kLL^LO?HH#&OqksVq7Irm>dCdq8|&T?{X_2xFIA_*Pp@E&UJ^icsg z9~yB1eD~_r>Hii4hnkjQ>0cqVot?D2yfhcvN<<}6g;L|M6FR#FYh5lkAUu(}UodK( zVDxF*Y4$S?tsS8)zVnahb}}xLDwUm`6x+NPNjEfx+=3wZ8IcEjy4%mMtgI+ZKsylw z0s1sFPt>$jYO89YX@U%p1u{W4$Vd+^TFN2I5=KvgKCN2KGoK&}WTIphoDs6p!C{`p zP1LPK&ngQ9#RxJ%Hpob2#lc}kkWFq0rW_8Y0`RhIkQFimETga@z~mP5GzU?BK{m(; zSs^pP+7q9^il9=H+mAw!4Kl)QWCmEUE8ut;<>1*}G)Bk_)Gh}v&Uo$VpxIqCM#v1X zHKasVUa&i8c9$F@Ru5V~tz5et`zabDWCjk72NMUJ1I_{GfOEh(ViWP>{No-^4IKH* zc&P92P*ZDbM}0#>u*T!@h%)crB)4Lzjg8gV(!#$Zf4=iXL4RMms?^G}t|OrCpm zc=TA<>#gA}eM-~?%A?CAiauYH7;HM|Km7QonkT>XwZm^;pI!a^YrmYov2;CAmEb-- zdaUWWv)>*J)Yf?s63w%~xTpe@4h)R6Jn`e<=1bGBFaG+~pDupf4T*jAac7?WM(6Wi ze`!>Mrb01jTXvt)+`{7;P|+p87teg9=Z8Oeb)=@oFH{A%FK}qb#?SV17*qkILD9CU zNyBuYCJm(O`P_U%ul(p2!)~{mRy4Sw;bTq5$Itd@Knj{=zGVfQJ=WVd(DdR}>o z4?Ho{wBP1hQjKeF3D;Ypn9S6c$B{gd6fEYMJ74pe_4Re0w)PHR#b{i^fkvO^*p09> z0D>)#gFI$REU?UPg60E1`}BAabHoY>4qnl0nqW>r^7%ZQ4+FCng5AvVy1xE_11C>S zHt(0kmQ>>eHF+z}$?HJDoYR5b7lOrPLAn2r((ohQbx-e8URNq`%G-`FUNAX&a~?;n z4&Mfn7&J1M$C+zc^>-xV@eJ+{4h}bl!(BCHZK~#46bwEJOlE5JVYa-^lE>wIpn5)U z-^uZKOaejKr=J@;)l_PCS7LC*m?-FJhdK2q-o)28HnwHnW}<{C@!>#Yqo=#4-(R-i zY!3hb$meoV8En@s-&jh3!5`x7;=R3(*OjlvS$z`h(lRpUabT$+3_i_NyYl~iI-SnU zFD%3je?zg-=H`}?=5=DpO_kb{UTe8!)H-WzYK93m4W6Byy~pocll5*2Ro}2cZ9vEd zDOR4~fEJa98BNk`o>0)#BOgSPbJzYARjgA1Of=2pmkUt7K8_lE5)@gu8+;hGE(6eH zaw{`Eb#a~ZVyX!P|1KNV{Tvl4AgbE(xPtw)JrZ52K}%-dc=L_bXe=h_Ks6tz_UTBe zi?7m}s;!d&HZ8Q(p82%TP(6GQi6p0{rq*LTZxbljGW9%$8b)E`Fa=;QfB&0T9_{X{rHm?mJNrXVjzO(x^wEqA)#va`Iq% zM`yqoF!(0R`ADKhP-=*vwok|iDKWQ_Mpe{0ylGZ4Jnp&}zpvp>(|@=#fBo8BPzp~D zOdu>5B>1)gnifIzb`(!}H9rSsT;yxuih^c@_qV@Z+L*rh`t5i;ng%s;GSxKoj|FpS z2jn!&n){WlsTu&@&$;-D>B`Dd;^xg8TaR`3`+Iu&1EElh*Y6LAR21=B;Ck8tS-%FV z2i2k7dhgw2xr2L9&|LW#U6}t*92dF2o;WL2jruTyvuY{JQ>@csz?TxNqo`vT#iEAlH@9B>Y}eFmpawNhI^j_lng%ZBt6Hk&tvr*Z8czoN4PrF*;SSDEbC9V6_`)5B15~+3QvB`A)$@Nb zRSq~v6K6u=ctf1jhu impleme mMogoMapService = null; mMogoMapUIController = null; mMogoFragmentManager = null; - AutopilotServiceManage.getInstance().release(); + mServiceApis.getAdasControllerApi().release(); AIAssist.getInstance( this ).release(); } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java index 8174510733..0fbcaa89bb 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java @@ -312,6 +312,7 @@ public class MogoServices implements IMogoMapListener, mIntentManager.registerIntentListener( ServiceConst.COMMAND_ZHIDAO_NEARBY_FRIEND, this ); mIntentManager.registerIntentListener( ServiceConst.COMMAND_ZHIDAO_NEARBY_USER_ONLINE, this ); mIntentManager.registerIntentListener( ServiceConst.COMMAND_ZHIDAO_NEARBY_FRIEND_BYLOCATION, this ); + mIntentManager.registerIntentListener( ServiceConst.COMMAND_BACK, this ); mADASController = MarkerServiceHandler.getADASController(); mLauncher = MarkerServiceHandler.getLauncher(); @@ -566,8 +567,8 @@ public class MogoServices implements IMogoMapListener, return false; } float distance = Utils.calculateLineDistance( latLng, mLastCustomRefreshCenterLocation ); - Logger.d( TAG, "move distance = %s, factor = %s", distance, factor ); - return distance > factor / 2; + Logger.d( TAG, "move distance = %s, factor = %s", distance, ( factor / 2 ) ); + return distance > ( factor / 2 ); } catch ( Exception e ) { Logger.e( TAG, e, "warming. " ); return false; diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/ServiceConst.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/ServiceConst.java index 6169028c8d..ab0ccef734 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/ServiceConst.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/ServiceConst.java @@ -193,5 +193,8 @@ public class ServiceConst { */ public static final String COMMAND_ZHIDAO_NEARBY_FRIEND_BYLOCATION = "com.zhidao.nearby.friend.bylocation"; - + /** + * 返回桌面 + */ + public static final String COMMAND_BACK = "com.ileja.launcher.back"; } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/AppOperationIntentHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/AppOperationIntentHandler.java index 66ca68b304..aaa1fa14d3 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/AppOperationIntentHandler.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/AppOperationIntentHandler.java @@ -5,10 +5,15 @@ import android.content.Intent; import android.text.TextUtils; import com.mogo.module.service.ServiceConst; +import com.mogo.utils.LaunchUtils; +import com.mogo.utils.TipToast; import org.json.JSONException; import org.json.JSONObject; +import java.util.HashMap; +import java.util.Map; + /** * @author congtaowang * @since 2020-04-17 @@ -17,24 +22,26 @@ import org.json.JSONObject; */ public class AppOperationIntentHandler implements IntentHandler { + public final Map< String, String > sAppPackages = new HashMap<>(); + + public AppOperationIntentHandler() { + sAppPackages.put( "车聊聊", "com.zhidao.imdemo" ); + } + @Override public void handle( Context context, Intent intent ) { try { JSONObject object = new JSONObject( intent.getStringExtra( "data" ) ); String app = object.optString( "object" ); String operation = object.optString( "operation" ); - if ( TextUtils.equals( app, "车聊聊" ) ) { - if ( TextUtils.equals( "打开", operation ) ) { - SwitchCardIntentHandler.switchCard2( context, ServiceConst.CARD_TYPE_CARS_CHATTING ); - } - } else { - if ( TextUtils.equals( app, "探路" ) ) { - if ( TextUtils.equals( "打开", operation ) ) { - SwitchCardIntentHandler.switchCard2( context, ServiceConst.CARD_TYPE_ROAD_CONDITION ); - } + if ( TextUtils.equals( "打开", operation ) ) { + try { + LaunchUtils.launchByPkg( context, sAppPackages.get( app ) ); + } catch ( Exception e ) { + TipToast.shortTip( "应用程序未安装" ); } } - } catch ( JSONException e ) { + } catch ( Exception e ) { e.printStackTrace(); } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/IntentHandlerFactory.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/IntentHandlerFactory.java index 7e79d98584..d67957cb8f 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/IntentHandlerFactory.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/IntentHandlerFactory.java @@ -35,6 +35,7 @@ public class IntentHandlerFactory { mHandlers.put( MogoReceiver.ACTION_ADAS_STATUS, ADASStatusIntentHandler.getInstance() ); mHandlers.put( MogoReceiver.ACTIION_ADAS, ADASStatusIntentHandler.getInstance() ); mHandlers.put( MogoReceiver.ACTION_VOICE_READY, new AIAssistIntentHandler() ); + mHandlers.put( ServiceConst.COMMAND_BACK, WholeVoiceCommandIntentHandler.getInstance() ); } private static final class InstanceHolder { diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/WholeVoiceCommandIntentHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/WholeVoiceCommandIntentHandler.java new file mode 100644 index 0000000000..e7f77292d1 --- /dev/null +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/WholeVoiceCommandIntentHandler.java @@ -0,0 +1,57 @@ +package com.mogo.module.service.intent; + +import android.content.Context; +import android.content.Intent; +import android.text.TextUtils; + +import com.mogo.module.service.MarkerServiceHandler; +import com.mogo.module.service.ServiceConst; +import com.mogo.module.service.receiver.MogoReceiver; + +public +/** + * @author congtaowang + * @since 2020/6/11 + * + * 描述 + */ +class WholeVoiceCommandIntentHandler implements IntentHandler { + + private static volatile WholeVoiceCommandIntentHandler sInstance; + + private WholeVoiceCommandIntentHandler() { + } + + public static WholeVoiceCommandIntentHandler getInstance() { + if ( sInstance == null ) { + synchronized ( WholeVoiceCommandIntentHandler.class ) { + if ( sInstance == null ) { + sInstance = new WholeVoiceCommandIntentHandler(); + } + } + } + return sInstance; + } + + public synchronized void release() { + sInstance = null; + } + + private Object readResolve() { + // 阻止反序列化,必须实现 Serializable 接口 + return sInstance; + } + + @Override + public void handle( Context context, Intent intent ) { + String command = intent.getStringExtra( MogoReceiver.PARAM_COMMAND ); + if ( TextUtils.isEmpty( command ) ) { + return; + } + switch ( command ) { + case ServiceConst.COMMAND_BACK: + MarkerServiceHandler.getLauncher().backToLauncher( context ); + break; + } + } +} diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index 0be8fff665..8e704eedf7 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -240,7 +240,11 @@ public class MapMarkerManager implements IMogoMarkerClickListener, } ); drawMarkerByCurrentType( mLastDataResult ); - trackData( mLastDataResult ); + + // 在首页时才埋点 + if ( MarkerServiceHandler.getMogoStatusManager().isMainPageOnResume() ) { + trackData( mLastDataResult ); + } } /** @@ -716,7 +720,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, } }; - public void stopAutoRefresh(){ + public void stopAutoRefresh() { UiThreadHandler.removeCallbacks( runnable ); } @@ -747,7 +751,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, return; } - mRefreshModel.queryOnLineCarWithRoute( latLng, onlyFocus, onlySameCity, limit, radius, new RefreshCallback() { + mRefreshModel.queryOnLineCarWithRoute( latLng, onlyFocus, onlySameCity, radius, limit, new RefreshCallback() { @Override public void onSuccess( Object o ) { MarkerResponse data = ( MarkerResponse ) o; diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java index e6c3f1cde1..33d1fd0cc1 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java @@ -13,6 +13,7 @@ import com.mogo.module.common.entity.MarkerResponse; import com.mogo.module.service.ServiceConst; import com.mogo.service.MogoServicePaths; import com.mogo.service.network.IMogoNetwork; +import com.mogo.utils.logger.Logger; import com.mogo.utils.network.RequestOptions; import com.mogo.utils.network.utils.GsonUtil; @@ -30,6 +31,8 @@ import io.reactivex.schedulers.Schedulers; */ public class RefreshModel { + private static final String TAG = "RefreshModel"; + public static final String HOST_DEV = "http://dzt-test.zhidaohulian.com"; public static final String HOST_TEST = "http://dzt-test.zhidaohulian.com"; public static final String HOST_DEMO = "http://dzt-show.zhidaohulian.com"; @@ -69,7 +72,12 @@ public class RefreshModel { refreshBody.dataType.add( ServiceConst.CARD_TYPE_SHARE_MUSIC ); // refreshBody.dataType.add(ServiceConst.CARD_TYPE_USER_DATA); refreshBody.dataType.add( ServiceConst.CARD_TYPE_NOVELTY ); - query.put( "data", GsonUtil.jsonFromObject( refreshBody ) ); + + String data = GsonUtil.jsonFromObject( refreshBody ); + query.put( "data", data ); + Logger.d( TAG, data ); + + mRefreshApiService.refreshData( query ) .subscribeOn( Schedulers.io() ) .observeOn( AndroidSchedulers.mainThread() ) diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java b/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java index 5c2a5c096a..c6b6553840 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java @@ -44,4 +44,6 @@ public interface IMogoADASController extends IProvider { * @param open */ void setUseAlgorithm( boolean open ); + + void release(); } diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java index 74ed5dfc73..8e1839fde8 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java @@ -49,6 +49,8 @@ public class MogoADASController implements IMogoADASController { private IMogoStatusManager mStatusManager = SingletonsHolder.get( IMogoStatusManager.class ); + private boolean mIsReleased = true; + @Override public void openADAS() { showADAS(); @@ -66,8 +68,9 @@ public class MogoADASController implements IMogoADASController { @Override public void showADAS() { - Logger.d( TAG, Log.getStackTraceString( new Throwable( ) ) ); - if ( !isProcessRunning( AbsMogoApplication.getApp(), getPackageUid( AbsMogoApplication.getApp(), "com.zhidiao.autopilot" ) ) ) { + Logger.d( TAG, Log.getStackTraceString( new Throwable() ) ); + if ( !isProcessRunning( AbsMogoApplication.getApp(), getPackageUid( AbsMogoApplication.getApp(), "com.zhidiao.autopilot" ) ) + || mIsReleased ) { init( AbsMogoApplication.getApp() ); } @@ -133,6 +136,7 @@ public class MogoADASController implements IMogoADASController { @Override public void init( Context context ) { AutopilotServiceManage.getInstance().init( context ); + mIsReleased = false; } //获取已安装应用的 uid,-1 表示未安装此应用或程序异常 @@ -178,4 +182,10 @@ public class MogoADASController implements IMogoADASController { public void setUseAlgorithm( boolean open ) { AutopilotServiceManage.getInstance().setUseAlgorithm( open ); } + + @Override + public void release() { + mIsReleased = true; + AutopilotServiceManage.getInstance().release(); + } }