This commit is contained in:
unknown
2020-09-08 14:03:40 +08:00
67 changed files with 841 additions and 154 deletions

View File

@@ -145,7 +145,7 @@ public class ALocationClient implements IMogoLocationClient {
synchronized ( sListeners ) {
Iterator< IMogoLocationListener > listenerIterator = sListeners.iterator();
while ( listenerIterator.hasNext() ) {
listenerIterator.next().onLocationChanged( mLastLocation.clone() );
listenerIterator.next().onLocationChanged( mLastLocation );
}
}
Trace.endSection();

View File

@@ -26,6 +26,9 @@ public class AutoNaviReceiver extends BroadcastReceiver {
private static AutoNaviReceiver autoNaviReceiver;
private static boolean sRegisterFlag = false;
private static MogoNaviInfo sNaviInfo;
private static MogoTraffic sTraffic;
public static void register( Context context ) {
IntentFilter filter = new IntentFilter();
@@ -85,23 +88,28 @@ public class AutoNaviReceiver extends BroadcastReceiver {
MapState.getInstance().setNaving( true );
MogoNaviListenerHandler.getInstance().onStartNavi();
}
MogoNaviInfo naviInfo = new MogoNaviInfo();
naviInfo.setCurrentLimitSpeed( cameraSpeed );
naviInfo.setCurrentRoadName( intent.getStringExtra( GuideInfoExtraKey.CUR_ROAD_NAME ) );
naviInfo.setCurrentSpeed( intent.getIntExtra( GuideInfoExtraKey.CUR_SPEED, 0 ) );
naviInfo.setCurStepRetainDistance( intent.getIntExtra( GuideInfoExtraKey.SEG_REMAIN_DIS, 0 ) );
naviInfo.setCurStepRetainTime( intent.getIntExtra( GuideInfoExtraKey.SEG_REMAIN_TIME, 0 ) );
naviInfo.setIconResId( IconTypeUtils.getResIdByIconType( context, intent.getIntExtra( GuideInfoExtraKey.NEW_ICON, 0 ) ) );
naviInfo.setNextRoadName( intent.getStringExtra( GuideInfoExtraKey.NEXT_ROAD_NAME ) );
naviInfo.setPathRetainDistance( intent.getIntExtra( GuideInfoExtraKey.ROUTE_REMAIN_DIS, 0 ) );
naviInfo.setPathRetainTime( intent.getIntExtra( GuideInfoExtraKey.ROUTE_REMAIN_TIME, 0 ) );
MogoNaviListenerHandler.getInstance().onNaviInfoUpdate( naviInfo );
if ( sNaviInfo == null ) {
sNaviInfo = new MogoNaviInfo();
}
sNaviInfo.setCurrentLimitSpeed( cameraSpeed );
sNaviInfo.setCurrentRoadName( intent.getStringExtra( GuideInfoExtraKey.CUR_ROAD_NAME ) );
sNaviInfo.setCurrentSpeed( intent.getIntExtra( GuideInfoExtraKey.CUR_SPEED, 0 ) );
sNaviInfo.setCurStepRetainDistance( intent.getIntExtra( GuideInfoExtraKey.SEG_REMAIN_DIS, 0 ) );
sNaviInfo.setCurStepRetainTime( intent.getIntExtra( GuideInfoExtraKey.SEG_REMAIN_TIME, 0 ) );
sNaviInfo.setIconResId( IconTypeUtils.getResIdByIconType( context, intent.getIntExtra( GuideInfoExtraKey.NEW_ICON, 0 ) ) );
sNaviInfo.setNextRoadName( intent.getStringExtra( GuideInfoExtraKey.NEXT_ROAD_NAME ) );
sNaviInfo.setPathRetainDistance( intent.getIntExtra( GuideInfoExtraKey.ROUTE_REMAIN_DIS, 0 ) );
sNaviInfo.setPathRetainTime( intent.getIntExtra( GuideInfoExtraKey.ROUTE_REMAIN_TIME, 0 ) );
MogoNaviListenerHandler.getInstance().onNaviInfoUpdate( sNaviInfo );
}
MogoTraffic mogoTraffic = new MogoTraffic( MapState.getInstance().isAimless() ? MogoTraffic.TYPE_AIM : MogoTraffic.TYPE_NAVI );
mogoTraffic.setDistance( cameraDisc );
mogoTraffic.setSpeedLimit( cameraSpeed );
mogoTraffic.setTrafficType( cameraType );
MogoNaviListenerHandler.getInstance().onUpdateTraffic2( mogoTraffic );
if ( sTraffic == null ) {
sTraffic = new MogoTraffic( MapState.getInstance().isAimless() ? MogoTraffic.TYPE_AIM : MogoTraffic.TYPE_NAVI );
}
sTraffic.setFromType( MapState.getInstance().isAimless() ? MogoTraffic.TYPE_AIM : MogoTraffic.TYPE_NAVI );
sTraffic.setDistance( cameraDisc );
sTraffic.setSpeedLimit( cameraSpeed );
sTraffic.setTrafficType( cameraType );
MogoNaviListenerHandler.getInstance().onUpdateTraffic2( sTraffic );
}
/**

View File

@@ -136,6 +136,7 @@ class CosStatusController : CosStatusCallback {
}
Log.d(TAG, "videoAndThumbMap ${videoAndThumbMap}")
if (videoAndThumbMap.size == 2) {
trackUploadCos(4)
Log.d(TAG, "videoAndThumbMap.size == 2 ")
var locationInfo = LocationUtil.getInstance().getLocationInfo()
val locationStr: String = Gson().toJson(locationInfo)
@@ -149,7 +150,6 @@ class CosStatusController : CosStatusCallback {
sendGetInfoFailedReceiver("100")
}
} else {
trackUploadCos(4)
//分享成功并打点如果是上报拥堵需要takeVideo
LatLngStickyEventBus.getInstance()
.postSticky(GetImageSuccessEvent(downloadUrl, mType))

View File

@@ -53,7 +53,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/module_main_id_entrance_fragment_container_marginLeft"
android:padding="@dimen/module_main_entrance_fragment_container_padding" />
android:padding="@dimen/module_main_event_fragment_container_padding" />
<FrameLayout
android:id="@+id/module_main_id_message_history_fragment_container"

View File

@@ -25,5 +25,6 @@
<dimen name="module_main_id_left_panel_fragment_container_width">635px</dimen>
<dimen name="module_main_entrance_fragment_container_width">1263px</dimen>
<dimen name="module_main_event_fragment_container_padding">10px</dimen>
</resources>

View File

@@ -25,4 +25,5 @@
<dimen name="module_main_id_left_panel_fragment_container_width">340px</dimen>
<dimen name="module_main_entrance_fragment_container_width">1313px</dimen>
<dimen name="module_main_event_fragment_container_padding">10px</dimen>
</resources>

View File

@@ -24,7 +24,7 @@
<dimen name="module_main_id_left_panel_fragment_container_width">350px</dimen>
<dimen name="module_main_entrance_fragment_container_padding">16px</dimen>
<dimen name="module_main_entrance_fragment_container_padding_top">16px</dimen>
<dimen name="module_main_entrance_fragment_container_width">658px</dimen>
<dimen name="module_main_event_fragment_container_padding">4px</dimen>
</resources>

View File

@@ -22,8 +22,11 @@ import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant;
import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant;
import com.mogo.module.authorize.authprovider.module.IMogoAcquireAuthorizeListener;
import com.mogo.module.authorize.authprovider.module.IMogoAuthorizeModuleManager;
import com.mogo.module.common.dialog.BaseFloatDialog;
import com.mogo.module.share.bean.StepAfterAuth;
import com.mogo.module.share.constant.ShareConstants;
import com.mogo.module.share.dialog.FixableShareDialog;
import com.mogo.module.share.dialog.GridFixableShareDialog;
import com.mogo.module.share.dialog.LaucherShareDialog;
import com.mogo.module.share.manager.ServiceApisManager;
import com.mogo.module.share.manager.UploadHelper;
@@ -95,7 +98,9 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo
private static final String TAG = "ShareControl";
private Context mContext;
private LaucherShareDialog mShareDialog;
// private LaucherShareDialog mShareDialog;
private BaseFloatDialog mShareDialog;
private IMogoAuthorizeModuleManager authorizeModuleManager;
private IMogoIntentManager intentManager;
@@ -125,7 +130,7 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo
private void realShowDialog() {
if (mShareDialog == null) {
Logger.d(TAG,"realShowDialog context : " + mContext);
mShareDialog = new LaucherShareDialog(mContext);
mShareDialog = new GridFixableShareDialog(mContext);
mShareDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {

View File

@@ -0,0 +1,47 @@
package com.mogo.module.share.adapter
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.mogo.module.share.R
import com.mogo.module.share.bean.FixableButton
import com.mogo.utils.glide.GlideApp
/**
* 可配置按钮适配器
*
* @author tongchenfei
*/
class ShareBtnAdapter(val context:Context): RecyclerView.Adapter<ShareBtnAdapter.ShareBtnViewHolder>() {
private val btnList = ArrayList<FixableButton>()
var btnClickListener:((btn:FixableButton)->Unit)? = null
fun setFixableButtonList(btns:ArrayList<FixableButton>) {
btnList.clear()
btnList.addAll(btns)
notifyDataSetChanged()
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ShareBtnViewHolder {
val view = LayoutInflater.from(context).inflate(R.layout.item_share_btn, parent,false)
return ShareBtnViewHolder(view)
}
override fun getItemCount(): Int =btnList.size
override fun onBindViewHolder(holder: ShareBtnViewHolder, position: Int) = holder.bindData(btnList[position])
inner class ShareBtnViewHolder(itemView:View):RecyclerView.ViewHolder(itemView){
private val ivIcon:ImageView = itemView.findViewById(R.id.ivShareIcon)
private val tvContent:TextView = itemView.findViewById(R.id.tvShareContent)
fun bindData(btn: FixableButton) {
GlideApp.with(context).load(btn.iconRes).into(ivIcon)
tvContent.text = btn.content
ivIcon.setOnClickListener {
btnClickListener?.invoke(btn)
}
}
}
}

View File

@@ -0,0 +1,9 @@
package com.mogo.module.share.bean
import com.mogo.module.share.R
/**
* 可配置按钮封装
* @author tongchenfei
*/
data class FixableButton(val id:Int = 0,val poiType:String = "10007",val iconUrl:String = "", val iconRes:Int = R.drawable.share_block_up, val content:String="拥堵")

View File

@@ -0,0 +1,140 @@
package com.mogo.module.share.dialog
import android.content.Context
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.commons.debug.DebugConfig
import com.mogo.module.common.dialog.BaseFloatDialog
import com.mogo.module.common.utils.CarSeries
import com.mogo.module.share.R
import com.mogo.module.share.adapter.ShareBtnAdapter
import com.mogo.module.share.bean.FixableButton
import com.mogo.module.share.manager.ISeekHelpListener
import com.mogo.module.share.manager.SeekHelpManager.removeSeekHelpListener
import com.mogo.module.share.manager.UploadHelper.upload
import com.mogo.service.IMogoServiceApis
import com.mogo.service.MogoServicePaths
import com.mogo.service.analytics.IMogoAnalytics
import com.mogo.service.statusmanager.IMogoStatusManager
import com.mogo.service.tanlu.IMogoTanluProvider
import com.mogo.service.tanlu.TanluUploadParams
import com.mogo.utils.logger.Logger
import kotlin.random.Random
/**
* 可动态设置内容的Dialog
* 由于和左侧Adas冲突改成了windowManager方式实现这种实现方式的问题是无法监测back键的事件
* @since 2020-01-10
* @author tongchenfei
*/
class FixableShareDialog(private val mContext: Context) : BaseFloatDialog(mContext) {
private val isShown = false
private val mAnalytics: IMogoAnalytics
private val mStatusManager: IMogoStatusManager
private val mApis: IMogoServiceApis
private lateinit var btnRecycler: RecyclerView
private lateinit var btnAdapter:ShareBtnAdapter
private fun setWrapContent() {
val window = window
if (DebugConfig.getCarMachineType() != DebugConfig.CAR_MACHINE_TYPE_BYD) {
if (window != null) {
val lp = window.attributes
lp.width = 1024
lp.height = 600
window.attributes = lp
}
} else if (CarSeries.getSeries() == CarSeries.CAR_SERIES_F80X) {
if (window != null) {
val lp = window.attributes
lp.width = 1920
lp.height = 1080
window.attributes = lp
}
} else {
if (window != null) {
val lp = window.attributes
lp.width = 1024
lp.height = 600
window.attributes = lp
}
}
}
private fun initView() {
Logger.d(TAG, "test-------3")
setContentView(R.layout.launcher_dialog_share_with_gride)
setWrapContent()
btnRecycler = findViewById(R.id.moduleShareBtnRecyclerView)
val manager = GridLayoutManager(mContext, 5, GridLayoutManager.VERTICAL, false)
manager.isAutoMeasureEnabled = true
btnAdapter = ShareBtnAdapter(mContext)
btnRecycler.adapter = btnAdapter
btnAdapter.btnClickListener = {
Logger.d(TAG, "btn click: $it")
randomGenerateBtn()
}
randomGenerateBtn()
}
private fun randomGenerateBtn(){
val random = Random.nextInt(1, 10)
val list = ArrayList<FixableButton>()
for (i in 0 until random) {
list.add(FixableButton())
}
btnAdapter.setFixableButtonList(list)
}
private val seekListener: ISeekHelpListener = object : ISeekHelpListener {
override fun onSeekHelpSuccess() {
Logger.d(TAG, "上报求助完成,成功")
removeSeekHelpListener(this)
dismiss()
}
override fun onSeekHelpFail() {
Logger.d(TAG, "上报求助完成,失败")
removeSeekHelpListener(this)
dismiss()
}
}
/**
* 发送广播 1拥堵2交通检查3封路
*/
private fun sendShareReceiver(type: String) {
val params = TanluUploadParams(type, IMogoTanluProvider.UPLOAD_FROM_USER)
upload(mContext, params, true)
}
override fun show() {
Logger.d(TAG, "onShow====")
if (!DebugConfig.isLauncher()) {
mApis.adasControllerApi.closeADAS()
}
super.show()
}
override fun dismiss() {
Logger.d(TAG, "onDismiss=====")
if (!DebugConfig.isLauncher() && mApis.statusManagerApi.isMainPageOnResume) {
mApis.adasControllerApi.showADAS()
}
super.dismiss()
}
companion object {
private const val TAG = "FixableShareDialog"
}
init {
mApis = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(mContext) as IMogoServiceApis
mAnalytics = mApis.analyticsApi
mStatusManager = mApis.statusManagerApi
initView()
}
}

View File

@@ -0,0 +1,135 @@
package com.mogo.module.share.dialog
import android.content.Context
import android.widget.FrameLayout
import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.commons.debug.DebugConfig
import com.mogo.module.common.dialog.BaseFloatDialog
import com.mogo.module.common.utils.CarSeries
import com.mogo.module.share.R
import com.mogo.module.share.bean.FixableButton
import com.mogo.module.share.manager.GridBtnManager
import com.mogo.module.share.manager.ISeekHelpListener
import com.mogo.module.share.manager.SeekHelpManager
import com.mogo.module.share.manager.SeekHelpManager.seekHelp
import com.mogo.module.share.manager.UploadHelper
import com.mogo.service.IMogoServiceApis
import com.mogo.service.MogoServicePaths
import com.mogo.service.analytics.IMogoAnalytics
import com.mogo.service.statusmanager.IMogoStatusManager
import com.mogo.service.tanlu.IMogoTanluProvider
import com.mogo.service.tanlu.TanluUploadParams
import com.mogo.utils.logger.Logger
import kotlin.random.Random
class GridFixableShareDialog(context:Context):BaseFloatDialog(context) {
private val isShown = false
private val mAnalytics: IMogoAnalytics
private val mStatusManager: IMogoStatusManager
private val mApis: IMogoServiceApis = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(context) as IMogoServiceApis
private fun setWrapContent() {
val window = window
if (DebugConfig.getCarMachineType() != DebugConfig.CAR_MACHINE_TYPE_BYD) {
if (window != null) {
val lp = window.attributes
lp.width = 1024
lp.height = 600
window.attributes = lp
}
} else if (CarSeries.getSeries() == CarSeries.CAR_SERIES_F80X) {
if (window != null) {
val lp = window.attributes
lp.width = 1920
lp.height = 1080
window.attributes = lp
}
} else {
if (window != null) {
val lp = window.attributes
lp.width = 1024
lp.height = 600
window.attributes = lp
}
}
}
private lateinit var gridBtnManager:GridBtnManager
private fun initView() {
Logger.d(TAG, "test-------3")
setContentView(R.layout.dialog_share_with_gridlayout)
setWrapContent()
gridBtnManager = GridBtnManager(context,findViewById(R.id.moduleShareBtnGridLayout))
gridBtnManager.setShareClickListener {
Logger.d(TAG, "share btn click: $it")
if (it.poiType == IMogoTanluProvider.TYPE_SEEK_HELP) {
// 发起故障求助
Logger.d(TAG,"发起故障求助====")
seekHelp(context, seekListener, true)
}else{
// 上报道路事件
Logger.d(TAG,"上报道路事件=====")
sendShareReceiver(it.poiType)
}
dismiss()
}
findViewById<FrameLayout>(R.id.flShareDialogContainer).setOnClickListener { dismiss() }
gridBtnManager.showDefaultBtns()
}
private fun randomGenerateBtn(){
val random = Random.nextInt(1, 10)
gridBtnManager.resetContainer()
for (i in 0 until random) {
gridBtnManager.generateShareButton(FixableButton(id = i))
}
}
private val seekListener: ISeekHelpListener = object : ISeekHelpListener {
override fun onSeekHelpSuccess() {
Logger.d(TAG, "上报求助完成,成功")
SeekHelpManager.removeSeekHelpListener(this)
dismiss()
}
override fun onSeekHelpFail() {
Logger.d(TAG, "上报求助完成,失败")
SeekHelpManager.removeSeekHelpListener(this)
dismiss()
}
}
/**
* 发送广播 1拥堵2交通检查3封路
*/
private fun sendShareReceiver(type: String) {
val params = TanluUploadParams(type, IMogoTanluProvider.UPLOAD_FROM_USER)
UploadHelper.upload(context, params, true)
}
override fun show() {
Logger.d(TAG, "onShow====")
if (!DebugConfig.isLauncher()) {
mApis.adasControllerApi.closeADAS()
}
super.show()
}
override fun dismiss() {
Logger.d(TAG, "onDismiss=====")
if (!DebugConfig.isLauncher() && mApis.statusManagerApi.isMainPageOnResume) {
mApis.adasControllerApi.showADAS()
}
super.dismiss()
}
companion object {
private const val TAG = "GridFixableShareDialog"
}
init {
mAnalytics = mApis.analyticsApi
mStatusManager = mApis.statusManagerApi
initView()
}
}

View File

@@ -2,13 +2,14 @@ package com.mogo.module.share.dialog;
import android.content.Context;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.TextView;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.module.common.dialog.BaseFloatDialog;
import com.mogo.module.common.utils.CarSeries;
import com.mogo.module.share.R;
import com.mogo.module.share.manager.ISeekHelpListener;
import com.mogo.module.share.manager.SeekHelpManager;
@@ -74,7 +75,31 @@ public class LaucherShareDialog extends BaseFloatDialog implements View.OnClickL
initView();
initListener();
}
private void setWrapContent() {
Window window = getWindow();
if(DebugConfig.getCarMachineType() != DebugConfig.CAR_MACHINE_TYPE_BYD){
if (window != null) {
WindowManager.LayoutParams lp = window.getAttributes();
lp.width = 1024;
lp.height = 600;
window.setAttributes(lp);
}
}else if(CarSeries.getSeries() == CarSeries.CAR_SERIES_F80X){
if (window != null) {
WindowManager.LayoutParams lp = window.getAttributes();
lp.width = 1920;
lp.height = 1080;
window.setAttributes(lp);
}
}else{
if (window != null) {
WindowManager.LayoutParams lp = window.getAttributes();
lp.width = 1024;
lp.height = 600;
window.setAttributes(lp);
}
}
}
private void initView() {
Logger.d(TAG, "test-------3");
setContentView(R.layout.launcher_dialog_share_2);

View File

@@ -0,0 +1,61 @@
package com.mogo.module.share.manager
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.GridLayout
import android.widget.ImageView
import android.widget.TextView
import com.mogo.module.share.R
import com.mogo.module.share.bean.FixableButton
import com.mogo.service.tanlu.IMogoTanluProvider
import com.mogo.utils.glide.GlideApp
/**
* 用来管理生成对应的分享按钮
*/
class GridBtnManager(val context: Context, val container: GridLayout) {
private val inflater = LayoutInflater.from(context)
fun resetContainer() {
container.removeAllViews()
}
fun generateShareButton(button: FixableButton): View {
val view = inflater.inflate(R.layout.item_share_btn, container, false)
val img = view.findViewById<ImageView>(R.id.ivShareIcon)
val content = view.findViewById<TextView>(R.id.tvShareContent)
// 优先加载url图片然后加载资源图片
if (button.iconUrl.isNotEmpty()) {
GlideApp.with(context).load(button.iconUrl).centerInside().into(img)
} else {
GlideApp.with(context).load(button.iconRes).centerInside().into(img)
}
content.text = button.content
view.setOnClickListener {
btnClickListener?.invoke(button)
}
container.addView(view)
return view
}
fun showDefaultBtns() {
resetContainer()
generateShareButton(FixableButton(poiType = IMogoTanluProvider.TYPE_BLOCK, iconRes = R.drawable.share_block_up, content = "拥堵"))
generateShareButton(FixableButton(poiType = IMogoTanluProvider.TYPE_TRAFFIC_CHECK, iconRes = R.drawable.share_traffic_check, content = "交通检查"))
generateShareButton(FixableButton(poiType = IMogoTanluProvider.TYPE_CLOSURE, iconRes = R.drawable.share_road_closure, content = "封路"))
generateShareButton(FixableButton(poiType = IMogoTanluProvider.TYPE_ACCIDENT, iconRes = R.drawable.share_accident, content = "事故"))
generateShareButton(FixableButton(poiType = IMogoTanluProvider.TYPE_ROAD_CONSTRUCTION, iconRes = R.drawable.share_road_construction, content = "道路施工"))
generateShareButton(FixableButton(poiType = IMogoTanluProvider.TYPE_REAL_TIME_TRAFFIC, iconRes = R.drawable.share_real_time_traffic, content = "实时路况"))
generateShareButton(FixableButton(poiType = IMogoTanluProvider.TYPE_SEEK_HELP, iconRes = R.drawable.share_seek_help, content = "故障求助"))
generateShareButton(FixableButton(poiType = IMogoTanluProvider.TYPE_STAGNANT_WATER, iconRes = R.drawable.share_stagnant_water, content = "道路积水"))
generateShareButton(FixableButton(poiType = IMogoTanluProvider.TYPE_ROAD_ICY, iconRes = R.drawable.share_road_icy, content = "道路结冰"))
generateShareButton(FixableButton(poiType = IMogoTanluProvider.TYPE_DENSE_FOG, iconRes = R.drawable.share_dense_fog, content = "浓雾"))
}
private var btnClickListener: ((fixableButton: FixableButton) -> Unit)? = null
fun setShareClickListener(listener: ((fixableButton: FixableButton) -> Unit)) {
btnClickListener = listener
}
}

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/flShareDialogContainer"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:minWidth="@dimen/module_share_container_min_width"
android:background="@drawable/module_share_dialog_bg"
android:gravity="center_horizontal"
android:orientation="vertical">
<TextView
android:id="@+id/btn_share_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/share_module_title_margin_top"
android:drawableLeft="@drawable/module_share_title_icon_left"
android:drawableRight="@drawable/module_share_title_icon_right"
android:drawablePadding="@dimen/dp_40"
android:text="我要分享"
android:textColor="@color/module_share_dialog_title_text_color"
android:textSize="@dimen/share_module_title_content"
android:textStyle="bold" />
<GridLayout
android:id="@+id/moduleShareBtnGridLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/module_share_container_padding_bottom"
android:clickable="true"
android:columnCount="5"
android:paddingLeft="@dimen/module_share_container_padding_left"
android:paddingRight="@dimen/module_share_container_padding_right" />
</LinearLayout>
</FrameLayout>

View File

@@ -3,22 +3,31 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
android:orientation="vertical"
android:paddingLeft="@dimen/module_share_btn_margin_left"
android:paddingTop="@dimen/module_share_btn_margin_top">
<FrameLayout
android:layout_width="@dimen/module_share_icon_bg_width"
android:layout_height="@dimen/module_share_icon_bg_width"
android:background="@drawable/module_share_btn_bg">
<ImageView
android:id="@+id/ivShareIcon"
android:layout_width="@dimen/module_share_icon_width"
android:layout_height="@dimen/module_share_icon_width"
android:layout_gravity="center" />
</FrameLayout>
<ImageView
android:layout_width="@dimen/dp_160"
android:layout_height="@dimen/dp_160"
android:id="@+id/ivShareIcon"
android:src="@drawable/share_road_closure" />
<Space
android:layout_width="wrap_content"
android:layout_height="@dimen/share_module_tv_margin_top" />
<TextView
android:id="@+id/tvShareContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tvShareContent"
android:text="上报拥堵"
android:textColor="@color/module_share_dialog_icon_text_color"
android:textSize="@dimen/share_module_item"

View File

@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="@dimen/share_module_height"
android:layout_gravity="center"
android:background="@drawable/module_share_dialog_bg"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingLeft="65px"
android:paddingRight="65px"
android:paddingBottom="58px">
<TextView
android:id="@+id/btn_share_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/share_module_title_margin_top"
android:drawableLeft="@drawable/module_share_title_icon_left"
android:drawableRight="@drawable/module_share_title_icon_right"
android:drawablePadding="@dimen/dp_40"
android:text="我要分享"
android:textColor="@color/module_share_dialog_title_text_color"
android:textSize="@dimen/share_module_title_content"
android:textStyle="bold" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/moduleShareBtnRecyclerView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginTop="44px" />
</LinearLayout>
</FrameLayout>

View File

@@ -21,6 +21,16 @@
<dimen name="share_module_bottom_size">28px</dimen>
<dimen name="share_module_btn_text_size">32px</dimen>
<dimen name="module_share_btn_margin_left">114px</dimen>
<dimen name="module_share_btn_margin_top">83px</dimen>
<dimen name="module_share_container_padding_left">6px</dimen>
<dimen name="module_share_container_padding_right">123px</dimen>
<dimen name="module_share_container_padding_bottom">110px</dimen>
<dimen name="module_share_icon_width">75px</dimen>
<dimen name="module_share_icon_bg_width">165px</dimen>
<dimen name="module_share_container_min_width">967px</dimen>
</resources>

View File

@@ -22,4 +22,14 @@
<dimen name="share_module_bottom_size">15px</dimen>
<dimen name="share_module_btn_text_size">17.5px</dimen>
<dimen name="module_share_btn_margin_left">60px</dimen>
<dimen name="module_share_btn_margin_top">44px</dimen>
<dimen name="module_share_container_padding_left">5px</dimen>
<dimen name="module_share_container_padding_right">65px</dimen>
<dimen name="module_share_container_padding_bottom">58px</dimen>
<dimen name="module_share_icon_width">40px</dimen>
<dimen name="module_share_icon_bg_width">89px</dimen>
<dimen name="module_share_container_min_width">514px</dimen>
</resources>

View File

@@ -184,7 +184,6 @@ public class TanluListWindow extends RelativeLayout implements IMogoMarkerClickL
}
public void initWindow() {
Logger.d("liyz", "initWindow --------->");
EventBus.getDefault().register(this);
initInterface();
initModelData();

View File

@@ -11,7 +11,9 @@ import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.mogo.module.common.entity.MarkerPoiTypeEnum;
import com.mogo.module.common.glide.SkinAbleBitmapTarget;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.entity.panel.SurroundingConstruction;
import com.mogo.module.v2x.listener.SurroundingItemClickListener;
@@ -84,22 +86,20 @@ public class V2XSurroundingAdapter extends RecyclerView.Adapter<V2XSurroundingVi
.load(getTypeRes(surroundingConstruction.getPoiType()))
.into(mBgImageView);
// CornerTransform transformation = new CornerTransform(mContext, dip2px(mContext, 15));
// //只是绘制左上角和右上角圆角
// transformation.setExceptCorner(true, true, false, false);
//
// Glide.with(mContext).
// load(getTypeRes(surroundingConstruction.getPoiType()))
// .asBitmap()
// .skipMemoryCache(true)
// .diskCacheStrategy(DiskCacheStrategy.NONE)
// .transform(transformation)
// .into(mBgImageView);
//
// Glide.with(mContext)
// .load(getTypeSmallRes(surroundingConstruction.getPoiType()))
// .into(mTypeImageView);
RequestOptions requestOptions = new RequestOptions()
.placeholder(R.drawable.v2x_icon_live_logo)
.error(R.drawable.v2x_icon_live_logo)
.fallback(R.drawable.v2x_icon_live_logo);
Glide.with(mContext)
.asBitmap()
.load(getTypeSmallRes(surroundingConstruction.getPoiType()))
.into(mTypeImageView);
.apply(requestOptions)
.into(new SkinAbleBitmapTarget(mTypeImageView, requestOptions));
}
public static int dip2px(Context context, float dpValue) {

View File

@@ -182,7 +182,8 @@ public class V2XSurroundingFragment extends MvpFragment<SurroundingEventView, Su
SpannableString spannableString = new SpannableString(originStr);
spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#459DFF")), 7, originStr.length() - 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置字体大小true表示前面的字体大小 dip
spannableString.setSpan(new AbsoluteSizeSpan(46, true), 7, originStr.length() - 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(new AbsoluteSizeSpan((int) getContext().getResources().getDimension(R.dimen.module_v2x_surrounding_top), true),
7, originStr.length() - 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(new StyleSpan(Typeface.NORMAL), 7, originStr.length() - 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
mTotalTv.setText(spannableString);
} else {

View File

@@ -4,6 +4,7 @@ import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 643 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="24px" />
<corners android:radius="@dimen/module_v2x_surrounding_refresh_bt_radius" />
<solid android:color="@color/live_video_background_color" />
</shape>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="@dimen/dp_180" />
<gradient
android:angle="135"
android:endColor="#2E324B"
android:startColor="#585E8B"
android:type="linear"
android:useLevel="true" />
</shape>

View File

@@ -1,7 +1,7 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<corners android:radius="@dimen/module_v2x_panel_cor" />
<corners android:radius="@dimen/module_v2x_panel_icon_cor" />
<gradient android:startColor="#FF2E3141" android:endColor="#FF3F435F" android:angle="0" />
</shape>
</item>

View File

@@ -6,7 +6,7 @@
android:layout_height="match_parent"
android:background="#88000000">
<ImageView
<TextView
android:id="@+id/ivDialogBg"
android:layout_width="@dimen/dp_790"
android:layout_height="@dimen/dp_366"

View File

@@ -4,7 +4,7 @@
android:id="@+id/clPanelContainer"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- android:background="@drawable/bg_v2x_event_surrounding_item"-->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
@@ -13,13 +13,12 @@
android:id="@+id/layout_top"
android:layout_width="match_parent"
android:layout_height="@dimen/module_v2x_surrounding_top_height"
android:visibility="gone">
android:visibility="visible">
<TextView
android:id="@+id/tv_brief"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/module_v2x_surrounding_margin_left"
android:text="周围5公里共15条交通信息"
android:textColor="@color/v2x_white"
@@ -48,7 +47,7 @@
android:layout_below="@+id/layout_top"
android:layout_marginLeft="@dimen/module_v2x_surrounding_root_margin_left"
android:layout_marginRight="@dimen/module_v2x_surrounding_root_margin_left"
android:layout_marginBottom="@dimen/module_v2x_surrounding_margin_left">
android:layout_marginBottom="@dimen/module_v2x_panel_surrounding_marginbottom">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/surrounding_recycleview"
@@ -83,7 +82,7 @@
android:layout_marginTop="@dimen/module_v2x_surrounding_empty_tv_margin_top"
android:gravity="center_horizontal"
android:text="周边5公里暂无交通事件"
android:textColor="@color/transparent_white_30"
android:textColor="@color/v2x_FFF_333"
android:textSize="@dimen/module_v2x_surrounding_top_textsize"
android:textStyle="bold" />
@@ -96,7 +95,7 @@
android:layout_marginTop="1px"
android:gravity="center_horizontal"
android:text="你可以试着分享一个事件给其他车主"
android:textColor="@color/transparent_white_30"
android:textColor="@color/v2x_FFF_333"
android:textSize="@dimen/module_v2x_surrounding_top_textsize"
android:textStyle="bold" />
@@ -120,8 +119,8 @@
<View
android:id="@+id/center_empty"
android:layout_width="29px"
android:layout_height="29px"
android:layout_width="@dimen/module_v2x_panel_surrounding_stance"
android:layout_height="@dimen/module_v2x_panel_surrounding_stance"
android:layout_centerInParent="true" />
<TextView

View File

@@ -5,7 +5,7 @@
android:id="@+id/clPanelContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/v2x_panel_list_background"
android:background="@drawable/v2x_shadow_bg"
android:clickable="true"
android:visibility="gone"
tools:visibility="visible">

View File

@@ -20,7 +20,7 @@
android:paddingTop="10px"
android:text="小窍门:分享路况,点赞其他车主,有助于提高热心指数"
android:textColor="#FFFFFF"
android:textSize="16px">
android:textSize="@dimen/share_top_text_size">
</TextView>
@@ -42,17 +42,17 @@
android:gravity="center_horizontal|center"
android:text="0"
android:textColor="#FFFFFF"
android:textSize="36px" />
android:textSize="@dimen/share_des_num_size" />
<TextView
android:id="@+id/shre_num_des"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal|center"
android:paddingBottom="22px"
android:text="分享次数"
android:textColor="#FFFFFF"
android:textSize="16px"
android:paddingBottom="22px"/>
android:textSize="@dimen/share_index_des_size" />
</LinearLayout>
@@ -76,17 +76,17 @@
android:gravity="center_horizontal|top"
android:text="0"
android:textColor="#FFFFFF"
android:textSize="36px" />
android:textSize="@dimen/share_des_num_size" />
<TextView
android:id="@+id/share_approve_des"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal|top"
android:paddingBottom="22px"
android:text="车友认同次数"
android:textColor="#FFFFFF"
android:textSize="16px"
android:paddingBottom="22px"/>
android:textSize="@dimen/share_index_des_size" />
</LinearLayout>
@@ -101,9 +101,9 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
android:paddingTop="17px"
android:gravity="center">
android:paddingTop="@dimen/v2x_index_rating_top">
<RatingBar
android:id="@+id/rating_bar"
@@ -116,15 +116,15 @@
android:id="@+id/share_index_des"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="热心指数"
android:layout_alignTop="@id/share_approve_des"
android:textColor="#FFFFFF"
android:gravity="center"
android:paddingTop="15px"
android:textSize="16px" />
android:paddingTop="@dimen/share_index_bottom_padding"
android:text="热心指数"
android:textColor="#FFFFFF"
android:textSize="@dimen/share_index_des_size" />
</LinearLayout>
</LinearLayout>
</LinearLayout>

View File

@@ -7,8 +7,8 @@
<ImageView
android:id="@+id/no_share_image"
android:layout_width="117px"
android:layout_height="117px"
android:layout_width="@dimen/share_empty_icon_width"
android:layout_height="@dimen/share_empty_icon_width"
android:layout_marginTop="30px"
android:src="@drawable/icon_share_empty" />
@@ -18,46 +18,46 @@
android:layout_height="wrap_content"
android:layout_below="@+id/no_share_image"
android:layout_centerHorizontal="true"
android:layout_marginTop="12.6px"
android:layout_marginTop="@dimen/share_empty_btn_padding"
android:alpha="0.7"
android:gravity="bottom"
android:text="你还没有分享过道路事件,快去试试吧"
android:textColor="@color/v2x_FFF_333"
android:textSize="18px" />
android:textSize="@dimen/v2x_share_btn_size" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="20px">
android:layout_marginTop="@dimen/share_empty_btn_padding">
<Button
android:id="@+id/share_event_button"
android:layout_width="150px"
android:layout_height="48px"
android:layout_width="@dimen/v2x_share_btn_width"
android:layout_height="@dimen/v2x_share_btn_height"
android:layout_centerHorizontal="true"
android:layout_toLeftOf="@id/center"
android:background="#3F4057"
android:background="@drawable/v2x_bkg_dark_light_same"
android:clickable="true"
android:onClick="shareEventAction"
android:text="去分享"
android:textColor="#FFFFFF"
android:textSize="18px" />
android:textSize="@dimen/v2x_share_btn_size" />
<View
android:id="@+id/center"
android:layout_width="29px"
android:layout_height="29px"
android:layout_width="@dimen/share_btn_middle_padding"
android:layout_height="@dimen/share_btn_middle_padding"
android:layout_centerInParent="true" />
<Button
android:id="@+id/refresh_button"
android:layout_width="150px"
android:layout_height="48px"
android:layout_width="@dimen/v2x_share_btn_width"
android:layout_height="@dimen/v2x_share_btn_height"
android:layout_toRightOf="@id/center"
android:background="@drawable/v2xt_dw_common_corner_bkg_light"
android:text="刷新"
android:textColor="#FFFFFF"
android:textSize="18px" />
android:textSize="@dimen/v2x_share_btn_size" />
</RelativeLayout>

View File

@@ -9,8 +9,8 @@
<ImageView
android:id="@+id/loading_imageview"
android:layout_width="200px"
android:layout_height="200px"
android:layout_width="@dimen/v2x_loading_ani_width"
android:layout_height="@dimen/v2x_loading_ani_width"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="60px"
@@ -32,23 +32,23 @@
android:paddingTop="14px"
android:text="正在获取信息…"
android:textColor="#FFFFFF"
android:textSize="18px"
android:textSize="@dimen/v2x_share_btn_size"
app:layout_constraintBottom_toBottomOf="@+id/loading_imageview"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/refresh_button"
android:layout_width="150px"
android:layout_height="48px"
android:layout_width="@dimen/v2x_share_btn_width"
android:layout_height="@dimen/v2x_share_btn_height"
android:layout_below="@id/loading_text"
android:layout_centerHorizontal="true"
android:layout_gravity="top|center"
android:layout_marginTop="34px"
android:layout_marginTop="@dimen/shaer_refresh_padding"
android:background="@drawable/v2xt_dw_common_corner_bkg_light"
android:text="刷新"
android:textColor="#FFFFFF"
android:textSize="18px"
android:textSize="@dimen/v2x_share_btn_size"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/loading_imageview" />

View File

@@ -12,8 +12,8 @@
<ImageView
android:id="@+id/btnShowOrHidePanels"
android:layout_width="@dimen/dp_52"
android:layout_height="@dimen/dp_52"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/icon_event_panel_more" />

View File

@@ -8,7 +8,7 @@
android:id="@+id/ivEmptyView"
android:layout_width="@dimen/dp_355"
android:layout_height="@dimen/dp_355"
android:layout_marginTop="@dimen/dp_120"
android:layout_marginTop="60px"
android:src="@drawable/icon_share_empty"
app:layout_constraintBottom_toTopOf="@+id/tvTrip"
app:layout_constraintEnd_toEndOf="parent"
@@ -23,7 +23,7 @@
android:gravity="center"
android:text="周边5公里暂无交通事件\n
你可以试着分享一个交通事件给其他车主"
android:textColor="@color/transparent_white_30"
android:textColor="@color/v2x_FFF_333"
android:textSize="@dimen/dp_36"
app:layout_constraintBottom_toTopOf="@+id/btnShear"
app:layout_constraintEnd_toEndOf="parent"
@@ -32,8 +32,8 @@
<Button
android:id="@+id/btnShear"
android:layout_width="@dimen/dp_300"
android:layout_height="@dimen/dp_96"
android:layout_width="@dimen/v2x_share_btn_width"
android:layout_height="@dimen/v2x_share_btn_height"
android:layout_marginTop="@dimen/dp_60"
android:background="@drawable/v2xt_dw_common_corner_bkg_dark"
android:gravity="center"
@@ -46,8 +46,8 @@
<Button
android:id="@+id/btnRefresh"
android:layout_width="@dimen/dp_300"
android:layout_height="@dimen/dp_96"
android:layout_width="@dimen/v2x_share_btn_width"
android:layout_height="@dimen/v2x_share_btn_height"
android:layout_marginStart="@dimen/dp_60"
android:layout_marginTop="@dimen/dp_60"
android:background="@drawable/v2xt_dw_common_corner_bkg_light"

View File

@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<dimen name="module_main_v2x_animation_width">445px</dimen>
<dimen name="module_v2x_search_marginLeft">18px</dimen>
<dimen name="module_v2x_operation_panel_share_goneMarginRight">20px</dimen>
<dimen name="module_v2x_event_window_height">194px</dimen>
<dimen name="module_v2x_event_window_height_ground">250px</dimen>
<dimen name="module_v2x_push_img_height">190px</dimen>
<dimen name="module_v2x_fatigue_driving_window_height_ground">130px</dimen>
<dimen name="module_v2x_event_icon_size">82px</dimen>
<dimen name="module_v2x_event_button_size">54px</dimen>
<dimen name="module_v2x_event_button_size_detail">64px</dimen>
<dimen name="module_v2x_event_image_height">175px</dimen>
<dimen name="module_v2x_event_image_width">262px</dimen>
<dimen name="module_v2x_event_distance_text">34px</dimen>
<dimen name="module_v2x_event_distance_title">22px</dimen>
<dimen name="module_v2x_history_event_icon_size">40px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_size">6px</dimen>
<dimen name="module_v2x_map_left">550px</dimen>
<dimen name="module_v2x_map_top">200px</dimen>
<dimen name="module_v2x_map_right">200px</dimen>
<dimen name="module_v2x_map_bottom">100px</dimen>
<dimen name="module_v2x_surrounding_top_height">40px</dimen>
<dimen name="module_v2x_surrounding_top_bt_width">90px</dimen>
<dimen name="module_v2x_surrounding_top_bt_height">36px</dimen>
<dimen name="module_v2x_surrounding_empty_iv_margin_top">40px</dimen>
<dimen name="module_v2x_surrounding_empty_tv_margin_top">15px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_width">150px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_height">48px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_margin_top">32px</dimen>
<dimen name="module_v2x_surrounding_root_margin_left">10px</dimen>
<dimen name="module_v2x_surrounding_margin_left">10px</dimen>
<dimen name="module_v2x_surrounding_empty_image_height">190px</dimen>
<dimen name="module_v2x_surrounding_item_height">173px</dimen>
<dimen name="module_v2x_surrounding_item_bottom">43px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_image_height">26px</dimen>
<dimen name="module_v2x_surrounding_item_marigin_left">12px</dimen>
<dimen name="module_v2x_surrounding_item_marigin_bottom_left">8px</dimen>
<dimen name="module_v2x_panel_surrounding_marginbottom">2px</dimen>
<dimen name="module_v2x_panel_surrounding_stance">30px</dimen>
<dimen name="module_v2x_surrounding_top">34px</dimen>
<dimen name="module_v2x_surrounding_refresh_bt_radius">24px</dimen>
<dimen name="module_v2x_surrounding_top_textsize">18px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_left_textsize">20px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_right_textsize">16px</dimen>
<dimen name="module_v2x_des_index_width">17px</dimen>
<dimen name="module_v2x_des_index_height">15.4px</dimen>
<dimen name="module_v2x_panel_width">66px</dimen>
<dimen name="module_v2x_panel_icon_cor">16px</dimen>
<dimen name="share_empty_icon_width">117px</dimen>
<dimen name="v2x_loading_ani_width">200px</dimen>
<dimen name="v2x_share_btn_width">150px</dimen>
<dimen name="v2x_share_btn_height">48px</dimen>
<dimen name="v2x_share_btn_size">18px</dimen>
<dimen name="v2x_index_rating_top">17px</dimen>
<dimen name="share_top_text_size">16px</dimen>
<dimen name="share_des_num_size">36px</dimen>
<dimen name="share_index_des_size">16px</dimen>
<dimen name="share_empty_btn_padding">20px</dimen>
<dimen name="shaer_refresh_padding">34px</dimen>
<dimen name="share_index_bottom_padding">15px</dimen>
<dimen name="share_btn_middle_padding">29px</dimen>
<dimen name="v2x_panel_btn_translationY">-8px</dimen>
</resources>

View File

@@ -28,26 +28,33 @@
<dimen name="module_v2x_map_top">200px</dimen>
<dimen name="module_v2x_map_right">200px</dimen>
<dimen name="module_v2x_map_bottom">100px</dimen>
<dimen name="module_v2x_surrounding_top_height">40px</dimen>
<dimen name="module_v2x_surrounding_top_bt_width">90px</dimen>
<dimen name="module_v2x_surrounding_top_bt_height">36px</dimen>
<dimen name="module_v2x_surrounding_empty_iv_margin_top">40px</dimen>
<dimen name="module_v2x_surrounding_empty_tv_margin_top">15px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_width">150px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_height">48px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_margin_top">32px</dimen>
<dimen name="module_v2x_surrounding_top_height">80px</dimen>
<dimen name="module_v2x_surrounding_top_bt_width">162px</dimen>
<dimen name="module_v2x_surrounding_top_bt_height">64px</dimen>
<dimen name="module_v2x_surrounding_empty_iv_margin_top">80px</dimen>
<dimen name="module_v2x_surrounding_empty_tv_margin_top">26px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_width">270px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_height">86px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_margin_top">58px</dimen>
<dimen name="module_v2x_surrounding_root_margin_left">10px</dimen>
<dimen name="module_v2x_surrounding_margin_left">20px</dimen>
<dimen name="module_v2x_surrounding_empty_image_height">190px</dimen>
<dimen name="module_v2x_surrounding_item_height">173px</dimen>
<dimen name="module_v2x_surrounding_item_bottom">43px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_image_height">26px</dimen>
<dimen name="module_v2x_surrounding_item_marigin_left">12px</dimen>
<dimen name="module_v2x_surrounding_item_marigin_bottom_left">8px</dimen>
<dimen name="module_v2x_surrounding_margin_left">10px</dimen>
<dimen name="module_v2x_surrounding_empty_image_height">349px</dimen>
<dimen name="module_v2x_surrounding_item_height">306px</dimen>
<dimen name="module_v2x_surrounding_item_bottom">77px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_image_height">38px</dimen>
<dimen name="module_v2x_surrounding_item_marigin_left">28px</dimen>
<dimen name="module_v2x_surrounding_item_marigin_bottom_left">16px</dimen>
<dimen name="module_v2x_panel_surrounding_marginbottom">5px</dimen>
<dimen name="module_v2x_panel_surrounding_stance">80px</dimen>
<dimen name="module_v2x_surrounding_top">33px</dimen>
<dimen name="module_v2x_surrounding_refresh_bt_radius">42px</dimen>
<dimen name="module_v2x_surrounding_top_textsize">32px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_left_textsize">36px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_right_textsize">28px</dimen>
<dimen name="module_v2x_des_index_width">16px</dimen>
<dimen name="module_v2x_des_index_height">42px</dimen>
<dimen name="module_v2x_panel_cor">16px</dimen>
<dimen name="module_v2x_panel_width">120px</dimen>
<dimen name="module_v2x_surrounding_refresh_bt_radius">24px</dimen>
<dimen name="module_v2x_surrounding_top_textsize">18px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_left_textsize">20px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_right_textsize">16px</dimen>
<dimen name="module_v2x_panel_cor">30px</dimen>
</resources>

View File

@@ -29,30 +29,47 @@
<dimen name="module_v2x_map_top">200px</dimen>
<dimen name="module_v2x_map_right">200px</dimen>
<dimen name="module_v2x_map_bottom">100px</dimen>
<dimen name="module_v2x_surrounding_top_height">40px</dimen>
<dimen name="module_v2x_surrounding_top_bt_width">90px</dimen>
<dimen name="module_v2x_surrounding_top_bt_height">36px</dimen>
<dimen name="module_v2x_surrounding_empty_iv_margin_top">40px</dimen>
<dimen name="module_v2x_surrounding_empty_tv_margin_top">15px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_width">150px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_height">48px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_margin_top">32px</dimen>
<dimen name="module_v2x_surrounding_top_height">80px</dimen>
<dimen name="module_v2x_surrounding_top_bt_width">162px</dimen>
<dimen name="module_v2x_surrounding_top_bt_height">64px</dimen>
<dimen name="module_v2x_surrounding_empty_iv_margin_top">80px</dimen>
<dimen name="module_v2x_surrounding_empty_tv_margin_top">26px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_width">270px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_height">86px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_margin_top">58px</dimen>
<dimen name="module_v2x_surrounding_root_margin_left">10px</dimen>
<dimen name="module_v2x_surrounding_margin_left">20px</dimen>
<dimen name="module_v2x_surrounding_empty_image_height">190px</dimen>
<dimen name="module_v2x_surrounding_item_height">173px</dimen>
<dimen name="module_v2x_surrounding_item_bottom">43px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_image_height">26px</dimen>
<dimen name="module_v2x_surrounding_item_marigin_left">12px</dimen>
<dimen name="module_v2x_surrounding_item_marigin_bottom_left">8px</dimen>
<dimen name="module_v2x_surrounding_margin_left">10px</dimen>
<dimen name="module_v2x_surrounding_empty_image_height">349px</dimen>
<dimen name="module_v2x_surrounding_item_height">306px</dimen>
<dimen name="module_v2x_surrounding_item_bottom">77px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_image_height">38px</dimen>
<dimen name="module_v2x_surrounding_item_marigin_left">28px</dimen>
<dimen name="module_v2x_surrounding_item_marigin_bottom_left">16px</dimen>
<dimen name="module_v2x_panel_surrounding_marginbottom">5px</dimen>
<dimen name="module_v2x_panel_surrounding_stance">80px</dimen>
<dimen name="module_v2x_surrounding_top">33px</dimen>
<dimen name="module_v2x_surrounding_refresh_bt_radius">24px</dimen>
<dimen name="module_v2x_surrounding_top_textsize">18px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_left_textsize">20px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_right_textsize">16px</dimen>
<dimen name="module_v2x_des_index_width">16px</dimen>
<dimen name="module_v2x_des_index_height">4px</dimen>
<dimen name="module_v2x_panel_cor">16px</dimen>
<dimen name="module_v2x_surrounding_refresh_bt_radius">42px</dimen>
<dimen name="module_v2x_surrounding_top_textsize">32px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_left_textsize">36px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_right_textsize">28px</dimen>
<dimen name="module_v2x_des_index_width">31.9px</dimen>
<dimen name="module_v2x_des_index_height">26px</dimen>
<dimen name="module_v2x_panel_icon_cor">30px</dimen>
<dimen name="module_v2x_panel_width">120px</dimen>
<dimen name="share_empty_icon_width">219px</dimen>
<dimen name="v2x_loading_ani_width">400px</dimen>
<dimen name="v2x_share_btn_width">281px</dimen>
<dimen name="v2x_share_btn_height">90px</dimen>
<dimen name="v2x_share_btn_size">33.75px</dimen>
<dimen name="v2x_index_rating_top">28px</dimen>
<dimen name="share_top_text_size">30px</dimen>
<dimen name="share_des_num_size">67.5px</dimen>
<dimen name="share_index_des_size">30px</dimen>
<dimen name="share_empty_btn_padding">40px</dimen>
<dimen name="shaer_refresh_padding">60px</dimen>
<dimen name="share_index_bottom_padding">36px</dimen>
<dimen name="share_btn_middle_padding">54px</dimen>
<dimen name="v2x_panel_btn_translationY">-10px</dimen>
</resources>

View File

@@ -40,13 +40,16 @@
<dimen name="module_v2x_surrounding_empty_bt_height">48px</dimen>
<dimen name="module_v2x_surrounding_empty_bt_margin_top">32px</dimen>
<dimen name="module_v2x_surrounding_root_margin_left">10px</dimen>
<dimen name="module_v2x_surrounding_margin_left">20px</dimen>
<dimen name="module_v2x_surrounding_margin_left">10px</dimen>
<dimen name="module_v2x_surrounding_empty_image_height">190px</dimen>
<dimen name="module_v2x_surrounding_item_height">173px</dimen>
<dimen name="module_v2x_surrounding_item_bottom">43px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_image_height">26px</dimen>
<dimen name="module_v2x_surrounding_item_marigin_left">12px</dimen>
<dimen name="module_v2x_surrounding_item_marigin_bottom_left">8px</dimen>
<dimen name="module_v2x_panel_surrounding_marginbottom">2px</dimen>
<dimen name="module_v2x_panel_surrounding_stance">30px</dimen>
<dimen name="module_v2x_surrounding_top">50px</dimen>
<dimen name="module_v2x_surrounding_refresh_bt_radius">24px</dimen>
<dimen name="module_v2x_surrounding_top_textsize">18px</dimen>
@@ -55,7 +58,22 @@
<dimen name="module_v2x_des_index_width">16px</dimen>
<dimen name="module_v2x_des_index_height">20px</dimen>
<dimen name="module_v2x_panel_width">66px</dimen>
<dimen name="module_v2x_panel_cor">16px</dimen>
<dimen name="module_v2x_panel_icon_cor">16px</dimen>
<dimen name="share_empty_icon_width">117px</dimen>
<dimen name="v2x_loading_ani_width">200px</dimen>
<dimen name="v2x_share_btn_width">150px</dimen>
<dimen name="v2x_share_btn_height">48px</dimen>
<dimen name="v2x_share_btn_size">18px</dimen>
<dimen name="v2x_index_rating_top">17px</dimen>
<dimen name="share_top_text_size">16px</dimen>
<dimen name="share_des_num_size">36px</dimen>
<dimen name="share_index_des_size">16px</dimen>
<dimen name="share_empty_btn_padding">20px</dimen>
<dimen name="shaer_refresh_padding">34px</dimen>
<dimen name="share_index_bottom_padding">15px</dimen>
<dimen name="share_btn_middle_padding">29px</dimen>
<dimen name="v2x_panel_btn_translationY">-8px</dimen>
</resources>

View File

@@ -45,6 +45,11 @@ public interface IMogoTanluProvider extends IProvider {
*/
String TYPE_ROAD_CONSTRUCTION = "10006";
/**
* 故障求助
*/
String TYPE_SEEK_HELP = "99999";
/**
* 用户手点上报
*/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 677 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="24px" />
<!-- <solid android:color="@color/live_video_background_color_light" />-->
<corners android:radius="@dimen/module_v2x_surrounding_refresh_bt_radius" />
<solid android:color="#E6E6E6" />
</shape>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="24px" />
<corners android:radius="@dimen/module_v2x_surrounding_refresh_bt_radius" />
<gradient
android:endColor="#1F7EFF"

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="@dimen/dp_180" />
<gradient
android:angle="135"
android:endColor="#2E324B"
android:startColor="#585E8B"
android:type="linear"
android:useLevel="true" />
</shape>

View File

@@ -1,7 +1,7 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<corners android:radius="@dimen/dp_40" />
<corners android:radius="@dimen/module_v2x_panel_icon_cor" />
<gradient android:startColor="#FFFFFFFF" android:endColor="#E5F5F5F5" android:angle="0" />
</shape>
</item>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="module_v2x_surrounding_refresh_bt_radius">24px</dimen>
<dimen name="module_v2x_surrounding_refresh_bt_radius">42px</dimen>
</resources>

View File

@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="module_v2x_surrounding_refresh_bt_radius">24px</dimen>
<dimen name="module_v2x_panel_icon_cor">30px</dimen>
<dimen name="module_v2x_surrounding_refresh_bt_radius">42px</dimen>
</resources>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="module_v2x_panel_icon_cor">16px</dimen>
<dimen name="module_v2x_surrounding_refresh_bt_radius">24px</dimen>
</resources>