Merge branch 'feature/v1.0.3' of gitlab.zhidaoauto.com:ecos/yycp-service/Launcher into feature/v1.0.3

This commit is contained in:
wangcongtao
2020-04-01 19:07:58 +08:00
13 changed files with 62 additions and 38 deletions

View File

@@ -14,6 +14,7 @@ import android.view.MotionEvent;
import android.view.View;
import android.view.animation.Interpolator;
import com.alibaba.idst.nls.internal.utils.L;
import com.amap.api.maps.AMap;
import com.amap.api.maps.AMapUtils;
import com.amap.api.maps.CameraUpdateFactory;
@@ -462,8 +463,10 @@ public class AMapNaviViewWrapper implements IMogoMapView,
break;
case NorthUP_2D:
mMapView.setNaviMode( AMapNaviView.NORTH_UP_MODE );
break;
break;
}
Logger.d(TAG,"mCurrentUIMode--->"+mCurrentUIMode.name());
if ( options == null ) {
return;
}

View File

@@ -268,7 +268,7 @@ public class AppNavigatorFragment extends MvpFragment<AppNavigatorView, AppNavig
if (Math.abs(index) == 1) {
scroller.smoothScrollBy(getResources().getDimensionPixelSize(R.dimen.dp_137) * index,
0);
0,null,10);
} else {
layoutManager.startSmoothPendingScroll(layoutManager.getCurrentPosition() + index);
}

View File

