From ef84f73895e02bee0492d33cd478e782d317eef1 Mon Sep 17 00:00:00 2001 From: zhangyuanzhen Date: Fri, 6 Mar 2020 22:12:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E8=88=AA=E8=AF=AD=E9=9F=B3=E6=8C=87?= =?UTF-8?q?=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../map/impl/amap/AMapNaviViewWrapper.java | 2 + .../amap/uicontroller/AMapUIController.java | 97 +++++++++--------- .../uicontroller/IMogoMapUIController.java | 55 ++++------ .../com/mogo/map/MogoMapUIController.java | 1 + .../extensions/entrance/EntranceFragment.java | 9 +- .../main/res/drawable-ldpi/icon_car_up.png | Bin 0 -> 577 bytes .../main/res/drawable-ldpi/icon_north_up.png | Bin 0 -> 316 bytes .../main/res/drawable-xhdpi/icon_car_up.png | Bin 0 -> 1098 bytes .../main/res/drawable-xhdpi/icon_north_up.png | Bin 0 -> 609 bytes .../res/drawable/selector_icon_north_up.xml | 6 ++ .../res/drawable/shape_react_gray_round.xml | 11 ++ .../res/layout/module_ext_layout_entrance.xml | 20 ++-- .../src/main/res/values/strings.xml | 4 +- .../navi/ui/search/CategorySearchFragment.kt | 6 +- .../navi/ui/search/ChoosePathFragment.kt | 7 +- .../module/navi/ui/search/SearchFragment.java | 47 +++++++-- 16 files changed, 155 insertions(+), 110 deletions(-) create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/icon_car_up.png create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/icon_north_up.png create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-xhdpi/icon_car_up.png create mode 100755 modules/mogo-module-extensions/src/main/res/drawable-xhdpi/icon_north_up.png create mode 100644 modules/mogo-module-extensions/src/main/res/drawable/selector_icon_north_up.xml create mode 100644 modules/mogo-module-extensions/src/main/res/drawable/shape_react_gray_round.xml diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java index edb635f11a..e99dcebf0c 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java @@ -416,6 +416,8 @@ public class AMapNaviViewWrapper implements IMogoMapView, } } + + private boolean checkAMapView() { if ( mMapView == null ) { Logger.e( TAG, "高德mapView实例为空,请检查" ); diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java index 5d653eefbc..a36a0ecb88 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java @@ -31,9 +31,9 @@ public class AMapUIController implements IMogoMapUIController { } public static AMapUIController getInstance() { - if ( sInstance == null ) { - synchronized ( AMapUIController.class ) { - if ( sInstance == null ) { + if (sInstance == null) { + synchronized (AMapUIController.class) { + if (sInstance == null) { sInstance = new AMapUIController(); } } @@ -41,7 +41,7 @@ public class AMapUIController implements IMogoMapUIController { return sInstance; } - public void initClient( IMogoMapUIController client ) { + public void initClient(IMogoMapUIController client) { this.mClient = client; } @@ -50,71 +50,71 @@ public class AMapUIController implements IMogoMapUIController { } @Override - public void setTrafficEnabled( boolean visible ) { - if ( mClient != null ) { - mClient.setTrafficEnabled( visible ); + public void setTrafficEnabled(boolean visible) { + if (mClient != null) { + mClient.setTrafficEnabled(visible); } } @Override - public void changeZoom( boolean zoom ) { - if ( mClient != null ) { - mClient.changeZoom( zoom ); + public void changeZoom(boolean zoom) { + if (mClient != null) { + mClient.changeZoom(zoom); } } @Override - public void changeZoom( float zoom ) { - if ( mClient != null ) { - mClient.changeZoom( zoom ); + public void changeZoom(float zoom) { + if (mClient != null) { + mClient.changeZoom(zoom); } } @Override - public void changeMapMode( EnumMapUI mode ) { - if ( mClient != null ) { - mClient.changeMapMode( mode ); + public void changeMapMode(EnumMapUI mode) { + if (mClient != null) { + mClient.changeMapMode(mode); } } @Override - public void moveToCenter( MogoLatLng latLng ) { - if ( mClient != null ) { - mClient.moveToCenter( latLng ); + public void moveToCenter(MogoLatLng latLng) { + if (mClient != null) { + mClient.moveToCenter(latLng); } } @Override - public void showMyLocation( boolean visible ) { - if ( mClient != null ) { - mClient.showMyLocation( visible ); + public void showMyLocation(boolean visible) { + if (mClient != null) { + mClient.showMyLocation(visible); } } @Override public void recoverLockMode() { - if ( mClient != null ) { + if (mClient != null) { mClient.recoverLockMode(); } } @Override public void setLockZoom(int var1) { - if ( mClient != null ) { + if (mClient != null) { mClient.setLockZoom(var1); } } @Override public void displayOverview() { - if ( mClient != null ) { + if (mClient != null) { mClient.displayOverview(); } } @Override public float getScalePerPixel() { - if ( mClient != null ) { + if (mClient != null) { return mClient.getScalePerPixel(); } return 0; @@ -122,7 +122,7 @@ public class AMapUIController implements IMogoMapUIController { @Override public float getZoomLevel() { - if ( mClient != null ) { + if (mClient != null) { return mClient.getZoomLevel(); } return 0; @@ -130,7 +130,7 @@ public class AMapUIController implements IMogoMapUIController { @Override public MogoLatLng getCameraNorthEastPosition() { - if ( mClient != null ) { + if (mClient != null) { return mClient.getCameraNorthEastPosition(); } return null; @@ -138,66 +138,67 @@ public class AMapUIController implements IMogoMapUIController { @Override public MogoLatLng getCameraSouthWestPosition() { - if ( mClient != null ) { + if (mClient != null) { return mClient.getCameraSouthWestPosition(); } return null; } @Override public MogoLatLng getWindowCenterLocation() { - if ( mClient != null ) { + if (mClient != null) { return mClient.getWindowCenterLocation(); } return null; } @Override - public void setPointToCenter( double mapCenterX, double mapCenterY ) { - if ( mClient != null ) { - mClient.setPointToCenter( mapCenterX, mapCenterY ); + public void setPointToCenter(double mapCenterX, double mapCenterY) { + if (mClient != null) { + mClient.setPointToCenter(mapCenterX, mapCenterY); } } @Override - public Point getLocationPointInScreen( MogoLatLng latLng ) { - if ( mClient != null ) { - return mClient.getLocationPointInScreen( latLng ); + public Point getLocationPointInScreen(MogoLatLng latLng) { + if (mClient != null) { + return mClient.getLocationPointInScreen(latLng); } return null; } @Override public MogoLatLng getLocationMogoLatLngInScreen(Point point) { - if ( mClient != null ) { - return mClient.getLocationMogoLatLngInScreen( point ); + if (mClient != null) { + return mClient.getLocationMogoLatLngInScreen(point); } return null; } @Override - public void startJumpAnimation( IMogoMarker marker, float high, Interpolator interpolator, long duration ) { - if ( mClient != null ) { - mClient.startJumpAnimation( marker, high, interpolator, duration ); + public void startJumpAnimation(IMogoMarker marker, float high, Interpolator interpolator, + long duration) { + if (mClient != null) { + mClient.startJumpAnimation(marker, high, interpolator, duration); } } @Override - public void setRenderFps( int fps ) { - if ( mClient != null ) { - mClient.setRenderFps( fps ); + public void setRenderFps(int fps) { + if (mClient != null) { + mClient.setRenderFps(fps); } } @Override - public void showBounds( List< MogoLatLng > lonLats, Rect bound ) { - if ( mClient != null ) { - mClient.showBounds( lonLats, bound ); + public void showBounds(List lonLats, Rect bound) { + if (mClient != null) { + mClient.showBounds(lonLats, bound); } } @Override public void forceRender() { - if ( mClient != null ) { + if (mClient != null) { mClient.forceRender(); } } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java index b424b85395..b0733dd597 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java @@ -19,43 +19,39 @@ public interface IMogoMapUIController { /** * 实时路况 - * - * @param visible */ - void setTrafficEnabled( boolean visible ); + void setTrafficEnabled(boolean visible); /** * 地图缩放 * * @param zoomIn true - 方法 false - 缩小 */ - void changeZoom( boolean zoomIn ); + void changeZoom(boolean zoomIn); /** * 修改缩放级别 - * - * @param zoom */ - void changeZoom( float zoom ); + void changeZoom(float zoom); /** * 切换2D/3D模式 * * @param mode true - 3D模式 false - 2D模式 */ - void changeMapMode( EnumMapUI mode ); + void changeMapMode(EnumMapUI mode); /** * 将地图移动至当前位置 */ - void moveToCenter( MogoLatLng latLng ); + void moveToCenter(MogoLatLng latLng); /** * 显示我的位置 * * @param visible true - 显示 false - 不显示 */ - void showMyLocation( boolean visible ); + void showMyLocation(boolean visible); /** * 解锁锁车 @@ -67,7 +63,7 @@ public interface IMogoMapUIController { * * @param var1 级别 3-20 */ - void setLockZoom( int var1 ); + void setLockZoom(int var1); /** * 预览全程 @@ -83,29 +79,21 @@ public interface IMogoMapUIController { /** * 获取缩放比例 - * - * @return */ float getZoomLevel(); /** * 获取视图东北角坐标 - * - * @return */ MogoLatLng getCameraNorthEastPosition(); /** * 获取视图西南角坐标 - * - * @return */ MogoLatLng getCameraSouthWestPosition(); /** * 获取视图中心点坐标 - * - * @return */ MogoLatLng getWindowCenterLocation(); @@ -115,46 +103,39 @@ public interface IMogoMapUIController { * @param mapCenterX x 点位置x值与地图宽度的比例 * @param mapCenterY y 点位置x值与地图高度的比例 */ - void setPointToCenter( double mapCenterX, double mapCenterY ); + void setPointToCenter(double mapCenterX, double mapCenterY); /** * 获取经纬度对应的屏幕的位置 - * - * @param latLng - * @return */ - Point getLocationPointInScreen( MogoLatLng latLng ); + Point getLocationPointInScreen(MogoLatLng latLng); /** * 获取像素点对应的经纬度 - * - * @param point - * @return */ - MogoLatLng getLocationMogoLatLngInScreen( Point point ); + MogoLatLng getLocationMogoLatLngInScreen(Point point); /** * marker 跳跃动画 * - * @param marker 跳跃的 marker - * @param high 跳跃的高度 + * @param marker 跳跃的 marker + * @param high 跳跃的高度 * @param interpolator 插值器 - * @param duration 动画时间 + * @param duration 动画时间 */ - void startJumpAnimation( IMogoMarker marker, float high, Interpolator interpolator, long duration ); + void startJumpAnimation(IMogoMarker marker, float high, Interpolator interpolator, + long duration); /** * 设置刷新帧率 - * - * @param fps */ - void setRenderFps( int fps ); + void setRenderFps(int fps); /** * @param lonLats 经纬度围成的范围 - * @param bound 地图上可显示的范围 + * @param bound 地图上可显示的范围 */ - void showBounds( List< MogoLatLng > lonLats, Rect bound ); + void showBounds(List lonLats, Rect bound); /** * 强制刷新地图 diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java index eba856a3f6..5b4d71f51b 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java @@ -70,6 +70,7 @@ public class MogoMapUIController implements IMogoMapUIController { } } + @Override public void moveToCenter(MogoLatLng latLng) { if (mDelegate != null) { diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java index c007332caf..28f98f53f8 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java @@ -91,7 +91,7 @@ public class EntranceFragment extends MvpFragment1r;P)Px$`$KP*N6r1Cp{L zv65mzY!o)+Ekr_Mfrzf(8P9W_?#%E^LrG5kJ8%DU&NJt^_co!>zx>$^c%GLE`oTGP z0k00YhqC}m5?%~N1Hj57#)AXoU?OKA(|IW5bZ`qq8eI$FW`Zp#Lb_b*LXhhsC7!qM zTx5vU^_bd4=UNITP0_G((Z|37Q!96#7pzaS0g|2AmBw!{ddB8mbvPV8q1Oidaxjj4 zh`tAdjA6KB~*{y>7V-VU2UpMpUUy$VGNm{<5iU{=L5 zu>BS5J1ix!t%$|!ecv2pop=Qp0c(n5&3cSBP({s(1gV=t)ryTw5pNa4e=V>JBw*wj zeJnOaY9k*2890rtHYezYK1ATt0gX-eG%OvO|J?N9rzO zu2eojccz!m>3Bie+A-_^G; P00000NkvXXu0mjfFg^RH literal 0 HcmV?d00001 diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/icon_north_up.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/icon_north_up.png new file mode 100755 index 0000000000000000000000000000000000000000..2c88c8d9a137a176d9aaa0bdfa4828a922840fb5 GIT binary patch literal 316 zcmV-C0mJ@@P)Px#_DMuRR7ef&l)(*xFcgM~C(llxlgJ28;S_pg0bN3;&@~*vyWULd_e>ul4V4yJ z5+g79Ln-g|%LfTXG1Xtb0b@)_)}zS-yOPT&Kx@b4Q)PB27_rmJYY9cZom=@VAvNt3 zoX3*W+w2sY-qK^Iz_gYfb_z{r*`Z6*jGjX O0000Px(1W80eRA>e5nb~U;K@f+tIgAHJNsI`h1VuapiXv(}K~V5`P=k3;gCL^llLrWj z3O?w6pyG>ff(mMU@Ib^Dg(yPApn1`VcZgAm5)C=lugFZcrqi>Tb$2!^PQfo-Rb5qG zT|M2?JITw7D5^kIfv5se1^%H5#L~$%9*-}@e-P&>7}TjM!&Gn-l|;ffi%HY=|3!PO31dp<}m`cD(XwfjK3`W}$Ug2>hF&1flr&Q6_U!!7Dz@f=)B?@SZ~`b;Y1AffkU9kH8$FM z#Oln&X=RQ~z?Q~-o6>he7>EDk%9c@Z-42RA&NR192t(PB=H1Qo9cp5U>z&s!UKY~nB7s1YeB|zRU7l0qFHaiAfeH?>jrlBK0rmf<1 z>2_qfu-<}y4)j&&H?kb*L2l!-u^R(iswMs38kj*5iVWJcjaV%SN7D{U&5{6rJoF8)^MWO1Rl(WYb|=iC!K%p-SX}J~r_e zT?ta)RZn<290Bz2dBlEdhVvYi$P0k&vz9y}KLY?051r5n(UT7@dMv!c7H#i$C}Oe850gFK(vfkwg*owDjB?3ho8l!6V*j0Dv zRQHhUm$Pj&p`2YBC$Ury1#y#GK(=)+cjNiu+6t_c^GcrTDI{+hZFwkNEz$1!d>c&U?d_(!zz^6e+Z?vYauZA4K8q6$P6h$;|OASWvD2kq+*k$f(8 Q2><{907*qoM6N<$f>)#PS^xk5 literal 0 HcmV?d00001 diff --git a/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/icon_north_up.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/icon_north_up.png new file mode 100755 index 0000000000000000000000000000000000000000..ca77810e0c169de496727438ae15680b7dbe3570 GIT binary patch literal 609 zcmV-n0-pVeP)Px%8%ab#RA>e5nLkPcK@^8$3W?a6LTvT2F28as?1YUX&1-Ei4U6^IQ+(DOK?cB=ZFxOJew zb|kpkl64?V>*5Z`wJH-`I7N{IEPpGtLm}DE>(6+ zhp%C$Qtp;m;kO;ru_Msj<}JNc4`a_=xPebF + + + + + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/drawable/shape_react_gray_round.xml b/modules/mogo-module-extensions/src/main/res/drawable/shape_react_gray_round.xml new file mode 100644 index 0000000000..e142369865 --- /dev/null +++ b/modules/mogo-module-extensions/src/main/res/drawable/shape_react_gray_round.xml @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml index cdcb723a5e..ca5c13aed2 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml @@ -113,13 +113,21 @@ app:layout_constraintTop_toTopOf="parent" /> - + android:layout_width="@dimen/dp_120" + android:text="@string/mode_car_up" + android:paddingTop="@dimen/dp_14" + android:visibility="gone" + android:textColor="@color/white" + android:textSize="@dimen/dp_28" + android:gravity="center_horizontal" + android:layout_marginTop="@dimen/dp_33" + android:background="@drawable/shape_react_gray_round" + android:drawableTop="@drawable/selector_icon_north_up" + app:layout_constraintTop_toBottomOf="@+id/module_entrance_id_navi_info_panel" + app:layout_constraintLeft_toLeftOf="@+id/module_entrance_id_navi_info_panel" + android:layout_height="@dimen/dp_120"/> 退出导航 继续导航 退出全览 + 车头 + 正北 - + 你好小智,播放音乐 你好小智,我要听音乐 你好小智,播放赵磊的歌 diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt index a85cb3cd1b..9d54267cdd 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt @@ -20,6 +20,7 @@ import com.mogo.module.navi.constants.SearchServiceHolder import com.mogo.module.navi.ui.adapter.SearchCategoryAdapter import com.mogo.module.navi.ui.base.BaseFragment import com.mogo.module.navi.uitls.BitmapUtils +import com.mogo.module.navi.uitls.StringUtils import kotlinx.android.synthetic.main.fragment_search_category.cv_search_result import kotlinx.android.synthetic.main.fragment_search_category.et_navi_search import kotlinx.android.synthetic.main.fragment_search_category.iv_navi_back @@ -81,11 +82,10 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa .longitude(datums[index].point?.lng ?: 0.0) arrayList.add(options) - - + var int2String = StringUtils.int2String(index) AIAssist.getInstance(context) .registerUnWakeupCommand( - "position" + index, arrayOf("第" + index + "个", "第" + index + "条"), this + "position" + index, arrayOf("第" + int2String + "个", "第" + int2String + "条"), this ) cmds.add("position" + index) } diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt index cb6effbd3b..9dbae3bfcd 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt @@ -200,8 +200,6 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB SearchServiceHolder.getMarkerManger() .removeMarkers() - - AIAssist.getInstance(context) .registerUnWakeupCommand("firstPath", arrayOf(firstPath), this) AIAssist.getInstance(context) @@ -210,8 +208,6 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB .registerUnWakeupCommand("thirdPath", arrayOf(thirdPath), this) AIAssist.getInstance(context) .registerUnWakeupCommand("startNavi", arrayOf(startNavi), this) - AIAssist.getInstance(context) - .registerUnWakeupCommand("cancel", arrayOf("取消", "退出", "返回", "退出导航", "取消导航"), this) } @@ -255,8 +251,7 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB .unregisterUnWakeupCommand("thirdPath") AIAssist.getInstance(context) .unregisterUnWakeupCommand("startNavi") - AIAssist.getInstance(context) - .unregisterUnWakeupCommand("cancel") + } diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/SearchFragment.java b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/SearchFragment.java index bfd79529df..f0ba2135b1 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/SearchFragment.java +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/SearchFragment.java @@ -28,6 +28,7 @@ import com.mogo.module.navi.ui.base.UiController; import com.mogo.module.navi.ui.setting.NaviSettingFragment; import com.mogo.module.navi.uitls.StringUtils; import com.mogo.service.fragmentmanager.FragmentDescriptor; +import com.mogo.service.fragmentmanager.FragmentStackTransactionListener; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -44,7 +45,8 @@ import java.util.List; */ @Route(path = MogoModulePaths.PATH_FRAGMENT_SEARCH) public class SearchFragment extends BaseSearchFragment - implements SearchView, View.OnClickListener, IMogoVoiceCmdCallBack { + implements SearchView, View.OnClickListener, IMogoVoiceCmdCallBack, + FragmentStackTransactionListener { public static final String TAG = "search"; @@ -183,7 +185,8 @@ public class SearchFragment extends BaseSearchFragment } }); - registerVoidCmd(); + AIAssist.getInstance(getContext()) + .registerUnWakeupCommand(BACK_CMD, new String[] { "关闭", "返回" }, this); } private void goSetting() { @@ -222,15 +225,13 @@ public class SearchFragment extends BaseSearchFragment AIAssist.getInstance(getContext()) .registerUnWakeupCommand(RESTAURANT_CMD, new String[] { "餐馆" }, this); AIAssist.getInstance(getContext()) - .registerUnWakeupCommand(TOILET_CMD, new String[] { "卫生间","厕所" }, this); + .registerUnWakeupCommand(TOILET_CMD, new String[] { "卫生间", "厕所" }, this); AIAssist.getInstance(getContext()) .registerUnWakeupCommand(PARK_CMD, new String[] { "停车场" }, this); AIAssist.getInstance(getContext()) .registerUnWakeupCommand(NAVI_SETTING_CMD, new String[] { "导航设置" }, this); AIAssist.getInstance(getContext()) .registerUnWakeupCommand(CLEAN_CMD, new String[] { "清空历史目的地" }, this); - AIAssist.getInstance(getContext()) - .registerUnWakeupCommand(BACK_CMD, new String[] { "关闭", "返回" }, this); AIAssist.getInstance(getContext()) .registerUnWakeupCommand(WASH_CMD, new String[] { "洗车" }, this); } @@ -339,11 +340,19 @@ public class SearchFragment extends BaseSearchFragment } showHistory(); mHistoryAdapter.setDatas(datums); + registerHistory(); + } + + private void registerHistory() { + List datums = mHistoryAdapter.getList(); for (int i = 0; i < datums.size(); i++) { String s = StringUtils.int2String(i + 1); AIAssist.getInstance(getContext()) .registerUnWakeupCommand("history" + i, new String[] { "第" + s + "个", "第" + s + "条" }, this); + if (cmds.contains("history" + i)) { + continue; + } cmds.add("history" + i); } } @@ -480,6 +489,7 @@ public class SearchFragment extends BaseSearchFragment SearchServiceHolder.INSTANCE.getMapUIController().showMyLocation(true); moveMapToRight(); unRegisterVoice(); + AIAssist.getInstance(getContext()).unregisterUnWakeupCommand(BACK_CMD); } private void unRegisterVoice() { @@ -503,12 +513,33 @@ public class SearchFragment extends BaseSearchFragment AIAssist.getInstance(getContext()).unregisterUnWakeupCommand(WASH_CMD); AIAssist.getInstance(getContext()).unregisterUnWakeupCommand(NAVI_SETTING_CMD); AIAssist.getInstance(getContext()).unregisterUnWakeupCommand(CLEAN_CMD); - AIAssist.getInstance(getContext()).unregisterUnWakeupCommand(BACK_CMD); for (String cmd : cmds) { AIAssist.getInstance(getContext()).unregisterUnWakeupCommand(cmd); } } + //@Override public void onPause() { + // super.onPause(); + // unRegisterVoice(); + //} + // + //@Override public void onResume() { + // super.onResume(); + // registerVoidCmd(); + // registerHistory(); + //} + + + @Override public void onHiddenChanged(boolean hidden) { + super.onHiddenChanged(hidden); + if (hidden) { + unRegisterVoice(); + } else { + registerVoidCmd(); + registerHistory(); + } + } + @Override public void onCmdSelected(String cmd) { if (!TextUtils.isEmpty(cmd) && cmd.startsWith("history")) { String index = cmd.substring(7); @@ -584,4 +615,8 @@ public class SearchFragment extends BaseSearchFragment @Override public void onSpeakSelectTimeOut(String speakText) { } + + @Override public void onTransaction(int size) { + + } }