diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviInfo.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviInfo.java index ee394bfef8..633af674bc 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviInfo.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviInfo.java @@ -63,7 +63,7 @@ public class MogoNaviInfo implements Parcelable { return currentRoadName; } - public void setCurrentRoadName( String currentRoadName ) { + public void setCurrentRoadName(String currentRoadName) { this.currentRoadName = currentRoadName; } @@ -71,7 +71,7 @@ public class MogoNaviInfo implements Parcelable { return currentSpeed; } - public void setCurrentSpeed( int currentSpeed ) { + public void setCurrentSpeed(int currentSpeed) { this.currentSpeed = currentSpeed; } @@ -79,7 +79,7 @@ public class MogoNaviInfo implements Parcelable { return curStepRetainDistance; } - public void setCurStepRetainDistance( int curStepRetainDistance ) { + public void setCurStepRetainDistance(int curStepRetainDistance) { this.curStepRetainDistance = curStepRetainDistance; } @@ -87,7 +87,7 @@ public class MogoNaviInfo implements Parcelable { return curStepRetainTime; } - public void setCurStepRetainTime( int curStepRetainTime ) { + public void setCurStepRetainTime(int curStepRetainTime) { this.curStepRetainTime = curStepRetainTime; } @@ -95,7 +95,7 @@ public class MogoNaviInfo implements Parcelable { return iconResId; } - public void setIconResId( int iconResId ) { + public void setIconResId(int iconResId) { this.iconResId = iconResId; } @@ -103,7 +103,7 @@ public class MogoNaviInfo implements Parcelable { return nextRoadName; } - public void setNextRoadName( String nextRoadName ) { + public void setNextRoadName(String nextRoadName) { this.nextRoadName = nextRoadName; } @@ -111,7 +111,7 @@ public class MogoNaviInfo implements Parcelable { return pathRetainTime; } - public void setPathRetainTime( int pathRetainTime ) { + public void setPathRetainTime(int pathRetainTime) { this.pathRetainTime = pathRetainTime; } @@ -119,7 +119,38 @@ public class MogoNaviInfo implements Parcelable { return pathRetainDistance; } - public void setPathRetainDistance( int pathRetainDistance ) { + public String getVoiceRetainDistance() { + + StringBuilder builder = new StringBuilder(); + if (pathRetainDistance >= 1000) { + builder.append(String.format("%.1f公里", pathRetainDistance / 1000f)); + } else { + builder.append(pathRetainDistance).append("米"); + } + + return builder.toString(); + } + + public String getVoiceRetainTime() { + StringBuilder builder = new StringBuilder(); + int seconds = pathRetainTime; + int days = seconds / (24 * 60 * 60); + if (days > 0) { + builder.append(days).append("天"); + } + seconds -= days * 24 * 60 * 60; + int hours = seconds / (60 * 60); + if (hours > 0) { + builder.append(hours).append("小时"); + } + seconds -= hours * 60 * 60; + int min = seconds / 60; + builder.append(min > 1 ? min : 1).append("分钟"); + return builder.toString(); + + } + + public void setPathRetainDistance(int pathRetainDistance) { this.pathRetainDistance = pathRetainDistance; } @@ -127,7 +158,7 @@ public class MogoNaviInfo implements Parcelable { return currentLimitSpeed; } - public void setCurrentLimitSpeed( float currentLimitSpeed ) { + public void setCurrentLimitSpeed(float currentLimitSpeed) { this.currentLimitSpeed = currentLimitSpeed; } @@ -137,22 +168,22 @@ public class MogoNaviInfo implements Parcelable { } @Override - public void writeToParcel( Parcel dest, int flags ) { - dest.writeString( this.currentRoadName ); - dest.writeInt( this.currentSpeed ); - dest.writeInt( this.curStepRetainDistance ); - dest.writeInt( this.curStepRetainTime ); - dest.writeInt( this.iconResId ); - dest.writeString( this.nextRoadName ); - dest.writeInt( this.pathRetainTime ); - dest.writeInt( this.pathRetainDistance ); - dest.writeFloat( this.currentLimitSpeed ); + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(this.currentRoadName); + dest.writeInt(this.currentSpeed); + dest.writeInt(this.curStepRetainDistance); + dest.writeInt(this.curStepRetainTime); + dest.writeInt(this.iconResId); + dest.writeString(this.nextRoadName); + dest.writeInt(this.pathRetainTime); + dest.writeInt(this.pathRetainDistance); + dest.writeFloat(this.currentLimitSpeed); } public MogoNaviInfo() { } - protected MogoNaviInfo( Parcel in ) { + protected MogoNaviInfo(Parcel in) { this.currentRoadName = in.readString(); this.currentSpeed = in.readInt(); this.curStepRetainDistance = in.readInt(); @@ -164,14 +195,14 @@ public class MogoNaviInfo implements Parcelable { this.currentLimitSpeed = in.readFloat(); } - public static final Creator< MogoNaviInfo > CREATOR = new Creator< MogoNaviInfo >() { + public static final Creator CREATOR = new Creator() { @Override - public MogoNaviInfo createFromParcel( Parcel source ) { - return new MogoNaviInfo( source ); + public MogoNaviInfo createFromParcel(Parcel source) { + return new MogoNaviInfo(source); } @Override - public MogoNaviInfo[] newArray( int size ) { + public MogoNaviInfo[] newArray(int size) { return new MogoNaviInfo[size]; } }; 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 20d268a5d7..077f7c1a62 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 @@ -263,7 +263,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent if ( isLock ) { mExitNavi.setText( R.string.module_ext_str_exit_navi ); } else { - mExitNavi.setText( R.string.module_ext_str_continue_navi ); + mExitNavi.setText( R.string.module_ext_str_exit_path ); } } diff --git a/modules/mogo-module-extensions/src/main/res/values/strings.xml b/modules/mogo-module-extensions/src/main/res/values/strings.xml index 5bc13ca21a..784f01f88e 100644 --- a/modules/mogo-module-extensions/src/main/res/values/strings.xml +++ b/modules/mogo-module-extensions/src/main/res/values/strings.xml @@ -19,4 +19,5 @@ 分享 退出导航 继续导航 + 退出全览 diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/assist/MapBroadCastHelper.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/assist/MapBroadCastHelper.java index 16300f7bda..9e771b7f65 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/assist/MapBroadCastHelper.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/assist/MapBroadCastHelper.java @@ -38,8 +38,8 @@ public class MapBroadCastHelper { Intent intent = new Intent(ACTION_NAV_SEND); intent.putExtra("KEY_TYPE", 10001); intent.putExtra("NEXT_ROAD_NAME", naviinfo.getNextRoadName()); - intent.putExtra("ROUTE_REMAIN_TIME", naviinfo.getPathRetainTime()); - intent.putExtra("ROUTE_REMAIN_DIS", naviinfo.getPathRetainDistance()); + intent.putExtra("ROUTE_REMAIN_TIME_AUTO", naviinfo.getVoiceRetainTime()); + intent.putExtra("ROUTE_REMAIN_DIS_AUTO", naviinfo.getVoiceRetainDistance()); intent.putExtra("ICON", naviinfo.getIconResId()); context.sendBroadcast(intent); Log.v("MapBroadCastHelper","action="+ACTION_NAV_SEND+"NaviInfo"); diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java index 78678f903d..eb8e0538bb 100644 --- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java @@ -101,7 +101,38 @@ public class MapPresenter extends Presenter implements if (extra_endurance_data) { mView.getUIController().recoverLockMode(); } + } else if (key_type == 10006) { + + int extra_is_show = intent.getIntExtra("EXTRA_IS_SHOW", 0); + + if (extra_is_show == 0) { + mView.getUIController().displayOverview(); + } else { + mView.getUIController().recoverLockMode(); + } + }else if (key_type == 10005){ + int navi_route_prefer = intent.getIntExtra("NAVI_ROUTE_PREFER", type); + + } + + ///** + // * 仅在导航场景下,⽀持第三⽅进⾏路线偏好的重新选择。 + // * `避免收费` |`1` `多策略算路` |`2` `不走高速` |`3` ` 躲避拥堵` |`4` `不走高速且避免收费` |`5` `不走高速且躲避拥堵` |`6` + // * `躲避收费和拥堵` |`7` `不走高速躲避收费和拥堵` |`8` `高速优先` |`20` `躲避拥堵且高速优先` |`24` + // * + // * @param context + // * @param type + // */ + //public static void setUserPreference(Context context, int type) { + // Intent intent = new Intent(); + // intent.setAction("AUTONAVI_STANDARD_BROADCAST_RECV"); + // intent.putExtra("KEY_TYPE", 10005); + // intent.putExtra("NAVI_ROUTE_PREFER", type); + // context.sendBroadcast(intent); + //} + // + } } }; 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 2d600c992f..169aefc806 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 @@ -1,5 +1,6 @@ package com.mogo.module.navi.ui.search +import android.app.Service import android.os.Bundle import android.view.View import androidx.fragment.app.Fragment @@ -103,6 +104,7 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener { tv_navi_navi.setOnClickListener { SearchServiceHolder.getNavi() .startNavi(false) + SearchServiceHolder.getMapUIController().recoverLockMode() isStartedNavi = true SearchServiceHolder.fragmentManager.clearAll() }