@@ -12,11 +12,11 @@ import com.mogo.module.authorize.util.AnalyticsUtil
import com.mogo.module.authorize.util.AnalyticsUtil.INVOKE_TRACK_AUTHORIZE_CLICK
import com.mogo.module.authorize.util.AnalyticsUtil.INVOKE_TRACK_AUTHORIZE_SHOW
import com.mogo.module.authorize.voice.IVoiceCommandListener
import com.mogo.module.authorize.voice.IVoiceIntentListener
import com.mogo.module.authorize.voice.IVoiceAuthorizeIntentListener
import com.mogo.module.authorize.voice.VoiceUtil
import com.mogo.utils.logger.Logger
class AuthorizeFragment : MvpFragment<AuthorizeContract.View, AuthorizePresenter>(), AuthorizeContract.View, View.OnClickListener, IVoiceCommandListener, IVoiceIntentListener {
class AuthorizeFragment : MvpFragment<AuthorizeContract.View, AuthorizePresenter>(), AuthorizeContract.View, View.OnClickListener, IVoiceCommandListener, IVoiceAuthorizeIntentListener {
companion object {
const val TAG = "AuthorizeFragment"

View File

@@ -4,9 +4,9 @@ import android.content.Intent
import com.mogo.service.intent.IMogoIntentListener
import com.mogo.utils.logger.Logger
private const val IVoiceIntentTAG = "IVoiceIntentListener"
private const val IVoiceIntentTAG = "IVoiceAuthorizeIntentListener"
interface IVoiceIntentListener : IMogoIntentListener, IVoiceBusinessListener {
interface IVoiceAuthorizeIntentListener : IMogoIntentListener, IVoiceBusinessListener {
override fun onIntentReceived(cmd: String?, intent: Intent?) {
Logger.i(IVoiceIntentTAG, "cmd -> $cmd")

View File

@@ -25,7 +25,7 @@ object VoiceManager {
}
}
fun handleOnIntentCmd(cmd: String, intent: Intent, listener: IVoiceIntentListener) {
fun handleOnIntentCmd(cmd: String, intent: Intent, listener: IVoiceAuthorizeIntentListener) {
Logger.i(TAG, "handleOnIntentCmd: cmd -> $cmd")
when (cmd) {
VOICE_INTENT_AGREE -> {

View File

@@ -41,7 +41,7 @@ object VoiceUtil {
fun registerAll(
context: Context,
voiceCommand: IVoiceCommandListener,
intentCommand: IVoiceIntentListener
intentCommand: IVoiceAuthorizeIntentListener
) {
if (!hasRegister) {
hasRegister = true
@@ -53,7 +53,7 @@ object VoiceUtil {
private fun registerAgree(
context: Context,
voiceCommand: IVoiceCommandListener,
intentCommand: IVoiceIntentListener
intentCommand: IVoiceAuthorizeIntentListener
) {
Logger.i(TAG, "registerAgree")
AIAssist.getInstance(context)
@@ -67,7 +67,7 @@ object VoiceUtil {
private fun registerDisAgree(
context: Context,
voiceCommand: IVoiceCommandListener,
intentCommand: IVoiceIntentListener
intentCommand: IVoiceAuthorizeIntentListener
) {
Logger.i(TAG, "registerDisAgree")
AIAssist.getInstance(context)
@@ -78,7 +78,7 @@ object VoiceUtil {
intentRegister?.registerIntentListener(VOICE_INTENT_DISAGREE, intentCommand)
}
fun unregisterAll(context: Context, listener: IVoiceIntentListener) {
fun unregisterAll(context: Context, listener: IVoiceAuthorizeIntentListener) {
Logger.i(TAG, "unregister All")
AIAssist.getInstance(context).unregisterUnWakeupCommand(VOICE_REGISTER_AUTHORIZE_AGREE)
AIAssist.getInstance(context).unregisterUnWakeupCommand(VOICE_REGISTER_AUTHORIZE_DISAGREE)

View File

@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000">
android:background="#CC000000">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/clLoadingAuthorizeContainer"

View File

@@ -392,7 +392,7 @@ public class DiscreteScrollLayoutManager extends LinearLayoutManager {
@Override
protected float calculateSpeedPerPixel(DisplayMetrics displayMetrics) {
// 返回滑过1px时经历的时间(ms)。
return 150f / displayMetrics.densityDpi;
return 10f / displayMetrics.densityDpi;
}
@Override
@@ -810,6 +810,10 @@ public class DiscreteScrollLayoutManager extends LinearLayoutManager {
orientationHelper.getPendingDx(pendingScroll),
orientationHelper.getPendingDy(pendingScroll));
}
@Override protected float calculateSpeedPerPixel(DisplayMetrics displayMetrics) {
return 10f / displayMetrics.densityDpi;
}
}
public interface ScrollStateListener {

View File

@@ -57,12 +57,13 @@ public class MapPresenter extends Presenter< MapView > implements
super( view );
initBroadcast();
}
private BroadcastReceiver broadcastReceiver;
/**
* opera type为00 实时路况开1实时路况关 type为10 放大地图; 1缩小地图 type为20切换2d车上 1切换2d北上2切换3d车上支持
*/
private void initBroadcast() {
BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive( Context context, Intent intent ) {
String action = intent.getAction();
@@ -211,6 +212,13 @@ public class MapPresenter extends Presenter< MapView > implements
unregisterVoiceCmd();
}
@Override public void onDestroy(@NonNull LifecycleOwner owner) {
super.onDestroy(owner);
if (broadcastReceiver != null) {
getContext().unregisterReceiver(broadcastReceiver);
}
}
private void registerVoiceCmd() {
for ( Map.Entry< String, String[] > entry : VoiceConstants.sVoiceCmds.entrySet() ) {

View File

@@ -33,22 +33,19 @@ public class SearchCategoryAdapter extends RecycleBaseAdapter<MogoPoiItem> {
@Override
public void onBindViewHolder(RecycleViewHolder holder, MogoPoiItem tip) {
int layoutPosition = holder.getLayoutPosition();
if (layoutPosition==0) {
holder.itemView.setBackgroundResource(R.drawable.selector_first_item_category_background);
}else {
if (layoutPosition == 0) {
holder.itemView.setBackgroundResource(
R.drawable.selector_first_item_category_background);
} else {
holder.itemView.setBackgroundResource(R.drawable.selector_item_category_background);
}
holder.setText(R.id.tv_position, tip.getTitle());
holder.setText(R.id.tv_position_des, tip.getSnippet());
holder.setText(R.id.iv_position,String.valueOf(holder.getLayoutPosition()+1));
holder.setText(R.id.iv_position, String.valueOf(holder.getLayoutPosition() + 1));
holder.itemView.setTag(R.id.tag_position, holder.getLayoutPosition());
holder.itemView.setOnClickListener(onClickListener);
holder.itemView.setSelected(current == holder.getLayoutPosition());
@@ -71,10 +68,10 @@ public class SearchCategoryAdapter extends RecycleBaseAdapter<MogoPoiItem> {
public void setCurrent(int current) {
if (current==this.current) {
if (current == this.current) {
return;
}
this.lastPosition=this.current;
this.lastPosition = this.current;
this.current = current;
notifyItemChanged(lastPosition);
notifyItemChanged(current);
@@ -84,11 +81,14 @@ public class SearchCategoryAdapter extends RecycleBaseAdapter<MogoPoiItem> {
return current;
}
public int getLastPosition(){
public int getLastPosition() {
return lastPosition;
}
public MogoPoiItem getCurrentItem(){
public MogoPoiItem getCurrentItem() {
if (current >= list.size()) {
return null;
}
return list.get(current);
}
}

View File

@@ -113,9 +113,13 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa
private fun addMarkers() {
addMarkers.clear()
var marginBounder = resources.getDimensionPixelSize(R.dimen.dp_60)*2
var marginBounder = resources.getDimensionPixelSize(R.dimen.dp_60) * 2
SearchServiceHolder.getMapUIController()
.showBounds(TAG, null, locationList, Rect(cv_search_result.width+marginBounder,marginBounder, marginBounder, marginBounder), false)
.showBounds(
TAG, null, locationList, Rect(
cv_search_result.width + marginBounder, marginBounder, marginBounder, marginBounder
), false
)
for (options in arrayList) {
var addMarker = SearchServiceHolder.getMarkerManger()
@@ -218,8 +222,10 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa
}
private fun goPath() {
var newInstance = ChoosePathFragment.newInstance(mAdapter.currentItem.point)
SearchServiceHolder.push(newInstance, MogoModulePaths.PATH_FRAGMENT_CHOOSE_PAHT)
mAdapter.currentItem?.let {
var newInstance = ChoosePathFragment.newInstance(mAdapter.currentItem.point)
SearchServiceHolder.push(newInstance, MogoModulePaths.PATH_FRAGMENT_CHOOSE_PAHT)
}
}
private fun updateMarker() {

View File

@@ -212,16 +212,16 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB
AIAssist.getInstance(context)
.registerUnWakeupCommand("thirdPath", arrayOf<String>(thirdPath), this)
AIAssist.getInstance(context)
.registerUnWakeupCommand("startNavi", arrayOf<String>(startNavi), this)
.registerUnWakeupCommand("startNavi", arrayOf<String>(startNavi,"开始"), this)
}
private fun registerRetryVoice(){
private fun registerRetryVoice() {
AIAssist.getInstance(context)
.registerUnWakeupCommand("retry", arrayOf<String>("重试"), this)
}
private fun unregisterRetryVoice(){
private fun unregisterRetryVoice() {
AIAssist.getInstance(context)
.unregisterUnWakeupCommand("retry")
@@ -235,6 +235,9 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB
}
private fun startNavi() {
if (TextUtils.isEmpty(mAdapter.selectTag)) {
return
}
moveMapToRight()
SearchServiceHolder.getNavi()

View File

@@ -50,7 +50,7 @@ class SettingAddressFragment : BaseFragment(), IMogoGeoSearchListener {
var neighborhood = regeocodeResult?.regeocodeAddress?.neighborhood
if (!TextUtils.isEmpty(neighborhood)) {
selectPoi?.name = neighborhood
}else{
} else {
selectPoi?.name = formatAddress
}
}
@@ -80,7 +80,8 @@ class SettingAddressFragment : BaseFragment(), IMogoGeoSearchListener {
.getFromLocationAsyn(mogoRegeocodeQuery)
addMarker?.apply {
SearchServiceHolder.getMapUIController()
.startJumpAnimation(this,
.startJumpAnimation(
this,
150f, { input ->
if (input <= 0.5) {
(0.5f - 2.0 * (0.5 - input) * (0.5 - input)).toFloat()
@@ -182,13 +183,12 @@ class SettingAddressFragment : BaseFragment(), IMogoGeoSearchListener {
AppDataBase.getDatabase(context)
.poiDao()
.insert(searchPoi)
AddressHelper.notifyAddressChanged(context, searchPoi)
})
.subscribeOn(Schedulers.io())
.subscribe()
AddressHelper.notifyAddressChanged(context, searchPoi)
}
override fun onDestroyView() {