From 4172a965f9eddb4e164861f657d46dca0511383d Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 15 Nov 2020 14:22:18 +0800 Subject: [PATCH 01/19] callchat replace --- app/build.gradle | 4 +- config.gradle | 3 ++ modules/mogo-module-common/build.gradle | 2 +- .../mogo/module/common/api/CallChatApi.java | 2 +- modules/mogo-module-media/build.gradle | 2 +- .../module/media/ServiceMediaHandler.java | 2 +- .../listener/CallProviderResponseAdapter.java | 8 +--- .../module/media/window/MediaWindow2.java | 2 +- .../com/mogo/module/push/view/FloatView.kt | 27 ++++++------ .../module/push/viewmodel/PushViewModel.kt | 8 ++-- .../navi/ui/search/ChoosePathFragment.kt | 4 +- .../navi/ui/setting/NaviSettingFragment.kt | 13 +++--- .../navi/ui/setting/SettingAddressFragment.kt | 41 ++++++++++--------- modules/mogo-module-service/build.gradle | 2 +- .../module/service/MarkerServiceHandler.java | 2 +- .../marker/CallProviderResponseImpl.java | 12 ++---- .../UserDataMarkerInfoWindowAdapter.java | 10 +---- modules/mogo-module-v2x/build.gradle | 2 +- .../mogo/module/v2x/V2XServiceManager.java | 5 ++- .../v2x/adapter/holder/V2XBaseViewHolder.java | 6 +-- modules/mogo-module-widgets/build.gradle | 2 +- 21 files changed, 76 insertions(+), 83 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index c3d4b22ae1..ebc29b2bc6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -342,8 +342,8 @@ dependencies { debugImplementation rootProject.ext.dependencies.debugleakcanary releaseImplementation rootProject.ext.dependencies.releaseleakcanary - implementation rootProject.ext.dependencies.carcallprovider - implementation rootProject.ext.dependencies.carcall + implementation rootProject.ext.dependencies.callchatprovider + implementation rootProject.ext.dependencies.callchat implementation rootProject.ext.dependencies.mogologlib compileOnly rootProject.ext.dependencies.adasapi diff --git a/config.gradle b/config.gradle index 9963f1ee10..2a864bd5cc 100644 --- a/config.gradle +++ b/config.gradle @@ -108,6 +108,9 @@ targetSdkVersion : 22, moduleextensions : "com.mogo.module:module-extensions:${MOGO_MODULE_EXTENSIONS_VERSION}", carcall : "com.mogo.module.carchatting:module-carchatting:${CARCHATTING_VERSION}", carcallprovider : "com.mogo.module.carchatting:module-carchatting-provider:${CARCHATTINGPROVIDER_VERSION}", + callchat : "com.mogo.module.carchatout:module-carchatting:1.4.8", + callchatprovider : "com.mogo.module.carchatout:module-carchatting-provider:1.0.6", + guideshow : "com.mogo.module:module-guide:${MOGO_MODULE_GUIDESHOW_VERSION}", // V2X moduleV2x : "com.mogo.module:module-v2x:${MOGO_MODULE_V2X_VERSION}", diff --git a/modules/mogo-module-common/build.gradle b/modules/mogo-module-common/build.gradle index bf000cacf7..99e827b866 100644 --- a/modules/mogo-module-common/build.gradle +++ b/modules/mogo-module-common/build.gradle @@ -33,7 +33,7 @@ dependencies { implementation rootProject.ext.dependencies.androidxrecyclerview implementation rootProject.ext.dependencies.androidxconstraintlayout implementation rootProject.ext.dependencies.arouter - implementation rootProject.ext.dependencies.carcallprovider + implementation rootProject.ext.dependencies.callchatprovider if (Boolean.valueOf(RELEASE)) { api rootProject.ext.dependencies.mogomap api rootProject.ext.dependencies.mogomapapi diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/api/CallChatApi.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/api/CallChatApi.java index c8fdd220bc..491fae50b7 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/api/CallChatApi.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/api/CallChatApi.java @@ -3,9 +3,9 @@ package com.mogo.module.common.api; import android.content.Context; import com.alibaba.android.arouter.launcher.ARouter; -import com.mogo.module.carchattingprovider.ICarsChattingProvider; import com.mogo.module.common.entity.MarkerOnlineCar; import com.mogo.utils.logger.Logger; +import com.zhidao.carchattingprovider.ICarsChattingProvider; import com.zhidao.carchattingprovider.MogoDriverInfo; public diff --git a/modules/mogo-module-media/build.gradle b/modules/mogo-module-media/build.gradle index dff1c08f76..e378c9aa3f 100644 --- a/modules/mogo-module-media/build.gradle +++ b/modules/mogo-module-media/build.gradle @@ -47,7 +47,7 @@ dependencies { implementation "com.mogo.tencent.wecarflow:mogo-wecarflow:+@aar" implementation "com.mogo.kwmusic:mogo-kwmusic:+" - implementation rootProject.ext.dependencies.carcallprovider + implementation rootProject.ext.dependencies.callchatprovider if (Boolean.valueOf(RELEASE)) { implementation rootProject.ext.dependencies.mogomap diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/ServiceMediaHandler.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/ServiceMediaHandler.java index db9b78b43d..b6da495fdc 100644 --- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/ServiceMediaHandler.java +++ b/modules/mogo-module-media/src/main/java/com/mogo/module/media/ServiceMediaHandler.java @@ -11,7 +11,6 @@ import com.mogo.map.navi.IMogoNavi; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant; import com.mogo.module.authorize.authprovider.module.IMogoAuthorizeModuleManager; -import com.mogo.module.carchattingprovider.ICarsChattingProvider; import com.mogo.service.MogoServicePaths; import com.mogo.service.adas.IMogoADASController; import com.mogo.service.analytics.IMogoAnalytics; @@ -27,6 +26,7 @@ import com.mogo.service.module.IMogoRegisterCenter; import com.mogo.service.network.IMogoNetwork; import com.mogo.service.statusmanager.IMogoStatusManager; import com.mogo.service.windowview.IMogoWindowManager; +import com.zhidao.carchattingprovider.ICarsChattingProvider; /** *

diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/listener/CallProviderResponseAdapter.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/listener/CallProviderResponseAdapter.java index 6fa008de0e..373fa5fbdd 100644 --- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/listener/CallProviderResponseAdapter.java +++ b/modules/mogo-module-media/src/main/java/com/mogo/module/media/listener/CallProviderResponseAdapter.java @@ -1,6 +1,7 @@ package com.mogo.module.media.listener; -import com.mogo.module.carchattingprovider.ICallProviderResponse; + +import com.zhidao.carchattingprovider.ICallProviderResponse; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -24,11 +25,6 @@ abstract class CallProviderResponseAdapter implements ICallProviderResponse { } - @Override - public void callStatus( int i ) { - - } - @Override public void canCall( boolean b ) { diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java index 6cc81d0938..5e1e24e273 100644 --- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java +++ b/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java @@ -12,7 +12,6 @@ import android.widget.TextView; import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.voice.AIAssist; import com.mogo.commons.voice.IMogoVoiceCmdCallBack; -import com.mogo.module.carchattingprovider.ICallProviderResponse; import com.mogo.module.common.glide.SkinAbleBitmapTarget; import com.mogo.module.media.MediaConstants; import com.mogo.module.media.R; @@ -33,6 +32,7 @@ import com.mogo.utils.WindowUtils; import com.mogo.utils.glide.GlideApp; import com.mogo.utils.logger.Logger; import com.tencent.wecarflow.flowoutside.sdk.FlowPlayControl; +import com.zhidao.carchattingprovider.ICallProviderResponse; /** * 适配爱趣听和酷我的window,通过presenter区分 diff --git a/modules/mogo-module-push/src/main/java/com/mogo/module/push/view/FloatView.kt b/modules/mogo-module-push/src/main/java/com/mogo/module/push/view/FloatView.kt index 69725a94d2..af956153da 100644 --- a/modules/mogo-module-push/src/main/java/com/mogo/module/push/view/FloatView.kt +++ b/modules/mogo-module-push/src/main/java/com/mogo/module/push/view/FloatView.kt @@ -52,14 +52,14 @@ class FloatView constructor( abstract inner class PushView(context: Context) : FrameLayout(context), PushViewController { - lateinit var appIcon: ImageView - lateinit var titleIconContainer: View - lateinit var pushTitle: TextView - lateinit var pushImage: RoundedImageView - lateinit var pushContent: TextView - lateinit var pushTimer: TextView - lateinit var pushButtonLeft: TextView - lateinit var pushButtonRight: TextView + private lateinit var appIcon: ImageView + private lateinit var titleIconContainer: View + private lateinit var pushTitle: TextView + private lateinit var pushImage: RoundedImageView + private lateinit var pushContent: TextView + private lateinit var pushTimer: TextView + private lateinit var pushButtonLeft: TextView + private lateinit var pushButtonRight: TextView lateinit var pushButton: View override fun inflateView(layoutId: Int) { @@ -96,7 +96,7 @@ class FloatView constructor( fun hasButtons(bean: PushBean?): Boolean { bean?.buttons?.forEach { - if (!it.text?.isNullOrEmpty()) { + if (it.text.isNotEmpty()) { return true } } @@ -104,13 +104,13 @@ class FloatView constructor( } fun hasTextContent(bean: PushBean?): Boolean = - bean?.content?.isNullOrEmpty()?.not() ?: false + bean?.content?.isEmpty()?.not() ?: false - fun hasImgContent(bean: PushBean?): Boolean = bean?.QRCode?.isNullOrEmpty()?.not() ?: false + fun hasImgContent(bean: PushBean?): Boolean = bean?.QRCode?.isEmpty()?.not() ?: false open fun setBean(bean: PushBean) { // app icon - if (!bean.appIcon.isNullOrEmpty()) { + if (bean.appIcon.isNotEmpty()) { appIcon.visible() GlideApp.with(this).load(bean.appIcon).into(appIcon) } else { @@ -274,6 +274,7 @@ class FloatView constructor( init { + @Suppress("DEPRECATION") params.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT params.flags = (WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN or WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION @@ -282,7 +283,7 @@ class FloatView constructor( or WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE) params.width = WindowManager.LayoutParams.WRAP_CONTENT params.height = WindowManager.LayoutParams.WRAP_CONTENT - params.gravity = Gravity.LEFT or Gravity.BOTTOM + params.gravity = Gravity.START or Gravity.BOTTOM params.format = PixelFormat.TRANSLUCENT params.x = context.resources.getDimensionPixelSize(R.dimen.module_push_window_x) params.y = context.resources.getDimensionPixelSize(R.dimen.module_push_window_x) diff --git a/modules/mogo-module-push/src/main/java/com/mogo/module/push/viewmodel/PushViewModel.kt b/modules/mogo-module-push/src/main/java/com/mogo/module/push/viewmodel/PushViewModel.kt index 4952c897e8..9651719a24 100644 --- a/modules/mogo-module-push/src/main/java/com/mogo/module/push/viewmodel/PushViewModel.kt +++ b/modules/mogo-module-push/src/main/java/com/mogo/module/push/viewmodel/PushViewModel.kt @@ -58,7 +58,7 @@ class PushViewModel( if (isClick == "2") { mVoiceClient.speakTTSVoice("好的", voiceCmdCallback) } - if (!it.mainSchema.isNullOrEmpty()) { + if (it.mainSchema.isNotEmpty()) { dealSchema(it.mainSchema, mContext) } } @@ -74,7 +74,7 @@ class PushViewModel( if (isClick == "2") { mVoiceClient.speakTTSVoice("好的", voiceCmdCallback) } - if (!it.buttons[0].action.isNullOrEmpty()) { + if (it.buttons[0].action.isNotEmpty()) { dealSchema(it.buttons[0].action, mContext) } } @@ -90,7 +90,7 @@ class PushViewModel( if (isClick == "2") { mVoiceClient.speakTTSVoice("好的", voiceCmdCallback) } - if (!it.buttons[1].action.isNullOrEmpty()) { + if (it.buttons[1].action.isNotEmpty()) { dealSchema(it.buttons[1].action, mContext) } } @@ -162,7 +162,7 @@ class PushViewModel( } pushBean?.buttons?.forEach { - it?.voiceCmd?.apply { + it.voiceCmd?.apply { mVoiceClient.registerUnWakeupCommand( VOICE_ACTION_PUSH_RIGHT, toTypedArray(), 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 f7fd9cffef..598c71c29b 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 @@ -192,7 +192,7 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB SearchApisHolder.getMarkerManager().removeMarkers() DataConstants.sCmds.entries.filter { - it != null && !TextUtils.isEmpty(it.key) && (it.value?.isNotEmpty() ?: false) + !TextUtils.isEmpty(it.key) && (it.value?.isNotEmpty() ?: false) }.forEach { AIAssist.getInstance(mContext).registerUnWakeupCommand(it.key, it.value, this@ChoosePathFragment) } @@ -244,7 +244,7 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB } DataConstants.sCmds.entries.filter { - it != null && !TextUtils.isEmpty(it.key) && (it.value?.isNotEmpty() ?: false) + !TextUtils.isEmpty(it.key) && (it.value?.isNotEmpty() ?: false) }.forEach { AIAssist.getInstance(mContext).unregisterUnWakeupCommand(it.key) } diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt index fe57ab63b7..1ae8d81d6c 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt @@ -121,14 +121,14 @@ class NaviSettingFragment : BaseFragment(), OnCheckedChangeListener { rb_navi_no_high_way.setOnCheckedChangeListener(this) rb_navi_fee.setOnCheckedChangeListener(this) - sb_navi_volume_progress.max = VolumeManager.getInstance(context).getMaxVol() + sb_navi_volume_progress.max = VolumeManager.getInstance(context).maxVol sb_navi_volume_progress.progress = VolumeManager.getInstance(context).sysVolume sb_navi_volume_progress.setOnSeekBarChangeListener(object : OnSeekBarChangeListener { override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) { if (fromUser) { - VolumeManager.getInstance(context).setSysVolume(progress) + VolumeManager.getInstance(context).sysVolume = progress SettingManager.volume = sb_navi_volume_progress.progress } @@ -145,7 +145,7 @@ class NaviSettingFragment : BaseFragment(), OnCheckedChangeListener { }) - rg_navi_day_night.setOnCheckedChangeListener { group, checkedId -> + rg_navi_day_night.setOnCheckedChangeListener { _, checkedId -> SettingManager.mapType = checkedId when (checkedId) { R.id.rb_navi_day -> { @@ -159,7 +159,7 @@ class NaviSettingFragment : BaseFragment(), OnCheckedChangeListener { } } } - rg_navi_sound_type.setOnCheckedChangeListener { group, checkedId -> + rg_navi_sound_type.setOnCheckedChangeListener { _, checkedId -> when (checkedId) { R.id.rb_navi_detail -> { SearchApisHolder.getSettingManager().speakDetail() @@ -172,7 +172,7 @@ class NaviSettingFragment : BaseFragment(), OnCheckedChangeListener { } } - aimlessModeGroup.setOnCheckedChangeListener { group, checkedId -> + aimlessModeGroup.setOnCheckedChangeListener { _, checkedId -> when (checkedId) { R.id.aimlessModeClose -> { SearchApisHolder.getSettingManager().closeAimlessMode() @@ -272,14 +272,13 @@ class NaviSettingFragment : BaseFragment(), OnCheckedChangeListener { /** * 分享弹框 - * @param event */ @Subscribe(threadMode = ThreadMode.MAIN) fun onEventBus(searchPoi: SearchPoi?) { if (searchPoi == null) { return } - if (searchPoi?.type == DataConstants.TYPE_COMPANY_ADDRESS) { + if (searchPoi.type == DataConstants.TYPE_COMPANY_ADDRESS) { tv_navi_company_address.text = searchPoi.address tv_navi_clear_company_address.visibility = View.VISIBLE } else { diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/SettingAddressFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/SettingAddressFragment.kt index d94525451e..bf89a36dc1 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/SettingAddressFragment.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/SettingAddressFragment.kt @@ -27,6 +27,7 @@ import com.mogo.module.navi.ui.base.BaseFragment import com.mogo.utils.TipToast import com.mogo.utils.UiThreadHandler import kotlinx.android.synthetic.main.fragment_setting_address.* +import kotlin.math.sqrt /** * @author zyz @@ -36,11 +37,11 @@ class SettingAddressFragment : BaseFragment(), IMogoGeoSearchListener { override fun onRegeocodeSearched(regeocodeResult: MogoRegeocodeResult?) { - et_navi_search.setText(regeocodeResult?.regeocodeAddress?.formatAddress) - var formatAddress = regeocodeResult?.regeocodeAddress?.formatAddress + et_navi_search.text = regeocodeResult?.regeocodeAddress?.formatAddress + val formatAddress = regeocodeResult?.regeocodeAddress?.formatAddress selectPoi?.address = formatAddress - var neighborhood = regeocodeResult?.regeocodeAddress?.neighborhood + val neighborhood = regeocodeResult?.regeocodeAddress?.neighborhood if (!TextUtils.isEmpty(neighborhood)) { selectPoi?.name = neighborhood } else { @@ -49,10 +50,9 @@ class SettingAddressFragment : BaseFragment(), IMogoGeoSearchListener { } override fun onGeocodeSearched(geocodeResult: MogoGeocodeResult?) { - + //do nothing } - private val TAG: String = "SettingAddressFragment" private var type: Int = DataConstants.TYPE_HOME_ADDRESS var addMarker: IMogoMarker? = null @@ -66,8 +66,8 @@ class SettingAddressFragment : BaseFragment(), IMogoGeoSearchListener { tilt: Float, bearing: Float) { super.onMapChanged(latLng, zoom, tilt, bearing) - selectPoi = EntityConvertUtils.geoToPoi(latLng?.lat ?: 0.0, latLng?.lng ?: 0.0, type) - var mogoRegeocodeQuery = MogoRegeocodeQuery() + selectPoi = EntityConvertUtils.geoToPoi(latLng?.lat ?: 0.0, latLng?.lon ?: 0.0, type) + val mogoRegeocodeQuery = MogoRegeocodeQuery() mogoRegeocodeQuery.point = latLng mGeoSearch.getFromLocationAsyn(mogoRegeocodeQuery) addMarker?.startJumpAnimation( @@ -77,7 +77,7 @@ class SettingAddressFragment : BaseFragment(), IMogoGeoSearchListener { if (input <= 0.5) { (0.5f - 2.0 * (0.5 - input) * (0.5 - input)).toFloat() } else { - (0.5f - Math.sqrt(((input - 0.5f) * (1.5f - input)).toDouble())).toFloat() + (0.5f - sqrt(((input - 0.5f) * (1.5f - input)).toDouble())).toFloat() } }, null) @@ -100,7 +100,7 @@ class SettingAddressFragment : BaseFragment(), IMogoGeoSearchListener { return R.layout.fragment_setting_address } - fun isHome(): Boolean { + private fun isHome(): Boolean { return type == DataConstants.TYPE_HOME_ADDRESS } @@ -111,9 +111,9 @@ class SettingAddressFragment : BaseFragment(), IMogoGeoSearchListener { if (isHome()) { - tv_set_as_home.text = resources.getString(R.string.set_as_home_navi) + tv_set_as_home.text = resources.getString(string.set_as_home_navi) } else { - tv_set_as_home.text = resources.getString(R.string.set_as_compony_navi) + tv_set_as_home.text = resources.getString(string.set_as_compony_navi) } iv_navi_back.setOnClickListener { @@ -129,28 +129,28 @@ class SettingAddressFragment : BaseFragment(), IMogoGeoSearchListener { } et_navi_search.isEnabled = false - et_navi_search.setText(getString(string.drag_map_to_choose)) - var location = SearchApisHolder.getUiControllerApis().windowCenterLocation + et_navi_search.text = getString(string.drag_map_to_choose) + val location = SearchApisHolder.getUiControllerApis().windowCenterLocation UiThreadHandler.postDelayed({ if (!isAdded) { return@postDelayed } - var decodeResource = BitmapFactory.decodeResource(resources, R.mipmap.icon_choose_position2) + val decodeResource = BitmapFactory.decodeResource(resources, R.mipmap.icon_choose_position2) val options = MogoMarkerOptions() .icon(decodeResource) .latitude(location?.lat ?: 0.0) .owner(TAG) .anchor(0.5f, 1f) - .longitude(location?.lng ?: 0.0) + .longitude(location?.lon ?: 0.0) addMarker = SearchApisHolder.getMarkerManager().addMarker(AMapConstants.PATH_FRAGMENT_SETTING_HOME, options) - var locationPointInScreen = SearchApisHolder.getUiControllerApis().getLocationPointInScreen(location) + val locationPointInScreen = SearchApisHolder.getUiControllerApis().getLocationPointInScreen(location) addMarker?.setPositionByPixels(locationPointInScreen) }, 500L) } - fun insert(searchPoi: SearchPoi) { + private fun insert(searchPoi: SearchPoi) { AddressManager.insert(searchPoi) } @@ -161,11 +161,14 @@ class SettingAddressFragment : BaseFragment(), IMogoGeoSearchListener { } companion object { + + private const val TAG: String = "SettingAddressFragment" + fun newInstance(type: Int = DataConstants.TYPE_HOME_ADDRESS): Fragment { - var settingAddressFragment = SettingAddressFragment() + val settingAddressFragment = SettingAddressFragment() val bundle = Bundle() bundle.putInt(AMapConstants.KEY_SET_HOME_COMPONY, type) - settingAddressFragment.setArguments(bundle) + settingAddressFragment.arguments = bundle return settingAddressFragment } } diff --git a/modules/mogo-module-service/build.gradle b/modules/mogo-module-service/build.gradle index ed661cc3b0..41ad5573e9 100644 --- a/modules/mogo-module-service/build.gradle +++ b/modules/mogo-module-service/build.gradle @@ -50,7 +50,7 @@ dependencies { annotationProcessor rootProject.ext.dependencies.aroutercompiler implementation rootProject.ext.dependencies.rxjava implementation rootProject.ext.dependencies.rxandroid - implementation rootProject.ext.dependencies.carcallprovider + implementation rootProject.ext.dependencies.callchatprovider implementation rootProject.ext.dependencies.androidxrecyclerview if (Boolean.valueOf(RELEASE)) { diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java index 199c972202..6e4d0bfb59 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java @@ -8,7 +8,6 @@ import com.mogo.map.marker.IMogoMarker; import com.mogo.map.marker.IMogoMarkerManager; import com.mogo.map.navi.IMogoNavi; import com.mogo.map.uicontroller.IMogoMapUIController; -import com.mogo.module.carchattingprovider.ICarsChattingProvider; import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.entity.MarkerResponse; import com.mogo.module.common.entity.MarkerShowEntity; @@ -29,6 +28,7 @@ import com.mogo.service.module.IMogoRegisterCenter; import com.mogo.service.statusmanager.IMogoStatusManager; import com.mogo.utils.logger.Logger; import com.zhidao.carchattingprovider.CallChattingProviderConstant; +import com.zhidao.carchattingprovider.ICarsChattingProvider; /** * author : donghongyu diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/CallProviderResponseImpl.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/CallProviderResponseImpl.java index 069b90560d..4569bd50aa 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/CallProviderResponseImpl.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/CallProviderResponseImpl.java @@ -1,18 +1,19 @@ package com.mogo.module.service.marker; -import com.mogo.module.carchattingprovider.ICallProviderResponse; + +import com.zhidao.carchattingprovider.ICallProviderResponse; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public + /** * @author congtaowang * @since 2020/9/28 * * 描述 */ -abstract class CallProviderResponseImpl implements ICallProviderResponse { +public abstract class CallProviderResponseImpl implements ICallProviderResponse { @Override public void addFriend( boolean b ) { @@ -24,11 +25,6 @@ abstract class CallProviderResponseImpl implements ICallProviderResponse { } - @Override - public void callStatus( int i ) { - - } - @Override public void callWindowStatus( boolean b ) { diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/UserDataMarkerInfoWindowAdapter.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/UserDataMarkerInfoWindowAdapter.java index 42048bc2eb..291f75dfe3 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/UserDataMarkerInfoWindowAdapter.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/UserDataMarkerInfoWindowAdapter.java @@ -194,19 +194,13 @@ public class UserDataMarkerInfoWindowAdapter implements IMogoInfoWindowAdapter { params.put( CallChattingProviderConstant.CCPROVIDER_LON, location.getLon() + "" ); } Logger.d( TAG, "call parameters: %s", params ); - if ( MarkerServiceHandler.getApis().getStatusManagerApi().isV2XShow() ) { - MarkerServiceHandler.getCarChatting().callShowWindow( params ); - } else { - MarkerServiceHandler.getCarChatting().call( params ); - } + MarkerServiceHandler.getCarChatting().call( params ); } protected void loadImageHeader( final MarkerShowEntity markerShowEntity ) { if ( Looper.myLooper() != Looper.getMainLooper() ) { - UiThreadHandler.post( () -> { - runOnUiThread( markerShowEntity ); - } ); + UiThreadHandler.post( () -> runOnUiThread( markerShowEntity )); } else { runOnUiThread( markerShowEntity ); } diff --git a/modules/mogo-module-v2x/build.gradle b/modules/mogo-module-v2x/build.gradle index 52c1c51a4c..f45d57407d 100644 --- a/modules/mogo-module-v2x/build.gradle +++ b/modules/mogo-module-v2x/build.gradle @@ -51,7 +51,7 @@ dependencies { implementation rootProject.ext.dependencies.androidxappcompat implementation rootProject.ext.dependencies.androidxconstraintlayout implementation rootProject.ext.dependencies.arouter - implementation rootProject.ext.dependencies.carcallprovider + implementation rootProject.ext.dependencies.callchatprovider implementation rootProject.ext.dependencies.androidxccorektx implementation rootProject.ext.dependencies.kotlinstdlibjdk7 diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XServiceManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XServiceManager.java index 89cf276fc3..47f348aff0 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XServiceManager.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XServiceManager.java @@ -9,7 +9,6 @@ import com.mogo.map.navi.IMogoNavi; import com.mogo.map.overlay.IMogoOverlayManager; import com.mogo.map.search.geo.IMogoGeoSearch; import com.mogo.map.uicontroller.IMogoMapUIController; -import com.mogo.module.carchattingprovider.ICarsChattingProvider; import com.mogo.module.v2x.alarm.V2XCalculateServer; import com.mogo.module.v2x.manager.IMoGoV2XMarkerManager; import com.mogo.module.v2x.manager.IMoGoV2XPolylineManager; @@ -38,6 +37,7 @@ import com.mogo.service.share.IMogoTanluProvider; import com.mogo.service.windowview.IMogoTopViewManager; import com.mogo.service.windowview.IMogoWindowManager; import com.zhidao.carchattingprovider.CallChattingProviderConstant; +import com.zhidao.carchattingprovider.ICarsChattingProvider; /** * author : donghongyu @@ -96,8 +96,9 @@ public class V2XServiceManager { private static IMoGoV2XPolylineManager moGoV2XPolylineManager; private static IMoGoV2XStatusManager moGoV2XStatusManager; + private V2XServiceManager(){ - + } public static void init(final Context context) { if (!isInit) { diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XBaseViewHolder.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XBaseViewHolder.java index 475b80bfde..96edcb843b 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XBaseViewHolder.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XBaseViewHolder.java @@ -12,7 +12,6 @@ import com.mogo.map.MogoLatLng; import com.mogo.map.navi.IMogoNaviListener; import com.mogo.map.navi.MogoNaviInfo; import com.mogo.map.navi.MogoTraffic; -import com.mogo.module.carchattingprovider.ICarsChattingProvider; import com.mogo.module.common.entity.MarkerExploreWay; import com.mogo.module.common.entity.MarkerLocation; import com.mogo.module.common.entity.V2XEventZanData; @@ -27,6 +26,7 @@ import com.mogo.module.v2x.utils.V2XUtils; import com.mogo.utils.TipToast; import com.mogo.utils.logger.Logger; import com.zhidao.carchattingprovider.CallChattingProviderConstant; +import com.zhidao.carchattingprovider.ICarsChattingProvider; import com.zhidao.carchattingprovider.MogoDriverInfo; import static com.mogo.module.v2x.V2XConst.MODULE_NAME; @@ -99,7 +99,7 @@ public abstract class V2XBaseViewHolder int ageNumber = noveltyInfo.getUserInfo().getAgeNumber(); mogoDriverInfo.setAge(ageNumber); String gender = noveltyInfo.getUserInfo().getGender(); - mogoDriverInfo.setGender(gender != null ? gender : null); + mogoDriverInfo.setGender(gender); String sn = noveltyInfo.getUserInfo().getSn(); mogoDriverInfo.setSn(sn != null ? sn : ""); String name = noveltyInfo.getUserInfo().getUserName(); @@ -238,7 +238,7 @@ public abstract class V2XBaseViewHolder @Override public void onCalculateSuccess() { - Logger.w("V2XBaseViewHolder", "onCalculateSuccess"); + Logger.w(TAG, "onCalculateSuccess"); V2XServiceManager.getNavi().startNavi(true); V2XServiceManager.getMogoRegisterCenter().unregisterMogoNaviListener(MODULE_NAME); } diff --git a/modules/mogo-module-widgets/build.gradle b/modules/mogo-module-widgets/build.gradle index 59e1db7c2e..f4c2ca4f84 100644 --- a/modules/mogo-module-widgets/build.gradle +++ b/modules/mogo-module-widgets/build.gradle @@ -46,7 +46,7 @@ dependencies { annotationProcessor rootProject.ext.dependencies.aroutercompiler implementation rootProject.ext.dependencies.rxjava implementation rootProject.ext.dependencies.rxandroid - implementation rootProject.ext.dependencies.carcallprovider + implementation rootProject.ext.dependencies.callchatprovider if (Boolean.valueOf(RELEASE)) { api rootProject.ext.dependencies.mogomap From 6a90a6584e30d69b6afe3b9ac9d194b09c351679 Mon Sep 17 00:00:00 2001 From: liujing Date: Tue, 17 Nov 2020 19:21:13 +0800 Subject: [PATCH 02/19] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E9=9D=A2=E6=9D=BF-F=20?= =?UTF-8?q?UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo-module-main/src/main/res/values-xhdpi/dimens.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml index 197f976f30..1e3dc1ca7d 100644 --- a/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml @@ -27,4 +27,9 @@ 1313px 20px 20px + + 18px + 18px + 18px + 18px \ No newline at end of file From c241d779890e9c1999799d6cd780f749b66835e0 Mon Sep 17 00:00:00 2001 From: zhuangyan Date: Tue, 17 Nov 2020 19:59:38 +0800 Subject: [PATCH 03/19] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=BF=9B=E5=85=A5?= =?UTF-8?q?=E7=8B=AC=E7=AB=8Bapp=20=E8=AF=AD=E9=9F=B3=E6=92=AD=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/module/service/MogoServices.java | 16 +-------- .../service/network/bean/TtsConfigEntity.java | 22 +++++++++--- .../ttsConfig/TtsConfigApiService.java | 6 ++-- .../service/ttsConfig/TtsConfigModleData.java | 34 +++++++++---------- .../service/ttsConfig/TtsConfigProvider.java | 21 +++++------- 5 files changed, 45 insertions(+), 54 deletions(-) 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 460b7eeac2..3b5a7e55d5 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 @@ -336,7 +336,6 @@ public class MogoServices implements IMogoMapListener, playAppTts(); -// } else { unregisterInternalUnWakeupWords(); @@ -391,20 +390,7 @@ public class MogoServices implements IMogoMapListener, if (DebugConfig.isLauncher()) { return; } - mTtsModle.playTts(new RefreshCallback() { - @Override - public void onSuccess(TtsConfigEntity o) { - if (!TextUtils.isEmpty(o.getTtsWord())) { - AIAssist.getInstance(mContext).speakTTSVoice(o.getTtsWord(), null); - } - } - - @Override - public void onFail() { - Log.e(TAG, "获取Tts失败"); - - } - }); + mTtsModle.playTts(); } /** diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/bean/TtsConfigEntity.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/bean/TtsConfigEntity.java index f46d4a52db..7d79407bb7 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/bean/TtsConfigEntity.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/bean/TtsConfigEntity.java @@ -8,13 +8,25 @@ import com.mogo.commons.data.BaseData; * @desc :分体机tts播报信息返回 */ public class TtsConfigEntity extends BaseData { - private String ttsWord; + public Result result; - public String getTtsWord() { - return ttsWord; + public Result getResult() { + return result; } - public void setTtsWord(String ttsWord) { - this.ttsWord = ttsWord; + public void setResult(Result result) { + this.result = result; + } + + public static class Result { + private String word; + + public String getWord() { + return word; + } + + public void setWord(String word) { + this.word = word; + } } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigApiService.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigApiService.java index 8d831ab96b..bc153322dd 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigApiService.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigApiService.java @@ -8,6 +8,7 @@ import java.util.Map; import io.reactivex.Observable; import retrofit2.http.FieldMap; import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; import retrofit2.http.POST; /** @@ -20,7 +21,6 @@ public interface TtsConfigApiService { * 查询语音Tts 的 * */ - @FormUrlEncoded - @POST("/yycp-tmcServer/tmcServer/car/reportTraffic/v1") - Observable inquireForTts(@FieldMap Map parames); + @GET("/yycp-carDataService/car/ttsWord/no/getTTSWord/v1") + Observable inquireForTts(); } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigModleData.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigModleData.java index cc6aab6665..89f6d2cdbd 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigModleData.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigModleData.java @@ -1,22 +1,17 @@ package com.mogo.module.service.ttsConfig; +import android.text.TextUtils; import android.util.Log; import com.alibaba.android.arouter.launcher.ARouter; -import com.mogo.commons.data.BaseData; -import com.mogo.commons.network.ParamsProvider; import com.mogo.commons.network.SubscribeImpl; -import com.mogo.commons.network.Utils; -import com.mogo.module.service.network.RefreshCallback; +import com.mogo.commons.voice.AIAssist; import com.mogo.module.service.network.RefreshModel; import com.mogo.module.service.network.bean.TtsConfigEntity; import com.mogo.service.MogoServicePaths; import com.mogo.service.network.IMogoNetwork; -import com.mogo.utils.logger.Logger; import com.mogo.utils.network.RequestOptions; -import java.util.Map; - import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; @@ -36,34 +31,37 @@ public class TtsConfigModleData { IMogoNetwork network = (IMogoNetwork) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_NETWORK).navigation(getApp().getApplicationContext()); mTtsConfigApiService = network.create(TtsConfigApiService.class, RefreshModel.getNetHost()); } + /** * 独立app根据后台配置 播放tts - * @param + * + * @param * @param * @param */ - public void playTts(RefreshCallback ttsCallback) { + public void playTts() { - final ParamsProvider.Builder builder = new ParamsProvider.Builder( getApp().getApplicationContext()); - Map parameters = builder.build(); - parameters.put("sn", Utils.getSn()); - Log.d("zytest","playTts获取语音配置的网络请求"); -// parameters.put("data", GsonUtil.jsonFromObject(uploadTrafficEntity)); - mTtsConfigApiService.inquireForTts(parameters) + Log.d("zytest", "playTts获取语音配置的网络请求"); + + + mTtsConfigApiService.inquireForTts() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new SubscribeImpl(RequestOptions.create( getApp().getApplicationContext())) { + .subscribe(new SubscribeImpl(RequestOptions.create(getApp().getApplicationContext())) { @Override public void onError(Throwable e) { super.onError(e); + Log.e("zytest", e.toString()); - ttsCallback.onFail(); } @Override public void onSuccess(TtsConfigEntity o) { super.onSuccess(o); - ttsCallback.onSuccess(o); + Log.e("zytest", "播放语音了====" + o.getResult().getWord()); + if (!TextUtils.isEmpty( o.getResult().getWord())) { + AIAssist.getInstance(getApp().getApplicationContext()).speakTTSVoice( o.getResult().getWord()); + } } }); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigProvider.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigProvider.java index 14e83d0454..7780eca978 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigProvider.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigProvider.java @@ -1,10 +1,12 @@ package com.mogo.module.service.ttsConfig; import android.content.Context; +import android.text.TextUtils; import android.util.Log; import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.facade.template.IProvider; +import com.mogo.commons.voice.AIAssist; import com.mogo.module.service.ServiceConst; import com.mogo.module.service.network.RefreshCallback; import com.mogo.module.service.network.bean.TtsConfigEntity; @@ -14,26 +16,19 @@ import com.mogo.module.service.network.bean.TtsConfigEntity; * @date : 2020/11/16 15:01 * @desc :进入页面的时候 根据配置 播放tts语音 */ -@Route( path = ServiceConst.PATH_TTS_CONFIG ) +@Route(path = ServiceConst.PATH_TTS_CONFIG) public class TtsConfigProvider implements IProvider { private final String TAG = "TtsConfigProvider"; - + private Context mContext; private TtsConfigModleData mTtsModleData; @Override public void init(Context context) { + mContext = context; Log.d(TAG, "TtsConfigProvider provider init……"); - if (mTtsModleData==null) { - mTtsModleData=new TtsConfigModleData(); + if (mTtsModleData == null) { + mTtsModleData = new TtsConfigModleData(); } - mTtsModleData.playTts(new RefreshCallback() { - @Override - public void onSuccess(TtsConfigEntity o) { - } - - @Override - public void onFail() { - } - }); + mTtsModleData.playTts(); } } From 989180096e650a06983abb4c865098ff6caf6fae Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Tue, 17 Nov 2020 20:05:44 +0800 Subject: [PATCH 04/19] =?UTF-8?q?=E8=81=94=E8=B0=83=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E8=BD=A6=E6=A8=A1=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/entity/OwnCarModelEntity.java | 44 ++++++++++++++++++- .../net/UserInfoNetApiServices.java | 2 +- .../extensions/userinfo/CarModelListInfo.java | 9 ++++ .../userinfo/CarModelListResponse.java | 9 ++++ 4 files changed, 62 insertions(+), 2 deletions(-) diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/OwnCarModelEntity.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/OwnCarModelEntity.java index 2ed6e5ed2a..91cc8a7f46 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/OwnCarModelEntity.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/OwnCarModelEntity.java @@ -12,5 +12,47 @@ public class OwnCarModelEntity { private int isLock; private String imageUrl; private String imageName; - private int level; + private int imageLevel; + + public int getIsLock() { + return isLock; + } + + public void setIsLock(int isLock) { + this.isLock = isLock; + } + + public String getImageUrl() { + return imageUrl; + } + + public void setImageUrl(String imageUrl) { + this.imageUrl = imageUrl; + } + + public String getImageName() { + return imageName; + } + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + public int getImageLevel() { + return imageLevel; + } + + public void setImageLevel(int imageLevel) { + this.imageLevel = imageLevel; + } + + @Override + public String toString() { + return "OwnCarModelEntity{" + + "isLock=" + isLock + + ", imageUrl='" + imageUrl + '\'' + + ", imageName='" + imageName + '\'' + + ", imageLevel=" + imageLevel + + '}'; + } } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/UserInfoNetApiServices.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/UserInfoNetApiServices.java index 355cb05755..ef6b3bd04c 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/UserInfoNetApiServices.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/UserInfoNetApiServices.java @@ -24,6 +24,6 @@ public interface UserInfoNetApiServices { @GET("carlife/carMachine/getAccountInfo") Single requestUserInfo(@QueryMap Map params); - @GET("carlife/carMachine/getAccountInfo") + @GET("yycp-userDataService/app/enthusiasm/getEnthusiasmInfo/v1") Observable requestCarModelList(@QueryMap Map params); } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/userinfo/CarModelListInfo.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/userinfo/CarModelListInfo.java index 1c51ba1a07..109850fae3 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/userinfo/CarModelListInfo.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/userinfo/CarModelListInfo.java @@ -35,4 +35,13 @@ public class CarModelListInfo { public void setImageData(List imageData) { this.imageData = imageData; } + + @Override + public String toString() { + return "CarModelListInfo{" + + "sn='" + sn + '\'' + + ", enthusiasmIndex=" + enthusiasmIndex + + ", imageData=" + imageData + + '}'; + } } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/userinfo/CarModelListResponse.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/userinfo/CarModelListResponse.java index b36818cbcb..ef5e78f3d6 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/userinfo/CarModelListResponse.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/userinfo/CarModelListResponse.java @@ -20,4 +20,13 @@ public class CarModelListResponse extends BaseData { public void setResult(CarModelListInfo result) { this.result = result; } + + @Override + public String toString() { + return "CarModelListResponse{" + + "result=" + result + + ", code=" + code + + ", msg='" + msg + '\'' + + '}'; + } } From fd05cf69ce25daa189fd718b625ae35c054ed258 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Wed, 18 Nov 2020 10:16:06 +0800 Subject: [PATCH 05/19] opt --- .../com/zhidao/roadcondition/service/CosStatusController.kt | 2 +- .../src/main/java/com/zhidao/roadcondition/util/PdUtil.kt | 2 ++ .../com/mogo/module/share/strategyreceiver/BlockStrategy.kt | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosStatusController.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosStatusController.kt index 22af9c03c7..ae433565f4 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosStatusController.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosStatusController.kt @@ -178,7 +178,7 @@ class CosStatusController : CosStatusCallback { latitude: Double, speed: Float ) { - Log.d(TAG, "sendInformationDirectly poiType= $poiType ---- mainInfoId= $mainInfoId") + Log.d(TAG, "sendInformationDirectly poiType= $poiType ---- mainInfoId= $mainInfoId --- isCustom = ${entity?.isCustom}") //开始上传 entity?.isCustom?.let { mainServiceHttpModel.sendInformationMessage( diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/PdUtil.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/PdUtil.kt index 3969175d15..d0019f7adc 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/PdUtil.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/PdUtil.kt @@ -1,5 +1,6 @@ package com.zhidao.roadcondition.util +import android.util.Log import com.google.gson.JsonArray import com.google.gson.JsonObject import com.mogo.commons.AbsMogoApplication @@ -51,6 +52,7 @@ fun getInformationBody( INFO_TYPE_IMG } var infoType = if (isCustom) 1 else 0 + Log.d("MainServiceController", "isCustom = $isCustom ---- infoType = $infoType") return InformationBody( jsonArray.toString(), locationInfo.address, diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/BlockStrategy.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/BlockStrategy.kt index cc1e9bdbdc..9f7b9cc036 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/BlockStrategy.kt +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/BlockStrategy.kt @@ -112,7 +112,7 @@ class BlockStrategy(private val context: Context, private val apis: IMogoService /** * 距离策略上报 * - * 1. 过去3分钟,行驶距离<1km + * 1. 过去3分钟,行驶距离<1km,大于30m * 2. 前车距离<5m,获取不到前车距离时,默认此项满足 * 3. 当前车速<40km/h * From 6e4b07848c8c8e8fa06bc551aec6de4f321c3acf Mon Sep 17 00:00:00 2001 From: zhuangyan Date: Wed, 18 Nov 2020 11:05:26 +0800 Subject: [PATCH 06/19] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=99=90=E5=88=B6=20?= =?UTF-8?q?=E6=97=A8=E5=9C=A8=E7=8B=AC=E7=AB=8Bapp=E4=B8=8A=E6=92=AD?= =?UTF-8?q?=E6=94=BEtts=E8=AF=AD=E9=9F=B3=E9=85=8D=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/module/service/MogoServices.java | 8 ++++---- .../module/service/ttsConfig/TtsConfigModleData.java | 11 ++++++----- .../module/service/ttsConfig/TtsConfigProvider.java | 1 + 3 files changed, 11 insertions(+), 9 deletions(-) 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 3b5a7e55d5..4a3099736a 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 @@ -48,7 +48,6 @@ import com.mogo.module.service.launchercard.LauncherCardRefresher; import com.mogo.module.service.marker.MapMarkerManager; import com.mogo.module.service.network.RefreshCallback; import com.mogo.module.service.network.RefreshModel; -import com.mogo.module.service.network.bean.TtsConfigEntity; import com.mogo.module.service.ttsConfig.TtsConfigModleData; import com.mogo.module.service.network.bean.HomeCompanyDistanceForPushData; import com.mogo.module.service.network.bean.HomeCompanyDistanceForPushResponse; @@ -333,8 +332,9 @@ public class MogoServices implements IMogoMapListener, } mIsMainPageFirstResume = false; LauncherCardRefresher.getInstance(mContext).stop(); - - playAppTts(); + + mTtsModle.playTts(); +// playAppTts(); } else { @@ -390,7 +390,7 @@ public class MogoServices implements IMogoMapListener, if (DebugConfig.isLauncher()) { return; } - mTtsModle.playTts(); + } /** diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigModleData.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigModleData.java index 89f6d2cdbd..f8c20811d4 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigModleData.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigModleData.java @@ -4,6 +4,7 @@ import android.text.TextUtils; import android.util.Log; import com.alibaba.android.arouter.launcher.ARouter; +import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.network.SubscribeImpl; import com.mogo.commons.voice.AIAssist; import com.mogo.module.service.network.RefreshModel; @@ -41,9 +42,9 @@ public class TtsConfigModleData { */ public void playTts() { - Log.d("zytest", "playTts获取语音配置的网络请求"); - - + if (DebugConfig.isLauncher()) { + return; + } mTtsConfigApiService.inquireForTts() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) @@ -59,8 +60,8 @@ public class TtsConfigModleData { public void onSuccess(TtsConfigEntity o) { super.onSuccess(o); Log.e("zytest", "播放语音了====" + o.getResult().getWord()); - if (!TextUtils.isEmpty( o.getResult().getWord())) { - AIAssist.getInstance(getApp().getApplicationContext()).speakTTSVoice( o.getResult().getWord()); + if (!TextUtils.isEmpty(o.getResult().getWord())) { + AIAssist.getInstance(getApp().getApplicationContext()).speakTTSVoice(o.getResult().getWord()); } } }); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigProvider.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigProvider.java index 7780eca978..9e546142c0 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigProvider.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigProvider.java @@ -29,6 +29,7 @@ public class TtsConfigProvider implements IProvider { if (mTtsModleData == null) { mTtsModleData = new TtsConfigModleData(); } + mTtsModleData.playTts(); } } From 41a8ab94c0e768ef75f384fbf98f296550c986df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Wed, 18 Nov 2020 14:52:57 +0800 Subject: [PATCH 07/19] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86=E4=B8=8D?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E5=9C=B0=E5=9B=BE=E7=9A=84=E6=83=85=E5=86=B5?= =?UTF-8?q?=E4=B8=8B=EF=BC=8C=E5=9B=BA=E5=AE=9A=E5=B1=95=E7=A4=BA=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E9=9D=A2=E6=9D=BF=E7=9A=84=E5=8A=9F=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v2x/fragment/V2XEventPanelFragment.kt | 29 +++++++++++------- ...ow_bkg.png => module_v2x_shadow_bkg.9.png} | Bin 2 files changed, 18 insertions(+), 11 deletions(-) rename modules/mogo-module-v2x/src/main/res/drawable-mdpi/{module_v2x_shadow_bkg.png => module_v2x_shadow_bkg.9.png} (100%) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt index b2119ea018..2d06d27c82 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt @@ -12,20 +12,17 @@ import androidx.viewpager2.widget.ViewPager2 import com.google.android.material.tabs.TabLayoutMediator import com.mogo.commons.debug.DebugConfig import com.mogo.commons.mvp.MvpFragment -import com.mogo.commons.voice.AIAssist import com.mogo.module.v2x.R import com.mogo.module.v2x.V2XConst.MODULE_NAME import com.mogo.module.v2x.V2XServiceManager import com.mogo.module.v2x.adapter.V2XEventPagerAdapter import com.mogo.module.v2x.presenter.EventPanelPresenter import com.mogo.module.v2x.utils.TrackUtils -import com.mogo.module.v2x.utils.V2XUtils import com.mogo.module.v2x.view.V2XEventPanelHistoryCountView import com.mogo.module.v2x.voice.V2XVoiceCallbackListener import com.mogo.module.v2x.voice.V2XVoiceConstants import com.mogo.module.v2x.voice.V2XVoiceManager import com.mogo.utils.logger.Logger -import com.mogo.utils.storage.SharedPrefsMgr /** @@ -123,6 +120,12 @@ class V2XEventPanelFragment : MvpFragment Date: Wed, 18 Nov 2020 15:00:59 +0800 Subject: [PATCH 08/19] =?UTF-8?q?=E8=AF=AD=E9=9F=B3=E6=89=93=E5=BC=80?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E9=9D=A2=E6=9D=BF-=E5=87=BA=E8=A1=8C?= =?UTF-8?q?=E5=8A=A8=E6=80=81+=E5=91=A8=E8=BE=B9=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/module/main/SchemeIntent.java | 6 ++++-- .../module/service/unwake/GlobalUnwakeManager.java | 10 ++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java index f34de46914..bda89f02ad 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java @@ -219,9 +219,11 @@ public class SchemeIntent implements IMogoStatusChangedListener { mApis.getOnlineCarPanelApi().showPanel(); } + /* + * 语音打开事件面板 + * */ private void handleShowSharePanel(int item) { - Logger.d(TAG, "handleShowSharePanel"); - // todo 跳转到热心指数 + Logger.d(TAG, "语音打开事件面板"); mApis.getEventPanelManager().showPanelWithSelectedItem(item); } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/unwake/GlobalUnwakeManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/unwake/GlobalUnwakeManager.java index f392b4bbce..b16b7957e7 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/unwake/GlobalUnwakeManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/unwake/GlobalUnwakeManager.java @@ -72,6 +72,16 @@ public class GlobalUnwakeManager implements IProvider, IMogoIntentListener, IMog case UNWAKE_UPLOAD_ROAD_CONDITION: MogoApisHandler.getInstance().getApis().getShareManager().onGlobalUnwake(intentStr, intent); break; + case VOICE_QUERY_HISTORY_INDEX: + Intent startForHis = new Intent( Intent.ACTION_VIEW ); + startForHis.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK ); + startForHis.setData( Uri.parse( "mogo://launcher/main/switch2?type=showHistoryPanel" ) ); + context.startActivity( startForHis ); + case VOICE_QUERY_SURROUNDING_INDEX: + Intent startForSurrounding = new Intent( Intent.ACTION_VIEW ); + startForSurrounding.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK ); + startForSurrounding.setData( Uri.parse( "mogo://launcher/main/switch2?type=showSurroundingPanel" ) ); + context.startActivity( startForSurrounding ); case VOICE_QUERY_HEART_INDEX: Intent start = new Intent( Intent.ACTION_VIEW ); start.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK ); From b6323f55b8da786dd7da992fcf05ab0dbc022951 Mon Sep 17 00:00:00 2001 From: liujing Date: Wed, 18 Nov 2020 17:32:58 +0800 Subject: [PATCH 09/19] =?UTF-8?q?UI-=E4=BA=8B=E4=BB=B6=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?=20=E6=88=91=E7=9A=84=E5=88=86=E4=BA=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/res/values-xhdpi/dimens.xml | 2 +- .../module_v2x_event_share_description.xml | 8 +-- .../layout/module_v2x_event_share_item.xml | 64 ++++++++++--------- .../src/main/res/values-ldpi/dimens.xml | 1 + .../src/main/res/values-mdpi/dimens.xml | 1 + .../src/main/res/values-xhdpi/dimens.xml | 7 +- .../src/main/res/values/dimens.xml | 1 + 7 files changed, 45 insertions(+), 39 deletions(-) diff --git a/modules/mogo-module-common/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-common/src/main/res/values-xhdpi/dimens.xml index 2281aa213c..7db7abf2a5 100644 --- a/modules/mogo-module-common/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-common/src/main/res/values-xhdpi/dimens.xml @@ -1060,6 +1060,6 @@ 281px 90px 32px - 28px + 26px diff --git a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_description.xml b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_description.xml index 900f3b0c19..6d3d72c99b 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_description.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_description.xml @@ -17,7 +17,7 @@ android:alpha="0.8" android:gravity="center" android:paddingLeft="20px" - android:paddingTop="@dimen/dp_25" + android:paddingTop="@dimen/dp_26" android:text="小窍门:分享路况,点赞其他车主,有助于提高热心指数" android:textColor="@color/v2x_share_des_title_color" android:textSize="@dimen/share_top_text_size"> @@ -27,7 +27,7 @@ + android:paddingTop="14px"> @@ -83,7 +83,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal|top" - android:paddingBottom="22px" + android:paddingBottom="@dimen/des_text_margin_bottom" android:text="车友认同次数" android:textColor="#FFFFFF" android:textSize="@dimen/share_index_des_size" /> diff --git a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_item.xml b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_item.xml index 6bf0a69a87..f656dd22e9 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_item.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_item.xml @@ -9,43 +9,28 @@ android:layout_marginBottom="@dimen/dp_14" android:background="@drawable/bg_v2x_event_list_item"> - - + android:textSize="@dimen/share_item_text_size" /> + android:paddingRight="5px" + android:src="@drawable/v2x_share_item_unlike" /> + android:textSize="@dimen/share_item_text_size" /> + android:paddingRight="5px" + android:src="@drawable/v2x_share_item_like" /> + android:textSize="@dimen/share_item_address" + android:textStyle="bold" /> + + + \ No newline at end of file diff --git a/modules/mogo-module-v2x/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-v2x/src/main/res/values-ldpi/dimens.xml index 8c05ab84b4..d097e0e44c 100644 --- a/modules/mogo-module-v2x/src/main/res/values-ldpi/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values-ldpi/dimens.xml @@ -61,6 +61,7 @@ 17px 14px 36px + 22px 16px 20px 34px diff --git a/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml b/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml index 03bc2597eb..eafb0c59f3 100644 --- a/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml @@ -62,6 +62,7 @@ 17px 14px 36px + 22px 16px 20px 34px diff --git a/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml index cfe362711a..5b9f3c3410 100644 --- a/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml @@ -58,11 +58,12 @@ 100px 28px 26px - 67.5px - 30px + 64px + 48px + 28px 40px 60px - 31px + 22px 54px -10px 114px diff --git a/modules/mogo-module-v2x/src/main/res/values/dimens.xml b/modules/mogo-module-v2x/src/main/res/values/dimens.xml index cfd4c1b19f..4b859dcf2e 100644 --- a/modules/mogo-module-v2x/src/main/res/values/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values/dimens.xml @@ -56,6 +56,7 @@ 17px 14px 36px + 22px 16px 20px 34px From 8b5bc93455ee7f966ad2642cf6257d3011ffbf0c Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Wed, 18 Nov 2020 19:35:19 +0800 Subject: [PATCH 10/19] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=87=AA=E8=BD=A6?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE=E5=8A=A0=E5=BC=BA=E6=8F=90=E7=A4=BA=E5=8A=A8?= =?UTF-8?q?=E7=94=BB=E5=8F=8A=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../map/impl/amap/AMapNaviViewWrapper.java | 58 +++++++++++- .../mogo/map/impl/amap/AMapViewWrapper.java | 5 + .../amap/uicontroller/AMapUIController.java | 7 ++ .../module_map_amap_my_location_icon.png | Bin 0 -> 6992 bytes .../layout/module_map_amap_my_location.xml | 12 ++- .../src/main/res/values-xhdpi/dimens.xml | 4 +- .../map-amap/src/main/res/values/dimens.xml | 4 +- .../uicontroller/IMogoMapUIController.java | 5 + .../com/mogo/map/MogoMapUIController.java | 7 ++ .../extensions/entrance/EntranceFragment.java | 88 ++++++++++-------- 10 files changed, 145 insertions(+), 45 deletions(-) create mode 100644 libraries/map-amap/src/main/res/drawable-xhdpi/module_map_amap_my_location_icon.png 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 d459d17428..20095d285f 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 @@ -9,7 +9,9 @@ import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.location.Location; import android.os.Bundle; +import android.os.Handler; import android.os.Looper; +import android.os.Message; import android.os.SystemClock; import android.os.Trace; import android.view.LayoutInflater; @@ -85,7 +87,8 @@ public class AMapNaviViewWrapper implements IMogoMapView, AMapNaviViewListener, AMapMessageListener, AMap.OnCameraChangeListener, - AMap.OnMyLocationChangeListener { + AMap.OnMyLocationChangeListener, + Handler.Callback{ private static final String TAG = "AMapNaviViewWrapper"; @@ -568,6 +571,14 @@ public class AMapNaviViewWrapper implements IMogoMapView, } } + private boolean isInEmphasizeAnim = false; + + @Override + public void emphasizeMyLocation() { + isInEmphasizeAnim = true; + setCarCursorOption(null); + } + @Override public void showMyLocation( View view ) { if ( NaviClient.getInstance( getContext() ).isNaviing() ) { @@ -936,9 +947,11 @@ public class AMapNaviViewWrapper implements IMogoMapView, "MY_LOCATION_CONFIG", ""); if (myLocationConfigCache == null || !myLocationConfigCache.equals(myLocationConfig)) { // 内存缓存的地址为空,或者内存缓存的地址和sp保存的config不一致,那得重新获取bitmap - myLocationConfigCache = myLocationConfig; loadMyLocationIcon(myLocationConfig); + } else if (isInEmphasizeAnim) { + DEFAULT_OPTION.setCarCursorBmp(inflateMyLocation(myLocationBitmap)); } + } @Override @@ -1043,6 +1056,8 @@ public class AMapNaviViewWrapper implements IMogoMapView, @Override public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition< ? super Bitmap > transition ) { if (isUseDefaultOption) { + myLocationConfigCache = url; + myLocationBitmap = resource; DEFAULT_OPTION.setCarCursorBmp(inflateMyLocation(resource)); setCarCursorOption(null); } @@ -1063,11 +1078,50 @@ public class AMapNaviViewWrapper implements IMogoMapView, } } + private float emphasizeAnimOffset = 1f; + private Bitmap inflateMyLocation(Bitmap res) { + if (res == null) { + throw new IllegalArgumentException("inflate myLocation bitmap can not be null!"); + } View root = LayoutInflater.from(getContext()).inflate(R.layout.module_map_amap_my_location, null, false); ImageView iv = root.findViewById(R.id.module_map_amap_my_location_iv); iv.setImageBitmap(res); + if (isInEmphasizeAnim) { + iv.setScaleX(emphasizeAnimOffset); + iv.setScaleY(emphasizeAnimOffset); + handler.sendEmptyMessageDelayed(MSG_CONTINUE_EMPHASIZE_ANIM, EMPHASIZE_ANIM_DELAY); + } return BitmapDescriptorFactory.fromView(root).getBitmap(); } + + /** + * 目前仅用于强调动画 + */ + private Handler handler = new Handler(this); + private static final int MSG_CONTINUE_EMPHASIZE_ANIM = 1001; + private static final long EMPHASIZE_ANIM_DELAY = 80; + private int emphasizeAnimProgress = 0; + private Bitmap myLocationBitmap; + + @Override + public boolean handleMessage(Message msg) { + if (msg.what == MSG_CONTINUE_EMPHASIZE_ANIM) { + if (emphasizeAnimProgress < 5) { + emphasizeAnimOffset += 0.1; + emphasizeAnimProgress++; + }else if(emphasizeAnimProgress<10){ + emphasizeAnimOffset -= 0.1; + emphasizeAnimProgress++; + } else if (emphasizeAnimProgress == 10) { + isInEmphasizeAnim = false; + emphasizeAnimProgress = 0; + emphasizeAnimOffset = 1; + } + setCarCursorOption(null); + return true; + } + return false; + } } diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java index f081517786..6beedf3fc1 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java @@ -426,6 +426,11 @@ public class AMapViewWrapper implements IMogoMapView, } } + @Override + public void emphasizeMyLocation() { + // 空实现 + } + @Override public void showMyLocation( View view ) { if ( NaviClient.getInstance( getContext() ).isNaviing() ) { 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 113abe60f0..68a8f2fd5d 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 @@ -99,6 +99,13 @@ public class AMapUIController implements IMogoMapUIController { } } + @Override + public void emphasizeMyLocation() { + if ( mClient != null ) { + mClient.emphasizeMyLocation(); + } + } + @Override public void showMyLocation( View view ) { if ( mClient != null ) { diff --git a/libraries/map-amap/src/main/res/drawable-xhdpi/module_map_amap_my_location_icon.png b/libraries/map-amap/src/main/res/drawable-xhdpi/module_map_amap_my_location_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b71e0a3b1de74b2020130c1d7758358457e7be13 GIT binary patch literal 6992 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 X5Z>DqlCl3PGBkB%owqfL;PC$g@jG;` literal 0 HcmV?d00001 diff --git a/libraries/map-amap/src/main/res/layout/module_map_amap_my_location.xml b/libraries/map-amap/src/main/res/layout/module_map_amap_my_location.xml index 2035f69746..690f7b6c48 100644 --- a/libraries/map-amap/src/main/res/layout/module_map_amap_my_location.xml +++ b/libraries/map-amap/src/main/res/layout/module_map_amap_my_location.xml @@ -1,9 +1,15 @@ - + + android:layout_width="@dimen/module_map_amap_my_location_icon_width" + android:layout_height="@dimen/module_map_amap_my_location_icon_height" + android:layout_gravity="center" + android:src="@drawable/module_map_amap_my_location_icon"/> \ No newline at end of file diff --git a/libraries/map-amap/src/main/res/values-xhdpi/dimens.xml b/libraries/map-amap/src/main/res/values-xhdpi/dimens.xml index 7e2a7bc299..9c08d26451 100644 --- a/libraries/map-amap/src/main/res/values-xhdpi/dimens.xml +++ b/libraries/map-amap/src/main/res/values-xhdpi/dimens.xml @@ -1,4 +1,6 @@ - 370px + 370px + 78px + 120px \ No newline at end of file diff --git a/libraries/map-amap/src/main/res/values/dimens.xml b/libraries/map-amap/src/main/res/values/dimens.xml index 9e52b0f936..6898799649 100644 --- a/libraries/map-amap/src/main/res/values/dimens.xml +++ b/libraries/map-amap/src/main/res/values/dimens.xml @@ -1,5 +1,7 @@ 60px - 146px + 78px + 120px + 146px \ No newline at end of file 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 419f4cc00a..6cfa109ab9 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 @@ -71,6 +71,11 @@ public interface IMogoMapUIController { */ void showMyLocation( View view ); + /** + * 强调自车位置,加个动画突显一下自车位置 + */ + void emphasizeMyLocation(); + /** * 以外部定位的方式改变当前位置 * 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 f4642f2440..8ba96d4333 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 @@ -92,6 +92,13 @@ public class MogoMapUIController implements IMogoMapUIController { } } + @Override + public void emphasizeMyLocation() { + if ( mDelegate != null ) { + mDelegate.emphasizeMyLocation(); + } + } + @Override public void showMyLocation( View view ) { 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 a01330099d..52e86d3716 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 @@ -832,50 +832,62 @@ public class EntranceFragment extends MvpFragment { - if (!toggle) { - TopViewAnimHelper.getInstance().showNaviView(); - } else { - TopViewAnimHelper.getInstance().hideNaviView(); - } - toggle = !toggle; + SharedPrefsMgr.getInstance(getContext()).putString("MY_LOCATION_CONFIG", "https" + + "://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605705236512" + + "&di=50620661ded7035fb84899a408f9f27e&imgtype=0&src=http%3A%2F%2Fb-ssl" + + ".duitang.com%2Fuploads%2Fitem%2F201409%2F11%2F20140911211243_3rT4u.jpeg"); + MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().setCarCursorOption(null); +// if (!toggle) { +// TopViewAnimHelper.getInstance().showNaviView(); +// } else { +// TopViewAnimHelper.getInstance().hideNaviView(); +// } +// toggle = !toggle; }); findViewById(R.id.btnDebugCtrlSubView).setOnClickListener(view -> { - View v = LayoutInflater.from(getContext()).inflate(R.layout.demo_top, null); - TextView tv = v.findViewById(R.id.tvIndex); - tv.setText("sub view height: " + currentHeight + ": " + v); - mApis.getTopViewManager().addSubView(v, new IMogoTopViewStatusListener() { - @Override - public void onViewAdded(View view) { - Logger.d(TAG, "onSubViewAdded: " + view); - } - - @Override - public void onViewRemoved(View view) { - Logger.d(TAG, "onSubViewRemoved: " + view); - } - - @Override - public void beforeViewAddAnim(View view) { - Logger.d(TAG, "beforeSubViewAddAnim: " + view); - } - - @Override - public void beforeViewRemoveAnim(View view) { - Logger.d(TAG, "beforeSubViewRemoveAnim: " + view); - } - }); + MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().emphasizeMyLocation(); +// View v = LayoutInflater.from(getContext()).inflate(R.layout.demo_top, null); +// TextView tv = v.findViewById(R.id.tvIndex); +// tv.setText("sub view height: " + currentHeight + ": " + v); +// mApis.getTopViewManager().addSubView(v, new IMogoTopViewStatusListener() { +// @Override +// public void onViewAdded(View view) { +// Logger.d(TAG, "onSubViewAdded: " + view); +// } +// +// @Override +// public void onViewRemoved(View view) { +// Logger.d(TAG, "onSubViewRemoved: " + view); +// } +// +// @Override +// public void beforeViewAddAnim(View view) { +// Logger.d(TAG, "beforeSubViewAddAnim: " + view); +// } +// +// @Override +// public void beforeViewRemoveAnim(View view) { +// Logger.d(TAG, "beforeSubViewRemoveAnim: " + view); +// } +// }); }); findViewById(R.id.btnDebugCtrlTopView).setOnClickListener(view -> { - View v = LayoutInflater.from(getContext()).inflate(R.layout.demo_top, null); - TextView tv = v.findViewById(R.id.tvIndex); - Random random = new Random(); - currentHeight = heights[random.nextInt(3)]; - tv.setText(" height: " + currentHeight + ": " + v); - ViewGroup.LayoutParams params = - new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, currentHeight); - mApis.getEntranceButtonController().addLeftFeatureView(v); + SharedPrefsMgr.getInstance(getContext()).putString("MY_LOCATION_CONFIG", "https" + + "://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605705508574" + + "&di=339d3259ad21f5f48c8abcd1bafff324&imgtype=0&src=http%3A%2F%2Fc-ssl" + + ".duitang.com%2Fuploads%2Fitem%2F202004%2F23%2F20200423111550_4AJLr.thumb" + + ".1000_0.jpeg"); + MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().emphasizeMyLocation(); +// View v = LayoutInflater.from(getContext()).inflate(R.layout.demo_top, null); +// TextView tv = v.findViewById(R.id.tvIndex); +// Random random = new Random(); +// currentHeight = heights[random.nextInt(3)]; +// tv.setText(" height: " + currentHeight + ": " + v); +// ViewGroup.LayoutParams params = +// new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, currentHeight); +// mApis.getEntranceButtonController().addLeftFeatureView(v); // mApis.getTopViewManager().addView(v, params, new IMogoTopViewStatusListener() { // @Override From d00003b8371023cbc03ea6ab94b1216f54a9d7b9 Mon Sep 17 00:00:00 2001 From: liujing Date: Thu, 19 Nov 2020 13:52:58 +0800 Subject: [PATCH 11/19] =?UTF-8?q?=E5=87=BA=E8=A1=8C=E5=8A=A8=E6=80=81UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../res/layout/item_v2x_scennario_history.xml | 90 +++++++++---------- ..._event_panel_fragment_scenario_history.xml | 4 +- 2 files changed, 46 insertions(+), 48 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history.xml index a119d15ca1..5cef5e4fdc 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history.xml @@ -7,12 +7,51 @@ android:layout_height="wrap_content" android:background="@drawable/bg_v2x_event_list_item"> + + + + + + + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/tvIllegalNum" /> - - - - - - + app:layout_constraintTop_toTopOf="@+id/tagEventType" />¬ Date: Thu, 19 Nov 2020 13:56:33 +0800 Subject: [PATCH 12/19] =?UTF-8?q?=E5=87=BA=E8=A1=8C=E5=8A=A8=E6=80=81title?= =?UTF-8?q?=E5=A4=A7=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/res/layout/item_v2x_scennario_history.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history.xml index 5cef5e4fdc..c61b839713 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history.xml @@ -25,7 +25,7 @@ android:ellipsize="end" android:maxLines="1" android:textColor="@color/v2x_FFF_333" - android:textSize="@dimen/dp_32" + android:textSize="@dimen/share_item_address" android:textStyle="bold" app:layout_constraintEnd_toStartOf="@+id/llIllegalParkingLike" app:layout_constraintStart_toStartOf="@id/tagEventType" From 249fc6b29c7586750eb8b4e2aea054a6f644e5f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Thu, 19 Nov 2020 14:56:52 +0800 Subject: [PATCH 13/19] =?UTF-8?q?=E5=88=A0=E9=99=A4=E4=BA=86=E6=96=B9?= =?UTF-8?q?=E5=90=91=E8=A7=92=E6=AF=94=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/module/v2x/alarm/V2XAlarmServer.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/alarm/V2XAlarmServer.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/alarm/V2XAlarmServer.java index f70296cb17..29ac85eb49 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/alarm/V2XAlarmServer.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/alarm/V2XAlarmServer.java @@ -86,8 +86,7 @@ public class V2XAlarmServer { // "\n事件角度:" + markerNoveltyInfo.getLocation().getAngle() + // "\n车头角度:" + currentLocation.getAngle() + // "\n角度差值:" + Math.abs(currentLocation.getAngle() - markerNoveltyInfo.getLocation().getAngle())); - if (v2XRoadEventEntity.getLocation().getAngle() >= 0 && - Math.abs(currentLocation.getBearing() - v2XRoadEventEntity.getLocation().getAngle()) <= 10) { + if (v2XRoadEventEntity.getLocation().getAngle() >= 0) { // 计算车辆距离指定气泡的距离 MarkerLocation eventLocation = v2XRoadEventEntity.getLocation(); From d0a0c75a23cddcb8e43439c67d943fcf903cd4c9 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 19 Nov 2020 15:22:58 +0800 Subject: [PATCH 14/19] resolve conflict --- .../src/main/java/com/mogo/module/service/MogoServices.java | 2 +- .../module/service/onlinecar/panel/OnlineCarPanelAdapter.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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 4a3099736a..50497023b5 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 @@ -35,7 +35,6 @@ import com.mogo.map.navi.IMogoNaviListener; import com.mogo.map.navi.MogoCongestionInfo; import com.mogo.map.navi.MogoTraffic; import com.mogo.map.uicontroller.IMogoMapUIController; -import com.mogo.module.carchattingprovider.ICarsChattingProvider; import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.MogoModule; import com.mogo.module.common.MogoModulePaths; @@ -77,6 +76,7 @@ import com.mogo.utils.logger.Logger; import com.mogo.utils.network.RequestOptions; import com.mogo.utils.network.utils.GsonUtil; import com.zhidao.carchattingprovider.CallChattingProviderConstant; +import com.zhidao.carchattingprovider.ICarsChattingProvider; import com.zhidao.smartv2x.common.utils.LoggerUtils; import org.json.JSONObject; diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java index 4826a8689c..cfc4bec45b 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java @@ -12,7 +12,6 @@ import androidx.recyclerview.widget.RecyclerView; import com.alibaba.android.arouter.launcher.ARouter; import com.bumptech.glide.request.RequestOptions; import com.mogo.map.location.MogoLocation; -import com.mogo.module.carchattingprovider.ICarsChattingProvider; import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.api.CallChatApi; import com.mogo.module.common.entity.MarkerLocation; @@ -27,6 +26,7 @@ import com.mogo.utils.WindowUtils; import com.mogo.utils.glide.GlideApp; import com.mogo.utils.logger.Logger; import com.zhidao.carchattingprovider.CallChattingProviderConstant; +import com.zhidao.carchattingprovider.ICarsChattingProvider; import java.util.HashMap; import java.util.List; From 6a65e87be0a2fc156ce00a31b337b742dd5a33e7 Mon Sep 17 00:00:00 2001 From: zhuangyan Date: Thu, 19 Nov 2020 17:13:09 +0800 Subject: [PATCH 15/19] =?UTF-8?q?=E4=BF=AE=E6=94=B9f/m=20=E5=AF=BC?= =?UTF-8?q?=E8=88=AA=20=E5=91=A8=E8=BE=B9=E4=BA=8B=E4=BB=B6=20=E7=9B=AE?= =?UTF-8?q?=E7=9A=84=E8=BD=A6=E5=8F=8BUI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extensions/navi/BaseNaviInfoView.java | 6 +-- .../com/mogo/module/service/MogoServices.java | 7 ++- .../panel/OnlineCarPanelAdapter.java | 7 --- .../service_car_pannel_call_nomal.png | Bin 0 -> 11599 bytes .../service_car_pannel_call_nomal_light.png | Bin 0 -> 7683 bytes .../service_car_pannel_call_pressed.png | Bin 0 -> 10752 bytes .../service_car_pannel_call_pressed_light.png | Bin 0 -> 7347 bytes .../service_car_pannel_detials_nomal.png | Bin 0 -> 10757 bytes ...service_car_pannel_detials_nomal_light.png | Bin 0 -> 6984 bytes .../service_car_pannel_detials_pressed.png | Bin 0 -> 10075 bytes ...rvice_car_pannel_detials_pressed_light.png | Bin 0 -> 6516 bytes .../selector_service_car_pannel_call.xml | 6 +++ ...selector_service_car_pannel_call_light.xml | 6 +++ .../selector_service_car_pannel_detials.xml | 6 +++ ...ector_service_car_pannel_detials_light.xml | 6 +++ .../module_services_online_car_panel_item.xml | 17 ++++--- .../src/main/res/values-ldpi/dimens.xml | 7 +++ .../src/main/res/values-mdpi/dimens.xml | 6 +++ .../res/values-xhdpi-1920x1000/dimens.xml | 5 ++ .../src/main/res/values-xhdpi/dimens.xml | 5 ++ .../src/main/res/values/dimens.xml | 5 ++ .../v2x/fragment/V2XSurroundingFragment.java | 6 ++- .../res/drawable-xhdpi/v2x_panel_close.png | Bin 3175 -> 3289 bytes .../drawable-xhdpi/v2x_panel_close_light.png | Bin 0 -> 1586 bytes .../drawable-xhdpi/v2x_panel_close_press.png | Bin 0 -> 3600 bytes .../v2x_panel_close_press_light.png | Bin 0 -> 3394 bytes .../main/res/drawable/v2x_selector_colse.xml | 6 +++ .../res/drawable/v2x_selector_colse_light.xml | 6 +++ ...odule_event_panel_fragment_surrounding.xml | 45 +++++++++++------- ...e_v2x_event_panel_fragment_event_panel.xml | 2 +- .../src/main/res/values-ldpi/dimens.xml | 2 +- .../src/main/res/values-mdpi/dimens.xml | 2 +- .../res/values-xhdpi-1920x1000/dimens.xml | 4 +- .../src/main/res/values-xhdpi/dimens.xml | 8 ++-- .../src/main/res/values/dimens.xml | 9 ++-- 35 files changed, 123 insertions(+), 56 deletions(-) create mode 100644 modules/mogo-module-service/src/main/res/drawable-xhdpi/service_car_pannel_call_nomal.png create mode 100644 modules/mogo-module-service/src/main/res/drawable-xhdpi/service_car_pannel_call_nomal_light.png create mode 100644 modules/mogo-module-service/src/main/res/drawable-xhdpi/service_car_pannel_call_pressed.png create mode 100644 modules/mogo-module-service/src/main/res/drawable-xhdpi/service_car_pannel_call_pressed_light.png create mode 100644 modules/mogo-module-service/src/main/res/drawable-xhdpi/service_car_pannel_detials_nomal.png create mode 100644 modules/mogo-module-service/src/main/res/drawable-xhdpi/service_car_pannel_detials_nomal_light.png create mode 100644 modules/mogo-module-service/src/main/res/drawable-xhdpi/service_car_pannel_detials_pressed.png create mode 100644 modules/mogo-module-service/src/main/res/drawable-xhdpi/service_car_pannel_detials_pressed_light.png create mode 100644 modules/mogo-module-service/src/main/res/drawable/selector_service_car_pannel_call.xml create mode 100644 modules/mogo-module-service/src/main/res/drawable/selector_service_car_pannel_call_light.xml create mode 100644 modules/mogo-module-service/src/main/res/drawable/selector_service_car_pannel_detials.xml create mode 100644 modules/mogo-module-service/src/main/res/drawable/selector_service_car_pannel_detials_light.xml create mode 100644 modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_panel_close_light.png create mode 100644 modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_panel_close_press.png create mode 100644 modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_panel_close_press_light.png create mode 100644 modules/mogo-module-v2x/src/main/res/drawable/v2x_selector_colse.xml create mode 100644 modules/mogo-module-v2x/src/main/res/drawable/v2x_selector_colse_light.xml diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/BaseNaviInfoView.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/BaseNaviInfoView.java index d96ea854c6..6d92d114de 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/BaseNaviInfoView.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/BaseNaviInfoView.java @@ -67,16 +67,16 @@ public abstract class BaseNaviInfoView { protected String getFormatSurplusTime( int seconds ) { if ( seconds > 60 * 60 ) { - mFormatSurplusTimeUnit = "h"; + mFormatSurplusTimeUnit = "小时"; return String.format( "%.1f", ( ( float ) seconds ) / ( 60 * 60 ) ); } if ( seconds > 60 ) { - mFormatSurplusTimeUnit = "min"; + mFormatSurplusTimeUnit = "分钟"; return String.format( "%.1f", ( ( float ) seconds ) / 60 ); } - mFormatSurplusTimeUnit = "s"; + mFormatSurplusTimeUnit = "秒"; return String.format( "%d", seconds ); } 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 50497023b5..b93f3bedce 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 @@ -47,6 +47,7 @@ import com.mogo.module.service.launchercard.LauncherCardRefresher; import com.mogo.module.service.marker.MapMarkerManager; import com.mogo.module.service.network.RefreshCallback; import com.mogo.module.service.network.RefreshModel; +import com.mogo.module.service.network.bean.TtsConfigEntity; import com.mogo.module.service.ttsConfig.TtsConfigModleData; import com.mogo.module.service.network.bean.HomeCompanyDistanceForPushData; import com.mogo.module.service.network.bean.HomeCompanyDistanceForPushResponse; @@ -332,10 +333,8 @@ public class MogoServices implements IMogoMapListener, } mIsMainPageFirstResume = false; LauncherCardRefresher.getInstance(mContext).stop(); - - mTtsModle.playTts(); -// playAppTts(); + playAppTts(); } else { unregisterInternalUnWakeupWords(); @@ -390,7 +389,7 @@ public class MogoServices implements IMogoMapListener, if (DebugConfig.isLauncher()) { return; } - + mTtsModle.playTts(); } /** diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java index cfc4bec45b..de632983fd 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java @@ -22,7 +22,6 @@ import com.mogo.module.service.MarkerServiceHandler; import com.mogo.module.service.R; import com.mogo.module.service.Utils; import com.mogo.utils.ResourcesHelper; -import com.mogo.utils.WindowUtils; import com.mogo.utils.glide.GlideApp; import com.mogo.utils.logger.Logger; import com.zhidao.carchattingprovider.CallChattingProviderConstant; @@ -67,7 +66,6 @@ class OnlineCarPanelAdapter extends RecyclerView.Adapter { - //TODO 拨打电话 Map params = new HashMap<>(); MarkerUserInfo userInfo = mDatums.get(position).getUserInfo(); params.put(CallChattingProviderConstant.CCPROVIDER_SN, userInfo.getSn()); @@ -123,11 +121,6 @@ class OnlineCarPanelAdapter extends RecyclerView.Adapter { -// //TODO 拨打电话 -// -// -// }); } private String getDistanceStr(MarkerLocation location, double lon, double lat) { diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/service_car_pannel_call_nomal.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/service_car_pannel_call_nomal.png new file mode 100644 index 0000000000000000000000000000000000000000..c597a3f1d050a175dd7d42d397a00e32dad59ea9 GIT binary patch literal 11599 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 N002ovPDHLkV1gskqEP?< literal 0 HcmV?d00001 diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/service_car_pannel_call_nomal_light.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/service_car_pannel_call_nomal_light.png new file mode 100644 index 0000000000000000000000000000000000000000..399904b85829abf1439dd71211f63237de585cdc GIT binary patch literal 7683 zcmV+e9{k~nP)Py7y-7qtRCoc+oe8XDRhh@@bvFV^%P!E0(8}uGh%6x_BM{JW#-<$>9gvs-Az&N@ z*&Go8M}mMuq6P$KG%_fTIy52~jX~{*12ihMTUaF0ilE5SASi3o^Z%b$zw^HO>fCzu z9^0Jc*0=q?<(zZ(y0>bg*JwZf@sD>|vu4fJ6B83hyy;DE`p*oRh>B~jxn_-kJr>*G zIdz@Pv8=N7AD5%h7x4L20rJd8xV;DQT! zPd@o%?-j3jMQ{D}*RPJ)ji2LAyKdU!k3Zgf;)y4U1G;Emv0}xVIsH+p9X{^3(5XjUzHyq4QjkTqI^RN=YeLz2wE?>U< zf3Lgly2;fdA!~%6{NyKVX_y};x^eJY6V6rXClsAO6zxJy?vd2Zs*+{*x2$h~0hCDn z&BDAJwh3MeGkRxXCT6pVCS@{OVV~ z8VCZ|bSQ(@D?9!1kAHN+>S%D0SsA18vBw@OYq3|x)vH(c&OiVBNwA!Xn>MmKyET%G z#~gD^8H9QB=9Ns^N;fJFnzZT=Geu|fUav~0ciwqtJ1&plQiDDW1YGPGpg;TB&khj( zb<3KU3l#MjY^IZ4kD9=1B|Pz|r=I#`0V)$zYevo7hu^)+F1u{r=ZDBp67BykRM|&@ zq#Fdb-a1;#-X9hqQ$1m;z(OEX5}-2%zRRv*TfS(~qTLGCA9+}!`O z)|U@_-~%NAiA#_XJyW8|S@*a*Fbe@JUv<@0Wli?l>_vN+fu0#dBKYX*BG#{s)>#^aBSzvw|enyeQy2V+UJ)mB^e7HX?^ zFTV7pFZH||j{(iM{J|9J4{y7sZcgF_M|7qi`N&6#-t)s88F$`!=MD76Shs$x3(9~h ziFX~F(Te~uTbu3PVVrp4i6sfiOh5Oz&y}En`w7bCURQXn!siHZyg@lxbR1>JW`FmP zLr+aYAdZSSprfUBvHTeja2!n9HU@b%9c*6`oAjCAqqHO z%QCIDhimuoU<(^{Lqipf@hlO&EB4|>&tCMR7tMe5t6%*vm`IxmbSQmNpt%MT%+vwd z;0O}!d536BJ!<06Kl7Z6qxJA40Sm?MBbQn!4BJ2g&Vy~F`v6;%z|p3)(Y>#&4v~Ws zG&-6`o{4>@opvg*OAoY$loQw(jG!*%;fEjYJ^JXQB@udPEmchPzwyQ!r%v9r>3=>0 zE!)An1n(ML{o=)odoO?a%WIEXN$?}y9Bohw5VC{!Lk{kf7cbxV#y5aAY4+E#W%WFr z1>G49=8=8I?F1}&4zld5_?pT-r<|)rLo7`jP^p{*#~)wzixm=!A#gQ{v94Y~+0X)c zXqIhi$jrw$6jraZH60a6lOZ+lNkPtz*)58ustWLBKrP*E-eV^!OeVGFQ&0Mxap zbu`M3lOd-*yX?}R0jegjLKju**og&@DZ#KIgFzNu`kL3g=3`Y46Dg-Gc}$H7f$E%~ z*VW%boj9+wOsjK%0;<#Uk7?~V%`!o;S&llb>i4Vajj>1CnIM9c>}K_5dxApOUVH6L zx8HvIdm}dUV~35d@T>S3J1 z;yU3%(6@@pHp{{PK5aFdN>?|{R*a|{s}nl8*)Pq+y+H798W?gU<3Z>92UYYqDrXjSpiQFG(zSCC>%< ztoDmv{9-B8HXpTL_Oh4tmMmG)EI#`?m)p3VxBuL^b5DEy>tBC*@hjf?h#knmz_j!} z3vke`#W!YYE&rCS3)j#esu}rmIaaF!H?)GG>!SDEb59v{PRu+5ng8DRyl-eXih>#y z`L@@TR@h4{ap|xqPw}W=*k1CImz1LOEI6<`WZXXc>|=4D;cumRFSE&Se;w&>nx|R# z1i_#V*lIC3*tOPLtM|wwj}&<9%t~h^9xA(vQ{k@mI^rhwU(s$Jzd!2RG z>79AznZ=&-SRN;T>AvnuJ4+pk9IRw8AdD6|XtcTLkAC!{wIh~Yj2Aa}D4q0|ezX{G zl+M>1wQ%m@x176z80$i!PvjqZ=%Jps3yO`@F>~iEdnUVDjBSjrN4~2ovHfZ%^rhr_ zfBoxUA0j|@KyR9Dmgx*M>g?mr+;`u710A9hw%hOAbIhy2Xn>IUPgM!c1_4AW4 zNpWb*ko9gPnv^ExXV8DCM*khejFGvdu3VnjMt zCvea)#uf0_TgrOVrB`WV=F7d|jV?pN{;r zJD~@8`~`@=C@--Xc@rFTd_WF&kQ=&BWOUMjefBQ*oQwFBH`b zlkFYyNt&U_rv{o)x|K8Pgo>Wf?VNi=hiWkxjKT=-qnjtyKlabR7Tc*k?NY=jz1sh={E-p(F9YSEVF%pxmO) z{EvS0qw-**eegT_=%dTQFJg&<&e+xg(sts2#n;q2Z5y?)Iup8RKP>}ufR^mL6Wl|h z6TSi9+b=DA%+cxqcKeR<*KE|sD@rG{EgXWgDWec|@G-Ei_=fI^y8|pg5G&J$&@ zW9BcdBZ<);SGEovuP z$OqY(_V2u;MVCc?W-!M=pK}{*1K&IPl zvrR4D7&`N{uYJwpKx_FA03V{98KvWPMAgoOcb(gq>Jo;+8XZ6799uUbQ2!GoSqAio1b3alRBsM{wjzae zBf7xp=_XxGhrKHLOwJ{_tmAWZo6wJL7nmuF1H}fWrNf5rp@$yY+ibJV>I}G03hSbm zTyjaxO}tUL`nGa)S2k=peHRCcClD07sdZk!MjN^he(-}mzf_1EJ7PY{#(3cBQ!nZ@xdET(pC?bfXdw%N@~|hIJ#RaO}A=p1oGCmQFG5CQj+ZmRoN5 zh=9KHJ=Ai5AwXZzg?rC?-qZ67s*E;;o4Q$Ve&dZdE@!^|aFuk$)waA1pt?`hZyao> zXTEDkTFzM)RByzO{J)g&)*0?V}Fdry1U)>S0WE3hg)1b^~l( zE@nCzA18w^O#j3Fy4TzLJT1UjouF;41JdmTwl4CP-C8>IxzHBYI&k8b zYZaP0M=u%LA7ga_SIx?`;-B^7h;}TCv=^%HN07gZ&ZrX(;v>6e#m{vN>?!idW;qtn zvRS9%PgC)yN9;KKj5|TlJMOq+T|HgtZ!-5~6~G3~#ahl-6|OOP>M&j0d>Ox)(ph&R zCc5R8TQ<>cb{|`grbsBb)S+ASK;kJH_0eyN<2((0MmjM~jz0UJ6PgahBu{&_qEMc+B`4bXrqn(d*Lh}MI_#A=u|bc@gCF1JLSLp#gAUmkv1?*x3h>qlSkeD1cGrlFGYvszizI?4Nw2skr%Gjq79dVlK;a)dk<0*As zwUu7$`7aI5t_%>g6@kHk8e=}UY@aTs{lP$UOv}WDqRZHZeYtjH2kU#u-)8J=<>6k> zB9gw#FP9s18aiDlchGGVomSx2-0^Uy-CO{TVvr+^xTudjnCW82Jov;oEgoFgWZ5TTkiqAi ztr}xq;b*kVni|CzCGom>y|ohGAoYe6MA1OeBb%bjSTNJs!9_X~pXspE*<)V#nfU1V zu}b5%Xqa_;BD8onA8{29bHysAN>GPdmdk>G< zO5JkwPjQZHom+%DF`-GgM)YZ42ec|+z*>XFAmWD{DLfdc_2V>f&td*+bq%tI@;2AF zX4U;GVLwtl@SAG6gA4}Lb~+fb+1~0r`1|j_zdUlM+aTqeRD4bSoZ+s!?&_a?De!1> zOgHOBwdm8r;ZKdwE-dyj^WUe7!fjhu>O)oQTiN-mR;^m8#6!0taxvo+ojXq9F_v!S z_I~)oANKqU05omZWl)W$lTg2RzW3gH*Fh&Hlo+PtleS-;C3*pRZKFq2Dl$#l?h?j|ITf8Os@~`%gVT;^^O6!Ja93vtBpn z%CAl4m?cp77?mGb##kS9=BWc7`)u;d_ip`G*wzcf&BcL(^&kH5hi|Hefk~iPipz;9 z2waxY;~(i2S6oqkklJg%7st-jx~NC?BWqv%>Q@H_EXIy`&D)RKpkQo^m~01UeT)A=|tgdfujF7P zFx2`MZ(Y_SL){tt&HIO(S^F(}LCzGL{lTL1FO8JcnEH{Ep8QapYPzGW6;;Z4Dqdhydy zd+f1C32A$)b>)xPh=DhCOl0G`c-v-^Up^E4uV;G`y4cu2Lit6ioXm1pqo`c0@pJ-T zhu|c zV6nR~HZD=Wa^=c_Nr}LNM7*9Fk)<-bEgG;DOCau$_g;`Q7h+ z*Zaa3zCg%Ajd3$|Y~n+UvHt-EUB+ZN$F^S!V;!-vL&*h=`aZwFXHE5oJR`tPmMNq) zt6=bhS|1w)MxA-^8*aE^y-GH=wHR-`C&bqe{*NVJix4BmGanoIBi8nr$QeugsE<5$ z(=qbT_pZsm)-_O6lnL%&ZkD?O7eM&H7m6Pc^rm{>q~}*Ej3F0Wf#t|s_I1doKJ}^I zO*h>%P&=_rV|>f@LznGYj|?^5%`$PYK_?MYpXj0Zfj}?0yw_NMRm`AP3*eTy=pqK* zbVTBT0dWvxJsIzN-}}nlRS!IRCLvPne(CMvi!Uzz#&_i(RSS7cb0c2XM>%5PO=Hf; z+ZSA)zstL(WqrYzum$X0cx+a_%_z_O*@$n}1)%KLf0* z)DoV&P%9%}K=R5u@!#eQBkf+7l<}Njt!G0AgSVBME^srPxu}7&GQ4w(b54 zt^6)9G0Dks13yz1u;j8HUG(?lz4M*#92h`+z?nv!`B4o!bw#YcZ9LGA_SXoSj2qOE zML0!pOlm!tR^W^UAF<HW72Zn@ql zn~yEp(4)&(*>BX>raKu|qv*NS1-c7+hdNR2$PxrfkT{^&pb=wTR{`ipVTcKhv3>pE z-4(w>4#t!LXELC+!JEQIy?Ok-YdhzhbL#OU=7%>vHuS`{Y#x2WKBeQ-mb%4L&RXk4 z7^IgN57A`Qdk8sD4w~&TQ5QcGpN!4<{Xf;-Lb!2gyBC@Vl^E!u#=u7kZ@XU;_dfs= z!#eXc^ihYci{hhQ(xKWV)z_q^qV_$ti#k!ol>b9^Q6!1Hp;@2p6hh)G<4-L6M;EN&EX(H6M|iTGrn98equqRSB5cstr$;F8=gr5Kf(|985Q>62M&x76 z$m1V%k)JNVu@U2+obl#~8#13OeN73j_v7w7{ z#z$MmXDoJ8{8|`n;G>-J(U$QUi`^8zNVOF#(Nl?j8GYI|_Cye=|KsCFdhKwFiNUle zo#LXpBE9zkM^-@~GCbOZR=f4*a*Xd3|eiwo#SHrq20qmd;lJ%`GGjY~&r5j-ZF; zl*ZXcL&hIHG}>d#$Qz44dMI(A#LF`N){DPL$AM!+XY{%jF-wdnJRM$VSo^Cp{xaDw zXH2_x(~&p;k&m?)iwzp>nUDBvLk5#&>OyY{Hd3iq=@{@&;~oQIycYkowun|h4b)mI zR;)Nv^jO&^Ut|ct)R{WK0n+TaC%~;WP}w)inSYx3eHwb62LE3aXXIH>&O4p_j88;N zsKJ}iOD~7(TI4JhUS4{!y)~F|fbyVQZut-kJ2ciXDsIHVgD1A+`^2BDUC)1rpV~*_ z@C?ysbs}<&ehEf@cIY2!Jx+sG{shYyIuFgd94Ff0TNreX>&8Suu|xZ~yG8#^-kw6f`-9=)&h+8lX1_Gm!@>PLN|nxj%R{bhM#F7qQ}%X3YxG zOLaT?%iNB}=eefO`$UZDu-;(WK>w|}oxTv-K@+vT?iFn>y#KgwJq_Y~Q9qN#b6H+{ xSss@CF8SOdjF+4Bz4WaM7cP8YRKDla_J67_R*#ktaNqy{002ovPDHLkV1ls}dddI* literal 0 HcmV?d00001 diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/service_car_pannel_call_pressed.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/service_car_pannel_call_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..bb366564b925e83745f5fa5ebcede7dab76d9fb5 GIT binary patch literal 10752 zcmV+bD*x4qP)PyJx=BPqRCod1eRq&u*LmN0bqfI!AOR2nK@`fE_FV2w-<# z$?x}l=R4=z``#`JC1oZDc=vqgE5EOt+unWm-YvN{t+#j8uaBQF`S~fA%sl?a8?S85 zs}xek>^V!Cg+jpz6TJhaUBNxIcXQAU#GGrEG=q{Tn~{MO-QGPLM88N+^dJV}w%`^n zoF|mJBne&o@9kR&J?F~8Vn~8faR2_Rw~^&ueDP&>?C5bQ0~fNQAc&GHGwE7w0BU3u z+{u%tT(jA9M`0j=fvu`a%wKSQvsiBo-cL7D0QBFx>z~B1Ko7-&c#tI>QV;)%m2&kz z8J35H(SZBRXVzvssE&FQ&vSd0C8gFJZv6F?K2PT!eq^(FAWHwv#~6c8#|Q;;4?n!g zoj`u{DqaL$78a0m^LkNE@T^J-r#X<%e0J`5RIJn!usCr6M+h$P@w6E*AYqY68_P-` z{LdUx*|2oayk$?LI0xG)1cW(r=2Tr_)PSOs4N9a1SFKe4zQ6zRe@y^k&7HUG$BlaJ zR#Uc+n6w&d&wM5MR9P@QvM3Wacmu^vAVvP_SASPj{_?NBFJ(1l(V|dgPHOHFazXfOoEE-f|?4mJ4IW@0J~Z@g zj;qyf}4BIRc`ItRUWzN{`}7GnU?UxLco3QuqDqbv3vLWLW!E=#!q@k91uK2!&SZD zKKt35U9DF0pSnARP2rt)-jiS?6Vay`HUoUbslWgX>(ta~v)?Msows~H3OrtQRfz_Y z3>L4y{+63Ib+S0Q|AEKd!GnhYsGEw!Oe`_>4ruGwUE(ww^;=34FTV6YBDFEH&!w`U zYeob+e*7bMUU#?a?(T%MOWdr>r@QB$KQL_Mk{$Em){Va z4Gx9cAbRM*CtL#ztpIg>16i$f+#?)p>+jV1rZ3i8flVRid8GG4H-+cFj@b^ zHU=H|Bxu7eSP>vwu;BW;hiXG#)D+2XzqUyF5Hpi@krUZKhuuZUQIP>bGpYwh!t+u? zq{Pz(4l8Lv#TaSd*SA^@!!$l!);wPV6_jYP;^oUMOiG5G+itl1|{B*O?>@Jnd z{pC{WbN&76-%WMe(IYz0vqWDqYRVL`M2Q*5Qn5OA&z|)koUw!1*DR^SPWJr)%ojS2 zJskMP!yY*CtnwCyMa{U`WNEYLIXd*F=%Ndp4ec#guoBlq6$^>d26|e{Q37s4;aaT9 zw5^#V*%sk>UT=L!rC!GdJj2knMI#a)!_?e>MGSy+gB5GUw`cbTiBdAa8uE2IV(KwQ z4mA1EqtA1l*hh&|sgKy|P?lm%gs@HY^{tYm-IxaXex z+^dIP7g{;0Bl3iyK`Ns-ckc4b3?R`F%Sxq!U3fhlFFx~`8^KpCtGNulVYFAOZ~pc5 za-%u)l6WL9SMw?y3=M@9LYz{qrRL(6M>=l&&=4i!HH&&SXr>~g6b;>plP4v5nSHSC z`n!Kt08^lvS0_usl|h=PXEFz=mQO;|X*4tx*Sd%WDh|BU$gm8_$!rJo8r2wG!M$|g zRVfoob@}Bp6xb_8-4+I86Er!=Rp6*ZV1Ag*rcFECkUuHt?Vat-~oKfdOnD zuesGr1JHvwPO}j+;whsvWy;J^jYeJ0)|sA<1wAN^g;j7r|M@|8*^EnFqtUWN6p!| z@h8tDP^O)-lwP!C?YC-!gI}=-qlT6t9T$s*V>`A#a(?7RO2doew$#FfYhJ@TKP6_R zYSl{jlr39+cDSvPXP%LRkpT37RbN+cHfAz_44{=UFrx;m3wED*g@ zKT`;vBj{n=EHrQ*lrjZ1g(e*}vf@-vR@`Iz_HDYr8<>+3`z*pRsy%(nZmSK}zUS9l zuQgKe7H}?j^Je07-XKfok*fHTc6`sC4YDH}CNyCiY+IeVbC>R_HyV8u#st))#V{&( zVAWu}Y*{g62H+F21dJ^PW(@o8?ppVjEn7|sSZ)z)Qhr)_E1LG^%4^fw6of^&Lgv_B z536&j9WfT%eAR*f8&wtH^ePW^P*>e`xv9nBey6UPWsEjFLqK1G5+bcgE)T`M9d=%x4HSUzFbVo;r`|7{@olJ1Ayn5LE@P|J$ zFo`6se8#aAM3`QJj#L_aYG1B){Pm7)>;5ercnjxZ0?G;k3nQtX8mh(}cYMh-d{4J* zD!=o8-jzup;1bVNMcqr#1s%cBMNA+n;DX72*tYGVJ7u-O2K=JpscHZ*Li(sdEsnG_~4zzj=zQKRzog?zyMLcH9DlDFLZrZpb6PO4BCPtt+G+fGK(4KBp2s#TF{o1Q# z9K8OvQ5zDVxF95(St}jZC=)~e(MKn6{TN^UbM5=z|53sr4w`h4&Z1|77v)xkOhnYd zY5k=|T*LX4I-rGjfL{Lv&)NMvvyqQ;Klq1xb#>w@6|SGw+!wxZtH<-0QUTfpQ*|p# zvc2B$3SP%zGYedgIyz`~Zmz>NdcyV)psX-@HYF4i%ue z51O5Zp&pgpq7c}&wpx5DP`uKl$urjCtH$)Go%p54P{HV4PP%!wZH-G?6@!!Nx(ZsNr8BI67`v~GhU znXb6QK)h%$97!XQi%(?N%)PFG1cF}hOe=3-;-JKgDYIr30GnT>ZoF}&Nwhb)=LVca z>!EewAPfZ6Fc&fkMj$+0EqCENh;MV};wnBJ1rEt%06iTgyg+&aU0^}Kqgr*#moLsR zQ@JQxRek^XV=Z?GSco1cB9uy%o!hrPxF~RXdsmOCH-_G)#m7Cj$tDjM_`i7ZJlBcS z6KUc#xKFj|Ne*0zZ;2(xj}AYU5=b5TR8;SoncW ze*Ed^?2uobKKzjPC-|1J30x7{8d)lqp53->9WQw)--xvD?Ok~cmt;l_x6Wsw4am6Y zjZ8s>9R)U9r(5SO21}rFUiZ~o*8lXm9CSKN>DA?Uk=#3%K%x!b^;X+tktcH@c@Cr-87sjD{72&nmx%8o=SvbpM(NI9pJL~n1RsH=xJ)zoXw=}4;vl>SG ziUq63bv5h1)u=Z|4gw8JOcHr)xh%HAhE7rQ+D51cu22BkRWI z4?X`?%9TIDJzIa4RT_CT405Z{H9gDjZZ>LP46BQ;J~asv)|_B!&|3W_a7i#hq6&G{j*c(w z-2NyomyFzU9$J*k_<7ua0r$ldl{V{k2+lB)8HlXRlxYHfLpL4tAt)q>^Q?P!^{@Yp zMBG9K{k&w#l%-wgU(h(gRaPrS4XS5HSyl>{OEeW(nBb*aS#<9YOeC@!iOeUbT}v)k zX2q5Ox$58CSsw&Ypho_~WD|BeP{5W1Ox--H_I*t<35) zfBv!+mH?sjqoA$O*$^0hTOCP&Q;Pqbft(g?Sa7c(lrAU{BUvL%P^n(j@*72Fb-M7P z$*)kE=DLhjm|3!fZG;9!`Rv)3yNf4`lgpc;V>7^>dDu9EPB>zT0(v%#`Cq#*k*ZfH zTsrN_!PgJJv`KYERmq;-<=?8+hQ2~LWlPusuNr674 zP6Q?JJQA(RV@nhB90^*!z=&MAK_*1O@wQHrgqgT#+@$*g7oqDvQ$tUoRMNCmgZB$f zoHzkfj*}7j@WNTsUAts~+q!MH1gjN{SOO(*pfp1-RBV|6kjcbRTS5>;2&PTFeDvYN z2i9>c+eA?LAl!3$i9aoS2FZSoJe$ z7N8(Vb!cS?;NTc|At&+0k@!sHmNW%89LywAxn8gRF^TAiqqM2SR<=}f^yo3UlPB`B zC=WgKgy4qcGh#nLClivB#UT~oAu`k*$K<1x#*d%!=QfsvIS>OQ7`|0RY;*xJonJC} zB6{01#r}We@rxtxz9+g`04Rrw!kGWH3vAWXWmduag}w)rm^gz|r_O%T--a$GAu~TR z{n%SYd@xV%e?Dx;wn4Lh=9!<%Qz}xZe57>GU?5}>(q{1Le|QB;leUFIW!Eh^Kkg>c5b*7luD7+6)OHIfK z>iu)iX8}tn!K#gua&uV2(go{k#_ABlzCE&&ld!Gh&I{{K@NE_Co4S zAQjICobl`vw>6^GvuYQM#g`=sDhN(eF$Nt<$V76EMC`rN{)HD_!Uo;cM7VvB_McDP za)W4U0dy%T*bJE8q^DMz0CyspCIR5eVY&2w3i5+vDit6u)X3I-b4}GKWu9Un2&8Yh zd5zGa0NyvQp1XDUb#&Bu-FTdEX$a}5eb2d9U(?(D6@>T+W(@IhMP2Lyqn*bd_l4#(?SM)HGT7~cipaCPfI~qaZ7@I z4&M7y07CQLVcZr`xg#V%B5{xc=0sxB;sLgAyz!2Ec<76#<{IP^P0&Y7K z#$V{BOqnQ{mVi3Qgrh8pPb-3@5XHTFAG0S|p+pUQM3J2*yo4yq2@0NrvHq8}X!q{@ z?n6AWE#EJA?7+5>-*d@v#V5f;^!5pQVDtDo(50}run#VCmOH*dp?p1^IBCW$*o90s zTdqdBDn&Sj)ulw5yDpTjHPkwM=uJ0n+*nt^ZA9En@^L%sxx12oOpgCBChz_CK6IxB z1`&q-V}KTu_!I_MaKO*@ZR?hkg}sw=^`YYR>}7Hofp11yFA5edl|_JcI4T66oab%Z z_qw;SzT58B4urBBmOYpq<+)dDy5k?6gna_WI0)3n0d5cqPl`zr`}eOuj>;dC8OVVU zk~k7^3MP7xg2zH;n}$N$r=Nbo_4hv&PEEKP$%m_wU)7itpTNNmCJV!nO+6k_3;;j~eFsKHgkOap1-_*TUx;JT6m^=4M$H%+btm0gq4q?^Phs){5 zHzAWT*ybL#$M6$bxVt{1)z`Q38C2zJGOf6roooXHSXTY4*g{JXvI>&?#pB1hF=Ix% z8fN0)f!DI|93?LE+a|@>t#S>r5L0!ElSkJ%kZ9R+z@|h#E|W#IK&i+tHK4OQ4zO6M zzjC>H_tq^B{B{Z~+eFIf>g<>k#>_Ru1H#jx1R_>ux{NhS?7gkcmHF^&8+sq=LEI+_ zI8QpBPk@H9i;W1_H6A|r&Xh~9nAm947HSEIf{*?e7CCfa->5XOHVRZETSOdKQ#zB7 zu(+^~+C__k!&4^yUL)gb-!cpzqDuJ$o^p!M z+-3qz^z!^LUbyhrzKuHuZcqIX-W&v1k)gI6BS71`r4|94M6iQKpreL892PmPR2#Ea zr6o%~F?(R}qx}p-3MVQs&0BNq71E&9F7B1gJP(j2Q7V<6+qU%~dHq9cL|INgjI1;_ zn!n(NXYeyQfGt`mq@Jk{Q9gkjjGB99yW>DdwG+=r+_$mCZWzW{B|(hqu3J0d)WFb- zSl8|5*8u%-j|1gW$6s&VdcQmq5kSv?IO`+~bIzRAqq@4wkJq^?ZnFweFP#yw%XpJ1 zqfVnz?fCsIoA0~Ru+O&7z@DwK=`US+!zJ}b`A+;?rr!{`P9d{Q65>hS6^o@qxTo(= zQ1$T8rD2^*{|iatTpYKvnKy6gCBmH@NMu?)3ZS1j>StT2u#y5tJt%k zxWDQ(Jes);ce*`Vs}+ALUkIbh|5IxC$bX4pEm*Lid#K*|Z}8N^zrxRayk!F?4y~bN zY7C`NZ^kC-c?}BErgBaKZP~<3NgXI?1AFvc#X|8P@U7~*{r&ytbSt94o=cyJ>s$cN z#HOd`x(TjW{Ll5;&~HJ1bf%yJ5DOY9UwC7fBOB+BPF}7>*If#~ZgI>OdRjYOUmwo%%zw{+V__(x2`EgO&*z+cl!J)?A;0nRjteJhY2?Yu3X5J;`vS;BcuieHLp3w@97sUCib;8{SnRyDzkglk$pPA*Yl{(_D+26#dX{~=)~MYcw*RCG>8?W8 zI66|d=G@e!CzAx5C}3fmlX8=#O>6t2iK5{NmYF64FK@RMn0CHTtZ_eb=XdxeIInZI z;}r9(YsiefTH5f&ud#TGgnelZ?l!gAOs%C!;c;Vvb(fArp28Dh;dp% zse^PnJwO)6y!e2;t&L0lUq zB+nG}Af+mrDsc)%q42-^JO2{TYvDIPux+DJy|^@)%_a5Td+!5x_utw%$;C$LtH0fsc+ z*$_PC7@takCLvLQ5GH#e5-pD7_khp-#wSIWH*@fI0`|Ong?;AZWxO|4?o)+)%$W1t z=RbEdlLBV8wQ^K$e6g`vZ?T7#C~{#I-X23s(L9=lO#*wfGnwk@BoKf#E)-8ZVHoVg zkMDRT(*J1G^|rYPkOeh|(74bLOP$8Vh%B@&X-tngID_iI^tGoeMvusQHT z|NWqkGjh9IEPO8ad8&b#-Cw zt|uR^?HpTgwBI`X){xm!uw`6$A>Y-g;V`~@lc*RUCzwrWC4CZPwgpgI)3si>Vq+Cj z4wn`IX?#Rrz1hbeZ$eCvbBe&!h+`vHA!kj&voF`cTU|m(J7V zlJo#3viXWyL=6ar3|skQgOoz=>{?30FlyXmm~}<4Mpj1_LAVhEjBx(5hXeCa2gi+Vx^@ zf+p_B+~+R6bdoVn+rRL_0k?VcP6>m`X_z*S@uiWNCIax2!#$NvhGzv+D|qyv=o&tE zBA{ddTme!RwWOK5{7`(xGb@UzTJ30lp@`kVEyiFUvXcSF<_taQOk>F8*)Ax`1Epfc z%`gk@2u?xy2e#tw$#zri`w171*ZkqppwvGZ#*uImg@p+p zSiak^al1Qq>?3_NBpi_aVyn}*bG;DKk1FebUY}5_Y|=agfY;m0J0at3(;6u z9PO!xMpH8vhA{~XfdPQM?%@qM_$CKwquJxbvni3Izv#lT?h`kyhP?*}F`5%#i(f8; zFoC3FDH_u>G^gyAZ8Ft`rNx~JjAkz?%8(pQX3l({uOC)sJWp42T|qA-l}E4usp%aB zDp;E+_DLbqwL&cD%lqRNao_!qjj)TdhtkndG*@l@U)I4V_AST5BtJA+Xga7E3W zSa0?ilf`7v7^LJyS~$8GI5mJfx!-h`T{cY~ZlRJrn ziU)JG8KCy*mf-EYv4Ln$rcXlTSol@Y)(%0JfP;VUQOC4Cg~>Sh@*y{U`V@gpCtx_5 z&wh=&Xsn*f(k)TFdn;>jBqGs(iuNLtSkw3w!%|A^%`D9;#WH%>`Waa2zF2yNujlRa zciVXtLfBgCwb2R11>ER|I z<#%Hjb=6ff-3RY~C~u!O?AR-%dHIzq6F=o%J0Xpg>BD?^eF%+`#AKYSUqn|GE))Od za^)x3BBr0hJ*K<^Pg)8a90UR?q{G;V*oQR*EX7I@6Vn7HT9c_GK2KDsmgVAJTJ(`< zZXMIGHNExbyL^jE@L+MAKYEm#F=MKmK4S`APczQ(b*_AEICpiS(Y*!anMuuLUe;(GXv?d!2e>U>+3S?=~@07ZVH>?Cp$IMpjrfCrg|hHm$e@WNe_kvngxp{ zksknnBS5xci3L>wQ@CGDRg9gC7vN zN6rX5NW_Y3NzltqL!v72XeWc&P10C+|xAkf+^=ZqGHOowU^5aSu zwM-j5nTfs9aPE2KQuPlH9s2psVB6ET{KaMsZ?I8p1qgUqCIgdX#7BS#+Ib>tEk>+@ zs--~+r$t+0raFH>TDYLcjU5{v$xK|C9a%=R&kgC;vqi>*@q9>}v@Kh9xsUL`s}(-z zf*{YUwm=EPgftRg*?5>T^T9I~FYVaAZWh(#>MMzkawq>C&!~k zs+FO0x~=xmrj8hSOW&D07HIp9J#xYCBV2j4OC$P&Qu2k+uGHGqTz(-WEj_;+l1@IN zhq3SJ@7ino_(oKc(&83i<7}>8Nrkpda?aNe<3>ld68?x?_+jYv*AKjpKNNoy!Q5mx z>dF_#&$4U{P+*OcItfjcJWs|9DBS{rBBlPrF7QF4Ngm)+6dPaQRmTe?-f*wJ`no&+ z{85g7w}$Zf4;k1?39cUGO$R$O$l`~5j-#Aj-~ZsK{F&kG7LY_^BzvP7Xc#NeF8yk? z^J`CTzV895vxSM^;Egw4-g?QDnWHfo*J%}inanDA!3Pa|BQMsFqr^_45DvMyAjzjL z79K#XsfJI)6g63B1cbrv0abnz@1A%W-#s`v_6H#{#}J^zf-B96$HJ#HU+%}rXv%Sd zm)Xr9ol9&MN;(L^lIaDKl+S~Sut7v=rBwYU{tVuK6`o&stCZy&{+#`{hK2^eqHBLV z7^PY?G<@=HEPxUiq#;1Fj9R8*5(Dt@2Q~>QI=rR5Vp{~_Rcy-TqMM1A3r@hhD?^KJ zGqbCB)QZ^LyQp`%)&g@ngZT?q{}@{b|MXd|0m{%U5sv-JlT!{uD~g&913+LC1E zD#I(89|lCaZ8LU=p9~IQ0W#gH+u0i~9#*+`>y`&cd}V&#-dyMTBaW9YUD`D;*s&S+ zAjzLP73CPS#tvrt6*wwpokxCf-i8%qf*<$qDL>K*5GNrwpQph$?ffL@)I=|&=%Y|5 z?=F=-Ty`#xZ!wgQ(N>oiEGYgE?}4~g))t_pxeXU^%Pu2idPV>;(YEi;V`!b4r!jYjyh~UJRQU(o({SffAaS8XZyHTM9{jW<8!7LFJ61w;NZZWu7IbC za;50i^Y#GQxC9V9Zp=us1C`ND#E$wsGe8l&7rQCVP=FLAn zqhmncK0nrM^4yOx=2=!(*QCF#)d#I=sFAW=oZ6HBa6z~R@a^(j{kB<7i)13tw-kJ7H`Ip%W_*?RSh;Qj%FJ#`y z}dDX^!Lt&pTO zzJL-hNVyA_O8#Wiru*ctSeopY*(V|VGTjW1&A+EmEDn9SR@q54ly!hl^{Lb-h6#YO7^Q)#cvR}2=GxXQj_lfb< zYN6Ma>OF-<;VRskI1AUc`6_t4BCpVei`?C~i5)jLVY4a}PGa)#dY=OS8qNv4^5^YB ysqi9xAbqZ0=-5{+4(-{v@qu^F(Dkoe?f(K-E$?>@HkJke0000Py6ZAnByRCoc+T?x8c1 zKm2e*O2kA5tXy~9b!+5>b(RMoe6Y59_39Aylv7TL2II$%ZwtNW4Ol<%#1m_b$W0N} zx{G>^f{tu)7ehLsh zU^m(jfbZ#D5okcZTeoiiaM48K`xzeq0y>{9(UYvwTB*hD71w;7Y-Y_QgAzSh)lwqg-yc1@a*>Kv6 z3JNVH-@SYH+JXfOLZAZ=Jg|lxIO2qr9qTMM;Hp)thSrf?SDX1-*gD{rTW%SSdQRK3 zX3eTS_Sj=hj=YVnlMku$L}C@pBo&y)GUeLXedI@u92r~ZTgBrh9Ese|L&Wy(N(G?) zgcDAvjTkW^%r=~+wB2{#eIZ95fOQ_2aTlIEdGh@$SFT()djzv}#fF&8MDaRi_Z-r5a}(q-13|6zyE$1 zx}htMmDeziBQCx4(!~~&;&TJ|YdAVcwF1{hJ#ZopJB|;M3~=qW*Zzb|Hrl@r+edo@dSBWQ$U1XhGL(9w1 z$}Dg7oM~APEx-Xc-YUskL!7K?n9u@5a#7idO0L~Job_>8Jy8Hsfk=5V&+g*3@4oxi zI4N4awM+4B)22=9w`kF#_q=1)IrlvC%rjvcR}fy)D}ZJ=bM2HSeL8q6}}*^Q1hRUduy(efE-%DI%(H62V+ipn`#lIKi#Qj2Ri4lGE(t+(Df zw&MNw8?WoFBX2AF*hLmVLm6|=Q8&H*`s)E^^|BLQI@Oz6Acdue9CAn;Y@SN9ikw@0 zI1a3Uymihx_kE28=>rcu&`{?MVOFW*MEz?i06`^NS&2gUUrn}0wC^1$+HoFc_rnXc#P}avWo#Iz)D6~`=FsWR$V&P zqpGk^f3SPoc#se3!0Ju==77hDT1*7KzTcq3cq3G2%*zkCV_^rze> zVXJuXT%hfTbd zDYP#FP=D*Kw~qSy>#u+3u{OALDVcPhrm$9q2CcZ_iYqqtcD|lF5?DQZ{f8fZ*r&%)ETGy-(p26D&(**a=WumojTPp4M(_ksbh{gCd#rH z8_On^hqpS~;O2Y#IueM{{^!UCVNZvwRogcYTjyscAK=PFuCL8Xd}L@Aez z=&{Eh8E*jMzjZQ*Is+A#s{-|?X_2U($oOVsK_1<=-$F*`R;=G zMg%$TBbK9=x(Sq`a+uPkWFD`&MlfY#Wy0eMb|6+~;uBtCl8vAO7lgR^Z(Jk~28o%9 z@>F49pQMsW;l0e-<5VyU`~NRIhV{%wSTNUCl#Hm=d)_CiWQ6m2$wjT6D@%6qM;J>> zH9`hh**IkB(xtOh_tXZbPRV<@w^Lm>zt2mbMJqMJJHd%^EM}a^7@ekNXeCr;#EdSYDD{q@qOG(b!RZ`I$43s z=&?IZ#@x@&s9dTxf+xeTkbKjER#u`}a-XSiSOB;JQ|TnH&#RYi1m3y1ACEClw$2oo zGVU_i_XB0!>R3+|i*dW$YIIZ=oU7K|GNv4~%i{V{4u2D?`{1>M<{S2QgJdJH8?D>f+kpzA;5>*~QVF%2G>|;|24F^oBZAiqlgCI? zBXAkM_O9MIQvwu;S7S&eGbRnJ)r)V%p3g||P@AvRHk5`&;9BSqTrv!3K%k<4Ue3Cb zO6er)2z$kO_uY4!o>4S30;?3W6quBT+I%9CTl{CAeOBY9A`EF6d)bL**w^tyG`^NY zYFN(G-cZ|!3Z zB~2S^r+0AVn>4TF#ZTGYd+)vdC=ZQ5;6N!*681bmd8!brwIlMfm7Fxy_>?cnA$Fy!77&CVyNS;Y=VTT0C`UJmYeLgThR|? z`|Y=1?39#mE6a;hgySpQ;iV8IA_F=ta@@CXU%}(9L;-#A;mbDLY!me z%8T^wyYD_c9t%=fP|A_j@3`ZRA-G0>iEv}%I7&r{S-p*K<661J6T>>LFpiInu*q2` zSv;L{lVeNg&z~Q3HUaBLwpn^%t$*22C!Q3~>;^S7LI63*qDq+h{{8zmG(a^vlr01zlqVJ${76MrS2o+gLP8d_e)lF|Nv z0}hCZv#vn=nv5@c+v4r5PQ2_>STDnh;*!!M;f)ng@;&z0BZ$-pQTr8*Z1Sl5c}$iZ zt0Eu7W5OG;PD5?#9pNNbeV1K!X&MdL*ynb_r>GLORB`0X+hHpI*ET(H^h(v`P<2wu z?!5EP0mDDmU#cE~?F?Q?>eUG^0Pl&pHa`E7 zA)R@Lav+`8v(A@Rcz?kpl_)9SiQ>%?Z=hJD=W&DQ=(U}8+9}4%@~`-oVuk(haIso% zxR+1>3luNss;B67+ih3dcH3><>Qp;P7#ueCV=-_BKJwKmYvmVI<_EC>Hftd=7Va;lRe@rB`L7z)D(F`XVZO zzHx?U53w_puxP4bJj=^IFRmJT-g)PRmx4nh@EY2oO3oY8sh0_xq87`BaQ9MTqOxP% zHYW9Hrm&XM4(Equl7&W`d+xa_AY3k?r8X%m_k0#^@ZiDW162mLNt0J0k6j~N`ASwq zaemlIn0TJRRJCrNgO*8UB_?BGNNrNmi}I@xe!;2x3u5iI_uhNQH*I8-qRNLIZok=U zI9l-_We%p>fi@`_rkqk%r1y5jb0*@{ies_HNuWxhJwC}`=f|OJXat?%aaR0hKg)U5 z#OcS|_$%V(Wz5DTS{#40H%0D4=RAy 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 Da!KB} literal 0 HcmV?d00001 diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/service_car_pannel_detials_nomal_light.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/service_car_pannel_detials_nomal_light.png new file mode 100644 index 0000000000000000000000000000000000000000..7667efbfbd6b8c4dc97f8398b9e7b0b244e9fd33 GIT binary patch literal 6984 zcmV-O8@J?%P)Py50!c(cRCoc^oe8X^WqHTHduI?AMqq@pM1rG5aE*hA(n?aMRbsUc16X2djX{*) zQUfW_7?FWMt!Ub~F$%Pa(2+D~2MpFkK~0FjpfU(C4loLCqb$RKpsX{~|Np(`_sw&j z^L}T!_YPy<wKg;{R-@cqP)l}N|zyJNiw{6>Y{nXUd$*+6e>n_ibsi?T&h8wmC z*zmCpUd}DHWp2Fj#%%^oPfwc^uxXTE``XtQd_g!v1e$kqme_8&<(7h5h%rXAu1hX> zcY4c~Eo+HNABM@(y-_NqTzv7x&8I*8>B66T?zx4YcG_vpsi&S=_%@(2{lnI+TQ6%B zy?zXnOHXgU`R2}{&Sk#()vul^qeoPC(ru(X18bTe{_uzGutz6&(^tLfRomyuj-EIG z1TwYG4F~i6vuBOkt+(FV_R)Qq(T@0DyLRpOZo28F+iI{j!ViA%gI%6_>ZvDVdGJ~? zKBdynaDd{VXkXOizK^=Q79IDuEN_5uD3R3ZEEm030SsM{v70XR7mA^gd$^f3%bk(p z^Pm5`eVX&nKfgKq?6ZsRgCG20p#+}N5VqrPaBEP2nmi4lX2fRN+RbRuZ?p6ndvyce zefQlL_bt7{z_uND;DMWq!(oRV=A3JZgkzLh2xp43rPqG+qaPhF_DYMImsJA3zh^3B zz#$qnf@f;A{)Ba8HPw>Qj%E*k@8O3ZzHju6{6G?I|Gua|?*rtZF|hTPX*GLqSb%I_ z_gE{i5GW=C&ZdFt$vHhsCQM&b8$|1|7$)A$|S2b?as}PYxVcsIJOl zlFFR4J##!a<9nZXEKo0QkZ=G7Q&;-fV~;hLTyjbCt6%-9dBrPUVRiHS-~Yb(_{Trq z+;h)8jfSG=9(m-E=8QAWXzsl8&gO_CjwpfcABy_hg{o>dqsd%6^>y8K*OjH{7r*#L zyEI*W_0@&nuwg?R({Sub;M{BS>YW?G}y?HSP!_1A7+&X4++^P}|))HxcX=aVThgkpy{|o#0@%uexXg^-&GM z;}8Z&n_TwA+G%c%Hu#}Q0GVo0KVN}PRMJKId{;yA9&J7zj+h!hG(kK{#F<`Mrf1K4 z-t!h|J$e*Oq}2pk^Pd)Ifq@PPbwDPwD3d*J5RGB61>f|JJQony26$5^$qlw~;?p@X9Uj6BJhmrN;{{HM#I z7l8pmorq*mZ1|vuW_y_fj8KEV@P#ilpZnbB3Ld?WDp#&tS#*4T_`@G=KJbAL^x?o; z*|#3xWa{DZ=d+*vY^z2`5(h%}p$~ni#lhI#cff40l{gxRqjhe^_@s?y+0DI;{@B~& zSY`O0%zJxrt=vM|ZEg#ZO=IolU5 zT)5s;*|?I%{6C%Abx%TcFA{Xtdzf*EW7cV~hKQ?m7{_F#fS zcinZ@y$?S4;0Gc$^J68*PEqddu&$A=oJ^2BV&Jn)Jy+e^&eU=8r@+jHPTUC{fcO}p z-HlUNoO2g~zE)JWSq}c2wASn`UAt=5Vnp3oozTI}F}e=8W<>H5Hx(3f4RoxAjXLq0 zbv0>mUyzD0v=cgDy-q&M?C0RL$am=|re?4C8yEH2-vY_o6c|&5N z;8NIZqmZbN{A~Pvoo~P|D>V8~D^YvMPtvf=Rtt`C@IhyJKK&I>*CdwSO8mY(gwGlT z=<9%!yHOaF0Fl}j?KM8?qObXJ{Z-RCZ~yUcrzW0LbtUT3Q$QOutUu^7ChD`TD^ErL z_nMK_WhT^tTL@YKVj7@ep}Cj=hory{It%~*Dn94_(v*c^G}kv6xD{3wu3eX6?% zL#7dkje;yYsXw>hemmxtVnbnBNBMmnu+4fJKG$D=eNol&TZbOMDP3;;iky!_VLAYk zqZ6S2@sEGpIML$8i<=WpI3c#VcdJOqwde4=hj7iji)^2sO5wMCNGoY6ru*7~fAiSUDF>|FfIenPXc)in%D zP)h>7W*eu-`SADoM%hp3c)s0p*OJF%kp~NaX*WZ~BC(E#4P=Yr(AJ zLlIHVyq8&ufksT!)%bD!d#92|ml*z{DZrGrAYQZvmhYO*#j&Ch18Q4tSvLp&o3u$k zg7|}(WYJdTK^3gv zA14uUjGagSH5&b6i5+QmCL+MRudPrFv{oQ~xuamC9bLv66LsRxix+>05$RZ+z(Mw~Uuna8J#PSlAUM4j@zv&&Ryd!-%>1;tLF0|S-*o4U-o ze2K0^qML-ysS`PowrsmU{q)msmwvg5f2lTu`>Vi3;x~%=^Bvi~rh~wnv+rEwId?+m zBLAcUF4U*QV&qkDyC|WfP}_QKovul~O*g+bqL>YBqfO$h1Hj$%)W8N6w~zfoQPnWn z-XWi*8S-FE+$QRTiuN6n`$Y#Xy5_>DBA|89j21f-#*({{=em^ewlxwVlwO_#CuO>J}5Dv%bdHbff%jkA9BrhOWzBkoKOT z@ogt`WpAYwGzTJB)WMtD9usBTDF0!5_)+;a8|~v2r4w2gPK*U~6-MD;8OdDir2fQ% zj_F^XXSPr2gl6F~3-sPJ2g-$lH>J(ipV*W7>yg;~ox5~G1s7@s#e1sVNKk~{7sKr;mcDD-ro8- z(}Cm;=oSlz{ET(xd#?UDPmG;&T4oTzxfA7~kX%T1#v#&(c_#eH7pcxN>lcy%xnOu` z)Ws3WcH45t;sBVR)IZ|!*G6f1-|pLmL|~Tfc+EA}G{5}iFWXyKC!c(B^W5h?*QU~8 z{8z7D-TdrlKP&NkYwXN3&ukVgnz<MBp&3L_0RbEA~o=$z@6YXZb)#+%tyq*yKeW!?) z^G7{#MfYoGA{Gl69n=T7I9q2v%J^M-?X|G2-8kadXqnd{h+ztE4ERj(?_u^IxN?Ux zMOvnLn%zhi6M`|_Yp=apjOB=fcl>?!DOY^@u*Ta~%O7Le-orlPN59%07p=ZxB6Oz5 z9(!zSGsd46zVL+u{_lSGy9Ww;@rz$vLXq5pUww3=V8_#)pEgIt7GMtxZz`XSWD5ZshcE&@y}7G0$HN1XYH!IpLSq6gRIFMT7? zeG>hLeG7}~FN;(!AVcuYWF`5tIFzyP49=)!gBiG$q~9-C=RXT8?tKQ(nLoiL*ZJzAyZ zT2OQZj&dB)as7>RbDVMgjaLUY#dr4FPWV+s1uK^@37P{BlkGzr*WY;jpy-^dmd`kK zU~h7nwwZB!Wi<6Db&UqhxTlU-s9AWvRA8w?_Riexgn|&~3Nfwx?#r&vo=|DaI+DLNeC+Uhykc{JG%9r4x68 zz`B6;oK2fH`A+7WSp={_bFr2)R->*l+4?RWF|5XKQabBS#6-G+x0f!nd*5;@MMA-) z4&9*#5^TndQ3dgyB}J@oY#>hLnn&QY=*VtX2Z=+ehWT*n};m&132 z`?fyc^$B5LfSoApl!>_e?z^9@r!J23s-V9Al?JU`bn)QD=7G%vI*A=DaV*1|(!~3D z=4-WjUZxijzPensPm&vQScQ^n78{pbt+^FepmMED^QE%B@LX?O3TlWm7{CydE0`Z1{B@&wp7 z<7+ayTCS|?$v5gm>-{=U8T&AzBTiL4*y}26Jf)7S4%BNs|EfCbQxQ*uhnMk1U>2V^NgLXJlN}5MA99wa=JmMp`${%gKop{48kaE z#0`rVYsxWeelc#XR!zuxnvip1+}ZH6o(Mmusry7%sQA7!aCgRyPQpih>~Q3ZWBQ75 zB9;LnK5j7&x{Qr+A`d>&uKX3un&&_N`S0v{Z$IK|{KONX!WU=_xKeb51I9vY3Bb@{ z=qN1qTKqh)V7p?2j})Iw!JxOCTg1Qzx<+frJ0w>x$>dnbgITats5e2{`Iajl?zEc= zpivBRq!AbOkq0v>cFcoMj8o&mbxoFiA_f_J&RMH5<`sUTP1g2Nj8PJ=M=xHa#J5Pj zCk0V7Q1r;A=rR_}C_A`FC-E7D9c7Ps;V1FY{$sPoZRt2W_0EfzB-UE+Nd>!G^1w?6 zU?|SAd8n5f#-J z!ZTpC!D0|2792EVA{Kra-3j?`)H%qXD{pm)t4>7kO!zK!7!&&u4yxTdW@k-{7%s zJLMcv_|0#AbG77sViD2KKt+4xjm>iQuVEN`CbcVu^~^YFtDd#u~mPK4eeIzzxWx0b-v5(ab2hD1eYnNDUKPS#_CVuN<&&-j{5 z{nG0I7m&-&x_3k7J{kLV-Y%@G2qze2r-(==@yXa+ zOSZ>6UHl|I89U$k6@Qx^EBKT4mus{GIgd$ja<^PW?ie`qF0$4#ZWIQ5Ek8ELh`i7SABaKBkNNl#bfx&*&RaccsKp%Y~@3#!E zxZ;YU!WVmt{iQE`sqaNSY{tTy{`99mZC0&XRUI_j$>Bev^CV<{V`4n7$$ncAKWK66 z<+hI4*rDK{QQzbD_jyG7L!J>}C(9I+kAq`S{Gix$mJZv-p_7psC7MSi~LTYf32&p$S4D* zD9h#}CMJ!%|Jf=w`w_=_c+;bfI;w@n*fIZ`-t?wEpBN+Zj`!BLzP0UBi~(=_iWMvR z;>CJwr&-UBuG-(SDY2m7q3EIbWxM3^UgP(~{8Jg#s3+EnF56?y$b&PrUTgaeemC<1$se(j76V&{94S0LQ0vEO z;9`OBIW}^nT{(!`Wk(N=oYqGkoN3J4g#llSi!IWK(?ndL&vf6#CjfS;@#tbf=whNS zK4YV7KFh?hKITMk8hxU^#t*~V#wW+MevYW5dls}vp&k`q1dB8 zHdFM_aXJ(85kJNvzHQivj}3|*n)9QF+V7dnuSr<1C(3UwS6@}cM_qu6p@>+Rz&4kL z9vVA_4lFe4BOmR=iTUAU{_KOF^|jbpU&B~O9CD(w|6KAD*Kyo(e#Jh!=!;cf`ai2% zw1Zljfdv#M2-!3z!A55+yU{6PBhOf8zR`iH+0cQtobl0?@nFZn;7g9!r|3^i@X?la z87uob-8MbcxOP$3OBZj`?97~+5}`*K@Em9oIb%r?^^wPJTFY;2#t)ODEe|TWA_m=# z$nTiSwe?xgde+;>(@un*z1gUV@cRmFqcA7~0sy@!ylqjAdThkO1|=>OJruv19Sk{; zp~HMKriOLy`ONRJ)}e9xgT(DbIJsWLT&<$YkM_8@m^kvr=HhLywTv5u0sqIA-*r=4 z<}FXse@((!+ClfdtJXIW4(MN6)@Ev@`C*A|kBxz|F8aj@1QYGX=T6jc*~fmd;S+V{ zpNahB$o;70mu{u5I1l`qb?4caZl9j4zA-ZDfuRW7+_FB}BR_*4{KkLKGNT!l z->8Torzy6=bbRf|{8|&FE+YP4qxLNz>toBE zu`TN0Yd&D3E%S7oj@Inh;vk^Qc+0US;@5CsO}pX|3yP2NS_{@{0*;jJDeJr1$ceyF z6LO6B@{0;FA$D}8xnV;e<&2NEjL%r?rufw`*uY0QwYnsT-Yz$8I_DmTN7>tl6V3Vu$6oPsYYNV@&v(UAk}Ub>P3A&FfpU znh1(f=lnNI7pZ{i8WIOK^7f}A=%K`h8fO~~8GrQ9Xpb=?Z!G@kp~Qg_FU$B_FaBcf z2i`9_(d$~oEHR=m7hXqL$EY*^sTh7aW8~6JN8$iPKGtF^HfXeGKH{?t8BCU`3%x1W zNTuGaeZWcM?gL`H8b7Bsq83mCwTpg@_g_R$lYK$Pq|USh9B~oDz?-_+Hmr?fC#K^> zp14Eu`!Mw1HTWM9X6R86vBsstdo^y94xBnUrI%jbqjQmeRpI5O7ei}PyH6-h)vRCod1eR;54)p_Ub<@M8(1eOrUMjJ6;3_P?v9zqB$h|Sp8V3Qfgc8!TW zBPYgAC0^ok;>=V{O-+`m87CG0G2;cNDpQ_RDz*d35X_EcAt4Frp#@9GVKZTo7dBfM zcuRNB@AoZdxqbUd2#8&C-+T9*^L@YX_bun#+ugVO_G=Us+sMd<%jVBN`3DOZp7!FQ zLyvDSLu#pDcz9K}sMYX`Km5oq`t0o6yCq;lXZV~8U{Dlw?xdrJ0x+UIyEn_QPEX=N zpk{zZv{afWc1K1o>auNeSJZ3MdLX1$6MlA!8k3%!8o#5Q1M{LkHmdV}y{Na_ASR^cVH3xdY$aF=qYv)~QcBT}FP>{n6#76sJkIssb^-|7$9+=V2op%aNs3Rv% z3PPp|4{iW8gYDf$M=!DEq&f5=DkRI6ulfGc*x_r$Iop$@0I7bTBMT>r2d(2nXn}TUA^nsa->cw;%@(?%@vl3yC z5StqF5tx~aKqNaZHg)~`pZRU+Zru2x;=>=lMnb&ms!N4gKr~vq>_V-(s4ZqP(ljvJ zJY%&tDJ)kbg6Wzhx+AXsz}~GY6;|p}=F}7BW1#+KJB-yw1otx2$G!L7{u2pqFD9g3 zZyby<=gb8AA~Y(BbX&dpogbf=ocIcZYqeV6-gfUT?{^*B9)nc5eEHfhPPM0gUt~

sC7dVW;6 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 literal 0 HcmV?d00001 diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/service_car_pannel_detials_pressed_light.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/service_car_pannel_detials_pressed_light.png new file mode 100644 index 0000000000000000000000000000000000000000..ca30ef96f6e0210eebb3fe7761557cb17f350b9f GIT binary patch literal 6516 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 a9rpiuOZ=7s-$Vxh0000 + + + + + \ No newline at end of file diff --git a/modules/mogo-module-service/src/main/res/drawable/selector_service_car_pannel_call_light.xml b/modules/mogo-module-service/src/main/res/drawable/selector_service_car_pannel_call_light.xml new file mode 100644 index 0000000000..2c36033d92 --- /dev/null +++ b/modules/mogo-module-service/src/main/res/drawable/selector_service_car_pannel_call_light.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-service/src/main/res/drawable/selector_service_car_pannel_detials.xml b/modules/mogo-module-service/src/main/res/drawable/selector_service_car_pannel_detials.xml new file mode 100644 index 0000000000..449db76333 --- /dev/null +++ b/modules/mogo-module-service/src/main/res/drawable/selector_service_car_pannel_detials.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-service/src/main/res/drawable/selector_service_car_pannel_detials_light.xml b/modules/mogo-module-service/src/main/res/drawable/selector_service_car_pannel_detials_light.xml new file mode 100644 index 0000000000..70f871f8a9 --- /dev/null +++ b/modules/mogo-module-service/src/main/res/drawable/selector_service_car_pannel_detials_light.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-service/src/main/res/layout/module_services_online_car_panel_item.xml b/modules/mogo-module-service/src/main/res/layout/module_services_online_car_panel_item.xml index 54c81aa3d8..3978ff4297 100644 --- a/modules/mogo-module-service/src/main/res/layout/module_services_online_car_panel_item.xml +++ b/modules/mogo-module-service/src/main/res/layout/module_services_online_car_panel_item.xml @@ -57,12 +57,11 @@ diff --git a/modules/mogo-module-service/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-service/src/main/res/values-ldpi/dimens.xml index 730973e0ef..8fb8c16e93 100644 --- a/modules/mogo-module-service/src/main/res/values-ldpi/dimens.xml +++ b/modules/mogo-module-service/src/main/res/values-ldpi/dimens.xml @@ -22,6 +22,13 @@ 64px 6.5px 10px + 54px + 20px + 22px + + 12px + 16px + 2px 2px diff --git a/modules/mogo-module-service/src/main/res/values-mdpi/dimens.xml b/modules/mogo-module-service/src/main/res/values-mdpi/dimens.xml index 5576dbf74f..a5a63b9493 100644 --- a/modules/mogo-module-service/src/main/res/values-mdpi/dimens.xml +++ b/modules/mogo-module-service/src/main/res/values-mdpi/dimens.xml @@ -22,6 +22,12 @@ 64px 6.5px 10px + 54px + 20px + 22px + 12px + 16px + 2px 2px diff --git a/modules/mogo-module-service/src/main/res/values-xhdpi-1920x1000/dimens.xml b/modules/mogo-module-service/src/main/res/values-xhdpi-1920x1000/dimens.xml index 6fe1da3ee0..9f26351058 100644 --- a/modules/mogo-module-service/src/main/res/values-xhdpi-1920x1000/dimens.xml +++ b/modules/mogo-module-service/src/main/res/values-xhdpi-1920x1000/dimens.xml @@ -23,6 +23,11 @@ 120px 20px + + 98px + 46px + 40px + 20px 20px 20px diff --git a/modules/mogo-module-service/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-service/src/main/res/values-xhdpi/dimens.xml index 8e62dc5efc..1881b587f6 100644 --- a/modules/mogo-module-service/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-service/src/main/res/values-xhdpi/dimens.xml @@ -29,6 +29,11 @@ 50px 28px + + 98px + 46px + 40px + 36px 50px 36px diff --git a/modules/mogo-module-service/src/main/res/values/dimens.xml b/modules/mogo-module-service/src/main/res/values/dimens.xml index fe41b7df41..df03037594 100644 --- a/modules/mogo-module-service/src/main/res/values/dimens.xml +++ b/modules/mogo-module-service/src/main/res/values/dimens.xml @@ -23,6 +23,11 @@ 120px 20px + 98px + 46px + 40px + + 2px 2px 0px diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XSurroundingFragment.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XSurroundingFragment.java index 73b7bea220..a9d2cfd849 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XSurroundingFragment.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XSurroundingFragment.java @@ -209,11 +209,13 @@ public class V2XSurroundingFragment extends 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 X%7s8sNwtiv00000NkvXXu0mjf1D-qj literal 3175 zcmV-t44CtYP)Px>AxT6*RCodHTzza-R~c^yov_x~kXF$xlhMr05oTwFPFVp_f%l(4A#GA0E7 zaG9)AOtzTppK6=o7GpF{Wq-_#Ml>A*2lAnX>9pI*&}?(o2+4v9ZHYQsob9N;-=)v> zx#vCi``-6`VSSRP=bYy}=Xrkjx#!&TaqruTib8rfM85^MnpKrbuod}bs;sk3EQoTD zqBLr{WGd%pQ52n&%Eai>S&-DNsHk{}FnBTVQbI?uva)hO%b2I-2eptEsc5n6 zUf@f*fluDOK%aWASVBi>kabU-wF%wGQPP!W{!s{an8GL!Jnpqi(-_N5v>2x3G?c#J z6o!U|7M?kC<|8v_&MdgS1s17TU0prHytN*Sv_z%R(b2crz;QG6r@*4F)OiU{*af-w zJ?JjnNy{^o`5z!Z4qiMZ8$sFv9%5NsGjCED9O{1o{0Fn4Y4imsc%o)D2q?Rks*OfL z7GTqKn%~QYG}`B9L58WWrwlYp z%T&IOc^a)z!h)AQFDJ}t&X=3|iJeSt=)L4)n>?Z=rH!^6YFZbzrwBwl_k_<&iF zqUqDrVQ4vcBFtbI&^{Q58?`W>e)YdZ#n=5R{eTt|poxv^tA|XX2{f-;Z2FB-_6++= zR0}Th^5}=kMXW3zJ+q~SM3kfWhaxPq)QPMBjr!npuR+hz+*H-n)Espyr!w3Yj*pK! z=SCDwOiWBxRaG4^^+L+rur21T=LR7*aqgF0A9sNSE@u+5Z`B~VZb$%5#=Zg z+?G;1h-61;(}}p2vo+PS2MM$foa$L=-eU3K*CnJrM*1*sJ%J`7+bw1U{klXVC+8dW zF{0!b;~LR}iEZ`TRcx7EqQAfY&F1FjL8*_CI!n??G;sF&F&b7hH8s7;QQX$%W@g+-^BmwDc;2BM!*pDb_m}B}Y*zTZxJu~sa%GFG{5Er`+NCMIk z6@abCbW5Q`=}qv<^H`T`K&A3W$TUi!Na+^%*=O?=1XT1FBJ;Qua!Ly#X!?l)RJY-3 zrWfoSjOdD(d3TURZ5J14klpK1IS*V9X8#%n^RagVoSL!#%BRIL@FFllUJfS6li=sT zJV!hRPE1KbJ^+vF5_s)Go1VDs;()vi#<{|p6W57F|1f0tTI5zyRFIFMwY%uGT1qDT zHkv&V)-((x`xi%Ko^%Gr*{6L;PnV_=BbPTo`sBKoYl$71({5qye>|VrDT= zMDTGdblicYZ+EG0vx%MOqAMtrNZw{@ltH-`7%n9aiDbD&QDXE0GMgAl>$6F;{8Dav z$*rxeoYQ@&r>EyC>Y1M%_%`rXaAoD(?oD2Kc&WR)d#-35IB?)PKcF~Jn73iW24|sM zS65fXLx%)Z&D+h8O5coRqrSd=#;H@MJRjMtSh38w6u8M^AaFVL$q3~ zd@7LiWCN-Zqyl#QFKof(s0c0QCyLa!X*+)|X{R>AoUwCsek4$ZCZ8bRk z{g7^84iW&Z-oJmp=Ouc=hj|wx`919{N`AqD1+%oC36OP&UO_~4n;7{Xg4_|KfuoAK zdsvR3Z2-j{A5Z#NTjX(5-fj}N4T)xdr*(dRege~51tj~|Q~CKyY}wg4%IN-cVl(+Q zd|pgTBw6OH@vKyoLF(?mC6dH+3jAsrfFp$aG!7j}ktbfdiGh^qYiNJFwqXNF*^64K zi21Ydb+hSD-)^a!M5aXwMNGLWE&xdXHjtEaud;kCgPL;2^ zxpa+9NrJf?UOK_fE0@?FFN_A9z&gNOW=Ezt!Q^ZE?}9JpAewCB2y8-;n}Y%}KO>>S zW#C_c=d&U23gM))_jg5^ZS|n>EdDztUee%m8=SRHk zrS4}=pFsXQ6y!;^SFH5MUj(gLvu03#HxmU1KlbVE?JfAehHX>)NGFPGt;3;yHwAL^ z^(7YaCi7LW_~S3__yV23T51jXyo+rZM82HoFY(L|mBeO4L&Ge|=bZ9D*Li!vU^aoT z&)K14p0BL=6@vUW&GZ=-)F?ruP5!)W?%cVa$-(rMarsW#fR5{QYn-i2TBZ|1qXSy-`D}XE1q?QF3BX`47PO?Pdfpll)Yz zOoAwIFJ~}^rBtd^Pb}s~us)b7_w3noZPeM{$41uTVFvSL)>fn1(?RrG;!N4HF6zT( z|EM@J(mTmuK9`ZP$Y!DjQJ#tTF7imwGqntY`d?gpKWFo+!8;;HBBdgKQz1WD@G})O zJ4c!Qxun9!)2|N<4E)E>N5=Afu(yT5Bz+Tni<8Uo4}T-l(b4e%KNoS7?pPN}~fZUs9p-1HILD-g~HH-K}ebLUcjCslwk51R!} zyn?$>JS`#}Ov?6ydFb&$7N#jM0=J`fP-~dMWZfPxdnbG8G!;gGL;7=I&yR(uW(y|e z?4f7DH?c5HZUnenYyl z!0$xjN3MQpe&kC0nqEWUYv2=F7$=`LnBt2E%-lV3H*g^lXJ?MGUuOY2 zt6*v@e715O#y57gx}r?-9KL+^dluYTV9O(zCay~%_!PJu%%7?h!zbK0#Jw|T;a>1x z9Z8OVig{t?WmH3OBX|+`!(eV<>%eh{hq7;g8K@&*e(INd(BQ*L{{sV~pDLzGC|Cdh N002ovPDHLkV1fV~B5wcy diff --git a/modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_panel_close_light.png b/modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_panel_close_light.png new file mode 100644 index 0000000000000000000000000000000000000000..cbf14c556646e009b3c83522c9f93ef7580e0857 GIT binary patch literal 1586 zcmaJ=3ow*x7~Un9C~|k)@3|~uTXHWEOV*OI(b-n!xFo7|4doKerZx^G>NqKvM1>^e zva2Pv9BYkBYgy}FIfyo^)^ffxJG0ZwnK|#w|NhVOKF|BiKl9Fi9gXtXEu|&}fk1X6 zJ>C4l8~yJiDGGWEP2>Rt0_CBP2Dk&dy}g~5mIiutbv21Z>g($p8X96UnE=q~bO0tN zCkF=y84Sk!{JelpPfr6dJ3Bi*KF(sXrlzI<1;dGniP6zfHk%D5Kmrt~Kmrqh1ys<1 zDyaXVKmvrlFy!t*5VVXk=mr zGqOi8_(ef=hpSa7HC-o5)JrDavs zHP377>R&arbdWo{-uArfqYVs?FvghU6I0VO3rou@Usl(?a=v|A=W;i`^ENm6{H?8M zxz8{NL^K5Hb|?TtdBzA2RPfs)&Q`xC2Njbp<)9VwSSd;YLFFD#Y;@u(+%v^7Iq95A zJjG5m@WzGzqZwS7f*2s)afcE*J;(nSf8VRwCeqk z=gjAyh14ut!|1bCiyxy_4GkdXf101X5q5q{+urE+yd9~^8kRvhwk)V~c~+iYslpS- z2%~cGs;qKZDd$$^x3&Owv%b=kW3WVXkFT4`myCW(wJUbDk~KEKFi zTpeXh$MXr7I`;L^LQ(sQQY*L-T|I7pQ9_rT*70}azN{YTUa=^@MZLe>?rFF#zm`dL zz%40aSn~Nt7N8{<6hXus`#gxYpuVc8S#XHJR6Q{sUMt(sOw7~`3{RIbi(x#qEojcX zQe$^I;}RymCxNfljW|c}Px~wuGF%|W(}US*X((Y_7m8Xhue{| zqD7XBiOTgKF*9&OCDqV2nu+0>vx9mk;g?7gdBHcCC7AU8`na) zlv^6%s}lJwy3kY&7Jiv%L*O{KG#s>SH1<^pW9kkNzJwk7nIQwdMLaQpH!L|Kt zG2hucY-A@@>19>TudCSO`Gwm&<3hX7mF}xctO)-DKQ23)UioTwvqAsUZ8(Z_ zrFSASxpIs6lILv@9c=r$Ak4)l@!^U??{rX0e=f|9Hj=cl7!q**De z$+*BNYdfvew!XZjcRw?Y(~(jvH+|I2WB!whs@mqP*0A@6EMoT91HCgdAHm-bLAs;d Jp1a~Q{{g0lkD>qo literal 0 HcmV?d00001 diff --git a/modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_panel_close_press.png b/modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_panel_close_press.png new file mode 100644 index 0000000000000000000000000000000000000000..f81ff730e47b9a6ff92f4fcda5e5638c0ca77980 GIT binary patch literal 3600 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 Y0oEkp;qWoBPyhe`07*qoM6N<$f`7JtHvj+t literal 0 HcmV?d00001 diff --git a/modules/mogo-module-v2x/src/main/res/drawable/v2x_selector_colse.xml b/modules/mogo-module-v2x/src/main/res/drawable/v2x_selector_colse.xml new file mode 100644 index 0000000000..2da39af66d --- /dev/null +++ b/modules/mogo-module-v2x/src/main/res/drawable/v2x_selector_colse.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-v2x/src/main/res/drawable/v2x_selector_colse_light.xml b/modules/mogo-module-v2x/src/main/res/drawable/v2x_selector_colse_light.xml new file mode 100644 index 0000000000..e2ee5fc07c --- /dev/null +++ b/modules/mogo-module-v2x/src/main/res/drawable/v2x_selector_colse_light.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-v2x/src/main/res/layout/module_event_panel_fragment_surrounding.xml b/modules/mogo-module-v2x/src/main/res/layout/module_event_panel_fragment_surrounding.xml index b2df95c2a1..b3ecc8754a 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/module_event_panel_fragment_surrounding.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/module_event_panel_fragment_surrounding.xml @@ -28,23 +28,32 @@ android:layout_height="match_parent" android:layout_alignParentTop="true" android:layout_marginLeft="@dimen/module_v2x_surrounding_margin_left" + android:gravity="center_vertical" android:text="周围5公里,共15条交通信息" android:textColor="@color/v2x_white" android:textSize="@dimen/module_v2x_surrounding_top_textsize" /> - + android:gravity="center"> + + + @@ -146,9 +155,9 @@ + android:layout_height="match_parent" + android:visibility="gone"> + android:layout_height="25px" + android:layout_alignParentTop="true" + android:layout_centerVertical="true" + android:layout_marginLeft="@dimen/module_v2x_surrounding_margin_left" + android:src="@drawable/icon_report_err" /> @@ -180,9 +189,9 @@ diff --git a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_event_panel.xml b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_event_panel.xml index a5723f4c4c..59446aa2c7 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_event_panel.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_event_panel.xml @@ -87,7 +87,7 @@ android:layout_width="@dimen/dp_79" android:layout_height="@dimen/dp_79" android:layout_marginRight="@dimen/dp_50" - android:background="@drawable/v2x_panel_close" + android:background="@drawable/v2x_selector_colse" app:layout_constraintBottom_toBottomOf="@+id/rgTabSelect" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="@+id/rgTabSelect" /> diff --git a/modules/mogo-module-v2x/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-v2x/src/main/res/values-ldpi/dimens.xml index d097e0e44c..504372c37b 100644 --- a/modules/mogo-module-v2x/src/main/res/values-ldpi/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values-ldpi/dimens.xml @@ -43,7 +43,7 @@ 8px 2px 30px - 34px + 22px 12px 16px diff --git a/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml b/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml index eafb0c59f3..15fbda4e62 100644 --- a/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml @@ -44,7 +44,7 @@ 8px 2px 30px - 34px + 22px 12px 16px diff --git a/modules/mogo-module-v2x/src/main/res/values-xhdpi-1920x1000/dimens.xml b/modules/mogo-module-v2x/src/main/res/values-xhdpi-1920x1000/dimens.xml index e82f40ef3b..ad5a85c3fe 100644 --- a/modules/mogo-module-v2x/src/main/res/values-xhdpi-1920x1000/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values-xhdpi-1920x1000/dimens.xml @@ -41,13 +41,13 @@ 16px 5px 80px - 33px + 22px 20px 30px 42px - 32px + 30px 36px 30px 50px diff --git a/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml index 5b9f3c3410..eeaac5851d 100644 --- a/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml @@ -23,8 +23,8 @@ 200px 100px 90px - 162px - 64px + 168px + 68px 80px 26px 270px @@ -41,13 +41,13 @@ 16px 5px 80px - 33px + 22px 20px 30px 42px - 32px + 30px 36px 30px 50px diff --git a/modules/mogo-module-v2x/src/main/res/values/dimens.xml b/modules/mogo-module-v2x/src/main/res/values/dimens.xml index 4b859dcf2e..149ad99723 100644 --- a/modules/mogo-module-v2x/src/main/res/values/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values/dimens.xml @@ -24,8 +24,8 @@ 200px 100px 50px - 90px - 36px + 168px + 68px 40px 15px 150px @@ -41,14 +41,15 @@ 8px 2px 30px - 50px + 22px 24px - 18px + 30px 20px 16px 28px + 82px 16px 117px From a49550b8479cc1e3bfe5d5e9f9da3254416365ea Mon Sep 17 00:00:00 2001 From: liujing Date: Thu, 19 Nov 2020 17:49:46 +0800 Subject: [PATCH 16/19] =?UTF-8?q?=E5=87=BA=E8=A1=8C=E5=8A=A8=E6=80=81UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../V2XScenarioHistoryOtherSeekHelpVH.java | 8 +- .../item_v2x_scennario_history_other_help.xml | 120 +++++++++--------- 2 files changed, 64 insertions(+), 64 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java index 15c5cae0c4..06ebd14159 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java @@ -89,16 +89,16 @@ public class V2XScenarioHistoryOtherSeekHelpVH extends V2XBaseViewHolder 1000) { SpanUtils.with(mTvFaultHelpDistance) .append("" + (int) xPushMessageEntity.getDistance() / 1000) - .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_text)) - .append("公里") .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_title)) + .append("公里") + .setFontSize((int) itemView.getResources().getDimension(R.dimen.dp_32)) .create(); } else { SpanUtils.with(mTvFaultHelpDistance) .append("" + (int) xPushMessageEntity.getDistance()) - .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_text)) - .append("米") .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_title)) + .append("米") + .setFontSize((int) itemView.getResources().getDimension(R.dimen.dp_32)) .create(); } SimpleDateFormat sdf = new SimpleDateFormat("HH:mm", Locale.CHINA); diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history_other_help.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history_other_help.xml index 83ff056b82..cddd798ccb 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history_other_help.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history_other_help.xml @@ -7,12 +7,60 @@ android:layout_height="wrap_content" android:background="@drawable/bg_v2x_event_list_item"> + + + + + + + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintLeft_toLeftOf="@+id/tvFaultHelpName" + app:layout_constraintTop_toBottomOf="@+id/tvFaultHelpEventTime" /> - - - - - - + app:layout_constraintTop_toTopOf="@+id/tagEventType" /> + app:layout_constraintStart_toEndOf="@+id/tagEventType" + app:layout_constraintTop_toBottomOf="@+id/tvFaultHelpEventTime" + tools:text="300米" /> Date: Thu, 19 Nov 2020 18:08:31 +0800 Subject: [PATCH 17/19] =?UTF-8?q?[add]=20=E5=87=BA=E8=A1=8C=E5=8A=A8?= =?UTF-8?q?=E6=80=81-=E5=AF=BC=E8=88=AA+=E7=94=B5=E8=AF=9Dselector?= =?UTF-8?q?=E6=9B=BF=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/res/drawable-xhdpi/v2x_call_normal.png | Bin 0 -> 11599 bytes .../main/res/drawable-xhdpi/v2x_call_select.png | Bin 0 -> 10752 bytes .../main/res/drawable-xhdpi/v2x_nav_normal.png | Bin 0 -> 11300 bytes .../main/res/drawable-xhdpi/v2x_nav_select.png | Bin 0 -> 10449 bytes .../src/main/res/drawable/selector_call_btn.xml | 6 ++++++ .../main/res/drawable/selector_nav_history.xml | 6 ++++++ .../item_v2x_scennario_history_other_help.xml | 4 ++-- 7 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_call_normal.png create mode 100644 modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_call_select.png create mode 100644 modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_nav_normal.png create mode 100644 modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_nav_select.png create mode 100644 modules/mogo-module-v2x/src/main/res/drawable/selector_call_btn.xml create mode 100644 modules/mogo-module-v2x/src/main/res/drawable/selector_nav_history.xml diff --git a/modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_call_normal.png b/modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_call_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..c597a3f1d050a175dd7d42d397a00e32dad59ea9 GIT binary patch literal 11599 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 N002ovPDHLkV1gskqEP?< literal 0 HcmV?d00001 diff --git a/modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_call_select.png b/modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_call_select.png new file mode 100644 index 0000000000000000000000000000000000000000..bb366564b925e83745f5fa5ebcede7dab76d9fb5 GIT binary patch literal 10752 zcmV+bD*x4qP)PyJx=BPqRCod1eRq&u*LmN0bqfI!AOR2nK@`fE_FV2w-<# z$?x}l=R4=z``#`JC1oZDc=vqgE5EOt+unWm-YvN{t+#j8uaBQF`S~fA%sl?a8?S85 zs}xek>^V!Cg+jpz6TJhaUBNxIcXQAU#GGrEG=q{Tn~{MO-QGPLM88N+^dJV}w%`^n zoF|mJBne&o@9kR&J?F~8Vn~8faR2_Rw~^&ueDP&>?C5bQ0~fNQAc&GHGwE7w0BU3u z+{u%tT(jA9M`0j=fvu`a%wKSQvsiBo-cL7D0QBFx>z~B1Ko7-&c#tI>QV;)%m2&kz z8J35H(SZBRXVzvssE&FQ&vSd0C8gFJZv6F?K2PT!eq^(FAWHwv#~6c8#|Q;;4?n!g zoj`u{DqaL$78a0m^LkNE@T^J-r#X<%e0J`5RIJn!usCr6M+h$P@w6E*AYqY68_P-` z{LdUx*|2oayk$?LI0xG)1cW(r=2Tr_)PSOs4N9a1SFKe4zQ6zRe@y^k&7HUG$BlaJ zR#Uc+n6w&d&wM5MR9P@QvM3Wacmu^vAVvP_SASPj{_?NBFJ(1l(V|dgPHOHFazXfOoEE-f|?4mJ4IW@0J~Z@g zj;qyf}4BIRc`ItRUWzN{`}7GnU?UxLco3QuqDqbv3vLWLW!E=#!q@k91uK2!&SZD zKKt35U9DF0pSnARP2rt)-jiS?6Vay`HUoUbslWgX>(ta~v)?Msows~H3OrtQRfz_Y z3>L4y{+63Ib+S0Q|AEKd!GnhYsGEw!Oe`_>4ruGwUE(ww^;=34FTV6YBDFEH&!w`U zYeob+e*7bMUU#?a?(T%MOWdr>r@QB$KQL_Mk{$Em){Va z4Gx9cAbRM*CtL#ztpIg>16i$f+#?)p>+jV1rZ3i8flVRid8GG4H-+cFj@b^ zHU=H|Bxu7eSP>vwu;BW;hiXG#)D+2XzqUyF5Hpi@krUZKhuuZUQIP>bGpYwh!t+u? zq{Pz(4l8Lv#TaSd*SA^@!!$l!);wPV6_jYP;^oUMOiG5G+itl1|{B*O?>@Jnd z{pC{WbN&76-%WMe(IYz0vqWDqYRVL`M2Q*5Qn5OA&z|)koUw!1*DR^SPWJr)%ojS2 zJskMP!yY*CtnwCyMa{U`WNEYLIXd*F=%Ndp4ec#guoBlq6$^>d26|e{Q37s4;aaT9 zw5^#V*%sk>UT=L!rC!GdJj2knMI#a)!_?e>MGSy+gB5GUw`cbTiBdAa8uE2IV(KwQ z4mA1EqtA1l*hh&|sgKy|P?lm%gs@HY^{tYm-IxaXex z+^dIP7g{;0Bl3iyK`Ns-ckc4b3?R`F%Sxq!U3fhlFFx~`8^KpCtGNulVYFAOZ~pc5 za-%u)l6WL9SMw?y3=M@9LYz{qrRL(6M>=l&&=4i!HH&&SXr>~g6b;>plP4v5nSHSC z`n!Kt08^lvS0_usl|h=PXEFz=mQO;|X*4tx*Sd%WDh|BU$gm8_$!rJo8r2wG!M$|g zRVfoob@}Bp6xb_8-4+I86Er!=Rp6*ZV1Ag*rcFECkUuHt?Vat-~oKfdOnD zuesGr1JHvwPO}j+;whsvWy;J^jYeJ0)|sA<1wAN^g;j7r|M@|8*^EnFqtUWN6p!| z@h8tDP^O)-lwP!C?YC-!gI}=-qlT6t9T$s*V>`A#a(?7RO2doew$#FfYhJ@TKP6_R zYSl{jlr39+cDSvPXP%LRkpT37RbN+cHfAz_44{=UFrx;m3wED*g@ zKT`;vBj{n=EHrQ*lrjZ1g(e*}vf@-vR@`Iz_HDYr8<>+3`z*pRsy%(nZmSK}zUS9l zuQgKe7H}?j^Je07-XKfok*fHTc6`sC4YDH}CNyCiY+IeVbC>R_HyV8u#st))#V{&( zVAWu}Y*{g62H+F21dJ^PW(@o8?ppVjEn7|sSZ)z)Qhr)_E1LG^%4^fw6of^&Lgv_B z536&j9WfT%eAR*f8&wtH^ePW^P*>e`xv9nBey6UPWsEjFLqK1G5+bcgE)T`M9d=%x4HSUzFbVo;r`|7{@olJ1Ayn5LE@P|J$ zFo`6se8#aAM3`QJj#L_aYG1B){Pm7)>;5ercnjxZ0?G;k3nQtX8mh(}cYMh-d{4J* zD!=o8-jzup;1bVNMcqr#1s%cBMNA+n;DX72*tYGVJ7u-O2K=JpscHZ*Li(sdEsnG_~4zzj=zQKRzog?zyMLcH9DlDFLZrZpb6PO4BCPtt+G+fGK(4KBp2s#TF{o1Q# z9K8OvQ5zDVxF95(St}jZC=)~e(MKn6{TN^UbM5=z|53sr4w`h4&Z1|77v)xkOhnYd zY5k=|T*LX4I-rGjfL{Lv&)NMvvyqQ;Klq1xb#>w@6|SGw+!wxZtH<-0QUTfpQ*|p# zvc2B$3SP%zGYedgIyz`~Zmz>NdcyV)psX-@HYF4i%ue z51O5Zp&pgpq7c}&wpx5DP`uKl$urjCtH$)Go%p54P{HV4PP%!wZH-G?6@!!Nx(ZsNr8BI67`v~GhU znXb6QK)h%$97!XQi%(?N%)PFG1cF}hOe=3-;-JKgDYIr30GnT>ZoF}&Nwhb)=LVca z>!EewAPfZ6Fc&fkMj$+0EqCENh;MV};wnBJ1rEt%06iTgyg+&aU0^}Kqgr*#moLsR zQ@JQxRek^XV=Z?GSco1cB9uy%o!hrPxF~RXdsmOCH-_G)#m7Cj$tDjM_`i7ZJlBcS z6KUc#xKFj|Ne*0zZ;2(xj}AYU5=b5TR8;SoncW ze*Ed^?2uobKKzjPC-|1J30x7{8d)lqp53->9WQw)--xvD?Ok~cmt;l_x6Wsw4am6Y zjZ8s>9R)U9r(5SO21}rFUiZ~o*8lXm9CSKN>DA?Uk=#3%K%x!b^;X+tktcH@c@Cr-87sjD{72&nmx%8o=SvbpM(NI9pJL~n1RsH=xJ)zoXw=}4;vl>SG ziUq63bv5h1)u=Z|4gw8JOcHr)xh%HAhE7rQ+D51cu22BkRWI z4?X`?%9TIDJzIa4RT_CT405Z{H9gDjZZ>LP46BQ;J~asv)|_B!&|3W_a7i#hq6&G{j*c(w z-2NyomyFzU9$J*k_<7ua0r$ldl{V{k2+lB)8HlXRlxYHfLpL4tAt)q>^Q?P!^{@Yp zMBG9K{k&w#l%-wgU(h(gRaPrS4XS5HSyl>{OEeW(nBb*aS#<9YOeC@!iOeUbT}v)k zX2q5Ox$58CSsw&Ypho_~WD|BeP{5W1Ox--H_I*t<35) zfBv!+mH?sjqoA$O*$^0hTOCP&Q;Pqbft(g?Sa7c(lrAU{BUvL%P^n(j@*72Fb-M7P z$*)kE=DLhjm|3!fZG;9!`Rv)3yNf4`lgpc;V>7^>dDu9EPB>zT0(v%#`Cq#*k*ZfH zTsrN_!PgJJv`KYERmq;-<=?8+hQ2~LWlPusuNr674 zP6Q?JJQA(RV@nhB90^*!z=&MAK_*1O@wQHrgqgT#+@$*g7oqDvQ$tUoRMNCmgZB$f zoHzkfj*}7j@WNTsUAts~+q!MH1gjN{SOO(*pfp1-RBV|6kjcbRTS5>;2&PTFeDvYN z2i9>c+eA?LAl!3$i9aoS2FZSoJe$ z7N8(Vb!cS?;NTc|At&+0k@!sHmNW%89LywAxn8gRF^TAiqqM2SR<=}f^yo3UlPB`B zC=WgKgy4qcGh#nLClivB#UT~oAu`k*$K<1x#*d%!=QfsvIS>OQ7`|0RY;*xJonJC} zB6{01#r}We@rxtxz9+g`04Rrw!kGWH3vAWXWmduag}w)rm^gz|r_O%T--a$GAu~TR z{n%SYd@xV%e?Dx;wn4Lh=9!<%Qz}xZe57>GU?5}>(q{1Le|QB;leUFIW!Eh^Kkg>c5b*7luD7+6)OHIfK z>iu)iX8}tn!K#gua&uV2(go{k#_ABlzCE&&ld!Gh&I{{K@NE_Co4S zAQjICobl`vw>6^GvuYQM#g`=sDhN(eF$Nt<$V76EMC`rN{)HD_!Uo;cM7VvB_McDP za)W4U0dy%T*bJE8q^DMz0CyspCIR5eVY&2w3i5+vDit6u)X3I-b4}GKWu9Un2&8Yh zd5zGa0NyvQp1XDUb#&Bu-FTdEX$a}5eb2d9U(?(D6@>T+W(@IhMP2Lyqn*bd_l4#(?SM)HGT7~cipaCPfI~qaZ7@I z4&M7y07CQLVcZr`xg#V%B5{xc=0sxB;sLgAyz!2Ec<76#<{IP^P0&Y7K z#$V{BOqnQ{mVi3Qgrh8pPb-3@5XHTFAG0S|p+pUQM3J2*yo4yq2@0NrvHq8}X!q{@ z?n6AWE#EJA?7+5>-*d@v#V5f;^!5pQVDtDo(50}run#VCmOH*dp?p1^IBCW$*o90s zTdqdBDn&Sj)ulw5yDpTjHPkwM=uJ0n+*nt^ZA9En@^L%sxx12oOpgCBChz_CK6IxB z1`&q-V}KTu_!I_MaKO*@ZR?hkg}sw=^`YYR>}7Hofp11yFA5edl|_JcI4T66oab%Z z_qw;SzT58B4urBBmOYpq<+)dDy5k?6gna_WI0)3n0d5cqPl`zr`}eOuj>;dC8OVVU zk~k7^3MP7xg2zH;n}$N$r=Nbo_4hv&PEEKP$%m_wU)7itpTNNmCJV!nO+6k_3;;j~eFsKHgkOap1-_*TUx;JT6m^=4M$H%+btm0gq4q?^Phs){5 zHzAWT*ybL#$M6$bxVt{1)z`Q38C2zJGOf6roooXHSXTY4*g{JXvI>&?#pB1hF=Ix% z8fN0)f!DI|93?LE+a|@>t#S>r5L0!ElSkJ%kZ9R+z@|h#E|W#IK&i+tHK4OQ4zO6M zzjC>H_tq^B{B{Z~+eFIf>g<>k#>_Ru1H#jx1R_>ux{NhS?7gkcmHF^&8+sq=LEI+_ zI8QpBPk@H9i;W1_H6A|r&Xh~9nAm947HSEIf{*?e7CCfa->5XOHVRZETSOdKQ#zB7 zu(+^~+C__k!&4^yUL)gb-!cpzqDuJ$o^p!M z+-3qz^z!^LUbyhrzKuHuZcqIX-W&v1k)gI6BS71`r4|94M6iQKpreL892PmPR2#Ea zr6o%~F?(R}qx}p-3MVQs&0BNq71E&9F7B1gJP(j2Q7V<6+qU%~dHq9cL|INgjI1;_ zn!n(NXYeyQfGt`mq@Jk{Q9gkjjGB99yW>DdwG+=r+_$mCZWzW{B|(hqu3J0d)WFb- zSl8|5*8u%-j|1gW$6s&VdcQmq5kSv?IO`+~bIzRAqq@4wkJq^?ZnFweFP#yw%XpJ1 zqfVnz?fCsIoA0~Ru+O&7z@DwK=`US+!zJ}b`A+;?rr!{`P9d{Q65>hS6^o@qxTo(= zQ1$T8rD2^*{|iatTpYKvnKy6gCBmH@NMu?)3ZS1j>StT2u#y5tJt%k zxWDQ(Jes);ce*`Vs}+ALUkIbh|5IxC$bX4pEm*Lid#K*|Z}8N^zrxRayk!F?4y~bN zY7C`NZ^kC-c?}BErgBaKZP~<3NgXI?1AFvc#X|8P@U7~*{r&ytbSt94o=cyJ>s$cN z#HOd`x(TjW{Ll5;&~HJ1bf%yJ5DOY9UwC7fBOB+BPF}7>*If#~ZgI>OdRjYOUmwo%%zw{+V__(x2`EgO&*z+cl!J)?A;0nRjteJhY2?Yu3X5J;`vS;BcuieHLp3w@97sUCib;8{SnRyDzkglk$pPA*Yl{(_D+26#dX{~=)~MYcw*RCG>8?W8 zI66|d=G@e!CzAx5C}3fmlX8=#O>6t2iK5{NmYF64FK@RMn0CHTtZ_eb=XdxeIInZI z;}r9(YsiefTH5f&ud#TGgnelZ?l!gAOs%C!;c;Vvb(fArp28Dh;dp% zse^PnJwO)6y!e2;t&L0lUq zB+nG}Af+mrDsc)%q42-^JO2{TYvDIPux+DJy|^@)%_a5Td+!5x_utw%$;C$LtH0fsc+ z*$_PC7@takCLvLQ5GH#e5-pD7_khp-#wSIWH*@fI0`|Ong?;AZWxO|4?o)+)%$W1t z=RbEdlLBV8wQ^K$e6g`vZ?T7#C~{#I-X23s(L9=lO#*wfGnwk@BoKf#E)-8ZVHoVg zkMDRT(*J1G^|rYPkOeh|(74bLOP$8Vh%B@&X-tngID_iI^tGoeMvusQHT z|NWqkGjh9IEPO8ad8&b#-Cw zt|uR^?HpTgwBI`X){xm!uw`6$A>Y-g;V`~@lc*RUCzwrWC4CZPwgpgI)3si>Vq+Cj z4wn`IX?#Rrz1hbeZ$eCvbBe&!h+`vHA!kj&voF`cTU|m(J7V zlJo#3viXWyL=6ar3|skQgOoz=>{?30FlyXmm~}<4Mpj1_LAVhEjBx(5hXeCa2gi+Vx^@ zf+p_B+~+R6bdoVn+rRL_0k?VcP6>m`X_z*S@uiWNCIax2!#$NvhGzv+D|qyv=o&tE zBA{ddTme!RwWOK5{7`(xGb@UzTJ30lp@`kVEyiFUvXcSF<_taQOk>F8*)Ax`1Epfc z%`gk@2u?xy2e#tw$#zri`w171*ZkqppwvGZ#*uImg@p+p zSiak^al1Qq>?3_NBpi_aVyn}*bG;DKk1FebUY}5_Y|=agfY;m0J0at3(;6u z9PO!xMpH8vhA{~XfdPQM?%@qM_$CKwquJxbvni3Izv#lT?h`kyhP?*}F`5%#i(f8; zFoC3FDH_u>G^gyAZ8Ft`rNx~JjAkz?%8(pQX3l({uOC)sJWp42T|qA-l}E4usp%aB zDp;E+_DLbqwL&cD%lqRNao_!qjj)TdhtkndG*@l@U)I4V_AST5BtJA+Xga7E3W zSa0?ilf`7v7^LJyS~$8GI5mJfx!-h`T{cY~ZlRJrn ziU)JG8KCy*mf-EYv4Ln$rcXlTSol@Y)(%0JfP;VUQOC4Cg~>Sh@*y{U`V@gpCtx_5 z&wh=&Xsn*f(k)TFdn;>jBqGs(iuNLtSkw3w!%|A^%`D9;#WH%>`Waa2zF2yNujlRa zciVXtLfBgCwb2R11>ER|I z<#%Hjb=6ff-3RY~C~u!O?AR-%dHIzq6F=o%J0Xpg>BD?^eF%+`#AKYSUqn|GE))Od za^)x3BBr0hJ*K<^Pg)8a90UR?q{G;V*oQR*EX7I@6Vn7HT9c_GK2KDsmgVAJTJ(`< zZXMIGHNExbyL^jE@L+MAKYEm#F=MKmK4S`APczQ(b*_AEICpiS(Y*!anMuuLUe;(GXv?d!2e>U>+3S?=~@07ZVH>?Cp$IMpjrfCrg|hHm$e@WNe_kvngxp{ zksknnBS5xci3L>wQ@CGDRg9gC7vN zN6rX5NW_Y3NzltqL!v72XeWc&P10C+|xAkf+^=ZqGHOowU^5aSu zwM-j5nTfs9aPE2KQuPlH9s2psVB6ET{KaMsZ?I8p1qgUqCIgdX#7BS#+Ib>tEk>+@ zs--~+r$t+0raFH>TDYLcjU5{v$xK|C9a%=R&kgC;vqi>*@q9>}v@Kh9xsUL`s}(-z zf*{YUwm=EPgftRg*?5>T^T9I~FYVaAZWh(#>MMzkawq>C&!~k zs+FO0x~=xmrj8hSOW&D07HIp9J#xYCBV2j4OC$P&Qu2k+uGHGqTz(-WEj_;+l1@IN zhq3SJ@7ino_(oKc(&83i<7}>8Nrkpda?aNe<3>ld68?x?_+jYv*AKjpKNNoy!Q5mx z>dF_#&$4U{P+*OcItfjcJWs|9DBS{rBBlPrF7QF4Ngm)+6dPaQRmTe?-f*wJ`no&+ z{85g7w}$Zf4;k1?39cUGO$R$O$l`~5j-#Aj-~ZsK{F&kG7LY_^BzvP7Xc#NeF8yk? z^J`CTzV895vxSM^;Egw4-g?QDnWHfo*J%}inanDA!3Pa|BQMsFqr^_45DvMyAjzjL z79K#XsfJI)6g63B1cbrv0abnz@1A%W-#s`v_6H#{#}J^zf-B96$HJ#HU+%}rXv%Sd zm)Xr9ol9&MN;(L^lIaDKl+S~Sut7v=rBwYU{tVuK6`o&stCZy&{+#`{hK2^eqHBLV z7^PY?G<@=HEPxUiq#;1Fj9R8*5(Dt@2Q~>QI=rR5Vp{~_Rcy-TqMM1A3r@hhD?^KJ zGqbCB)QZ^LyQp`%)&g@ngZT?q{}@{b|MXd|0m{%U5sv-JlT!{uD~g&913+LC1E zD#I(89|lCaZ8LU=p9~IQ0W#gH+u0i~9#*+`>y`&cd}V&#-dyMTBaW9YUD`D;*s&S+ zAjzLP73CPS#tvrt6*wwpokxCf-i8%qf*<$qDL>K*5GNrwpQph$?ffL@)I=|&=%Y|5 z?=F=-Ty`#xZ!wgQ(N>oiEGYgE?}4~g))t_pxeXU^%Pu2idPV>;(YEi;V`!b4r!jYjyh~UJRQU(o({SffAaS8XZyHTM9{jW<8!7LFJ61w;NZZWu7IbC za;50i^Y#GQxC9V9Zp=us1C`ND#E$wsGe8l&7rQCVP=FLAn zqhmncK0nrM^4yOx=2=!(*QCF#)d#I=sFAW=oZ6HBa6z~R@a^(j{kB<7i)13tw-kJ7H`Ip%W_*?RSh;Qj%FJ#`y z}dDX^!Lt&pTO zzJL-hNVyA_O8#Wiru*ctSeopY*(V|VGTjW1&A+EmEDn9SR@q54ly!hl^{Lb-h6#YO7^Q)#cvR}2=GxXQj_lfb< zYN6Ma>OF-<;VRskI1AUc`6_t4BCpVei`?C~i5)jLVY4a}PGa)#dY=OS8qNv4^5^YB ysqi9xAbqZ0=-5{+4(-{v@qu^F(Dkoe?f(K-E$?>@HkJke0000PyL-bqA3RCod1eF?Z-Rh8zx_q|Mz5CUS5p&2R)?Fdo|YPU)TFa(mIgt;RMgrQ4N zOHe5bkgv*es?r7l4T2GcV1*7#KMOfn z%NR%aOrLRLr?->(e<0o-;p9`!O0Rgu`1HZkk2hw7LzH&gXlji5oItGtOWsOPJn_f$ z@qhS?BAxXQpLb^{X@{h3SGmIlt2TePU8Rsh1Igk<~Enajn;gdzefD0E9Xe7KULO8gFU9+*QmPb+!P3;h~ zDF+<+qsa#xJz%5KTqHP{GiT1Q2OfNCt?e@~7A=xh6+gdx`Q>M1he?xXeFYYCNQH*6 zqr0~h^VNPcV_-3B|0#vADAJJRkqBMa`n>sRTdlRuvR@P`%Ysi&URcDd`WUqfGtfV>R7=6vqCUr>an z;S>x|3gstC-PNGcukU#v-FfH#k&!@EUV}~Vn)*MGI5`%2F^7kCG)=b{)!HVX#uS(l zdxj@C4j2T3E3dqGB{V55U;1^}v~Md8bT5h0DK;S?8g0hAPdF^~w-?Z;r>A}KqJ-sFhQu9DZhhCw)dT_slPAO*(jQJJG460qZ# z|I~cEeA(9J~gGvs!WYo#eu-i`~vSMhU6ddq%qq}KGXN89({Lyp(gUew|-C4gxGYdL6)!)N~G zF+=C zPt}@Pw&LJKd%<^fu%lx%j!*yKxjt>y{M>Us7-nhy{3RNz3Iz4^V$Ny%rW>z(eSScM zIh9d!OS!BO>q9*sVE7ow{{9CZu{9LD>C5SyQct^Wj|m4%J?4p4r!}4c)@W=23Cxz6 znL&E*dk;&Oe`ArLO=JPw+(H6`XKzWrLVv_?8 zd5O@Y;vmeKnz9M1LB?qoaw%VbJn8Ha^G45o&RmrVcdQ2*jQOaMX&YV%8vs7Zq_Jbhj#;qa zqUSa_z@#aMuLoEU9R#l47Tq2kB%s<#$LRR~?PcE}jYbg8kLFDOc!Ns+C z6$FCOTOQoIV8P*irmUVOQ4mjSMaRpbv0K}2DiY3ZX4#R{b1y7i@8;^9MoPRO+CGQN zMrt09q2K`9*v9!Rl5FYqUlX>jy%VP#aRS4UP_DV^YR;L8gTX5PV-y@YD)t8-@_xqm zC-0rkB|?{ouND+nu9;;9A`||{WdV;B(cXR7Nil>!gIeI;DN~Nzp`W$Ee^X?;JkK2A zc+yG7rv2af78$Kxy+-}Ib?ekKs5R^H?6t4AztjI88>{)aabwdLzwk+SPHD}Wwcw+4 zCF6q;ugYA+SQEy=yp5+`Q4Z_`2y+$~fBB+Mr*;n>Vga*yjj`oejb&iwRmZS6ok>#Cnmpx5JrAUFun!0Jml-d*z%!$<6P)m2}7n10a)4M63=(@!`D2zb!lYWkbF)xovo%o~?q`FYA-Y;*Wccjt4279Yl=aU)?|apk&cON9yNwka%J zBU>F^8s!`@c23 zb5F9-qS7&so_n3q)~#KeZomC5iECSqtMKMV8UC?NpE2jxy_2RK`Ol;yA>`~07#878 zYk`^L7yk8}G;-u{N^@JI7htBRu&#WbJHDKXsivo$b}mBHLNLKJ7ECH~AhtYkFoQi? z_@&50Fx*unvl4ol7Y9`&^wi=1?z{h&wBMWePJ6%cb$mll+9-esAzEYZ{wkESqusoD z3(~KCeSg+Ee2%7I3W-BlDJ$dG%QvC$^d2f()~JThfQOMXh6($ElOB5TQT@!ns=O^) z8_;~a?Y2#)pZ310q7?uj`FgNUz_}UK95>Sgh1y@`NWFX)4V&pbiUNZmU+;M#hOctM zL|}tm=UwI5{_#&wrj;w7Nu%)oUv7Z~!KeP^A`xqxz`%~3kc&ni^7Hr%pSf-^YPjC? zp#ih3GtEGZF5X2i%w~kjpT>+ytCTLh=yJWh19qZ z`SGGf7u)-pg%Qb>cF?rhPol2l2o^0@S8*7r*|Oe=G%e%=O_7FugrLrfL|n611UCr# z*2wm*i>|!zkve)ot)&>xn)UBJ&*M#UV&ve$E-nOaRJuWgj<7WVuP%ue|6F#Gc5{oI_6{zgBUZR)Vgu(*zq&w%{zB>SZq!oP@Cg3r0wKc zbH=uwd1gAUax+lvSK;Ax2fXt#1|%Pc6Mov?YYppJa>MnP-##SBi%|U8Nlc!6yh9}Fi?IpU8f@V42J_4kT5Alx7l zh(wEx8JJuENRY1>TPH4CcKKI}-Nr|m%f?J6PCoo|Fvix2T4Uzk+8D^BCMxpMTN=6q z$Mbt)xK437t_lHN-_ARY8Z~$BT>rhAtcE-|jUn|?Ab}?_7{`gl#*wU8J7YtYHK>fX zPY39!wey4)d=KA|%mGJYO4idpboq7juE~la1{+Lb)~s1QE1pd25tGo?X&7TFi~^NL zjwFh`YvnHh2qJMKTb?-5i!JmHG#4KxE5AfGlg3fu8WNvOo%(?hYt}xoI#-2qveUjW zH>JX1&ZB~ZZCJ^`=Vt15=)%h2V^ug~gO;YP*3EePa*{-Y9Q^t4K+S4TfEtAiQqgAx zV~`3NRX@Jn|(hQcV2iYPcm@1%*-4td{K+;l)!-gB)~I0rh~s~}P@tw9qO z|47)kMm(=FnfdUeQZ%UTln|tp@kgsd9G8i3*7KM6W-EP4`|P>LK6l-B-<|hxUbg`& zF>&&&AJc#V5GnVZvenfisYrmjnv^>>h?oH_t%-hJC>lgej4i+DTM3_XSj-O(hJW;p zB&JN6wHHwKrIG>kLnLBnNw``cNvXO`m1bHA15owDK1^dp6wO$>${8>zRn)|f|8Cu? z@QuEaM1QBHXQ*_qK`oFn@yskK5kwH_8Av27IET^;3X_V6iOf%96$lk4gnsC3{!BV> z6bJ9xA2Q>3dxwV3X!$iZ&VzHrgHkeJ`uLzn1|X^%5LgX!@pc#AI}8g`8sq6L4CEGu zvh{6>@jm;!E`8#x52RtkdhxN5_31r_om|4hGvdQE;8UkR@pp##Q9UOC;kizY_U=qc zX71#ul!ZFiny_JR1*p#%da?11w6p*5^t9)m6HI{P`t^MkVftp34Is!O45rUK{>&xU zT&m|qeSC`RUyfDL&NNmLS`R35$qD1^(|%C#*zApNGy$L6t)!HI#nWU3X3&`TIF( z%PmK#7Tx>2AXNlvA;zrurI&uIl15aDR7sHcaaeKA4AFWq(1$`|8BI)ASh=I@;h=Y< z(f9Q9q?1oRHof8XuQqcStXs#ci%p5`!+>k{+0a=)yB43DVxfvJ5bVEvB`2sG1izUx zPku8$cP=CKwE?A=M?CeY*a)1UU;MXogtflUpQSs3y6T`kFCrGhwh&K&MYrW&$ZcR?V5F}y3B-Z2%JZAaZCsFu{GmV z{N@#S-2*n+&$$?piUDlu^NBe4t?&N5DvOv~ECCfiC1y(!kR99^a84RAVno_^-#4Uv z@jE--e^$2$Bw7H}RfZG=9&td(v*3ATiO~ST`9I7-RF!q#DpdjD^Zu{UB{nLfgo2IM zHXaAU)q4Q)H$Ff3!B6x<7h>?Hv%PV{)0^J3SK4jYot$Kj9>{er>CT`3Dkng`k*V?v z*GeuBCFYfHb#~A>!OD>yZB;cIZQyZ0mN3zRRe-#!@Mk~!MY`h-?s2R1d7u0+Z!uEr z*gm;vkS<#EZRz5m+5uCK0|>xa#?K06s|ss3fc{y0hSU-uNG25%5iw_q%s?X@R3Jnx zq!^V!*(gtG;lgElyx?;q-aE-3ZlC;v2SFJMtSc5#h>w3l6ucWc8R#F!1~4Isgjybc zFoN{90Nqy98)+F-u0(64yMKAFo}I2EaXd@a4-&!~)9DV}$R<34mwg6sGEpG$bD7!r zq}{qtCpM>A#v$Jqf(4mYAOTK5ORQ8(hOmu<`IN(&0dR$=UAFxDS_IAnPr1jDubIQf zwx<1x%nSkp8}(Y86V@cO4XNOEh1vM)fs%}^2!j)gP}-`PuMo-VyOL)dztT}>P^qBE2Mf;^{RMa$~r#XBKjowN=wA2NGyYIdy^>GW~ zXPs}QyC5r-buZ#ojs6Y~sq>RwrP8z91q(j&bbG|`(Pz6{MC@Ql^+`{ONY#N5p-dU1 z_}R#O?!5DtN`Q$d8Jrv6z4;b12>|!)E?7O6i4L(2mSg+6>*nI4+hJ-M2APmDT2$3y z`O#5jhq1hc9Xm!oy+hJm4hWw=zGz`~-R5Qos1+efDG$O416Lx={ICaZW*;c(mis z;;S#xhk}*F*fHD9R4}4tCm(`ofa?T+vjw%s0m>{-b5uoPAe*p7&wB`Yg7@|Hr(18m z!wt|8--EI!jaW>uA*=bdelN~AD2W9NzOV}3Pb$MY3;F~R%8jl2lC;SfsM(B`S>Oo$ zkAHjz9wYkFD%{OM;t?iDD>fZ+vx$YY031icy*+6{m}a+W(@q)J*Z&;f!dDA$pP{Q) zL}(e%Y?z~;3x;4hx{@@6sX-w_wfvA+xmtm$m}PoGDV$m>7B9MpAKNr}4A|r5%v*6q z+AqjZRvbCA;0zGeZ|dvdQ9VEH%$)#@u*&kpxXgj_BDf zyTCN#63Wr+(cG*e5mRM@LM{MYRSMz$0g9ss75v3oq7X)x7OE;H~|8 z?)mvsuYA=TkzD5;0ieLZVNV(VF#s#YmhEUmJ;f@3oHVCTZe4ytmfEm6XER*$;uza# z3!62M16G3S~veU}gc;1MUu& zuKc+HuMU`PURyBOm$=C>`p z`a*sEL&%2ensyhK0=7Uw-y#3rFjxf!rx2Lr?Zb1Ke zcG<{avyvdz(MO*$?wRM;-H)52wkgRNjIC5T2L@X?=1w`A7EW``n8>;KblE4R+>FC! zClT1QW_@VX>b1||U9ZjogKZ(v5?O{|-OCDi3aSBKc;UBfX*QmbUJ=-v+rQ`}>Oe;w zHRol|uS)0PQge#rUSg}bQ&tz@TKD1-{Rve4>Kf<8jsx|@`oE-pha7U$%hs&vytBW* zGZ727Kh|&0<|^AGM}7Y2RI-KUT4z2k%5&es{2loBdfKgjy|do*oI_FipMJ7si~b7|@YkYgOGUG0!UGBvz_ z!N*!WCFAFrzk})JVWub^`6yVHr%vnM~_>zX8ma>+i57@HdfFoW>f?{ z3B?l;6!m(hxHJ<+N9%9{oX(D1JpG_d$Ox6?Vlr)SLhOP3D*r7y&N zshVZ;QlV8i{E!H){uiSt_A(I_Qw?CFpfMRxV1ndo7-Bum>tWP=YIbt<#dH)Yy!f#Q z#J7crOPw5XFto;E<}`gpaHk)X?F|&yW9lZWDE9Qtm#U~HGuB(Ow0`(q$X(-XK{vVw;Ni1nBMAOyq@rs3~Q&DrBa zds{0FKVsRkOCQOKKXYJw{!EZblV*Jq_amL{*Ay!XGe+b7jHH;J2}5TVp;sT3GL`wG z$fZEU^afjw^Q8#mtdj|Mexc*hh3N?9ptY(lY2azd1grq)RB;hTtLHqv2-f(|I5c^0 z1`t1|xpwUn^YJKmXcUQHO4iA8tN^*V%2-CWvt?Z+9RThqb0B13$}y?%V+>8!X>5^Y z9stHij6&pYE;C2vkR^!6v6zaFjg>QauqhY3DLi4ft&SS%zI_>P;E>~Oz^0+%Cw-rM zDlNdrz7CZ_2!$+1w!@2?h*}lg#ZohoQ!tSw1q8#fdPVW0w?#C3_hvQ90#&hSRXCZo z@hL?#BtJS%mQ@SU9ZNQ}N8^!*cpO>0#i*&XHuR1L?YmpX?p6#o*Ci;WvmBqu!$nFD`qc;)>u*+Zu~7m=xMYQE1|Dqiu6G@|>)Q4GcYxJ6v2u0|XA!NKaR>wE z&K=278Jk`APKC7DJo&*32XEp>p*)6FgOS*rp@laIoQ#L7H3^1;dPC@e=tBQSOu-h% zMy&SA&hXaW%NA|?LA~p(A_uLyi3c41xwY&19?~L^2z4N%KJ0=hgdvaOv5zJ%pB9A5 zNzi5>KV;nWmx16itjz6lsOUad@hZI9$xL|ENJl;3n~|HkPPtK3?9I*e(u55}k)!3` zKd!Z||6#m$`Z=DbkX2`QIa5%U*!I5rO=kBR*=-SkI~-XgvI9s8x% z{MT2)uAQ#A_J(xdeGfUNS0D&@EMhTc%|dhLBil;fN-MS+J>r#veLX9=G}`p(?;rF0 z3(r0bcf3aoEc}b48r6`_EJCloBFaqV?__CR6DCm=V~}KMD{mO&oJ=T8AJRmik-QZJ z?4=+?1wbc{wc`%s)5M8y!_QmOHrtG&X3%!oW#3BIUUyT$qZMPS^MOq~Igck<trnqZO}QS*nO zTBKYwGtB0eIhUCur_9bViB&hVa|v{>!>80)@cr~NQ|sIfU3$(H%ejPawxhjGoGYxs2mgM*?KV5@THoi~_!Z=D|6|p)a2&6K1c>*d z;R##fPOPgiA_IC1S8krjOqsbQOM+;Ir9sgtJE^_+p0LO2PS`AQd%%d{X+L}i)Bd=; zy!zFz3UQ<7?Jc9vVwrTPKN1TBg=}r(9ON{|JL}xp(Ygf|9qEt5W3^$w53|NjTm#hc?=z~nLE0;x4 z$+TK&n{CIXcf5Vy^bQn#{LAxaQwHqt630e$!6@lIBf_3{(fqFqzNY-?GgLD?=0}UL zD;Y!q4Wn5<{9@^hYp=aTpV5*hei$2VQc-WkRq}$TSrddYwd=E!T$%^3p2)f; zsLC4?u6ap<30N#MH|q%#c1dsl@B8Y~GHQ!a%@`H#;NF9pZ&1j)9{%nFXY1|cS&zFbu!FSBzEk(~(^piw_7KY5vYs+!H&#hWJU4Ahm9QKQewRj zaHzLMjH7oz@ZfDlU;p~mmLpHWDld-Z5g(|ri4*n^f?`qXc{LTJ*Rq7g==no%H(F;p zWx3ehAYFw}dvg1jSKg3JeZzw#z_+J6V*n|4ZO=?y9!Y6#-_(hF$Op??9tmY|iw|`+EftVR^`X8hu-wg|n}2MS2w;9`M$hiMzvdHI1l@>5p_ZLi z!~q~>@yR`jX@e$P4*ZmD$T;z(p!xIooXU@WbUW^@9)>$mN9eX$+?0u|_z64q_~E9BKF0?BPk(ZEx|#P3Kri-@Co|C} z7cK8t5vpbBHL86C;0M*uv1F6$LOlNHZj?T}j%e>7NR#E2)fqyWT2_iE!HsUUAYz6y zfjTPPH-=9?^ITf6V5ypb@wL0SG4JJR2RvTvxWo2oryaM~7s*ooXE*0&MGQs- zm0w7>;OeDXq(*LTV%ft_IFWOczt`0B_d4V%l~^3*8u=Ik+)vl;jKPLbi=xS~38!*u31ni8X zDDY>@n3CRz1?g@zX16Zp{L6QXuekx!fz}b$3X4UMl>*D%a@oLBVF!?%CuO|pUe~Yn zFqRo#omQ}svrW_^`Iwt4{X4!i3Deg+*ok@1nXY{(45;FGj!yA7jNB{iuFQjXi+yrQ1dzme)M7GIXAO;v`eUUp2 zby2TD>n9iU^D>%itMxb+;`@0ELM%G4ir&#ZcYtVT63hS%DRu?C@ZU&S&wa%GPFd|y zk0Ta)0z?w5h7|*1I8ZKI;mKHs6)RSzd+&SD?ylkudw3EMH}0wDU00Ihu0*`o#QWfQ zDO!lzjQPMW(2AYnGbG}vsUrc*jDX3DGS71^7-av=Ed;j4g zn4CIW6#lu)2OoM=RGSnLDRb{qNB$<(vCFi$b}M9E_{WN}9G%`_OZdlTZ^!svtsbS} z;3LUJ00KIxqn+EjPg#B1*jYe`ETc~e z>Zulkh1X@uiq6*t`3%A0JonrS>86{0pvWaZ;24x8S@DWRr)`~EouBa!fPg}Fs*f*# z@`p|`v&B>6d#+hr1fbU;#eWC{CIG{9=qlBR6!6Ih0ODsUsx8d)$Tud&CH6y77 zCQ+A$mQ&s|9ZfNa<2(!tS`2=MZ$F5~hrac8dD0o6v&7B@o*CEUTbj8c=o>{Qe&Nqq zX|+7!nyhRrTGw`D=qn0&7k@_f1Y4cnqHNFn+PO^#sGK8@bb;t$@S2Tme z5XG#E$RN?8_VQr`*u3~bo8D$eNfU{F+K~Yi7R(E>U*Zc7_|-$YGun~m%hh2zvE z5EwUM-K1F-xHM=f?tjc zx7iUsAVe0EdIzw!)H`ntNFr8W3RkM*!2v`ThVsux%qYkJmP*97nI9dOF(Ppj8Ne@a zR@mi;-(%tr&i;KSH{p->)iLDH(8LmfMkM7$3H72+-WH6~JeEJhd!tF12^sTd{cv8l zTC=aZ>Pz_xi5s`a-hcnyznJjKH}Lxmrvy?73@OkVPcaoqBN2)RVb@AVUh-Fg%`@EU z#Ip@dBxeu9?#ocd3tS4=1j-=%=Ct)`%$U(>tFfc~y)3>b)sH_cet){}-iK(SR_8T< ziy&c$>NV`-YXD8TEtJV}fE*_lfw372eWn*H;#zIi^!2Ngs=#{V9izMDj zU=@Sz7<&kL)V{{hCJ31E|+8cp<;} zQ%4nnurp^BDCDxuFftH-5HR*0usHhTv6i7H*UNy!bE>8F#luu*s&r4p4%=2z9a>`h7qw0wdKv zPD5QSkHt4xbCGI0E<&8T8+sj3FHH8YlE?72mu=3#Kte_~8OsqBg=*jRecCDyM4b**9$rFZ7|axMs^}B_09r13}oThad_cSnSQl zBzZqMK&_JnaJ8o^tbyq>xVK7)-zOcqaN)(c8GYleLfE)5Ev8O;FTZ?zPFQ>XmT;i4 zLTs*NaznL9+)To*3xMb{=qi2<3fIAk9wv&z2{urZkCRjkvo3oK8^{-+s&D3E*1_2p z*b(O9&+OXohE1^1;|4EHgL(5i`Sq8K@wN7rIFG7=of4H(mRB-lVKekm5EDf~sOFe@ z8xOSzlEa3*V$r;A1|YqP>t~Fa)bS&hYlNAt#G`w0f@6demrm>E9e3y%xw(r#45b=i zo7?lxEWPl;a{QUOG{>IhsC;=BX*aPLvB4P-^SDgqc(S396@*ELND0c&^kOW%QI8!P zST%kfComaF3IX>i&<7f8w z_g#hz2Yj@8(Bed;6|c~sIEt0&MbcFt1@Yx6tN|c1ucav}N9_tOxXHQ~NTr4<~{d^(I_weuyPuMIexe*ZSG$Dbl5+K_n9BZEAo5sQNepVy~FR>ddr^s=FR)!Q_%fC a+5Rsy%Z3Q8BQMkd0000PyIi%CR5RCod1eR+^w)p_TAOLwcafCNa`AV7eG5kgC=kpvQwWyE4k1_v*hq{enK z!LGtHl{m#LHBSDRnVRx=YCP2&iDPk-}jyGoO|zk_uc!tlC>#)eJih@I_{z^PPA*+I#HGh zpa(G!da=+JAx1*Mg1+|ymt|FMgsF{(Km3D#O?CDcUtVnyh@-5^L63|KiIS|JzWuiY z`|;x^ASb!FlT*x5~O90fuq>DYj1Y&zzf-o8Pl_okrBLV+1@AjsV9&US7BP~ z&Bjfhr3}KMp`mQ=-e$EC=1&@#^djtkT$^{$@cA! zfR;r<)WzqWzP1lMEO_+%?30bhrnKa9XQ zHpPhndbyat`<)+~0oE5a9F}ZK8j_5YDzZ?4`tVDyWd{$wDD5Vz(N~{#(Yf+Cs zOcx*t%Ck(gh~owVL1#=$>M(SCuZYUdkw*t^POQhGGUk5A;A67`mT4J5S{MiaX^84> zw8-bqy*#_|h7|(*!4DqF_U}KWqXC6yV&{&vC0QoSyU=&YIaz+^w?CXsnR14DmMBP* zVTB);djGS}<4CNdpuqVSU;UvwN^|F5ySLe>Um-{;#gT%4?{_~Y5xI_aO5^eV%{T80 zk&B)jIuzlt?&IH1gr8mwP^^$0{bUN}N*c>GWa_Zx9FZ^5;1WR2!z5@;cLj9g@5 zY-&_1mM_WHZy1OIx(W7Xi$3>YXU+QiKd^eFUi%aU8be5`IMkkM5`hsbjcntl^C3dc zij1!ixwwuoX(&lwxz(8;e@MfkQf;?v`xdUmxq>Kc!@wv}Gt~(I$E@2M2A)>cTL%~Ywepk zX6v+dfKzE5dO7wBIl+dED@O%79cbe}j=+X8_GlIb9tMw$3L^7@vLWQy*0hZ23V!$EKpM-t%`740b{pyrznf zW*O%RpB@O{*rTTD?Z5v!au#De!$KNk6ecnzg#*rI0ezfO+vohlAHFH8*K1kRMo%aC zLP=9bljdA73Al9SmDk8;3o1PN5QWVFqwQZfH+$b@7mIzm`PSe6u#KG}$j8%@0C=V{ zvF0HmXFxl5Jdyp~x9*ozjbKta4}1~EfIPU!M=SZnrw!=|kS(ziQPc`e_S2s}osA3+ z3pr1tVYF^$fvFrL&}s6na2h{kDVUz{dghq}A^Hc_tW$#+Mc8l5Usmp}cHb5BLa0o+ z^$`I=DCwyoJ@hCq^8@<;H4pg6y7oUP&Qu19GomD6H0W{;j=!yM$Y@KQ>uvZHX3fU< z3Bo#m{_?k)rRF4Eu_A(<)&xp0-qmPA;7&|DN3C!L=iXt=U$8u6MaYeiOsSEG&8d5q zr6?WSK<{q=JQMl1=Lxx*s6a;*lyIz)z)clo)oS-&xhy!KV0>?Fypx2X!-z8Pqp8GU z6ao-pA}i&}x-FZ3{8@KEpDl$a47YcOBxZ3(loxZ}J8r_9_3OX?q#||O)&W(EmfZN| z+Q{&~5rBK60_|eX%jL?^ZQCC7_x?nM($PUcps{Gtsu${w#`H9L>U(-7oWF77{V%21 zV*8XF6phk8Pgq&jSW|D-XUbfO(r8&p9;1Z^sp3+zQmx*#YscgNF(Ss^8uK9d9zjpz z?o3xgF4lC~2xH&Rc%fH4itNH*eMpR8cG~r^<=b%)1Y*-HDm8a)2=u)_e{iRymKk4#rUE2Wyj~ z+O<USdnS;+Fg*RseVM32LIIHs=O(BIW(;yDD1Fm+X_|NNZ?tgCo61c!)CEpfzjOCD{$QU|hC~TTS~2K>Hfr%z0mply}X8>(GtP3KK25sO9^%;kzN! zK{T6<_?8LUL9~@M4C3qfx)0GiA%&>Fw>@;lg+$zMmFQ(3;5-h zDWX0^KvAM5lP@RE(BqG9#TNpvB!)S-8YlKbXZ{#p6-#w|&OxH2vrcQCM6bQ}y1X`R zw#%Z0fza=yGbUv>fAIZs5Ti|TSq%@5KxmLIM*c}XJu{{0WNrYcQ_V_8G4M|1}7<3g-Bc>I=d z1K|JK_|j~U+#Cp}P&wKlA|noR!#?=XdK^hca8$AvF1OV1X?)X0ok21XE_kzH*X>zz z2IOC&7aPFJJ9n=CIcgk8`A^A|&^oBhgOCbYLPRx7uoe<$QVq`m3|c-bTg}-ya^xSC zn%e@W22Em#CiM`)VS}GHc%;mJx@VKrYzxBe0=Wu;Sbz#u6Vpf)QSP7hj-7k;x`++p z@yBr|fB>MR3708KK1rUM$f+o7fiG9O2Ka#~94C3fx6v4RLw6t&E3?uBQ)wurZKYDI zMq{RC;u$@13qp30k7IDUa@A zEAe5$7uS4(XxnVd)fU-Ci1+iK8yOk?Ur-gVLrJ!2!fdl}$T?@;0iay24%F-2D+dRE za9q)2+d9?QtU91C>tA_JZ?pc%M!j(>c9t2~U(PO-n!UKb{yLV>5!`dJsZ{Cu_RfKa zAMQYLTH<#-hy@Fl|4)24`S-fgeg6e5nG1`a`vTv+>dwvgJmvk}T|GAq3_SeYX+>{F zr!|NL3sz39)rSr=nvKci@r9yfM%j)TgNWjMtJ2l=XFCViA{k>Zk?GWIag)>4zrd%l zNzqVSX?Q{v0ot{lHo9>;lSsFe^>lar@xZ`iUyQhuw+gO08_b)xY<0a+`&3*Z(Ub$= z$4p%&35Ny7O3x>$O#vsws>ilbtG&^?ckkZe1l6$_Svx{_CFJU(2vROl1UI(ePiF?m z!I)X%1jSHf-+`{XyZh7Iw>|O=0gkeXmhC}Rd_B$&;8G&kL#M>%CMtEOwmqf&%$YM8 zK}47|H>3E_cHfS{wI6X^yE=89(@&p%P45|JHjdLzbdv-PvmXng<_C}|8TIPpfP(cq|M^@x@}b*s4S* z=}pt1I9wZ>ec^@gd-3q$XLlMbR8AWNSI)iWXE^>}9t3E3_zHICDZ<(eK8V}3gv>V) z=>rN9`b>)GRWdSsq^Ee)$}Ojb3zseT0nkKWYOLXDJE0Fv$$sd?Mz9bv*+eB;v}49w zi(xr{1kl}mcFT7Zx#e`$+2@4WZ82=~1-WN<1d_@l5OTC(JZyS8q9 zNZxD7Am%Mt@ws}94;U~II`y2Q!9Y|ba@izt#i69u4o!d%Exo2cTf78c0Wzg1^}64y zB;D+}=MHHjnR0OtI3r6v43EhD%rXek>FsuUo2 z!N`q7dLAH53de{}wOY+Sbn|uD1sA+m#UN`m8khh@`VQ@VHTL_nfB{~pwCQT8$v`dR zYc_}0pgXHNzi;^+HMdlKfkst4G4UsC1SLCdif6B=nmYCD?3NE*myH|OElZs{Xs6PN zgER8j+RZsLAFgLo`%x+hW>!(EjYe}i2QZe;1Nc~(U5}dzFTC)4WdV1s#-odNWyZAG zej9)m1yH;pQI-hWX}}(~aI%wl3F*) zlL*ixA&cwG0lSHcPff9Kmr*|{KzCPRFmnNiP5obD$4-b{Ar?BkXeUCsDC|qd2S`j> z6q!nj?L1<`#_clBRI1)7i4lZc7#)`@BL0z#Wz1QXI_Nw z>@LbCPv%WA9ZEEh69T9#VLMvsiH`OW9715GLZ^)nTo%$pENxjlwQS4W`jOWcoy7q> zk7!Rl^{l+q6d1^7;DM)0@m$>0sb^7q(sJ++o^2BU?n8rN+@Yu_bT#pcXl4x?gsF)Q z*M&wo56DoQm=Rb;SslRo)-|pNi;sWomgEb0b(9{Z1_pM=;OHMO4o3!-8wqm^PB;^+O{*n7mnD(maDPyCZ0ho(WJZ!A0Q3`Kntd00EkNn0B%Zk=f|y;qpA3|eSE@b1 zbZ>C_(q+z^E5MoX7XE&mC$vbC6M$z|ma7^q?in1@7}e?@Ja0` zM;C(;UKv2*M}@LAEN$8VoXHo$zWoPfCipam;0a){nu!wkDh&#UiC8)+85thA*r5S4 zZ{Cg5veNNagCfruIlPq+Mw>J~rFI9BS0Ato&5#4=bRKYSb!(hR_&{=ZeU7fLZ^e_C z^4UV_4st9^9875C*)I%MyAj~$fk2b<2&#g;d1yl)4e>|@SCB`bJGML6xpQ5(UxFsl zOxwORq(|pz04-gjbH4I~xS9xGz z2{BsA9+5_7j>T!y+ZkY)x2e&``*-Eu* zUCeiC0x3L^KRpjPLTwO!5`gPm#z0TyJdm!Mfo&tnO@z*x4+s zBO7QKz0qq^Wi&zw^WYiq8oIHZ2ZYR~u&es^`1F}u)y1tx7A1w&RaagAm0E514oQ8Y zi-}f>bSp3lH~{nDvk)m-EDUP~2K0x+qFrk%Z_%n3$&w{EUokX%e6K7aNK*GsAo1n_ zfsF$g%Xxr?xYzZmEnC*e&p!mB4h@f?gE}u>*ni!V&1N0MG}CqRt2htzbob!-h##%b zd+*#E(;!H*bm@)LP7IIi$A@J+>*IqlngW~50Blqom7&E(SaNvuuhRXOTekdIo{6BZ zQ!Rn-R1F+AXU@urz2mEo;!wOO2I5++bw7xa#+Kp4d%4lo({tzM4L|%+-ul#gr#*<& z#j<5LoHtS{eF@(-eN5!CZ}_`kb&)#4eNQh|%GEC*>*1lxly9u6ZQV{PRop%vabfMiwEmL;0`)QYTu z3nqiOfAX7IcJyn5gM+7aE24Thy={!^^z2W`YTmr1({MTVKjW#PPh$B_YF)sZXkY7| z@bI;dWYMf5H2QWKB=NNBr&k?f^r>Lqt6c82%#?J>N2`_cU)O3q|8>uv_CNX(19 zjq=^|v@q}{k>QcXS8<^U9}|&&3{Gkw)v3Dyg4#-AFi)nE}t`O{5}C> zX_uyyUG%Ma(~K!Wga;fN_QA&AA;{izk|~KqNsGZsX+PuS$9d+da%tRcgM$w~l~}&3 zrh9!?B)HS`E44=Lj&`e-iOna4uGFn>U7tS`1z3k=OTA4iCP5BKi3yt0qYqChYnI%g z0{{)*ZG#2DsT_UtMIM%Fwdb$+Ay|8-zs5CIb}-e0etzo!bj#~;y5IJ5UK-r z<0+wBCx|{Zod!;`%<2;J-4sO&f8HU=x9{MgQ}0<^7aZr7y~QKo9_Y9UXz~h6YcoGqk;(ZmLpm;_knjq^Q{P@;*@R&1M+pwWu0 z&i0ewQ(KIq4WS1@l_gtHE{7~Mp1 zARuzdCA~=3LX)Vh=?+MPwhWdkw5bxmjfwT4p`TrK)vDFhj8BO6kqEe~y6Hd6n+xM_jUVmI}~6x3tCd1e3^;Z-qp-mC3=S> z2Tf6qwi*MuaQb^C;WKB=$hxZhvM*)wwvHtdM~^OR7`b_;cJ#A44sE>O*8&bm08gTu@DIJ~qgOl}|~AjH^;eqhbx8Gn~X zGA!6+94S1R1PRS_POVlx5-6L^$)(EiwP?xDTM+J8{56Q>e~O=Gktabs?TH$|lrESl zB=JGgb|shm96)(V6f#g9(DfL-pj&mn7;PIx{= z!->$9;E}0Ky3O-Bu5|?M@`vB^`BVJTh1{bhmi$6yc%=R!95|EsVn=hVt=KLi1>U-` zDBDkhhgNXf%95S?o~ig9w@Yy=`o(+@xDDc$E8<@BzyHra$kPv=f#4w~C7-PPvJrTM zw#gq6IJ)Au=J)JCvrH zb{>NAg)aDH-9;Bo$8RKGB9D`#tIbz9&R>B)&!D~Fn@dPnPKb>NT@?Q2qb)=B2>zIi z{w6jEB#4Of;pgLz(%5qM5t+-Mic9!4B7R5w@e)2YPsOL^@N4&`ht5ZVW-EJ)tk^=} zDO}a5M0tCA$7Qo-&d4r9($6|eew?Am^iR@%4v!c-_E_OzCWN0J!Z+lt9+h$|jv}z+O<6E<|z)B3gPISrKh%`7r!y@}6<#r0h5Fdz~z}Y>sU!nY+m?JtE=2 z`Dy|6dPT}2B7qd_3EtL&lKW9Tw?jk2*)vZ+msM~M=)x1I_{vd|%LK<4;tlCZ4z1qk{)TpU2-ndxlLZK0L;+=kf_e{pbWMZf}BJ;k+Uhc*z)%y&sGh#WOjcPhBg~e%0y}6Ll7RZfb}HkI#M_# z{{-9CE%u8J#zVa?HQX162lLLzrr>-r1)qA)Mt$a)XJnO1x(dW%>>K)H!X;LZDAJ4! z*Rri!cXDoYh^F%4>*%AMCZ2uZJxP`#O9K@h3nziTSfridp+NpvlnXl=17HRkDG7u| zsIVynWjc>dP-!O!42Y_Rw~Vj<zvkEcuI2`GsFzqL@1E?CfGZgjmL8c|0^F z-pAx^U4b@wi`Oan_nG+kgJL)~$7#^)`K{rup~QVUPY|>y7?ZJvvALD_=*3^MvY&-@ zd0N{j0ts}{M_d&fcdG6Xi_=Iug(@gffgdQPvw_Y=p zq>P$Bu~Ea+9DCal+!<2Y9F`ym#W|AXwffN6(PbyPn z>WxuoABY5W?C9IsOE15wlfWkrIT@_|<$X?!={Z5$@R%{Ktw}s7VH~YFk;;6g0hwi5 z>F^OJ8a^rH*5Q+=l>mFhCOp+x`uj9V>RPvHaNhPH-MJ&ZAGm@dGz8+og>Vp|BRbVG z5V6*Cl{FzY3)KAGaewSH)J(ihg6tWX1eplbeA1FXR^3{_>46lLA?Tta_Je6?L>(s~ zj#lLYt9E}IPiC%t7(W5~q9n)%CI${vM(1sb#TCJpb_vSmtnrdV5b9v2ZgPEEdm)l< zJ~cbAN}7T({-5I~myf=6G#sM%V-?&p__mglAa8G3V-GlSVkmp!iKoSBbk9);=nqOR_3~*1ktaf>NdY!j=u+mnYKr-u??z<$@6ca~AEQ)O|{j*0H2` z7;fglazJd$I9-WaLya|6PA~27C$^}7MhFsw5ga&x=ZW#|ix=(i<%=Ae!lB6a22Kk9 zhBA*Gq~XiQ9pa?Zv?Q)v?1}eF;=o1HvI(v!v1GJGXq(oGdCQfd*Jpj@f$-?nwlEXqQ}`0HgifyB>T0WS?~e4ySJ zK|#m>>BEbx5D(aeg*xJ4OFj{pG%Aw-Qeh$%-cokx5Pm8Et3LOV6Ld2hIx(C*_4KnA z0b|W`g>FGi1C1>zBvk1pvOu6NqNX)Y5H`BIsyA6MaU%HRxcH*tPH{@dh6uiVn$zS5 zkS5U~=_I9a=k{6?VF@8uATZ~Q!hIwnX;Ni6t=Va2FTC)Qo}g_q*zlw0+@|6U)-S(& zaO-)~FP(%F+tQE#3r27)ZE+*PrN>HQRTFEm&&eG@A=(U7MA)#lfVD>7iihB}ifNz( z+!My(5_|9Xae6HZa>n-3;a4%fpPLWB#g~yLl_y$i*m<82^{Iww>ZA9R$l5dtlOQa7 z(C*K+Z2IwkOVC+vBB*%f<%18NKYivjob(ojWH9Rd$a4Ww$ACST8ftXoeFm=>@e^33s3}h+ZIx+)W5!dz9jPKw=GaBp`oYS0EF9Y{H6( z=&tT@f4q6)55HKjknX5qEnd88`OxstT5#g3nn4S@tCLdeE?Kjv1p_a9kO^KxBaYRH zj6k{|boW9Wn6;;V+xRh#5SYSqTVGglFG$rs?HYf6T!!;_ef6X@A?TNIio$p8D@S{1 zImtvCKy1&MGpDe2GxM1g)-Ek;7HbK7Y1ew@v{ zD8E7B%k;)$tXjEgPRNijaYB%u2T}rU2W}0~Jrx2dI*D=O@c7iRqi4+DyZ0YP{R#IX zLm}MQy=w8Q+wlW4UyqV}%ZK1=NFz0jPXy}@%QJ<Sh{arsL?n7}lgp|5Spfq6{ zCxH{Di&oDyQ@Q3HW@s0#~9I^0O1 z4;KDp{+7)T=nsR60UUQ-bQPTaU2bs{AgFP&1F zvP6ltRGU~OO|>X&ZI(Oj0g=C8SL`~F@^)hqvHW%Bou$$*mYvSyTPGVzF{DC&WwpP* z{B7J2aGM_YsrIO?mSjXT%T01f$lDaG!R8^_B&C2z8(NxlJ?^KUZQ^N337prb-s?z& zmI#5jLyd-F@pv47;eOit@F#D7YpjoJ1z%_wYbrXu_Tt4i-ab4$bT=3$78%my7Zak` z7>2fdlqOHREg36#gEN5xN57HZ4YhWaOC2e7i@#K$NdACSS9RPUZQS^SQ#uFa_}g?m zo;Iq}6Y*VEZ|{4*R<93#0)LpI%vB{5VRV)z^xSnm6{44MCvwjNIo!i!}=i2V-?QD?LLSl^Y@bMdZ7PSuzX!Hgf@`zIr{`t7(7 zG}%X`dkI(=jSHQ$Lxk}J{LB3u0Nyw8^FQCHR?A<&MY%UTj9+!#VVJ*aw~>F*qFXL0 zmq$K}FK~VnS4b~C`LP4@g=1Yfe})n0Ec&4*dWiE|fHv`cz_a*8n*WP?r@oS22~BN( zUF{Itugl?B{PgwRJhi8%JU=Tp=ixf`Y}}eS6E})Y!)}A0$Sd{YaEChU)!nG{4h|#7 z(dS>oIgYP?Un^Bg`^#DRXN_{#p03jH?)B?`g3GV}Jj?$BhFOR6Ju=6}00000NkvXX Hu0mjfW;Q=s literal 0 HcmV?d00001 diff --git a/modules/mogo-module-v2x/src/main/res/drawable/selector_call_btn.xml b/modules/mogo-module-v2x/src/main/res/drawable/selector_call_btn.xml new file mode 100644 index 0000000000..bae6d6289a --- /dev/null +++ b/modules/mogo-module-v2x/src/main/res/drawable/selector_call_btn.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-v2x/src/main/res/drawable/selector_nav_history.xml b/modules/mogo-module-v2x/src/main/res/drawable/selector_nav_history.xml new file mode 100644 index 0000000000..d2fd354592 --- /dev/null +++ b/modules/mogo-module-v2x/src/main/res/drawable/selector_nav_history.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history_other_help.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history_other_help.xml index cddd798ccb..59251e78da 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history_other_help.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history_other_help.xml @@ -112,7 +112,7 @@ android:layout_width="@dimen/module_v2x_event_button_size" android:layout_height="@dimen/module_v2x_event_button_size" android:layout_marginEnd="@dimen/dp_40" - android:src="@drawable/selector_talk_btn" + android:src="@drawable/selector_call_btn" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@id/ivFaultHelpEventNavi" app:layout_constraintTop_toTopOf="parent" /> @@ -122,7 +122,7 @@ android:layout_width="@dimen/module_v2x_event_button_size" android:layout_height="@dimen/module_v2x_event_button_size" android:layout_marginRight="26px" - android:src="@drawable/selector_nav_btn" + android:src="@drawable/selector_nav_history" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> From 92bc1bbebe0c718a1ae8f8a969a6fb8d37bff72a Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Thu, 19 Nov 2020 18:11:23 +0800 Subject: [PATCH 18/19] =?UTF-8?q?1.=20=E4=B8=8Eadas=E8=81=94=E8=B0=83?= =?UTF-8?q?=E8=87=AA=E8=BD=A6=E5=9B=BE=E6=A0=87=E9=85=8D=E7=BD=AE=EF=BC=9B?= =?UTF-8?q?=202.=20=E4=BF=AE=E6=94=B9=E8=87=AA=E8=BD=A6=E5=8A=A8=E7=94=BB?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E4=BD=8D=E7=BD=AE=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.gradle | 2 +- .../map/impl/amap/AMapNaviViewWrapper.java | 182 ++++-------------- .../module_map_amap_my_location_icon.png | Bin 6992 -> 0 bytes .../map-amap/src/main/res/values/dimens.xml | 4 +- .../module/common/map/MyLocationUtil.java | 107 ++++++++++ .../module_map_amap_my_location_icon.png | Bin 0 -> 3097 bytes .../module_map_amap_my_location_icon.png | Bin 0 -> 3097 bytes .../res/layout/module_common_my_location.xml | 15 ++ .../extensions/entrance/EntranceFragment.java | 36 +++- .../entrance/EntrancePresenter.java | 1 + .../java/com/mogo/module/map/MapFragment.java | 4 + .../service/impl/adas/MogoADASController.java | 23 ++- 12 files changed, 217 insertions(+), 157 deletions(-) delete mode 100644 libraries/map-amap/src/main/res/drawable-xhdpi/module_map_amap_my_location_icon.png create mode 100644 modules/mogo-module-common/src/main/java/com/mogo/module/common/map/MyLocationUtil.java create mode 100644 modules/mogo-module-common/src/main/res/drawable-ldpi/module_map_amap_my_location_icon.png create mode 100644 modules/mogo-module-common/src/main/res/drawable-mdpi/module_map_amap_my_location_icon.png create mode 100644 modules/mogo-module-common/src/main/res/layout/module_common_my_location.xml diff --git a/config.gradle b/config.gradle index d8372e74c5..1b35de82ec 100644 --- a/config.gradle +++ b/config.gradle @@ -154,7 +154,7 @@ targetSdkVersion : 22, gpssimulatordebug : "com.mogo.module:module-gps-simulator-debug:${MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION}", gpssimulatornoop : "com.mogo.module:module-gps-simulator-noop:${MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION}", - adasapi : "com.zhidao.autopilot.support:adas:1.0.6.3", + adasapi : "com.zhidao.autopilot.support:adas:1.0.6.5", adasconfigapi : "com.zhidao.adasconfig:adasconfig:1.1.5", // 个人中心的SDK 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 20095d285f..1653a18a3c 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 @@ -1,27 +1,17 @@ package com.mogo.map.impl.amap; import android.content.Context; -import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Color; import android.graphics.Point; import android.graphics.Rect; -import android.graphics.drawable.Drawable; import android.location.Location; import android.os.Bundle; -import android.os.Handler; -import android.os.Looper; -import android.os.Message; import android.os.SystemClock; import android.os.Trace; -import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.animation.Interpolator; -import android.widget.ImageView; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import com.amap.api.maps.AMap; import com.amap.api.maps.AMapUtils; @@ -35,15 +25,13 @@ import com.amap.api.maps.model.MyLocationStyle; import com.amap.api.maps.model.Poi; import com.amap.api.maps.model.Polyline; import com.amap.api.maps.model.animation.Animation; +import com.amap.api.maps.model.animation.ScaleAnimation; import com.amap.api.maps.model.animation.TranslateAnimation; import com.amap.api.navi.AMapNaviView; import com.amap.api.navi.AMapNaviViewListener; import com.amap.api.navi.AMapNaviViewOptions; import com.amap.api.navi.enums.AMapNaviViewShowMode; import com.amap.api.navi.model.NaviInfo; -import com.bumptech.glide.request.RequestOptions; -import com.bumptech.glide.request.target.SimpleTarget; -import com.bumptech.glide.request.transition.Transition; import com.mogo.map.IMogoMap; import com.mogo.map.IMogoMapView; import com.mogo.map.MogoLatLng; @@ -62,11 +50,8 @@ import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.map.uicontroller.MapCameraPosition; import com.mogo.map.uicontroller.MapControlResult; -import com.mogo.utils.UiThreadHandler; import com.mogo.utils.WindowUtils; -import com.mogo.utils.glide.GlideApp; import com.mogo.utils.logger.Logger; -import com.mogo.utils.storage.SharedPrefsMgr; import java.util.List; @@ -87,8 +72,7 @@ public class AMapNaviViewWrapper implements IMogoMapView, AMapNaviViewListener, AMapMessageListener, AMap.OnCameraChangeListener, - AMap.OnMyLocationChangeListener, - Handler.Callback{ + AMap.OnMyLocationChangeListener{ private static final String TAG = "AMapNaviViewWrapper"; @@ -137,7 +121,6 @@ public class AMapNaviViewWrapper implements IMogoMapView, // 设置路线相关的配置属性,如:路线的路况颜色,路线上是否显示摄像头气泡等。 // options.setRouteOverlayOptions( MapStyleUtils.getRouteOverlayOptions() ); // 设置自车的图片对象 - checkDefaultOption(); options.setCarBitmap( BitmapFactory.decodeResource( getContext().getResources(), DEFAULT_OPTION.getNaviCursorRes() ) ); // 设置指南针图标否在导航界面显示,默认显示。true,显示;false,隐藏。 options.setCompassEnabled( false ); @@ -565,18 +548,38 @@ public class AMapNaviViewWrapper implements IMogoMapView, mMapView.getMap().setMyLocationStyle( style ); if ( visible ) { // 强制刷新一遍车标 - setCarCursorOption(null); + setCarCursorOption(mCarCursorOption); // style.myLocationIcon( BitmapDescriptorFactory.fromResource( mCarCursorOption.getCarCursorRes() ) ); } } } - private boolean isInEmphasizeAnim = false; - @Override public void emphasizeMyLocation() { - isInEmphasizeAnim = true; - setCarCursorOption(null); + if (mMyLocationMarker == null) { + initMyLocationMarker(); + } + + ScaleAnimation animation = new ScaleAnimation(1f, 1.2f, 1f, 1.2f); + animation.setDuration(250); + + mMyLocationMarker.setAnimation(animation); +// mMyLocationMarker.setAnimationListener(new Animation.AnimationListener() { +// @Override +// public void onAnimationStart() { +// +// } +// +// @Override +// public void onAnimationEnd() { +// mMyLocationMarker.setAnimationListener(null); +// ScaleAnimation animation = new ScaleAnimation(1.5f, 1f, 1.5f, 1f); +// animation.setDuration(250); +// mMyLocationMarker.setAnimation(animation); +// mMyLocationMarker.startAnimation(); +// } +// }); + mMyLocationMarker.startAnimation(); } @Override @@ -939,42 +942,25 @@ public class AMapNaviViewWrapper implements IMogoMapView, return mIsCarLocked; } - private String myLocationConfigCache = null; - private boolean isUseDefaultOption = false; - - private void checkDefaultOption(){ - String myLocationConfig = SharedPrefsMgr.getInstance(getContext()).getString( - "MY_LOCATION_CONFIG", ""); - if (myLocationConfigCache == null || !myLocationConfigCache.equals(myLocationConfig)) { - // 内存缓存的地址为空,或者内存缓存的地址和sp保存的config不一致,那得重新获取bitmap - loadMyLocationIcon(myLocationConfig); - } else if (isInEmphasizeAnim) { - DEFAULT_OPTION.setCarCursorBmp(inflateMyLocation(myLocationBitmap)); - } - - } - @Override public void setCarCursorOption( CarCursorOption option ) { if (!isVisible) { // 当前自车图标没有显示,所以先不走下面的流程 return; } - if ( mCarCursorOption != null && mCarCursorOption != DEFAULT_OPTION ) { - mCarCursorOption.destroy(); - } - checkDefaultOption(); - if ( option != null ) { - try { - isUseDefaultOption = false; - mCarCursorOption = option.clone(); - } catch ( Exception e ) { - isUseDefaultOption = true; +// if ( mCarCursorOption != null && mCarCursorOption != DEFAULT_OPTION) { +// mCarCursorOption.destroy(); +// } + if(option != mCarCursorOption) { + if (option != null) { + try { + mCarCursorOption = option.clone(); + } catch (Exception e) { + mCarCursorOption = DEFAULT_OPTION; + } + } else { mCarCursorOption = DEFAULT_OPTION; } - } else { - isUseDefaultOption = true; - mCarCursorOption = DEFAULT_OPTION; } if ( !checkAMapView() ) { return; @@ -1032,96 +1018,4 @@ public class AMapNaviViewWrapper implements IMogoMapView, mMapView.getMap().moveCamera( CameraUpdateFactory.changeBearing( bearing ) ); } } - - protected void loadMyLocationIcon(String url) { - if ( Looper.myLooper() != Looper.getMainLooper() ) { - UiThreadHandler.post( ()-> loadMyLocationIconInUiThread(url)); - } else { - loadMyLocationIconInUiThread(url); - } - } - - private void loadMyLocationIconInUiThread(String url) { - - if (!url.isEmpty()) { - RequestOptions options = new RequestOptions() - .placeholder( DEFAULT_OPTION.getCarCursorRes() ) - .error( DEFAULT_OPTION.getCarCursorRes() ) - .dontAnimate(); - GlideApp.with( getContext() ) - .asBitmap() - .load( url ) - .apply( options ) - .into( new SimpleTarget< Bitmap >() { - @Override - public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition< ? super Bitmap > transition ) { - if (isUseDefaultOption) { - myLocationConfigCache = url; - myLocationBitmap = resource; - DEFAULT_OPTION.setCarCursorBmp(inflateMyLocation(resource)); - setCarCursorOption(null); - } - } - - @Override - public void onLoadStarted( @Nullable Drawable placeholder ) { - } - - @Override - public void onLoadCleared( @Nullable Drawable placeholder ) { - } - - @Override - public void onLoadFailed( @Nullable Drawable errorDrawable ) { - } - } ); - } - } - - private float emphasizeAnimOffset = 1f; - - private Bitmap inflateMyLocation(Bitmap res) { - if (res == null) { - throw new IllegalArgumentException("inflate myLocation bitmap can not be null!"); - } - View root = - LayoutInflater.from(getContext()).inflate(R.layout.module_map_amap_my_location, null, false); - ImageView iv = root.findViewById(R.id.module_map_amap_my_location_iv); - iv.setImageBitmap(res); - if (isInEmphasizeAnim) { - iv.setScaleX(emphasizeAnimOffset); - iv.setScaleY(emphasizeAnimOffset); - handler.sendEmptyMessageDelayed(MSG_CONTINUE_EMPHASIZE_ANIM, EMPHASIZE_ANIM_DELAY); - } - return BitmapDescriptorFactory.fromView(root).getBitmap(); - } - - /** - * 目前仅用于强调动画 - */ - private Handler handler = new Handler(this); - private static final int MSG_CONTINUE_EMPHASIZE_ANIM = 1001; - private static final long EMPHASIZE_ANIM_DELAY = 80; - private int emphasizeAnimProgress = 0; - private Bitmap myLocationBitmap; - - @Override - public boolean handleMessage(Message msg) { - if (msg.what == MSG_CONTINUE_EMPHASIZE_ANIM) { - if (emphasizeAnimProgress < 5) { - emphasizeAnimOffset += 0.1; - emphasizeAnimProgress++; - }else if(emphasizeAnimProgress<10){ - emphasizeAnimOffset -= 0.1; - emphasizeAnimProgress++; - } else if (emphasizeAnimProgress == 10) { - isInEmphasizeAnim = false; - emphasizeAnimProgress = 0; - emphasizeAnimOffset = 1; - } - setCarCursorOption(null); - return true; - } - return false; - } } diff --git a/libraries/map-amap/src/main/res/drawable-xhdpi/module_map_amap_my_location_icon.png b/libraries/map-amap/src/main/res/drawable-xhdpi/module_map_amap_my_location_icon.png deleted file mode 100644 index b71e0a3b1de74b2020130c1d7758358457e7be13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6992 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 X5Z>DqlCl3PGBkB%owqfL;PC$g@jG;` diff --git a/libraries/map-amap/src/main/res/values/dimens.xml b/libraries/map-amap/src/main/res/values/dimens.xml index 6898799649..21d58bd9ed 100644 --- a/libraries/map-amap/src/main/res/values/dimens.xml +++ b/libraries/map-amap/src/main/res/values/dimens.xml @@ -1,7 +1,7 @@ 60px - 78px - 120px + 44px + 66px 146px \ No newline at end of file diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/map/MyLocationUtil.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/map/MyLocationUtil.java new file mode 100644 index 0000000000..347447f467 --- /dev/null +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/map/MyLocationUtil.java @@ -0,0 +1,107 @@ +package com.mogo.module.common.map; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.drawable.Drawable; +import android.os.Looper; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.ImageView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import com.amap.api.maps.model.BitmapDescriptorFactory; +import com.bumptech.glide.request.RequestOptions; +import com.bumptech.glide.request.target.SimpleTarget; +import com.bumptech.glide.request.transition.Transition; +import com.mogo.map.uicontroller.CarCursorOption; +import com.mogo.module.common.MogoApisHandler; +import com.mogo.module.common.R; +import com.mogo.utils.UiThreadHandler; +import com.mogo.utils.glide.GlideApp; + +/** + * 自车图标工具类 + * + * @author tongchenfei + */ +public class MyLocationUtil { + + private static boolean isLoadingIcon = false; + private static boolean needEmphasizeMyLocation = false; + + public static void emphasizeMyLocation(){ + if (!isLoadingIcon) { + MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().emphasizeMyLocation(); + }else{ + needEmphasizeMyLocation = true; + } + } + + private static final CarCursorOption DEFAULT_OPTION = new CarCursorOption.Builder() + .build(); + + public static void setMyLocationIconUrl(Context context, String url) { + if (url == null || url.isEmpty()) { + return; + } + + if (Looper.myLooper() != Looper.getMainLooper()) { + UiThreadHandler.post(() -> loadMyLocationIconInUiThread(context, url)); + } else { + loadMyLocationIconInUiThread(context, url); + } + } + + private static void loadMyLocationIconInUiThread(Context context, String url) { + if (!url.isEmpty()) { + isLoadingIcon = true; + RequestOptions options = new RequestOptions() + .placeholder(DEFAULT_OPTION.getCarCursorRes()) + .error(DEFAULT_OPTION.getCarCursorRes()) + .dontAnimate(); + GlideApp.with(context) + .asBitmap() + .load(url) + .apply(options) + .into(new SimpleTarget() { + @Override + public void onResourceReady(@NonNull Bitmap resource, + @Nullable Transition transition) { + DEFAULT_OPTION.setCarCursorBmp(inflateMyLocation(context, resource)); + MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().setCarCursorOption(DEFAULT_OPTION); + if (needEmphasizeMyLocation) { + needEmphasizeMyLocation = false; + MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().emphasizeMyLocation(); + } + isLoadingIcon = false; + } + + @Override + public void onLoadStarted(@Nullable Drawable placeholder) { + } + + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + } + + @Override + public void onLoadFailed(@Nullable Drawable errorDrawable) { + } + }); + } + } + + private static Bitmap inflateMyLocation(Context context, Bitmap res) { + if (res == null) { + throw new IllegalArgumentException("inflate myLocation bitmap can not be null!"); + } + View root = + LayoutInflater.from(context).inflate(R.layout.module_map_amap_my_location, null, false); + ImageView iv = + root.findViewById(R.id.module_map_amap_my_location_iv); + iv.setImageBitmap(res); + return BitmapDescriptorFactory.fromView(root).getBitmap(); + } +} diff --git a/modules/mogo-module-common/src/main/res/drawable-ldpi/module_map_amap_my_location_icon.png b/modules/mogo-module-common/src/main/res/drawable-ldpi/module_map_amap_my_location_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7538da98b2b5a190b50e63f29a80cb588b720e6e GIT binary patch literal 3097 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 literal 0 HcmV?d00001 diff --git a/modules/mogo-module-common/src/main/res/drawable-mdpi/module_map_amap_my_location_icon.png b/modules/mogo-module-common/src/main/res/drawable-mdpi/module_map_amap_my_location_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7538da98b2b5a190b50e63f29a80cb588b720e6e GIT binary patch literal 3097 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 literal 0 HcmV?d00001 diff --git a/modules/mogo-module-common/src/main/res/layout/module_common_my_location.xml b/modules/mogo-module-common/src/main/res/layout/module_common_my_location.xml new file mode 100644 index 0000000000..690f7b6c48 --- /dev/null +++ b/modules/mogo-module-common/src/main/res/layout/module_common_my_location.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file 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 52e86d3716..28b1bccd75 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 @@ -1,11 +1,15 @@ package com.mogo.module.extensions.entrance; import android.content.Intent; +import android.graphics.Color; import android.graphics.Rect; import android.os.Bundle; import android.os.Debug; import android.os.Handler; +import android.text.SpannableString; +import android.text.Spanned; import android.text.TextUtils; +import android.text.style.ForegroundColorSpan; import android.util.TypedValue; import android.view.LayoutInflater; import android.view.MotionEvent; @@ -21,6 +25,7 @@ import androidx.constraintlayout.widget.ConstraintSet; import androidx.constraintlayout.widget.Group; import com.alibaba.android.arouter.launcher.ARouter; +import com.amap.api.maps.model.MyLocationStyle; import com.bumptech.glide.request.RequestOptions; import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.debug.DebugConfig; @@ -42,6 +47,7 @@ import com.mogo.module.common.dialog.WMDialog; import com.mogo.module.common.glide.SkinAbleBitmapTarget; import com.mogo.module.common.map.CustomNaviInterrupter; import com.mogo.module.common.map.MapCenterPointStrategy; +import com.mogo.module.common.map.MyLocationUtil; import com.mogo.module.common.map.Scene; import com.mogo.module.common.view.OnPreventFastClickListener; import com.mogo.module.extensions.ExtensionsModuleConst; @@ -836,7 +842,10 @@ public class EntranceFragment extends MvpFragment { - MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().emphasizeMyLocation(); + MyLocationUtil.emphasizeMyLocation(); // View v = LayoutInflater.from(getContext()).inflate(R.layout.demo_top, null); // TextView tv = v.findViewById(R.id.tvIndex); // tv.setText("sub view height: " + currentHeight + ": " + v); @@ -879,7 +888,12 @@ public class EntranceFragment extends MvpFragment TipToast.tip("分享成功")); + findViewById(R.id.btnShowTextTip).setOnClickListener(v-> TipToast.tip("分享成功分享成功分享成功分享成功分享成功分享成功分享成功分享成功分享成功")); findViewById(R.id.btnShowDrawableTip).setOnClickListener(v->{ mMsgContainer.setVisibility(View.VISIBLE); @@ -928,9 +942,17 @@ public class EntranceFragment extends MvpFragment{ mMsgContainer.setVisibility(View.GONE); - TipDrawable drawable = - new TipDrawable(getResources().getDrawable(R.drawable.model_ext_default_user_head)); - TipToast.tip("分享成功",drawable); + + + String enthusiasmIndex = "一般的字加粗的字一般的字"; + SpannableString spannableStringUnSelectCountStr = new SpannableString(enthusiasmIndex); + ForegroundColorSpan foregroundColorSpanUnSelectCount = new ForegroundColorSpan(Color.RED); + spannableStringUnSelectCountStr.setSpan(foregroundColorSpanUnSelectCount, 4, 7, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); + + TipToast.tip(spannableStringUnSelectCountStr.toString()); +// TipDrawable drawable = +// new TipDrawable(getResources().getDrawable(R.drawable.model_ext_default_user_head)); +// TipToast.tip("分享成功",drawable); }); } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java index 457428d4b4..31ac15568d 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java @@ -244,6 +244,7 @@ public class EntrancePresenter extends Presenter implements Weathe private void requestCarModelList() { Map params = new HashMap<>(8); params.put("sn", Utils.getSn()); +// params.put("sn", "ZD802B1932L00617"); mNetWork.create(UserInfoNetApiServices.class, DztHttpConstant.getBaseUrl()). requestCarModelList(params). subscribeOn(Schedulers.io()). diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java index 0ad88b5e6e..90e40bb097 100644 --- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java @@ -12,11 +12,13 @@ import com.mogo.map.IMogoUiSettings; import com.mogo.map.MogoMapView; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; +import com.mogo.module.common.map.MyLocationUtil; import com.mogo.service.MogoServicePaths; import com.mogo.service.statusmanager.IMogoStatusChangedListener; import com.mogo.service.statusmanager.IMogoStatusManager; import com.mogo.service.statusmanager.StatusDescriptor; import com.mogo.utils.logger.Logger; +import com.mogo.utils.storage.SharedPrefsMgr; /** * @author congtaowang @@ -50,6 +52,8 @@ public class MapFragment extends MvpFragment< MapView, MapPresenter > implements mMogoMap = mMogoMapView.getMap(); mMogoMap.getUIController().showMyLocation( true ); mMogoMap.getUIController().recoverLockMode();// 启动锁车 + // 根据本地配置设置自车图标 + MyLocationUtil.setMyLocationIconUrl(getContext(), SharedPrefsMgr.getInstance(getContext()).getString("MY_LOCATION_CONFIG", "")); } @NonNull 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 7770ed5df4..4da127db85 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 @@ -9,12 +9,14 @@ import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.context.ContextHolderUtil; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.module.common.MogoApisHandler; +import com.mogo.module.common.map.MyLocationUtil; import com.mogo.module.common.utils.CarSeries; import com.mogo.service.MogoServicePaths; import com.mogo.service.adas.IMogoADASController; import com.mogo.service.adas.IMogoAdasDataCallback; import com.mogo.service.impl.singleton.SingletonsHolder; import com.mogo.service.statusmanager.IMogoStatusManager; +import com.mogo.utils.TipToast; import com.mogo.utils.UiThreadHandler; import com.mogo.utils.logger.Logger; import com.mogo.utils.storage.SharedPrefsMgr; @@ -74,6 +76,8 @@ public class MogoADASController implements IMogoADASController { } } + private volatile boolean needEmphasizeMyLocation = false; + @Override public void showADAS() { if ( !SharedPrefsMgr.getInstance( AbsMogoApplication.getApp() ).getBoolean( getSpGuide(), false ) ) { @@ -109,10 +113,10 @@ public class MogoADASController implements IMogoADASController { @Override public void selectCarModelUrl(String carStyleUrl) { Logger.d(TAG,"selectCarModelUrl: "+carStyleUrl); - // todo 修改自车图标展示 + needEmphasizeMyLocation = true; + // 修改自车图标展示 SharedPrefsMgr.getInstance(context).putString("MY_LOCATION_CONFIG", carStyleUrl); - MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().setCarCursorOption(null); -// MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().showMyLocation(); + MyLocationUtil.setMyLocationIconUrl(context, carStyleUrl); } @Override @@ -122,6 +126,19 @@ public class MogoADASController implements IMogoADASController { AutopilotServiceManage.getInstance().settingCarModelListInfo(SharedPrefsMgr.getInstance(context).getString( "CAR_MODEL_LIST", "default-value")); } + + @Override + public void clickSettingBack() { + if (needEmphasizeMyLocation) { + MyLocationUtil.emphasizeMyLocation(); + } + needEmphasizeMyLocation = false; + } + + @Override + public void showToast(String msg) { + UiThreadHandler.post(() -> TipToast.tip(msg)); + } }); } From 86eba35ebfefb946261d39d4138766d63ef91d82 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Thu, 19 Nov 2020 21:00:34 +0800 Subject: [PATCH 19/19] =?UTF-8?q?1.=20=E5=88=86=E4=BA=AB=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E9=80=82=E9=85=8D1+16=202.=20topView=E8=92=99=E5=B1=82?= =?UTF-8?q?=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/gradle.xml | 1 + app/functions/leftpanel.gradle | 6 +- .../extensions/entrance/EntranceFragment.java | 134 ++++---- .../drawable-ldpi/module_ext_share_no_map.png | Bin 0 -> 32708 bytes .../module_ext_share_no_map_click.png | Bin 0 -> 31847 bytes .../drawable-mdpi/module_ext_share_no_map.png | Bin 0 -> 32708 bytes .../module_ext_share_no_map_click.png | Bin 0 -> 31847 bytes .../module_ext_share_no_map_selector.xml | 5 + .../module_ext_top_container_shader_bg.xml | 7 + .../module_ext_layout_entrance_no_map.xml | 295 ++++++++++++++++++ .../src/main/res/values/dimens.xml | 2 + .../module_main_activity_main_no_map.xml | 3 +- 12 files changed, 384 insertions(+), 69 deletions(-) create mode 100644 modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_share_no_map.png create mode 100644 modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_share_no_map_click.png create mode 100644 modules/mogo-module-extensions/src/main/res/drawable-mdpi/module_ext_share_no_map.png create mode 100644 modules/mogo-module-extensions/src/main/res/drawable-mdpi/module_ext_share_no_map_click.png create mode 100644 modules/mogo-module-extensions/src/main/res/drawable/module_ext_share_no_map_selector.xml create mode 100644 modules/mogo-module-extensions/src/main/res/drawable/module_ext_top_container_shader_bg.xml create mode 100644 modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance_no_map.xml diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 8e9756d758..b59a552525 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -77,6 +77,7 @@ diff --git a/app/functions/leftpanel.gradle b/app/functions/leftpanel.gradle index a1942225d4..3fc7d6bba3 100644 --- a/app/functions/leftpanel.gradle +++ b/app/functions/leftpanel.gradle @@ -3,9 +3,9 @@ project.dependencies { if (Boolean.valueOf(RELEASE)) { d82xImplementation rootProject.ext.dependencies.moduleleftpanel - em1Implementation rootProject.ext.dependencies.moduleleftpanel bydautoImplementation rootProject.ext.dependencies.moduleleftpanel + em1Implementation rootProject.ext.dependencies.moduleleftpanelnoop d8xxImplementation rootProject.ext.dependencies.moduleleftpanelnoop d80xImplementation rootProject.ext.dependencies.moduleleftpanelnoop em4Implementation rootProject.ext.dependencies.moduleleftpanelnoop @@ -16,9 +16,9 @@ project.dependencies { em3Implementation rootProject.ext.dependencies.moduleleftpanelnoop } else { d82xImplementation project(':modules:mogo-module-left-panel') - em1Implementation project(':modules:mogo-module-left-panel') bydautoImplementation project(':modules:mogo-module-left-panel') - + + em1Implementation project(':modules:mogo-module-left-panel-noop') d8xxImplementation project(':modules:mogo-module-left-panel-noop') d80xImplementation project(':modules:mogo-module-left-panel-noop') em4Implementation project(':modules:mogo-module-left-panel-noop') 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 28b1bccd75..9fceff9c20 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 @@ -195,7 +195,11 @@ public class EntranceFragment extends MvpFragment { - MyLocationUtil.emphasizeMyLocation(); -// View v = LayoutInflater.from(getContext()).inflate(R.layout.demo_top, null); -// TextView tv = v.findViewById(R.id.tvIndex); -// tv.setText("sub view height: " + currentHeight + ": " + v); -// mApis.getTopViewManager().addSubView(v, new IMogoTopViewStatusListener() { -// @Override -// public void onViewAdded(View view) { -// Logger.d(TAG, "onSubViewAdded: " + view); -// } -// -// @Override -// public void onViewRemoved(View view) { -// Logger.d(TAG, "onSubViewRemoved: " + view); -// } -// -// @Override -// public void beforeViewAddAnim(View view) { -// Logger.d(TAG, "beforeSubViewAddAnim: " + view); -// } -// -// @Override -// public void beforeViewRemoveAnim(View view) { -// Logger.d(TAG, "beforeSubViewRemoveAnim: " + view); -// } -// }); +// MyLocationUtil.emphasizeMyLocation(); + View v = LayoutInflater.from(getContext()).inflate(R.layout.demo_top, null); + TextView tv = v.findViewById(R.id.tvIndex); + tv.setText("sub view height: " + currentHeight + ": " + v); + mApis.getTopViewManager().addSubView(v, new IMogoTopViewStatusListener() { + @Override + public void onViewAdded(View view) { + Logger.d(TAG, "onSubViewAdded: " + view); + } + + @Override + public void onViewRemoved(View view) { + Logger.d(TAG, "onSubViewRemoved: " + view); + } + + @Override + public void beforeViewAddAnim(View view) { + Logger.d(TAG, "beforeSubViewAddAnim: " + view); + } + + @Override + public void beforeViewRemoveAnim(View view) { + Logger.d(TAG, "beforeSubViewRemoveAnim: " + view); + } + }); }); findViewById(R.id.btnDebugCtrlTopView).setOnClickListener(view -> { - SharedPrefsMgr.getInstance(getContext()).putString("MY_LOCATION_CONFIG", "https" + - "://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605705508574" + - "&di=339d3259ad21f5f48c8abcd1bafff324&imgtype=0&src=http%3A%2F%2Fc-ssl" + - ".duitang.com%2Fuploads%2Fitem%2F202004%2F23%2F20200423111550_4AJLr.thumb" + - ".1000_0.jpeg"); - MyLocationUtil.setMyLocationIconUrl(getContext(),"https" + - "://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605705508574" + - "&di=339d3259ad21f5f48c8abcd1bafff324&imgtype=0&src=http%3A%2F%2Fc-ssl" + - ".duitang.com%2Fuploads%2Fitem%2F202004%2F23%2F20200423111550_4AJLr.thumb" + - ".1000_0.jpeg"); - MyLocationUtil.emphasizeMyLocation(); -// View v = LayoutInflater.from(getContext()).inflate(R.layout.demo_top, null); -// TextView tv = v.findViewById(R.id.tvIndex); -// Random random = new Random(); -// currentHeight = heights[random.nextInt(3)]; -// tv.setText(" height: " + currentHeight + ": " + v); -// ViewGroup.LayoutParams params = -// new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, currentHeight); +// SharedPrefsMgr.getInstance(getContext()).putString("MY_LOCATION_CONFIG", "https" + +// "://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605705508574" + +// "&di=339d3259ad21f5f48c8abcd1bafff324&imgtype=0&src=http%3A%2F%2Fc-ssl" + +// ".duitang.com%2Fuploads%2Fitem%2F202004%2F23%2F20200423111550_4AJLr.thumb" + +// ".1000_0.jpeg"); +// MyLocationUtil.setMyLocationIconUrl(getContext(),"https" + +// "://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605705508574" + +// "&di=339d3259ad21f5f48c8abcd1bafff324&imgtype=0&src=http%3A%2F%2Fc-ssl" + +// ".duitang.com%2Fuploads%2Fitem%2F202004%2F23%2F20200423111550_4AJLr.thumb" + +// ".1000_0.jpeg"); +// MyLocationUtil.emphasizeMyLocation(); + View v = LayoutInflater.from(getContext()).inflate(R.layout.demo_top, null); + TextView tv = v.findViewById(R.id.tvIndex); + Random random = new Random(); + currentHeight = heights[random.nextInt(3)]; + tv.setText(" height: " + currentHeight + ": " + v); + ViewGroup.LayoutParams params = + new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, currentHeight); // mApis.getEntranceButtonController().addLeftFeatureView(v); -// mApis.getTopViewManager().addView(v, params, new IMogoTopViewStatusListener() { -// @Override -// public void onViewAdded(View view) { -// Logger.d(TAG, "onViewAdded: " + view); -// } -// -// @Override -// public void onViewRemoved(View view) { -// Logger.d(TAG, "onViewRemoved: " + view); -// } -// -// @Override -// public void beforeViewAddAnim(View view) { -// Logger.d(TAG, "beforeViewAddAnim: " + view); -// } -// -// @Override -// public void beforeViewRemoveAnim(View view) { -// Logger.d(TAG, "beforeViewRemoveAnim: " + view); -// } -// }); + mApis.getTopViewManager().addView(v, params, new IMogoTopViewStatusListener() { + @Override + public void onViewAdded(View view) { + Logger.d(TAG, "onViewAdded: " + view); + } + + @Override + public void onViewRemoved(View view) { + Logger.d(TAG, "onViewRemoved: " + view); + } + + @Override + public void beforeViewAddAnim(View view) { + Logger.d(TAG, "beforeViewAddAnim: " + view); + } + + @Override + public void beforeViewRemoveAnim(View view) { + Logger.d(TAG, "beforeViewRemoveAnim: " + view); + } + }); }); findViewById(R.id.btnDebugAddBottomLayerView).setOnClickListener(v -> { diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_share_no_map.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_share_no_map.png new file mode 100644 index 0000000000000000000000000000000000000000..c2aa81d0f6c90e13cff5ee9f9d0a4206e8846faa GIT binary patch literal 32708 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�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�|OPN?Z1Sm)p3)-Fu>8K<_vI*9FE%Qs5__Q;bK0XEM@5kbw<+e_|9W< zr{4FSvYIqg69r2ow;7KDkJKS!m=35qV|q+y2VC;!WIcxU64{};n8{6imT zgVDymr5jzM(ZKNXAZoP7q;H>MGi6+mpD1v%!2m9?us?9}~%_58*+eK1!N1MvV@snKi?0G8#- z;bkR>n!eM~Y!R8%B&7)($1(_>X2ay-ArxQ4x?V*ls%b#p=`|yI@%x zPsoFWtzHf3HgZZ?h-q<+0(~oI!CMq~mtvkp8B9x%Wuz|gv4oW&#cQ%FiKm^-0-&^Q zVw7qV&-O{IUK_K7n-Eh-UX&no%ODQsJ5kg@cuW?uz2VieX5Y*^@nUgx_bFCH&rQ>` z39v^9cnaj3uT(cG@-s~A8Eb8M8DkV<8aTqUHM?wNKRu1B1h-T_5Cy2H6u z<0A}?HS9HXGN|EaDT%Y{ML3$;+ou2kJQYbqK~zLVorrqNB|WuA!a_t@*gN`hGiXIy z#`hyIMx>VIu>{52Qv7L2Gec_h5EFN3x5xq4^g}1JVn$2s`Ew~AoteLMHg)qcE`WH| z#{J^z0WL}+F`JZs0)zqWA?(W4H(*#UnN1!PuXiwgNyuBRJp~aycU?J4XUgIBSJbij zrry50f-mR`Wc^#re4I=(zkz2Qr07m?AP7g6h1`@5eK3b5(j>vBJ|fp=L0aUJAjl~L z(X0*}vVM9o0z|A+Cn=m-Ty}iCOgbr;O~k=8AsQ{u!rYx#d2O$aBz3p+@BdDDRq}|h zi6R3HEHJ+vu!nc#;B7X#iE^Gcz%wkaz`f5Cyz!(Jy}qkEo!G|LMeiv*-tQ>~A4)MoMlJx{0pgg`Bu#9BToe zo%WWSiPdA(gPeF`*~#~YcOcU`Vnu=2Nk!rVAAWlhJm_&=?wHMKj9N0e~9H1Fy;(i`We9BcnBk!V&(27wq9 zvMwjJI(8q693fyA#U2}$J972HoMWE|G!hczi^YibiiN}1BGGF7JVYheDyk4Xe4_6W z;bKDY)|hsL^sbmSu4qKr-VsoFK(==Y@a$R2lwt*F*>FU?gb;qy#39aGhhHin0oDS* z=XD(1MqPqTQE-Q3Jbc?wJfb9OEkf}K-6_V!_O=*6L^TuB5us7QEh|D~uK}nGQo-tB zyrDGYoyl09m~CGVz(?MhcBTRT3T0d-oX&X9n>fVby_VJYcfjO(m9g5Lsa`$$$%a{B zP6q|~#)dhSPdLbde}7a4^9SYC6OW^HXAONkKDy!{qPK*P_wNg{&FzHN5!0r>&A35M*i8!;hwqma1#UKn>Vq- zNT-`^x-(I6YMpr*B$z30_8uqb1I^hL`D^}EJZ1KX>yvb`N>N0ItQWP(U}_2Mh+!J!~eysWbAjR$Q%b4Drtzj4d9Hmhe&zwyrW{7$tu zw#3;Z8`A^WinDsAYB4dOviZj(St{8H*eb+xum)5H@l)*20%PSNk=x$5nHE*e;?|q* zzw!A$<@sSvf68*+@cNNi`{A!&!^=lM*TtTJz-Abtd=m4Ve{ol=m)S=^AyJ)UWRTpZ0X zTvVPqQo%#pn9AxBMI>J@qhm*ieX=xfAOSVYQ600RNi50ztj$tg5Dx)hmLbI&$;tAv zi^rOd7E61cPdX3*S_M6yA?UdpnN=8Ub$l2HEW`b9lwWz6r5|GB-Ahpqf%Fz9hef`{ zy?1%(ZP{;CHd&k`1%}xerH8Cmkjk_e<0S9^si&;u?#s6LLAE77s~}QV&vqZt6ooZ@ zH{$6_%q?Onh-5D@$t)W=mhS_>^LQR7LUUY}dTtGTT zt3xGxQi%^LNnA6?wenhNw*&doqd~S109jMavtn@6DM8-oY19Eh-cGwvd;4m5zRe2$ zjmW-^>bqj?SH%`DOIfoWLH1F0ZdyBS@}H88AC^*8`1Srh!itZMR4GPA>vevYk$@#F z09*VdbEk~ZEj$~CUA-hp2>A$Dj2^piNb_Nz<okRjmn+jhb5S~vm1aPu`@ zos2?nbJtPLrpl9+E>48n?}?{Eoy3xLgUq}j#gdcSqU9@kKH7KOh(H(`FS;9#P&6fI zQ1Mp7dgJ2nY|#!$eJIY{IbS_IqHZ{ZQtUaTa>rCadNkbUQCXr@1L@-XhYyo{qm}F8 zGGXB~BC6GNLi{@F2NLI?l5ebmME`b3!M+i$Z(*1vL?{i4&NNT(rhVk<2MAqN6CLWG^3H2f2_M-yA@*j5?7#@SKbO7^FfaS%OCt zh3cS1Vq*fj2`t2?n%1FR&dI1Akg0+1uc`a@`LvQleh0sBma;tDuNAi4E9~)cGAn^> zKBqfAb1D;|%?-#ZH6~ff>NHu&Sp>8p*_3wI9?r@0W+V$*-xZ?Y1%lrOu~Nk}##jys znK$2jkhlpEo@BI&uv10>lMDfUWfP?G zE&HNOCCLT7Ou_)J)o<8-^%woUp5lDjB0gjT{#P3+4)vNfQQW0&(X0nbCGniAo>tvhX?P7=)!4V=~b8`1+|Jk{OXnk4yq23MN4W8eN8JVe>r;oSz{G5RW~F>wFJI5`K^o0RuCh z?lNPe!InGEW4JU+L^L$ zM)e`XOPZCZoqjYzg)k8AyB>PIw*Z7p|kf3aTNvDZz z=kZtvWGKk8CSPlj&(x5sB?Lh(A2u0f#I1txNr)qXFT;{7J?QCOvRD&UM}HHZ5PMjf zag<@wBXuBweoUIgo+J^oA2y3H!c%AW6uAe_;e_x6h?I<)mAT+3UCYX5c7F6&;Hj3u z9PofaKAmM*th)8fq|v!C^7v>|(B>0MLNP8jO%MyCA!}cPm4NJhe7b~2i?UUMm>kWZlw-5KHG+?h+}U$8srV_RVyxrw zeG-v;@SK&5wurXX)?9^w&oKcl8=Z_AuxOX9G<`7 zSRRvmZ$#|T^Ft&bEtBKJ>$5Vgy}Y!4x8GcO5%-~xk(?T~U1C?m`X_Q9~k7iLj#NwMr^5HFdpgNv)R0XSCGuNw}Sv3Nx&#M?` z7nqzC{tofu`X+)C`BYX2aU(k{`B>m>Adbi|FGWDYw>_O?kSpw!FEW|jJVbsn90|-% zJ-$}WcO>#aa$MpNhF512U}%%Cod>P%_G4Zd{&{9OB170_Z8Hd~E(i`Hae(8Xij?U6QUk<&c*ZCS& z#OGm2`lZM&P@AaR=%SzeOIH5>^hBuTR~H{@fN zEWo3cBzHDLNX4!;6T%FpDm2nO)7rx` z8vWo{=3Ci7WTkn+dx;DeGs!r-Q!RH|^USm7B+WL72BtZPyey*SXepA^!#k23OQBB$ z01S$Js(b;O36*)a#3oM8goIC#N2IpZRzMD4Ms!?n_jey>!SNRmZutP~tVd}JeJp3d zti~X8h9iV5X=$~|14l>Z+a6D!leZ2Fl55lJv%TDxV>S`GCE`IoEnzxmdVSVLkR2x4 z|COP?`U-AW6F!5%`p1vZfW$1`2`HFjJx7lHJkA_lk628L$j1qHb|{=!l-`*=AY^RimxxDeH0QpYWUl*fFv+)9v&bH0VbGL)}-k^EwUmLLI^ zAoiGV(N(ZO$`d4u9Jdw*2x(6kxuij%#QuI~KI#2cdh@Yahnb$GO%g*o5MMn(1pg1) zX^NcE5xuj&rXSC_8#{Qsmu^QeMX9x=f$(1$1|JN8 zr{&~Z$UGdgt+Y=vmJelK<7)_ISvd@YT=y|}JXYn0Gv>xEY^rK)O66CMm>DZ*&0kty z?FAa?4>R8)C0|}sL(Wm`SqE3QoF#O_le;(U>^O5Rsza>&c1J~SHcafiyfO*@GOhzb}dU_{nw zyQSZ%zLWMb>Kyk8@KLl*(8SEB>Biuxlb^F2Ja=FeZujIMhNFJO_n-f~_R zPdk}=rM*YkvZ#*5x+95)W(ELBEwylb*^2qvgV)<~a<8S6TI4w45(_^0g4NLE*UEDV zs3t*?Dh084Eq9wtj&;(f5HFiF$SPjbgF$P)9Da&=E3=Tn0CTAzR)(x>(`(hR;+kCM znpu;{eS>2dxw$pFKYLHWk{8&f$eg`jU6ku`G<$FQtn6m*P3w~S46@`=u1)O^g8PTw zmuKWvK{QG_N`62L2)Wx`yZxEMYYfqXg(zUKap7&~`V*^B9~GpTW6>RzG11Nce{bg+ zBT1Is^&1(H@6392RllZZx~Au~v$JcwZm-RFg|}=htOZN9kjCQu36RVOYO(KQ|&PtGj2l zi$>h;tcbX;xc8p8uXE4&pK=3TD|&OOJt>U`X|m{;>xN0#pQMwc^`r{GNYt2S$i0FH zce2V}V}kN-Jq4J!(aBpU08VfYjg z6lRT0A?ZRVjqIcOusn{hl8-;TFVb^;5|Nend|W*g@kmmX#hNG|F*Ga}ADE&_z+bND zwew|KM)Oe0az=Q|*GT^6VRiL?q)0!5{yq*%mEIJ&*&t;(T66s{!;B;T>0r#-dfxfHfwtynMf43@U(cAXhs-& zL*ZXs<*D>})Z#tw@ zoK}A$t}UV-74_0;y$cH^MmD$)Xb3`@GA=-Gu2fl#bKG5NkFgmVYjq7@b25SfUYXRU z<%6xX+qlA<3{dT}i09?|WfPRv%X9I(q6dq(Mqr`+`BNXZK^?S)yL+Y9ZWJajE|p?n z$1453C~B_4@&Pk6JpiFFt8p3%3OvA-{Yg`(ogB|K(Q9ueV|q2jZFTovs#Su&rS}$J zxfV`Rr90io7U6`j1m++AEM1X)MwD5@Kblt_pofU;yZXUV!@e~{=Q8#Od9?CdcX10O3aya(X_wowdcS%@K`@^Cba zFga0U`CN;}y(%)$b(DJm?(CxbFlV?xbr?Qi-^i`KX?F+{;;J{&x1YJTZMv$Qj|3hRpNA7*W(U<%pwayIRqF`4m;FcJ*fc z^iA5<41dL!PMXlK1W{1bl|J-hCFvev&*Xr(8T&|EMZzOMdk^*w92fZ6OukrOW~7f@AAT3x4AoT?(8lE{`%_%_jd+fazBR6 z*xD{7YnVMj&c3p^$~Klcw?7RhWsss{bf!lGc)=5pY5>Si59$~>Mn7l*xO2amjSzDH zuoaNjg;sZez1l4Qb+v`jh>GsPu`SxSAcQJEQ>G`5kDOoCsOHDj8hh^9h>-{CQvA5} z_ju&NddHK~D**Q>VJ$D8-qIG&dE9xwlY8Z(-pmdclBzfBoyvN?JkrgRB7adf4#~iH z8hylhiDoPk(3i2^2cMgi%))#%jIpw$&M9S^vuSV}7%pm*~)SIkEwPgN<;*tp^YT1oMXU*4T&&-g3Qp7qB+o}|me@U~%dmS2%3Pr#!eR`cPNcp6lt zAXzw@r_CQ9z3P!P3NI9;F;2;^mM=9hmI=FOjiK6$(uk@IAFS3%fk|VSahTA&0480_{%`>qy%h%7WXcYz z)JT);7|4-U+Juo9v&;o+8vt1*Kh7igBwTPrFW$!#gUW4IfL`FTPOg|wkqD~9X&O5m z;f*;63nHpf0J!#z zqgF9uiMXn)7zb+o!e6)Z_dMsp=1)-ZY`uz>dQP%-%0sQjPe)IG{#@BWoe;p7z0ap7 z1L72EeLBT~Ed!d>m!4_3zxP9n?xiJ~#p31Z=koXd2D}A!p*Gm zc}!cVuDP93I${%r>8fduv3h--MiMc-i`)hrq~8MW?{i-AKjr98f^TVK8P@TDGup5O zM>2q6ijlTBOkzGR$j>&2x%jxkn89H_#tS%<&nDx_Qfc}rDj?dK(@D>xy#SKTzWkHk zg{K-pPM1gTiy#`Cb9Hwv%G{T)u39ho_5c0QeZ-nVX&6%6&pv&|{iVw-_s_ny&Ag94 zlbFvF;&QnEkH2u=d0KhP-V``sjJbFKk7x| zZF$=IIEtqEn3avS1;Ifp%w9T5#(zW*5-jvzHlIk2ROp@&W^1OX-_u_iq?rXWPCljs zw7%&1X@tzfXjocZ8iJSRA>T}O=HhGE7sy=_ZJIptS$7FIIA3{_D?US+5lf|nL577o zWTb*@2oq)^%WjCrAi08c1v5olc33^DRLd`0CG*OT)U#9@{qzTas}fg5F{hdruDF+1 z5y9@&D_EiODgTWtP4}bcTJAPBxqtnwdyaEA!=6)1$zuDLzxEyX55Mq?`_)%3xNqL? zxUbymVt3dRS;OZ)x^b7i%f$W7A3o=P{1K$Vq8N`}-@1M1e)E6chf?T;N3@TPJf1i< z^cGd%s$N{wRWg4yy6;Lgwkw0DLgc0HZUUbYU%I zA~`co7dZG}PT*tY3W^{VL&$9i-v!YlOsHgB+0if0zGNyYF3-ucZw2Gjioiv|ymuZi zf6%4)(U^;Tx4!~b9^eV?-to}=gRkAwlRv!c+VtjM`ti%| zU;NZl?g&_nfBwyF*GC?*1fFK`?WpE&-#>Jikk_q$r@yoEG!Pp4>?MB|BJe?h82a%? zap%gaG-N@oW}}k`Ee@B6t0k4D25#*g`Y5bz^x8ZhdeJiN3g}>o4#b%uf)LEDBtLxL3KMhp;?&=F_dJ7k^BC_a!@M-JL(jExzAH9T+fdy+$#O>;o*k*un=Y@Sh8RM3w3?4F0bJ@h#H>WUs~et864tkQWJ zzJ#OU#QoYg@3Flexu1W2)&0|-enBa$t(iTDJ~txBo2p9A?q9!k$NljG5IyL1S%iou zyL%PnDS%Sn+wQsdAg+IxnqKdlD+4}q|7&xfCWzb$2>FL&!t?Y6 z;hF`tHbtVh7w@7c$*S>)Dj6Z{{rStdXaV@r`L_G9E351`L-*c;BlqTqhwgBo1PssQ zrLx)3OrE-W4}Z~Xd|iES)`G-GAzo2ey@vu>nG~r1STeP=>Oib}JiIBBv<8hBKTv%U z6wD`Wi^(4?K0cnvIe`)1DBgk#Tsy6u^ma4FSf80L^)tps?imP%YwTdgih@D58YlI?=UDX`)K-Tm?SULC0 zKX%?-TBx~ybMv0tVF^&GBF=?lvF9!=`XX#~X_SB#Qr5ierRB2wr5`~VA}it}papkiwEjL0CF@`d3v4HP|DWhIKm)d#CIo`_nDsQgNihm#p>2JeykCzIh_ zHn`Y&MYFnvt5xQh2aXrAG%SV?phxK~I?Gj1RVbRf z-A_Z{8+1+-pZOlG74{~uzAmh#Xe5*{{S8C14yXbX53&eeEOfv}fiQOlER=xOVU)sJ zgY0}sjC|ux?}MnhaMemqB@okdgMvtEp}d|Nx>Y^jQ;3v@73r*{{2wAI5i=HgL!Vlx zxUYS%>;CW#5b@T~b@xKM?0)hxW|>!b%ymkF))EKNjQdu=y1G7 z&?f9)<&?vTT0PzC)wB90nK2_7ioouTlOF6oAizeoZEk3Q&60~Qa-_RAz=Y%^!?GPx zHmD)M6faK(h!qV}#ARbFwZjLIZis}!OUco+w2e*lU8D@x@Us`l>Y3RFkVj5z)lo!d zU&nOLpS;qFQV?4Wr$)0d5eI_)&PVhrT-bo1YJ7U-JBR%CV6t0eh0^pv6PPQ)m0oW4 zk?BFx7usm|glklPKb|%?&2t{Es#hmAHw#4X|Aq;>qA<9ooek=n@HRKj`HYsba zz^f+ih{A|?5BU|VXl`+l#BAM#n^1rTYXdU3TFt6Ml$@E)dWZM0+5;m+s7{i~k4i|J zi!lmDE2BgZqbHe_*{-v!M+T2Zn^53MZ)f|>)`d%d+1@}g04Z_1Di8k)KW!h>P^#n1 za*e`O4>?7*Iu#GPst4wcQiMTdTcv6dm8Vg@K0Wyp&vN9Cg%ec7Q-DrOGsaQ&gqB9{ zFVb6C?AiCuSw_lG`6|7=OCGq~UsrWpmPgEHIY+AqS0Eov`;m{Y*ExKX`ZA-k2W1%x z)awKRM%tEbKERR)0bsr|Vp)mu4*U%mA8Do01fQ(M=72LN*M{+>3H=6dVk0a9q5vli zz)U);k_eFahjd#*atY%-61F&lMv$PvFo6l&5W8TA8zH$5w$*efI3$Gs!DwZN3?pqs zL&MlCjgFJxPSQDir)Ur@v=%knYY5fXt(M^@Jbh~ng0y}p{B4+1S@E-8!L9j`o@v0x zv#b0`N1ii(9<2@Kr!cwvo>eOGe6O1?hu!0^_t_Rtug>4E%v5aqDDW%ZQ}|h#m3FRN zn({GOX6XbYYwe(-s2s#w1nQEuv-io5>`NbjhRw;&y=65Sld%m=p{N1kj9`-;nALM-R6T z{{UMTN5#TImR;I>9ka^j71qg$daCGe%s(nT8_uku)k{wNY)DjNDx-oR_DGyOPtWfq z*cx6RiNE(fm;5Zf|2XFN>?cHrkjh^1`1y|vzx+Msr0=7Cgi0V*Iu^+|MljLAiYobY=FXt0RqnZ zT?IX(VYG+!O9TM-@Ze~QWisY)VF$6Ya#G$vR3BSfjCANNh?~XY54|joLxWOh@8JD~ zrG=MiqKXrham%iWgXe93>oScmRul0br^#j7H6!o$K5*0Q2W3s*WhHq z$LgWS2*Q1MXi`%4Rs@-`U;0)ow4o2)&sU z{1KWKUD8mn+8Z@JQN^}a1F1Lj1^E?r9?jzBjb(Fl(MoxGJ*pvX&Naf4(IfE{rZ{SM zLg(VLr!)NA#@4&g7$N}V~qC{H7VZ^bJdi>l7OtvmmL z+IHb>_t|>&Xk_-K0_&{yFi;J4^}+~IEYuSlBgXtVg0oa9H)6zS*hV#{Xe^?C>C*c7 zi+~K*8Jh28fAZWj*`{#cgIAEr+Mox&{(9i9Q(r`O#1whv@J=xP(?O7Ku}@fRxopsP zwfg`JvN(%b*6VNslhI&@8dL^^fR(1b8A(u$R#}I((m@X&Id7 z6;)W$4ow5*hlo%Sa=hM&LGyi^NL|lRJ%ZP?XrIF;!OgTzna{h%n6JBF$7ixIQ9Tq{p zv$eDR+d)|FA;#E+-#lQ4fSNo)ccmu8t`4TvCLsO}bjPJ(Fse?XawAE~OpA+4*yn5` zY_)o88qc6yJXMDUQ4v_j-DGl#_qf(zPl_rBen$fJjdObeW zUNz{B>m_iFF@VqnD76(M@evMtK-k1B#A(4fKma}-HJ`rx+|Pye#)a7ehu2Xf*U_dx zZ8U3G?$zx0(OK-La6N1L;q{erLiwmhjDoP1mvXSiKTTL4M&5+6xUu(`-`x9)IGQp< zDBnQFz@xWPR=GTHm9t2{z@bE4a#wk_ie^CW_c#AbRIX#n2_Oxeddx8sBENooH81e?LlJSP2gI2c=rt zEtkQ-pAO)T1yf8#cB)gf36cM)W8S72jC-ubL82OUu$Dfqfs4?_gr4aqaZ0js{>n=~ z&(UYg-b(wZM@>keqdgH(KWn3T0^zA4UOh>SlA;wgv}-6g)e?Ej84Y|!7SrE)LXpp@ z4(hkGsmj5xBcLQ-$n=EfQ8d2 zh@t^Zb8Ilwm{+4tm{j{&wJ`!^rjP6dIHoA4)#`wpN8_-y2*mtxJgTq6%gwW>litjl zjrBxEWiWL=^;opS?B*@mYuNA*t=IArsz9`;T_~aL1guo*$+?z;H2J$g2+AVuv0Dh^ z(LpI?;%TFOgU&**-`NSP2O(%vAQfQHH%$ALDdwsJ6#Iiow+@RF{uel%>cmqV6oLX%9}=bnAxOQmv+Lsv>-Jxc9|SPOf|0c=>cr3zXQr09{>uoi|S zBm2%`eL5dkag@&JmFKMti#)B)#F5hnrUjC|rx=2oxBe)yTz;7i$2@CQtkv-;M*+b2 zINW~l;aA}dLrh?$;n-p}1v`Tb&9$JbURx^3ng|Ok#$oW6;0r_OYJ|>kbyBX^CrDtW z)zT&GQD8?1D5fq3I7%QYmqGJcbgxWn%LV@K9AfKf5YvLdv|mvPl~hEQgU}mmAm^Y$ zdi?ZGDcPjpxoL^1*xJDTHTaXVg=1F6Ir<*!2CSCR6XuzfaTvA-an&}P=mMiNjOJ0y zDmg^X5%va_k&>+PTs`S^K>k6arMi1*T3`+@j_;=JTQ6oetmj_$1vP~;U!0=mo{-+p z-xrmVp9uXfKlBo=9^NdCmKk{sx`An*eZlx%Cu|?q!h=Bvx)ZGNhW!gqXwuKNyKI!GEfL~`79j6?sSD?K=s5S9H@5)f+`5`wy#QR&+l#VHOb=g}c9V`PKlKzapxtcm z-gY+VbhFxGGX)1LtxS%h^uk&kbkhV?;c~Eu2*?=yb!lRZWq6?qL`wy2jNuSH=n4Q3 zjP_H+_oL3%gFF8Jc|nfVr;U?1a+EHOB_sV@wWsf)8Fs`T(OCqO^I z%ZPhuqyR;fthJZ0bbWyuybG8by>{_yEOO3ei(}xGUilJ+pl$%a!{LfyIItxOu5mAC z#Px;r9^NOvKe?PUr~HhR0I_;$Cn+W1^BjPB5zCBjK>7LtFo z9VR~y>#~Za_h`GY&|49shU;G6LVJ0nV%0AnSDGGC?jLM+ySpFu`jZ0*40Ei-&L5N=2&+vX*g@cMpx7N$;LU@q;poL>js)N- zvmIiETnEU$0>c7B9GGO_aF2sefYTzF7nKnoMSWTxolW`~z4mO2A?y(A1&hqJKq{SI zOREpT(n6c;-Pf)`bUK{+T!E0Ta$AM%Ca;L@y_*FU9;dJKi?8d%y;cO5+!q_ z=t22OB^V4abx^KOCjC01tzdYdikg82FoD1r^*{;`v4$yYvV<%9cl6`wpBNECG899i zFqr9p*ypQPm&)blQn}Vxh*-Em{~8|w+89Wz>52nq3*ikc5*EKBvT}8E}Qg!=Zpw4mczSsSD5%nNLI@4<3Aka!)wqw04{| z>kPdd7StLO#F*oBu`w!5goXz=T5lYWF;&9SISJ2)aR8dmYW#9~Jh{WE-6*R+_w>|l zzTu+nm2C0ppGa+$tYbg3eWe;)cPEJOM#9Gkt5|Xt>Tf^pZ@v&y76xO__1ZNbneCM3 zW)IZO{A@toaL6Y&OUubKKs+1-JG(tpV)$@7W6rAUVH$S;NCT~6dr(PRpiYed{1|c% z!~@1lsvJ63Xmnu6;woqH5EpstL>d&xUbA;#xFwteYvNFNJ`e!VKsDpU3LrG$)$tSP z8S4@@2R4Q?f1lJdpJLTrVV_bfHbD|q&?L_3D@$?stemQ#T|h2I5MpvZi@qQFBJ@^z zt@w88xq?dq3oC#-4~7;RJxCw2d~{l1RT7X?St7J0ehP2}plB@8S)@&eu8oL9nSzGX zvu!}ZSU?>nb*xjg(rEt@^DH)0>8FADp z4kiq_1jx8?WSErFRm8wjn)Nt5@1wc;Lhe zvJTm7j!jLZ7w#w`h)m2#u^@8-{gB%(2+Y+8tVZF6H&PRc8$nNSO(8K<=kq|25p5ri z?vSJ)R74Y;A#xcJ)@XrmL)QRYD6p~U$pS`$A=fZ4mC^z`<{`#ofSL`%CR$yUWIP3{ za=eU*ol!bCbAj{uO}BFPk`2Yj)mLFyXaR+OZ$1>)mM^fkebMi2H6Cj?mOH%#GB5tj z5xej@xqd$cK8bC2G}3&Q1+f*T{WHWCCroIw9h``|7g z^A$SbcF4-1RO=5oPl4DKT6EZF7)Rs?JGs*g%b4mXaNs$`(y+}kW&}W*r2bI3K*16g zk;kyqu#J`+#6U(^SIQ}Ace<1jSmLIIGa}RR5qM%~7m3cwbDECh^@ zK|+F2^jwAn_3Q|u@&*=FAY_W+9)gOq60;4QBE`(nYAp`;Gd@j*;KkJ>07xgq;vTkI zT=>kzH0VCas+V46E(JAy@%=3NR+l5b^BnQLhP}lbT0D7EW*Ua&9w+L2>-#w0q_> z{tqKVYd4$Z$5CZE2JR37$1P;9#odG8AOmI?M@zFK&}K2oL~7*Xxkm;;QZ5qF5WKLi zgqg^OuJcYTFC#8rfckD(Fq!hxGnA7g5$v&`yqJ^#^+TSX964-fg5YDIsCrK=Zi5$~!qLhs)W z+zT(TkKIL|nd2$k@)jZvxUuV&_8+ir!hRo$u$WQUXRk$%Kg8-1&sbBV(<0`{ZUT$e zNcMw#Ac-*cIB6GwaTun^{%eGWz&f&22jd=>jWh+GIQFX6j|EDKLax?tyh4J5K#uU~ zfFA>IQc4C$nlaqcQR%-Si+;FDl@=0?pdYz&LI(r>9~2ENp9X`LS$q<&SZ@+b(Zpsz zd#{~unP0JwRk$C93oaCZ;Ga;hRo;cO$`=p+kJmg8$|oW}>VEMTY1prrufa1JXG{eD zyAT|uH{5uIE^=^>IeOhqZoh-HE&u|pOF>pg6=QYPO>f-=w*bPA`*6={sB2(z)S(D{ zycN1;6M1md-4Xv+UYStd*;4y^1oMHnWr>rQQNAb6RJls%c0nZh20aE5zw5$;Fmp2| zyPVr$?0=r#iA{%cob{Rz5~PZt&kC{qG(_7&upYUV1_sz$sCI6C2ER=gwOK4-x6DHi zUdi0Qy6M{O7qc}uPlirs#h}-IuXR~aqqXOQn1)Z*wK1y1V-J{y-uL_VWbF_v7GZew`roTs0)%>u#mTkWstem@q zfsQx}?|?a4TgdhrSYYYE9LLG1`iWJqO?*UD&x~ka1nU{$H%+Mq9*S&~AAYaPL%R^m z<7DKOr!TVZK1p}F(w}6`v%K>8TF<^(`A~js7Q=?~8L{QP;kpl4m0$dBUcOh{c%NQ= zhF*?KjwKWFwEfq!h;O>Fdcdu=FtuY2Z97xQ@=s6t8#R_Qx3gnGBA^#NWr5u}!`Zuf zVD9d*ievsP2w6RI*$bBwEE(jFC#uq4_nDmH70b(tdGZb)>l6K(H^e8J=aVwa-!oU2 zx!Y57w@k&!6_#3bYaXo3S+t44virsxB`w+I#`_2s%qcwksLx|lZ}SJJn;%kr+TyPS z#W~zZ&dK|{2Ug7&Z8%-iq6jC3lDT;UNw!eB?)@JlXdd4aRuA*7Py~LW*B_t}KGF9+ znps|sx%$rCo_qjGc1 + + + + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_top_container_shader_bg.xml b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_top_container_shader_bg.xml new file mode 100644 index 0000000000..12be6e29d0 --- /dev/null +++ b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_top_container_shader_bg.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance_no_map.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance_no_map.xml new file mode 100644 index 0000000000..7acc4204c5 --- /dev/null +++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance_no_map.xml @@ -0,0 +1,295 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +