Merge branch 'qa_byd' into dev
2
.idea/misc.xml
generated
@@ -4,7 +4,7 @@
|
||||
<asm skipDebug="false" skipFrames="false" skipCode="false" expandFrames="false" />
|
||||
<groovy codeStyle="LEGACY" />
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -44,9 +44,9 @@ android {
|
||||
signingConfig signingConfigs.release
|
||||
}
|
||||
release {
|
||||
minifyEnabled true
|
||||
zipAlignEnabled true
|
||||
shrinkResources true
|
||||
minifyEnabled false
|
||||
zipAlignEnabled false
|
||||
shrinkResources false
|
||||
signingConfig signingConfigs.release
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
|
||||
21
app/proguard-rules.pro
vendored
@@ -333,6 +333,17 @@
|
||||
<init>(java.lang.Throwable);
|
||||
}
|
||||
|
||||
#-----Netty-----
|
||||
-keepattributes Signature,InnerClasses
|
||||
-keep class io.netty.** {*;}
|
||||
-keep class org.apache.** {*;}
|
||||
-keep class org.apache.logging.**{*;}
|
||||
-keepclasseswithmembers class io.netty.** {*;}
|
||||
-keepclasseswithmembers class org.apache.logging.**{*;}
|
||||
-keep class org.apache.http.**{*;}
|
||||
-dontwarn io.netty.**
|
||||
-dontwarn sun.**
|
||||
|
||||
#-----ZhiDaoService-----
|
||||
-keep class com.zhidao.auto.platform.**{*;}
|
||||
-keep class com.zhidao.auto.carcorder.**{*;}
|
||||
@@ -340,13 +351,23 @@
|
||||
-keep class com.zhidao.boot.**{*;}
|
||||
-keep class com.elegant.**{*;}
|
||||
-keep class com.zhidao.socketsdk.**{*;}
|
||||
-keep class com.zhidao.socket.**{*;}
|
||||
-keep class com.zhidao.ptech.**{*;}
|
||||
-keep class com.zhidao.autopilotcore.**{*;}
|
||||
-keep class com.zhidao.autopilot.support.**{*;}
|
||||
-keep class com.zhidao.voice.library.**{*;}
|
||||
-keep class com.zhidao.voicesdk.**{*;}
|
||||
-keep class com.zhidao.smartv2x.**{*;}
|
||||
-keep class com.zhidao.accountsdk.**{*;}
|
||||
-keep class com.zhidao.account.**{*;}
|
||||
-keep class com.zhidao.locupload.**{*;}
|
||||
-keep class com.zhidao.tcloginsdk.**{*;}
|
||||
-keep class com.zhidao.utils.**{*;}
|
||||
-keep class com.hw.videoprocessor.**{*;}
|
||||
-dontwarn com.elegant.network.**
|
||||
|
||||
-keep class com.bytedance.boost_multidex.**{*;}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ dependencies {
|
||||
implementation fileTree(dir: "libs", include: ["*.jar"])
|
||||
implementation rootProject.ext.dependencies.arouter
|
||||
// 上报位置
|
||||
implementation 'com.zhidao.locupload:loc-upload-sdk:1.1.2'
|
||||
implementation 'com.zhidao.locupload:loc-upload-sdk:1.1.3'
|
||||
// 长链
|
||||
implementation 'com.zhidao.socket:built-in-socket:1.0.15'
|
||||
// passport
|
||||
|
||||
@@ -30,7 +30,7 @@ public class ParamsUtil {
|
||||
public static Map< String, Object > getDynamicParams() {
|
||||
Map< String, Object > params = new ArrayMap();
|
||||
|
||||
final Map<String,Object> location = LocationHelper.getInstance().getLocationProperties();
|
||||
final Map< String, Object > location = LocationHelper.getInstance().getLocationProperties();
|
||||
if ( location != null ) {
|
||||
params.putAll( location );
|
||||
}
|
||||
@@ -71,7 +71,8 @@ public class ParamsUtil {
|
||||
public static Map< String, Object > getAnalyticsCustomParams() {
|
||||
Map< String, Object > map = new ArrayMap<>();
|
||||
map.put( "debug", DebugConfig.isDebug() ? 1 : 0 );
|
||||
map.put( "systemversion", Utils.getFotaVersion() );
|
||||
String fota = Utils.getFotaVersion();
|
||||
map.put( "systemversion", TextUtils.isEmpty( fota ) ? DebugConfig.getProductFlavor() : fota );
|
||||
map.put( "sn", Utils.getSn() );
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ MOGO_BASE_SERVICES_SDK_VERSION = 1.2.1.22
|
||||
|
||||
## 工程外部模块
|
||||
# 探路
|
||||
MOGO_MODULE_TANLU_VERSION=1.3.1.10
|
||||
MOGO_MODULE_TANLU_VERSION=1.3.1.20
|
||||
# 车聊聊
|
||||
CARCHATTING_VERSION=1.4.8
|
||||
# 车聊聊接口
|
||||
@@ -81,7 +81,7 @@ MOGO_MODULE_PUSH_NOOP_VERSION=1.1.5.6
|
||||
# 广告资源位
|
||||
MOGO_MODULE_AD_CARD_VERSION=1.0.1
|
||||
# 探路上报和分享模块
|
||||
TANLULIB_VERSION=1.3.1.10
|
||||
TANLULIB_VERSION=1.3.1.20
|
||||
MOGO_MODULE_EVENT_PANEL_VERSION = 1.0.0-SNAPSHOT
|
||||
MOGO_MODULE_EVENT_PANEL_NOOP_VERSION = 1.0.0-SNAPSHOT
|
||||
#左侧面板模块
|
||||
|
||||
@@ -321,6 +321,7 @@ public class AMapNaviViewWrapper implements IMogoMapView,
|
||||
@Override
|
||||
public void onNaviMapMode( int mode ) {
|
||||
Logger.i( TAG, "mode=" + mode );
|
||||
MogoMapListenerHandler.getInstance().onMapModeChanged( mode == 0 ? EnumMapUI.CarUp_2D : EnumMapUI.NorthUP_2D );
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 52 KiB |
@@ -31,7 +31,7 @@ public class MainIndependentActivity extends MainActivity {
|
||||
FrameLayout.LayoutParams entranceParams = ( ( FrameLayout.LayoutParams ) mEntrance.getLayoutParams() );
|
||||
entranceParams.leftMargin = getResources().getDimensionPixelSize( R.dimen.module_main_entrance_fragment_container_marginLeft );
|
||||
mEntrance.setLayoutParams( entranceParams );
|
||||
|
||||
mLeftShadowFrame.setVisibility(View.VISIBLE);
|
||||
mApps.setVisibility( View.GONE );
|
||||
}
|
||||
|
||||
|
||||
@@ -109,9 +109,9 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="@dimen/dp_301"
|
||||
android:layout_marginTop="@dimen/dp_110"
|
||||
android:layout_marginTop="@dimen/dp_100"
|
||||
android:layout_marginRight="@dimen/dp_301"
|
||||
android:layout_marginBottom="@dimen/dp_110"
|
||||
android:layout_marginBottom="@dimen/dp_100"
|
||||
android:background="@drawable/module_authorize_selector_dark_corner"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@@ -149,7 +149,7 @@
|
||||
<ScrollView
|
||||
android:layout_width="0px"
|
||||
android:layout_height="0px"
|
||||
android:layout_marginBottom="@dimen/dp_139"
|
||||
android:layout_marginBottom="@dimen/dp_123"
|
||||
android:scrollbarSize="@dimen/dp_442"
|
||||
android:layout_marginTop="@dimen/dp_35"
|
||||
android:scrollbarTrackHorizontal="@drawable/module_authorize_scrollbar"
|
||||
@@ -200,7 +200,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_62"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/dp_55"
|
||||
android:textSize="@dimen/dp_42"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
||||
@@ -9,17 +9,17 @@
|
||||
android:id="@+id/vpEventPanel"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone"/>
|
||||
android:visibility="gone" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btnShowOrHidePanels"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/btnShowOrHidePanels"
|
||||
android:layout_marginTop="200dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="显示面板"
|
||||
android:textSize="20sp"
|
||||
android:textColor="#000"
|
||||
android:textSize="20sp"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="10dp"/>
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -43,7 +43,6 @@ dependencies {
|
||||
annotationProcessor rootProject.ext.dependencies.aroutercompiler
|
||||
implementation rootProject.ext.dependencies.rxjava
|
||||
implementation rootProject.ext.dependencies.rxandroid
|
||||
implementation rootProject.ext.dependencies.tanluupload
|
||||
|
||||
if (Boolean.valueOf(RELEASE)) {
|
||||
api rootProject.ext.dependencies.mogomap
|
||||
|
||||
@@ -3,13 +3,11 @@ package com.mogo.module.extensions.entrance;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Rect;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.text.TextUtils;
|
||||
import android.util.TypedValue;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
@@ -18,6 +16,7 @@ import androidx.annotation.Nullable;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.commons.debug.DebugConfig;
|
||||
import com.mogo.commons.mvp.MvpFragment;
|
||||
import com.mogo.map.listener.IMogoMapListener;
|
||||
@@ -58,7 +57,6 @@ import com.mogo.utils.ResourcesHelper;
|
||||
import com.mogo.utils.UiThreadHandler;
|
||||
import com.mogo.utils.glide.GlideApp;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
import com.zhidao.roadcondition.service.DelayService;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -168,15 +166,18 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
|
||||
mDisplayOverviewText = findViewById(R.id.module_ext_id_display_overview_text);
|
||||
mDisplayOverviewIcon = findViewById(R.id.module_ext_id_display_overview_icon);
|
||||
mDisplayOverview.setOnClickListener(view -> {
|
||||
if (!mStatusManager.isDisplayOverview()) {
|
||||
mMApUIController.displayOverview(mDisplayOverviewBounds);
|
||||
UiThreadHandler.removeCallbacks(mLockCarRunnable);
|
||||
UiThreadHandler.postDelayed(mLockCarRunnable, 20_000);
|
||||
} else {
|
||||
mMApUIController.recoverLockMode();
|
||||
UiThreadHandler.removeCallbacks(mLockCarRunnable);
|
||||
if (getContext() != null) {
|
||||
// 加此判断是解决下面setDisplayOverview后,本Fragment回调中出现not attached to a context问题
|
||||
if (!mStatusManager.isDisplayOverview()) {
|
||||
mMApUIController.displayOverview(mDisplayOverviewBounds);
|
||||
UiThreadHandler.removeCallbacks(mLockCarRunnable);
|
||||
UiThreadHandler.postDelayed(mLockCarRunnable, 20_000);
|
||||
} else {
|
||||
mMApUIController.recoverLockMode();
|
||||
UiThreadHandler.removeCallbacks(mLockCarRunnable);
|
||||
}
|
||||
mStatusManager.setDisplayOverview(TAG, !mStatusManager.isDisplayOverview());
|
||||
}
|
||||
mStatusManager.setDisplayOverview(TAG, !mStatusManager.isDisplayOverview());
|
||||
});
|
||||
|
||||
mMove2CurrentLocation = findViewById(R.id.module_entrance_id_move2_current_location);
|
||||
@@ -239,9 +240,9 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
|
||||
} else {
|
||||
mMApUIController.changeMapMode(EnumMapUI.NorthUP_2D);
|
||||
}
|
||||
mCameraMode.setSelected(!mCameraMode.isSelected());
|
||||
mCameraMode.setText(getString(mCameraMode.isSelected() ? R.string.mode_car_up :
|
||||
R.string.mode_north_up));
|
||||
// mCameraMode.setSelected(!mCameraMode.isSelected());
|
||||
// mCameraMode.setText(getString(mCameraMode.isSelected() ? R.string.mode_car_up :
|
||||
// R.string.mode_north_up));
|
||||
});
|
||||
|
||||
|
||||
@@ -463,23 +464,18 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
|
||||
if (isTrue) {
|
||||
mDisplayOverviewText.setText("退出全览");
|
||||
mDisplayOverviewText.setTextSize(TypedValue.COMPLEX_UNIT_PX,
|
||||
getResources().getDimensionPixelSize(R.dimen.module_ext_display_overview_textSize));
|
||||
AbsMogoApplication.getApp().getResources().getDimensionPixelSize(R.dimen.module_ext_display_overview_textSize));
|
||||
mCameraMode.setVisibility(View.GONE);
|
||||
} else {
|
||||
mDisplayOverviewText.setText("全览");
|
||||
mDisplayOverviewText.setTextSize(TypedValue.COMPLEX_UNIT_PX,
|
||||
getResources().getDimensionPixelSize(R.dimen.module_ext_display_overview_textSize_large));
|
||||
AbsMogoApplication.getApp().getResources().getDimensionPixelSize(R.dimen.module_ext_display_overview_textSize_large));
|
||||
if (CustomNaviInterrupter.getInstance().interrupt()) {
|
||||
mCameraMode.setVisibility(View.GONE);
|
||||
} else {
|
||||
mCameraMode.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
} else if (descriptor == StatusDescriptor.ACC_STATUS) {
|
||||
Log.d(TAG, " onStatusChanged isTrue = " + isTrue);
|
||||
if (isTrue) {
|
||||
DelayService.Companion.launchService(getContext());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -515,8 +511,9 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
|
||||
}
|
||||
}
|
||||
|
||||
private int[] heights = new int[]{100,200,300};
|
||||
private int[] heights = new int[]{100, 200, 300};
|
||||
private int currentHeight;
|
||||
|
||||
private void debugTopView() {
|
||||
findViewById(R.id.btnDebugCtrlNaviView).setOnClickListener(view -> {
|
||||
if (!toggle) {
|
||||
@@ -585,4 +582,13 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapModeChanged( EnumMapUI ui ) {
|
||||
if ( mCameraMode == null ) {
|
||||
return;
|
||||
}
|
||||
mCameraMode.setSelected(ui == EnumMapUI.NorthUP_2D);
|
||||
mCameraMode.setText(getString(ui == EnumMapUI.NorthUP_2D ? R.string.mode_car_up : R.string.mode_north_up));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -379,10 +379,13 @@ public class TopViewAnimHelper {
|
||||
// 约束设置需要在applyTo()方法之前执行,visiable设置需要在applyTo()
|
||||
// 方法之后执行才能生效,所以分开了两个判断,至于为什么这么做才能生效,不得而知
|
||||
constraintSet.connect(tvNextDistance.getId(), ConstraintSet.BOTTOM,
|
||||
ivTurnIcon.getId(), ConstraintSet.BOTTOM);
|
||||
constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BOTTOM);
|
||||
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.BASELINE,
|
||||
tvNextDistance.getId(), ConstraintSet.BASELINE);
|
||||
ivTurnIcon.getId(), ConstraintSet.BOTTOM,(int) topMotionLayout.getContext().getResources().getDimension(R.dimen.dp_2));
|
||||
// constraintSet.connect(tvNextRoad.getId(), ConstraintSet.TOP,
|
||||
// ivTurnIcon.getId(), ConstraintSet.TOP);
|
||||
// constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BOTTOM);
|
||||
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.BOTTOM,
|
||||
tvNextDistance.getId(), ConstraintSet.BOTTOM,
|
||||
(int) topMotionLayout.getContext().getResources().getDimension(R.dimen.dp_6));
|
||||
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.LEFT,
|
||||
R.id.module_map_id_navi_next_info_turn_info, ConstraintSet.RIGHT,
|
||||
(int) topMotionLayout.getContext().getResources().getDimension(R.dimen.dp_46));
|
||||
@@ -397,8 +400,10 @@ public class TopViewAnimHelper {
|
||||
computeNaviMarginTop(params.height));
|
||||
|
||||
// 动态改变相关字体大小
|
||||
tvNextDistance.setTextSize(TypedValue.COMPLEX_UNIT_PX,getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_textSize_small));
|
||||
tvNextDistanceUnit.setTextSize(TypedValue.COMPLEX_UNIT_PX,getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_unit_textSize_small));
|
||||
tvNextDistance.setTextSize(TypedValue.COMPLEX_UNIT_PX,
|
||||
getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_textSize_small));
|
||||
tvNextDistanceUnit.setTextSize(TypedValue.COMPLEX_UNIT_PX,
|
||||
getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_unit_textSize_small));
|
||||
|
||||
}
|
||||
constraintSet.applyTo(topMotionLayout);
|
||||
@@ -437,64 +442,21 @@ public class TopViewAnimHelper {
|
||||
if (topMotionLayout == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
Logger.d("TopViewAnimHelper", "startTopOutAnim=====");
|
||||
if (!isTopViewOut && viewCaches.contains(view)) {
|
||||
// if (topContainer.getChildCount() > 1) {
|
||||
// // 顶部view包含多个view,只推出当前view,不进行整体上移
|
||||
// Logger.d(TAG,
|
||||
// "小view退出: " + view.getTranslationY() + " height: " + view.getHeight());
|
||||
// if (statusListenerMap.get(view) != null) {
|
||||
// statusListenerMap.get(view).beforeViewRemoveAnim(view);
|
||||
// }
|
||||
// view.animate().translationY(-(view.getHeight())).setDuration(500).setListener
|
||||
// (new Animator.AnimatorListener() {
|
||||
// @Override
|
||||
// public void onAnimationStart(Animator animation) {
|
||||
//
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onAnimationEnd(Animator animation) {
|
||||
// Logger.d(TAG, "onAnimationEnd: " + view);
|
||||
// viewCaches.remove(view);
|
||||
// topContainer.removeView(view);
|
||||
// IMogoTopViewStatusListener listener = statusListenerMap.remove(view);
|
||||
// if (listener != null) {
|
||||
// listener.onViewRemoved(view);
|
||||
// } else {
|
||||
// Logger.d(TAG, "listener is null");
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onAnimationCancel(Animator animation) {
|
||||
// viewCaches.remove(view);
|
||||
// topContainer.removeView(view);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onAnimationRepeat(Animator animation) {
|
||||
//
|
||||
// }
|
||||
// }).start();
|
||||
// } else {
|
||||
// 顶部view仅剩一个view,需要整体上移
|
||||
// currentAnimatingView = view;
|
||||
if (statusListenerMap.get(view) != null) {
|
||||
statusListenerMap.get(view).beforeViewRemoveAnim(view);
|
||||
}
|
||||
isTopViewOut = true;
|
||||
// if (naviBg.getVisibility() == View.VISIBLE) {
|
||||
// tvNextRoad.setTextSize(getDimen(R.dimen
|
||||
// .module_ext_navi_info_panel_next_info_road_textSize));
|
||||
// }
|
||||
if (naviBg.getVisibility() == View.VISIBLE) {
|
||||
remainDistanceGroup.setVisibility(View.VISIBLE);
|
||||
remainTimeGroup.setVisibility(View.VISIBLE);
|
||||
arriveTimeGroup.setVisibility(View.VISIBLE);
|
||||
tvNextDistance.setTextSize(TypedValue.COMPLEX_UNIT_PX,getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_textSize));
|
||||
tvNextDistanceUnit.setTextSize(TypedValue.COMPLEX_UNIT_PX,getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_unit_textSize));
|
||||
tvNextDistance.setTextSize(TypedValue.COMPLEX_UNIT_PX,
|
||||
getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_textSize));
|
||||
tvNextDistanceUnit.setTextSize(TypedValue.COMPLEX_UNIT_PX,
|
||||
getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_unit_textSize));
|
||||
|
||||
}
|
||||
constraintSet.clone(topMotionLayout);
|
||||
@@ -509,7 +471,7 @@ public class TopViewAnimHelper {
|
||||
// 约束设置需要在applyTo()方法之前执行,visiable设置需要在applyTo()
|
||||
// 方法之后执行才能生效,所以分开了两个判断,至于为什么这么做才能生效,不得而知
|
||||
constraintSet.clear(tvNextDistance.getId(), ConstraintSet.BOTTOM);
|
||||
constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BASELINE);
|
||||
// constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BASELINE);
|
||||
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.BOTTOM,
|
||||
ivTurnIcon.getId(), ConstraintSet.BOTTOM,
|
||||
(int) getDimen(R.dimen.module_map_id_navi_next_info_road_marginBottom));
|
||||
@@ -556,15 +518,18 @@ public class TopViewAnimHelper {
|
||||
remainDistanceGroup.setVisibility(View.VISIBLE);
|
||||
remainTimeGroup.setVisibility(View.VISIBLE);
|
||||
arriveTimeGroup.setVisibility(View.VISIBLE);
|
||||
tvNextDistance.setTextSize(TypedValue.COMPLEX_UNIT_PX,getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_textSize));
|
||||
tvNextDistanceUnit.setTextSize(TypedValue.COMPLEX_UNIT_PX,getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_unit_textSize));
|
||||
tvNextDistance.setTextSize(TypedValue.COMPLEX_UNIT_PX,
|
||||
getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_textSize));
|
||||
tvNextDistanceUnit.setTextSize(TypedValue.COMPLEX_UNIT_PX,
|
||||
getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_unit_textSize));
|
||||
|
||||
// 调整约束
|
||||
constraintSet.clone(topMotionLayout);
|
||||
constraintSet.clear(tvNextDistance.getId(), ConstraintSet.BOTTOM);
|
||||
constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BASELINE);
|
||||
// constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BASELINE);
|
||||
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.BOTTOM, ivTurnIcon.getId(),
|
||||
ConstraintSet.BOTTOM);
|
||||
ConstraintSet.BOTTOM,
|
||||
(int) getDimen(R.dimen.module_map_id_navi_next_info_road_marginBottom));
|
||||
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.LEFT,
|
||||
tvNextDistance.getId(), ConstraintSet.LEFT,
|
||||
0);
|
||||
@@ -588,28 +553,25 @@ public class TopViewAnimHelper {
|
||||
remainDistanceGroup.setVisibility(View.GONE);
|
||||
remainTimeGroup.setVisibility(View.GONE);
|
||||
arriveTimeGroup.setVisibility(View.GONE);
|
||||
tvNextDistance.setTextSize(TypedValue.COMPLEX_UNIT_PX,getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_textSize_small));
|
||||
tvNextDistanceUnit.setTextSize(TypedValue.COMPLEX_UNIT_PX,getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_unit_textSize_small));
|
||||
tvNextDistance.setTextSize(TypedValue.COMPLEX_UNIT_PX,
|
||||
getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_textSize_small));
|
||||
tvNextDistanceUnit.setTextSize(TypedValue.COMPLEX_UNIT_PX,
|
||||
getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_unit_textSize_small));
|
||||
// 调整约束
|
||||
constraintSet.clone(topMotionLayout);
|
||||
constraintSet.connect(tvNextDistance.getId(), ConstraintSet.BOTTOM,
|
||||
ivTurnIcon.getId(), ConstraintSet.BOTTOM);
|
||||
constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BOTTOM);
|
||||
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.BASELINE,
|
||||
tvNextDistance.getId(), ConstraintSet.BASELINE);
|
||||
ivTurnIcon.getId(), ConstraintSet.BOTTOM,
|
||||
(int) topMotionLayout.getContext().getResources().getDimension(R.dimen.dp_2));
|
||||
// constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BOTTOM);
|
||||
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.BOTTOM,
|
||||
tvNextDistance.getId(), ConstraintSet.BOTTOM,
|
||||
(int) topMotionLayout.getContext().getResources().getDimension(R.dimen.dp_6));
|
||||
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.LEFT,
|
||||
R.id.module_map_id_navi_next_info_turn_info, ConstraintSet.RIGHT,
|
||||
(int) topMotionLayout.getContext().getResources().getDimension(R.dimen.dp_46));
|
||||
constraintSet.connect(naviBg.getId(), ConstraintSet.TOP,
|
||||
R.id.module_entrance_id_top_motion_layout, ConstraintSet.TOP,
|
||||
computeNaviMarginTop(topContainer.getHeight()));
|
||||
// ivTurnIcon.getLayoutParams().height =
|
||||
// (int) getDimen(R.dimen.module_ext_navi_info_panel_turn_icon_small_height);
|
||||
// ivTurnIcon.getLayoutParams().width =
|
||||
// (int) getDimen(R.dimen.module_ext_navi_info_panel_turn_icon_small_width);
|
||||
// naviBg.getLayoutParams().height =
|
||||
// (int) topMotionLayout.getContext().getResources().getDimension(R.dimen
|
||||
// .module_ext_navi_info_panel_small_height);
|
||||
constraintSet.clear(ivTurnIcon.getId(), ConstraintSet.TOP);
|
||||
constraintSet.connect(ivTurnIcon.getId(), ConstraintSet.BOTTOM,
|
||||
naviBg.getId(), ConstraintSet.BOTTOM,
|
||||
@@ -700,4 +662,21 @@ public class TopViewAnimHelper {
|
||||
tvTurnInfo.setVisibility(visibility);
|
||||
|
||||
}
|
||||
|
||||
public void removeAllView(){
|
||||
Logger.d(TAG, "remove all view");
|
||||
isTopViewOut = true;
|
||||
int lastCount = topContainer.getChildCount();
|
||||
for (int i = 0; i < lastCount; i++) {
|
||||
View child = topContainer.getChildAt(i);
|
||||
viewCaches.remove(child);
|
||||
IMogoTopViewStatusListener listener = statusListenerMap.remove(child);
|
||||
if (listener != null) {
|
||||
listener.onViewRemoved(child);
|
||||
}
|
||||
}
|
||||
topContainer.removeAllViews();
|
||||
hideNaviView();
|
||||
MapCenterPointStrategy.setMapCenterPointByScene(mogoMapUIController, Scene.AIMLESS);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,8 +6,12 @@ import android.view.ViewGroup;
|
||||
import android.view.ViewGroup.LayoutParams;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.mogo.module.extensions.R;
|
||||
import com.mogo.service.IMogoServiceApis;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.service.statusmanager.IMogoStatusChangedListener;
|
||||
import com.mogo.service.statusmanager.StatusDescriptor;
|
||||
import com.mogo.service.windowview.IMogoTopViewManager;
|
||||
import com.mogo.service.windowview.IMogoTopViewStatusListener;
|
||||
|
||||
@@ -21,10 +25,18 @@ public class TopViewManager implements IMogoTopViewManager {
|
||||
|
||||
private Context context;
|
||||
private LayoutParams parentParams;
|
||||
private IMogoServiceApis serviceApis;
|
||||
|
||||
@Override
|
||||
public void init(Context context) {
|
||||
this.context = context;
|
||||
serviceApis =
|
||||
(IMogoServiceApis) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(context);
|
||||
serviceApis.getStatusManagerApi().registerStatusChangedListener(MogoServicePaths.PATH_EXTENSIONS_TOP_VIEW_MANAGER, StatusDescriptor.MAIN_PAGE_RESUME, (descriptor, isTrue) -> {
|
||||
if (!isTrue) {
|
||||
TopViewAnimHelper.getInstance().removeAllView();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -128,6 +128,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="剩余"
|
||||
android:textColor="#7FFFFFFF"
|
||||
android:layout_marginBottom="10px"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_remaining_distance_icon"
|
||||
@@ -180,6 +181,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="时间"
|
||||
android:layout_marginBottom="10px"
|
||||
android:textColor="#7FFFFFFF"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
@@ -227,6 +229,7 @@
|
||||
android:text="到达"
|
||||
android:textColor="#7FFFFFFF"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
android:layout_marginBottom="10px"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_arrive_time_icon"
|
||||
app:layout_constraintRight_toRightOf="@id/module_map_id_arrive_time"
|
||||
|
||||
@@ -10,7 +10,7 @@ import kotlinx.android.synthetic.main.module_left_panel_simple_speed.*
|
||||
*
|
||||
* @author tongchenfei
|
||||
*/
|
||||
private const val SPEED_THRESHOLD = 40
|
||||
private const val SPEED_THRESHOLD = 90
|
||||
class SimpleSpeedFragment: MvpFragment<SimpleSpeedFragment, SimpleSpeedPresenter>() {
|
||||
override fun getLayoutId(): Int {
|
||||
return R.layout.module_left_panel_simple_speed
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<dimen name="module_left_panel_simple_speed_text_size">122px</dimen>
|
||||
<dimen name="module_left_panel_simple_speed_text_margin_top">110px</dimen>
|
||||
<dimen name="module_left_panel_simple_speed_text_margin_top">130px</dimen>
|
||||
<dimen name="module_left_panel_simple_speed_title_size">30px</dimen>
|
||||
<dimen name="module_left_panel_simple_speed_title_margin">47px</dimen>
|
||||
<dimen name="module_left_panel_simple_speed_title_margin">53px</dimen>
|
||||
|
||||
</resources>
|
||||
@@ -63,8 +63,6 @@ public class MarkerServiceHandler {
|
||||
private static ICarsChattingProvider sCarChatting;
|
||||
private static IMogoGpsSimulatorManager sGpsSimulatorManager;
|
||||
|
||||
private static MapMarkerManager sMapMarkerManager;
|
||||
|
||||
public static synchronized void init( final Context context ) {
|
||||
|
||||
if ( sGpsSimulatorManager != null ) {
|
||||
@@ -92,8 +90,7 @@ public class MarkerServiceHandler {
|
||||
|
||||
sCarChatting = ( ICarsChattingProvider ) ARouter.getInstance().build( CallChattingProviderConstant.CAR_CALL_PROVIDER ).navigation( context );
|
||||
|
||||
sMapMarkerManager = MapMarkerManager.getInstance();
|
||||
sMapMarkerManager.init( context );
|
||||
MapMarkerManager.getInstance().init( context );
|
||||
|
||||
sGpsSimulatorManager = ARouter.getInstance().navigation( IMogoGpsSimulatorManager.class );
|
||||
}
|
||||
@@ -143,7 +140,7 @@ public class MarkerServiceHandler {
|
||||
}
|
||||
|
||||
public static MapMarkerManager getMapMarkerManager() {
|
||||
return sMapMarkerManager;
|
||||
return MapMarkerManager.getInstance();
|
||||
}
|
||||
|
||||
public static IMogoRegisterCenter getRegisterCenter() {
|
||||
|
||||
@@ -190,23 +190,25 @@ public class MogoServices implements IMogoMapListener,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 自动刷新:锁车、缩放比例:16、半径 2KM
|
||||
*/
|
||||
private void invokeAutoRefresh() {
|
||||
if ( mStatusManager.isSearchUIShow() || mStatusManager.isV2XShow() ) {
|
||||
mStatusManager.setUserInteractionStatus( TAG, true, false );
|
||||
mUiController.recoverLockMode();
|
||||
return;
|
||||
}
|
||||
mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, true, false );
|
||||
mUiController.changeZoom( ServiceConst.DEFAULT_LOCK_CAR_ZOOM_LEVEL );
|
||||
mUiController.setLockZoom( ServiceConst.DEFAULT_LOCK_CAR_ZOOM_LEVEL );
|
||||
};
|
||||
|
||||
/**
|
||||
* 自动刷新:锁车、缩放比例:16、半径 2KM
|
||||
*/
|
||||
private void invokeAutoRefresh() {
|
||||
if ( mStatusManager.isSearchUIShow() || mStatusManager.isV2XShow() ) {
|
||||
mStatusManager.setUserInteractionStatus( TAG, true, false );
|
||||
mUiController.recoverLockMode();
|
||||
notifyRefreshData( mLastAutoRefreshLocation, ServiceConst.DEFAULT_AUTO_REFRESH_DATA_RADIUS, mAutoRefreshCallback );
|
||||
return;
|
||||
}
|
||||
};
|
||||
mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, true, false );
|
||||
mUiController.changeZoom( ServiceConst.DEFAULT_LOCK_CAR_ZOOM_LEVEL );
|
||||
mUiController.setLockZoom( ServiceConst.DEFAULT_LOCK_CAR_ZOOM_LEVEL );
|
||||
mStatusManager.setUserInteractionStatus( TAG, true, false );
|
||||
mUiController.recoverLockMode();
|
||||
notifyRefreshData( mLastAutoRefreshLocation, ServiceConst.DEFAULT_AUTO_REFRESH_DATA_RADIUS, mAutoRefreshCallback );
|
||||
}
|
||||
|
||||
private Context mContext;
|
||||
|
||||
/**
|
||||
@@ -783,7 +785,12 @@ public class MogoServices implements IMogoMapListener,
|
||||
if ( mRefreshRemainingTime < ServiceConst.DECREASE_INTERVAL ) {
|
||||
delay = mRefreshRemainingTime;
|
||||
}
|
||||
mHandler.sendEmptyMessageDelayed( ServiceConst.MSG_TYPE_REFRESH_DECREASE, delay );
|
||||
if ( time == 0 ) {
|
||||
Logger.d( TAG, "立即刷新" );
|
||||
invokeAutoRefresh();
|
||||
} else {
|
||||
mHandler.sendEmptyMessageDelayed( ServiceConst.MSG_TYPE_REFRESH_DECREASE, delay );
|
||||
}
|
||||
Logger.i( TAG, "下次刷新时间:%ss后", mRefreshRemainingTime );
|
||||
}
|
||||
|
||||
|
||||
@@ -77,6 +77,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
|
||||
private Rect mMarkerDisplayBounds;
|
||||
|
||||
private MapMarkerManager() {
|
||||
mContext = AbsMogoApplication.getApp();
|
||||
}
|
||||
|
||||
public static synchronized MapMarkerManager getInstance() {
|
||||
@@ -95,7 +96,6 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
|
||||
* @param context
|
||||
*/
|
||||
public void init( Context context ) {
|
||||
mContext = context;
|
||||
mRefreshModel = new RefreshModel( mContext );
|
||||
|
||||
// 长连接
|
||||
|
||||
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
@@ -34,12 +34,14 @@ class BydSplashFragment :MvpFragment<BydSplashFragment,BydSplashPresenter>(),Han
|
||||
|
||||
override fun handleMessage(msg: Message): Boolean {
|
||||
if (msg.what == MSG_COUNT_DOWN) {
|
||||
countDownTime--
|
||||
if(countDownTime>0) {
|
||||
tvCountDown.text = countDownTime.toString()
|
||||
handler.sendEmptyMessageDelayed(MSG_COUNT_DOWN, DEFAULT_COUNT_DOWN_DELAY)
|
||||
}else{
|
||||
hideSplash()
|
||||
tvCountDown?.also {
|
||||
countDownTime--
|
||||
if(countDownTime>0) {
|
||||
it.text = countDownTime.toString()
|
||||
handler.sendEmptyMessageDelayed(MSG_COUNT_DOWN, DEFAULT_COUNT_DOWN_DELAY)
|
||||
}else{
|
||||
hideSplash()
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -16,7 +16,8 @@
|
||||
android:background="@drawable/byd_enter_btn_bg"
|
||||
android:textColor="#0D172C"
|
||||
android:text="开启行程"
|
||||
android:textSize="@dimen/dp_48"
|
||||
android:textSize="@dimen/dp_46"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginStart="@dimen/dp_182"
|
||||
android:layout_marginBottom="@dimen/dp_251"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
|
||||
@@ -140,12 +140,12 @@ public class V2XModuleProvider implements
|
||||
intentFilter.addAction(V2XConst.BROADCAST_SCENE_HANDLER_ACTION);
|
||||
localBroadcastManager.registerReceiver(localReceiver, intentFilter);
|
||||
|
||||
if (BuildConfig.DEBUG) {
|
||||
// TODO 这是测试页面
|
||||
V2XServiceManager
|
||||
.getIMogoWindowManager()
|
||||
.addView(new V2XTestConsoleWindow(context), 0, 0, false);
|
||||
}
|
||||
// if (BuildConfig.DEBUG) {
|
||||
// // TODO 这是测试页面
|
||||
// V2XServiceManager
|
||||
// .getIMogoWindowManager()
|
||||
// .addView(new V2XTestConsoleWindow(context), 0, 0, false);
|
||||
// }
|
||||
}
|
||||
|
||||
private void initVoice(Context context) {
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.mogo.module.v2x.V2XConst;
|
||||
import com.mogo.module.v2x.V2XServiceManager;
|
||||
import com.mogo.module.v2x.entity.net.V2XSpecialCarRes.V2XMarkerEntity;
|
||||
import com.mogo.module.v2x.utils.ChartingUtil;
|
||||
import com.mogo.module.v2x.utils.SpanUtils;
|
||||
import com.mogo.module.v2x.utils.V2XUtils;
|
||||
import com.mogo.service.imageloader.MogoImageView;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
@@ -103,7 +104,7 @@ public class V2XSeekHelpAdapter extends RecyclerView.Adapter<V2XSeekHelpAdapter.
|
||||
if (infoBean != null) {
|
||||
long time = entity.getCreateTime();
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm", Locale.CHINA);
|
||||
String eventDistance = String.format("距离%d m", entity.getDistance());
|
||||
String eventDistance = String.format("%d", entity.getDistance());
|
||||
String eventTime = String.format("%s发布求助信息", sdf.format(new Date(time)));
|
||||
holder.initView(infoBean.getHeadImgUrl(), infoBean.getDisplayName(), eventDistance, eventTime);
|
||||
}
|
||||
@@ -191,6 +192,12 @@ public class V2XSeekHelpAdapter extends RecyclerView.Adapter<V2XSeekHelpAdapter.
|
||||
}
|
||||
tvName.setText(name);
|
||||
tvDistance.setText(distance);
|
||||
SpanUtils.with(tvDistance)
|
||||
.append("" + distance)
|
||||
.setFontSize((int) tvDistance.getResources().getDimension(R.dimen.dp_80))
|
||||
.append("M")
|
||||
.setFontSize((int) tvDistance.getResources().getDimension(R.dimen.dp_30))
|
||||
.create();
|
||||
tvEventTime.setText(eventTime);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
package com.mogo.module.v2x.adapter.holder;
|
||||
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
@@ -15,14 +12,13 @@ import com.mogo.map.navi.MogoNaviInfo;
|
||||
import com.mogo.map.navi.MogoTraffic;
|
||||
import com.mogo.module.common.entity.MarkerExploreWay;
|
||||
import com.mogo.module.common.entity.MarkerLocation;
|
||||
import com.mogo.module.v2x.R;
|
||||
import com.mogo.module.v2x.V2XConst;
|
||||
import com.mogo.module.v2x.V2XServiceManager;
|
||||
import com.mogo.module.v2x.utils.ChartingUtil;
|
||||
import com.mogo.module.v2x.utils.RoadConditionUtils;
|
||||
import com.mogo.module.v2x.utils.ToastUtils;
|
||||
import com.mogo.module.v2x.utils.TrackUtils;
|
||||
import com.mogo.module.v2x.utils.V2XUtils;
|
||||
import com.mogo.utils.TipToast;
|
||||
|
||||
import static com.mogo.module.v2x.V2XConst.MODULE_NAME;
|
||||
|
||||
@@ -84,7 +80,7 @@ public abstract class V2XBaseViewHolder
|
||||
V2XConst.V2X_ROAD_CHAT);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
ToastUtils.showShort("用户信息异常");
|
||||
TipToast.tip("用户信息异常");
|
||||
}
|
||||
delayedCloseWindow();
|
||||
}
|
||||
@@ -105,7 +101,7 @@ public abstract class V2XBaseViewHolder
|
||||
V2XConst.V2X_ROAD_REPORT_ERROR);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
ToastUtils.showShort("路况信息异常");
|
||||
TipToast.tip("路况信息异常");
|
||||
}
|
||||
delayedCloseWindow();
|
||||
}
|
||||
@@ -126,7 +122,7 @@ public abstract class V2XBaseViewHolder
|
||||
V2XConst.V2X_ROAD_REPORT_RIGHT);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
ToastUtils.showShort("路况信息异常");
|
||||
TipToast.tip("路况信息异常");
|
||||
}
|
||||
delayedCloseWindow();
|
||||
}
|
||||
@@ -150,7 +146,7 @@ public abstract class V2XBaseViewHolder
|
||||
V2XConst.V2X_ROAD_NAVI);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
ToastUtils.showShort("路况信息异常");
|
||||
TipToast.tip("路况信息异常");
|
||||
}
|
||||
delayedCloseWindow();
|
||||
}
|
||||
@@ -161,11 +157,7 @@ public abstract class V2XBaseViewHolder
|
||||
* @param msg
|
||||
*/
|
||||
public void showTip(String msg) {
|
||||
ToastUtils.setGravity(Gravity.CENTER, 0, 0);
|
||||
View toastView = LayoutInflater.from(V2XServiceManager.getContext()).inflate(R.layout.toast_view, null);
|
||||
TextView msgView = toastView.findViewById(R.id.tvFeedbackContent);
|
||||
msgView.setText(msg);
|
||||
ToastUtils.showCustomShort(toastView);
|
||||
TipToast.tip(msg);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.mogo.module.v2x.scenario.scene.road.V2XRoadEventScenario;
|
||||
import com.mogo.module.v2x.scenario.scene.road.V2XRoadEventWindow;
|
||||
import com.mogo.module.v2x.utils.ChartingUtil;
|
||||
import com.mogo.module.v2x.utils.EventTypeUtils;
|
||||
import com.mogo.module.v2x.utils.SpanUtils;
|
||||
import com.mogo.module.v2x.voice.V2XVoiceCallbackListener;
|
||||
import com.mogo.module.v2x.voice.V2XVoiceConstants;
|
||||
import com.mogo.module.v2x.voice.V2XVoiceManager;
|
||||
@@ -318,6 +319,7 @@ public class V2XRoadEventDetailVH extends V2XBaseViewHolder {
|
||||
// 重新设置用户信息
|
||||
mNoveltyInfo.setUserInfo(mUserInfo);
|
||||
|
||||
// 只有自研车机才会 有车聊聊通话
|
||||
if (DebugConfig.getCarMachineType() == DebugConfig.CAR_MACHINE_TYPE_SELF_INNOVATE) {
|
||||
// 判断是否可以打电话
|
||||
ChartingUtil.isCanCall(b -> {
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.mogo.module.v2x.listener;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.mogo.commons.debug.DebugConfig;
|
||||
import com.mogo.map.MogoLatLng;
|
||||
import com.mogo.map.location.IMogoLocationListener;
|
||||
import com.mogo.map.location.MogoLocation;
|
||||
@@ -11,14 +12,14 @@ import com.mogo.map.search.geo.MogoGeocodeResult;
|
||||
import com.mogo.map.search.geo.MogoRegeocodeResult;
|
||||
import com.mogo.module.common.entity.MarkerExploreWay;
|
||||
import com.mogo.module.common.entity.MarkerResponse;
|
||||
import com.mogo.module.service.Utils;
|
||||
import com.mogo.module.v2x.V2XConst;
|
||||
import com.mogo.module.v2x.V2XServiceManager;
|
||||
import com.mogo.module.v2x.alarm.V2XAlarmServer;
|
||||
import com.mogo.module.common.entity.V2XMessageEntity;
|
||||
import com.mogo.module.common.entity.V2XPoiTypeEnum;
|
||||
import com.mogo.module.common.entity.V2XPushMessageEntity;
|
||||
import com.mogo.module.common.entity.V2XRoadEventEntity;
|
||||
import com.mogo.module.service.Utils;
|
||||
import com.mogo.module.v2x.V2XConst;
|
||||
import com.mogo.module.v2x.V2XServiceManager;
|
||||
import com.mogo.module.v2x.alarm.V2XAlarmServer;
|
||||
import com.mogo.module.v2x.network.V2XRefreshCallback;
|
||||
import com.mogo.module.v2x.scenario.impl.V2XScenarioManager;
|
||||
import com.mogo.module.v2x.utils.ADASUtils;
|
||||
@@ -126,21 +127,23 @@ public class V2XLocationListener implements IMogoLocationListener, CarStatusList
|
||||
}
|
||||
}
|
||||
|
||||
// 疲劳驾驶检测
|
||||
V2XAlarmServer.getFatigueDrivingShow(location, drivingShowEntity -> {
|
||||
Logger.i(V2XConst.MODULE_NAME, "疲劳驾驶POI查询结果为: " + GsonUtil.jsonFromObject(drivingShowEntity));
|
||||
// 只有自研车机才有疲劳驾驶检测
|
||||
if (DebugConfig.getCarMachineType() == DebugConfig.CAR_MACHINE_TYPE_SELF_INNOVATE) {
|
||||
V2XAlarmServer.getFatigueDrivingShow(location, drivingShowEntity -> {
|
||||
Logger.i(V2XConst.MODULE_NAME, "疲劳驾驶POI查询结果为: " + GsonUtil.jsonFromObject(drivingShowEntity));
|
||||
|
||||
String style = V2XServiceManager.getMoGoStatusManager().isMainPageOnResume() ? "1" : "2";
|
||||
trackWithType(V2XPoiTypeEnum.ALERT_FATIGUE_DRIVING, drivingShowEntity.getLon(), drivingShowEntity.getLat(), style);
|
||||
String style = V2XServiceManager.getMoGoStatusManager().isMainPageOnResume() ? "1" : "2";
|
||||
trackWithType(V2XPoiTypeEnum.ALERT_FATIGUE_DRIVING, drivingShowEntity.getLon(), drivingShowEntity.getLat(), style);
|
||||
|
||||
V2XMessageEntity<V2XPushMessageEntity> v2XMessageEntity = new V2XMessageEntity<>();
|
||||
v2XMessageEntity.setType(V2XMessageEntity.V2XTypeEnum.ALERT_FATIGUE_DRIVING);
|
||||
v2XMessageEntity.setContent(drivingShowEntity);
|
||||
v2XMessageEntity.setShowState(drivingShowEntity.isShowWindow());
|
||||
// 广播给ADAS Launcher
|
||||
ADASUtils.broadcastToADAS(V2XServiceManager.getContext(), drivingShowEntity);
|
||||
V2XScenarioManager.getInstance().handlerMessage(v2XMessageEntity);
|
||||
});
|
||||
V2XMessageEntity<V2XPushMessageEntity> v2XMessageEntity = new V2XMessageEntity<>();
|
||||
v2XMessageEntity.setType(V2XMessageEntity.V2XTypeEnum.ALERT_FATIGUE_DRIVING);
|
||||
v2XMessageEntity.setContent(drivingShowEntity);
|
||||
v2XMessageEntity.setShowState(drivingShowEntity.isShowWindow());
|
||||
// 广播给ADAS Launcher
|
||||
ADASUtils.broadcastToADAS(V2XServiceManager.getContext(), drivingShowEntity);
|
||||
V2XScenarioManager.getInstance().handlerMessage(v2XMessageEntity);
|
||||
});
|
||||
}
|
||||
|
||||
// 巡航处理
|
||||
V2XRoadEventEntity v2XRoadEventEntity =
|
||||
|
||||
@@ -1,20 +1,14 @@
|
||||
package com.mogo.module.v2x.listener;
|
||||
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.mogo.module.v2x.R;
|
||||
import com.mogo.module.v2x.V2XServiceManager;
|
||||
import com.mogo.module.common.entity.V2XMessageEntity;
|
||||
import com.mogo.module.common.entity.V2XPushMessageEntity;
|
||||
import com.mogo.module.v2x.V2XServiceManager;
|
||||
import com.mogo.module.v2x.scenario.impl.V2XScenarioManager;
|
||||
import com.mogo.module.v2x.utils.ADASUtils;
|
||||
import com.mogo.module.v2x.utils.MarkerUtils;
|
||||
import com.mogo.module.v2x.utils.ToastUtils;
|
||||
import com.mogo.module.v2x.utils.V2XUtils;
|
||||
import com.mogo.service.connection.IMogoOnMessageListener;
|
||||
import com.mogo.utils.TipToast;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
import com.mogo.utils.network.utils.GsonUtil;
|
||||
|
||||
@@ -113,11 +107,7 @@ public class V2XMessageListener_401003 implements IMogoOnMessageListener<V2XPush
|
||||
}
|
||||
|
||||
private void showTip(String msg) {
|
||||
ToastUtils.setGravity(Gravity.CENTER, 0, 0);
|
||||
View toastView = LayoutInflater.from(V2XServiceManager.getContext()).inflate(R.layout.toast_view, null);
|
||||
TextView msgView = toastView.findViewById(R.id.tvFeedbackContent);
|
||||
msgView.setText(msg);
|
||||
ToastUtils.showCustomShort(toastView);
|
||||
TipToast.tip(msg);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ public class MoGoV2XMarkerManager implements IMoGoV2XMarkerManager {
|
||||
// 锁车
|
||||
V2XServiceManager.getMapUIController().recoverLockMode();
|
||||
// 开启主Launcher刷新
|
||||
V2XServiceManager.getIMogoRefreshStrategyController().restartAutoRefreshAtTime(500);
|
||||
V2XServiceManager.getIMogoRefreshStrategyController().restartAutoRefreshAtTime(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -46,6 +46,7 @@ public class MoGoV2XPolylineManager implements IMoGoV2XPolylineManager {
|
||||
case V2XPoiTypeEnum.ALERT_TRAFFIC_LIGHT_SUGGEST:
|
||||
case V2XPoiTypeEnum.ALERT_TRAFFIC_LIGHT_WARNING:
|
||||
case V2XPoiTypeEnum.FOURS_BLOCK_UP:
|
||||
case V2XPoiTypeEnum.ALERT_CAR_TROUBLE_WARNING + "":
|
||||
colors.add(0xFFFA8C34);
|
||||
colors.add(0xFFBD6D36);
|
||||
colors.add(0xFFFA8C34);
|
||||
|
||||
@@ -4,9 +4,9 @@ import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
|
||||
import com.mogo.module.common.entity.MarkerShowEntity;
|
||||
import com.mogo.module.v2x.R;
|
||||
import com.mogo.module.common.entity.V2XPoiTypeEnum;
|
||||
import com.mogo.module.common.entity.V2XRoadEventEntity;
|
||||
import com.mogo.module.v2x.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -42,6 +42,7 @@ public class V2XMarkerAdapter {
|
||||
case V2XPoiTypeEnum.ALERT_TRAFFIC_LIGHT_SUGGEST:
|
||||
case V2XPoiTypeEnum.ALERT_TRAFFIC_LIGHT_WARNING:
|
||||
case V2XPoiTypeEnum.FOURS_BLOCK_UP:
|
||||
case V2XPoiTypeEnum.ALERT_CAR_TROUBLE_WARNING + "":
|
||||
bitmap = getV2XRoadEventMarkerView(
|
||||
context,
|
||||
alarmInfo,
|
||||
@@ -66,6 +67,7 @@ public class V2XMarkerAdapter {
|
||||
case V2XPoiTypeEnum.ALERT_TRAFFIC_LIGHT_SUGGEST:
|
||||
case V2XPoiTypeEnum.ALERT_TRAFFIC_LIGHT_WARNING:
|
||||
case V2XPoiTypeEnum.FOURS_BLOCK_UP:
|
||||
case V2XPoiTypeEnum.ALERT_CAR_TROUBLE_WARNING + "":
|
||||
bitmapArrayList = getV2XRoadEventOrangeMarkerView(context, alarmInfo);
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -69,6 +69,7 @@ public class V2XFatigueDrivingWindow extends RelativeLayout
|
||||
mTvAddress = findViewById(R.id.tvAddress);
|
||||
mTvAddressDistance = findViewById(R.id.tvAddressDistance);
|
||||
mIvToNav = findViewById(R.id.ivToNav);
|
||||
V2XServiceManager.getMogoRegisterCenter().registerMogoNaviListener( "test", this );
|
||||
mIvToNav.setOnClickListener(v -> startNavi());
|
||||
}
|
||||
|
||||
@@ -97,9 +98,9 @@ public class V2XFatigueDrivingWindow extends RelativeLayout
|
||||
}
|
||||
SpanUtils.with(mTvAddressDistance)
|
||||
.append("" + (int) entity.getDistance())
|
||||
.setFontSize(82)
|
||||
.setFontSize((int) getResources().getDimension(R.dimen.dp_80))
|
||||
.append("M")
|
||||
.setFontSize(30)
|
||||
.setFontSize((int) getResources().getDimension(R.dimen.dp_30))
|
||||
.create();
|
||||
countDownV2XEvent(entity);
|
||||
}
|
||||
@@ -118,6 +119,7 @@ public class V2XFatigueDrivingWindow extends RelativeLayout
|
||||
handlerV2XEvent.removeCallbacks(runnableV2XEvent);
|
||||
runnableV2XEvent = null;
|
||||
}
|
||||
|
||||
//移除窗体
|
||||
V2XServiceManager
|
||||
.getMogoTopViewManager()
|
||||
|
||||
@@ -94,6 +94,20 @@ public class V2XRoadEventScenario extends AbsV2XScenario<V2XRoadEventEntity> imp
|
||||
if (V2XServiceManager.getMoGoStatusManager().isMainPageLaunched()) {
|
||||
showWindow();
|
||||
}
|
||||
|
||||
// 地图主动推送/触发消息 埋点
|
||||
String poiType = mV2XMessageEntity.getContent().getPoiType();
|
||||
String lat = String.valueOf(mV2XMessageEntity.getContent().getLocation().getLat());
|
||||
String lon = String.valueOf(mV2XMessageEntity.getContent().getLocation().getLon());
|
||||
String infoId = mV2XMessageEntity.getContent().getNoveltyInfo().getInfoId();
|
||||
String style = V2XServiceManager.getMoGoStatusManager().isMainPageOnResume() ? "1" : "2";
|
||||
Map<String, Object> properties = new HashMap<>();
|
||||
properties.put("dbid", infoId);
|
||||
properties.put("type", poiType);
|
||||
properties.put("lng", lon);
|
||||
properties.put("lat", lat);
|
||||
properties.put("style", style);
|
||||
V2XServiceManager.getMogoAnalytics().track(V2XConst.V2X_ROAD_SHOW, properties);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,19 +142,7 @@ public class V2XRoadEventScenario extends AbsV2XScenario<V2XRoadEventEntity> imp
|
||||
V2XServiceManager.getMoGoV2XStatusManager().setRoadEventWindowShow(TAG, true);
|
||||
}
|
||||
|
||||
// 地图主动推送/触发消息 埋点
|
||||
String poiType = mV2XMessageEntity.getContent().getPoiType();
|
||||
String lat = String.valueOf(mV2XMessageEntity.getContent().getLocation().getLat());
|
||||
String lon = String.valueOf(mV2XMessageEntity.getContent().getLocation().getLon());
|
||||
String infoId = mV2XMessageEntity.getContent().getNoveltyInfo().getInfoId();
|
||||
String style = V2XServiceManager.getMoGoStatusManager().isMainPageOnResume() ? "1" : "2";
|
||||
Map<String, Object> properties = new HashMap<>();
|
||||
properties.put("dbid", infoId);
|
||||
properties.put("type", poiType);
|
||||
properties.put("lng", lon);
|
||||
properties.put("lat", lat);
|
||||
properties.put("style", style);
|
||||
V2XServiceManager.getMogoAnalytics().track(V2XConst.V2X_ROAD_SHOW, properties);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,15 +1,10 @@
|
||||
package com.mogo.module.v2x.utils;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.mogo.commons.voice.AIAssist;
|
||||
import com.mogo.module.v2x.R;
|
||||
import com.mogo.module.v2x.V2XServiceManager;
|
||||
import com.mogo.module.common.entity.V2XPoiTypeEnum;
|
||||
import com.mogo.utils.TipToast;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
import static com.mogo.module.v2x.V2XConst.MODULE_NAME;
|
||||
@@ -92,10 +87,6 @@ public class RoadConditionUtils {
|
||||
*/
|
||||
private static void showTip() {
|
||||
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice("已反馈", null);
|
||||
ToastUtils.setGravity(Gravity.CENTER, 0, 0);
|
||||
View toastView = LayoutInflater.from(V2XServiceManager.getContext()).inflate(R.layout.toast_view, null);
|
||||
TextView msgView = toastView.findViewById(R.id.tvFeedbackContent);
|
||||
msgView.setText("已反馈");
|
||||
ToastUtils.showCustomShort(toastView);
|
||||
TipToast.tip("已反馈");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
android:duration="100"
|
||||
android:propertyName="translationX"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="-2"
|
||||
android:valueTo="-5"
|
||||
android:valueType="floatType" />
|
||||
|
||||
<objectAnimator
|
||||
android:duration="100"
|
||||
android:propertyName="translationX"
|
||||
android:valueFrom="-2"
|
||||
android:valueFrom="-5"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType" />
|
||||
|
||||
@@ -18,13 +18,13 @@
|
||||
android:duration="100"
|
||||
android:propertyName="translationX"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="2"
|
||||
android:valueTo="5"
|
||||
android:valueType="floatType" />
|
||||
|
||||
<objectAnimator
|
||||
android:duration="100"
|
||||
android:propertyName="translationX"
|
||||
android:valueFrom="2"
|
||||
android:valueFrom="5"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType" />
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 20 KiB |
@@ -1,11 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="135"
|
||||
android:startColor="#ff3a435e"
|
||||
android:endColor="#ff525b7b"
|
||||
android:startColor="#3F4057"
|
||||
android:endColor="#3F4057"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
</shape>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
android:paddingStart="@dimen/dp_15"
|
||||
android:paddingTop="@dimen/dp_15"
|
||||
android:paddingBottom="@dimen/dp_15"
|
||||
app:roundLayoutRadius="@dimen/dp_30">
|
||||
app:roundLayoutRadius="@dimen/dp_40">
|
||||
|
||||
<com.mogo.module.v2x.view.RoundLayout
|
||||
android:id="@+id/rlRoadEventImg"
|
||||
@@ -18,7 +18,7 @@
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:roundLayoutRadius="@dimen/dp_30">
|
||||
app:roundLayoutRadius="@dimen/dp_40">
|
||||
|
||||
<com.mogo.service.imageloader.MogoImageView
|
||||
android:id="@+id/ivEventImg"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
android:layout_height="match_parent"
|
||||
android:background="#3D4053"
|
||||
android:gravity="center"
|
||||
app:roundLayoutRadius="@dimen/dp_30"
|
||||
app:roundLayoutRadius="@dimen/dp_40"
|
||||
tools:layout_height="@dimen/dp_382">
|
||||
|
||||
<ImageView
|
||||
|
||||
@@ -5,74 +5,42 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/module_v2x_fatigue_driving_window_height_ground"
|
||||
android:background="@drawable/v2x_fault_help_bg"
|
||||
android:paddingStart="@dimen/dp_40"
|
||||
android:paddingEnd="@dimen/dp_40">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/llFaultHelpTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:background="@drawable/v2x_gas_station_title_bg"
|
||||
android:gravity="center_vertical"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/ivFaultHelpHead"
|
||||
app:layout_constraintVertical_chainStyle="packed">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivImgTextIcon"
|
||||
android:layout_width="@dimen/dp_28"
|
||||
android:layout_height="@dimen/dp_30"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="@dimen/dp_20"
|
||||
android:src="@drawable/v2x_icon_fault_help_warn" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvImgTextContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="@dimen/dp_7"
|
||||
android:layout_marginTop="@dimen/dp_6"
|
||||
android:layout_marginEnd="@dimen/dp_26"
|
||||
android:layout_marginBottom="@dimen/dp_6"
|
||||
android:text="求助信息"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/dp_24" />
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivNavIcon"
|
||||
android:layout_width="@dimen/dp_30"
|
||||
android:layout_height="@dimen/dp_30"
|
||||
android:layout_marginTop="@dimen/dp_29"
|
||||
android:src="@drawable/v2x_icon_help_navi"
|
||||
app:layout_constraintStart_toStartOf="@id/llFaultHelpTitle"
|
||||
app:layout_constraintTop_toBottomOf="@id/llFaultHelpTitle" />
|
||||
android:paddingEnd="@dimen/dp_40"
|
||||
app:roundLayoutRadius="@dimen/dp_40">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvFaultHelpDistance"
|
||||
android:id="@+id/tvImgTextContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_46"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="@dimen/dp_13"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
android:layout_marginEnd="@dimen/dp_7"
|
||||
android:layout_marginBottom="@dimen/dp_6"
|
||||
android:background="@drawable/bg_v2x_event_type_orange"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingStart="@dimen/dp_13"
|
||||
android:paddingTop="@dimen/dp_5"
|
||||
android:paddingEnd="@dimen/dp_13"
|
||||
android:paddingBottom="@dimen/dp_5"
|
||||
android:text="求助信息"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/dp_24"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/ivNavIcon"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/ivNavIcon"
|
||||
tools:text="距离 300m" />
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<com.mogo.service.imageloader.MogoImageView
|
||||
android:id="@+id/ivFaultHelpHead"
|
||||
android:layout_width="@dimen/dp_128"
|
||||
android:layout_height="@dimen/dp_128"
|
||||
android:layout_width="@dimen/dp_108"
|
||||
android:layout_height="@dimen/dp_108"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginStart="@dimen/dp_30"
|
||||
android:layout_marginEnd="@dimen/dp_31"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="@+id/rlRoadEventList"
|
||||
app:layout_constraintStart_toEndOf="@+id/llFaultHelpTitle"
|
||||
app:layout_constraintStart_toEndOf="@+id/tvImgTextContent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:miv_borderColor="#4cffffff"
|
||||
app:miv_failureHolder="@drawable/icon_default_user_head"
|
||||
@@ -109,11 +77,25 @@
|
||||
app:layout_constraintTop_toBottomOf="@id/tvFaultHelpName"
|
||||
tools:text="15:30发布求助信息" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvFaultHelpDistance"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_30"
|
||||
android:gravity="center_vertical"
|
||||
android:textColor="#FFF"
|
||||
android:textSize="@dimen/dp_80"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/ivFaultHelpEventCall"
|
||||
app:layout_constraintEnd_toStartOf="@+id/ivFaultHelpEventCall"
|
||||
app:layout_constraintTop_toTopOf="@+id/ivFaultHelpEventCall"
|
||||
tools:text="300M" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivFaultHelpEventCall"
|
||||
android:layout_width="@dimen/module_v2x_event_button_size"
|
||||
android:layout_height="@dimen/module_v2x_event_button_size"
|
||||
android:layout_marginEnd="@dimen/dp_20"
|
||||
android:layout_marginEnd="@dimen/dp_40"
|
||||
android:src="@drawable/selector_talk_btn"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:roundLayoutRadius="@dimen/dp_30" />
|
||||
app:roundLayoutRadius="@dimen/dp_40" />
|
||||
|
||||
<com.mogo.service.imageloader.MogoImageView
|
||||
android:id="@+id/ivReportHead"
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:roundLayoutRadius="@dimen/dp_30">
|
||||
app:roundLayoutRadius="@dimen/dp_40">
|
||||
|
||||
<com.mogo.service.imageloader.MogoImageView
|
||||
android:id="@+id/ivImg"
|
||||
|
||||
@@ -10,6 +10,5 @@
|
||||
android:id="@+id/ivIllegalParkingLike"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:src="@drawable/icon_heart_like" />
|
||||
</LinearLayout>
|
||||
@@ -10,7 +10,6 @@
|
||||
android:id="@+id/ivIllegalParkingUnLike"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:src="@drawable/icon_heart_unlike" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/module_v2x_event_window_height"
|
||||
android:background="@color/live_video_background_color"
|
||||
app:roundLayoutRadius="@dimen/dp_30">
|
||||
app:roundLayoutRadius="@dimen/dp_40">
|
||||
|
||||
<com.tencent.rtmp.ui.TXCloudVideoView
|
||||
android:id="@+id/txcVideoView"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="@dimen/dp_30"
|
||||
app:roundLayoutRadius="@dimen/dp_30">
|
||||
app:roundLayoutRadius="@dimen/dp_40">
|
||||
|
||||
<com.mogo.module.v2x.view.TextureVideoView
|
||||
android:id="@+id/vvCarAnimation"
|
||||
|
||||
@@ -7,12 +7,13 @@
|
||||
android:layout_height="@dimen/module_v2x_fatigue_driving_window_height_ground"
|
||||
android:background="@color/live_video_background_color"
|
||||
android:paddingEnd="@dimen/dp_40"
|
||||
app:roundLayoutRadius="@dimen/dp_30">
|
||||
app:roundLayoutRadius="@dimen/dp_40">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivIconP"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_20"
|
||||
android:src="@drawable/icon_parking_p"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@@ -22,6 +23,8 @@
|
||||
android:id="@+id/ivIconPIcon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_20"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:src="@drawable/icon_parting_icon"
|
||||
app:layout_constraintBottom_toTopOf="@+id/tvAddress"
|
||||
app:layout_constraintStart_toEndOf="@+id/ivIconP"
|
||||
@@ -32,6 +35,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_30"
|
||||
android:layout_marginBottom="@dimen/dp_20"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="@dimen/dp_34"
|
||||
android:textStyle="bold"
|
||||
@@ -45,10 +49,10 @@
|
||||
android:id="@+id/tvAddressDistance"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_20"
|
||||
android:layout_marginEnd="@dimen/dp_30"
|
||||
android:gravity="center_vertical"
|
||||
android:textColor="#FFF"
|
||||
android:textSize="@dimen/dp_86"
|
||||
android:textSize="@dimen/dp_80"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/ivToNav"
|
||||
app:layout_constraintEnd_toStartOf="@+id/ivToNav"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
android:background="@color/live_video_background_color"
|
||||
android:paddingStart="@dimen/dp_40"
|
||||
android:paddingEnd="@dimen/dp_40"
|
||||
app:roundLayoutRadius="@dimen/dp_30">
|
||||
app:roundLayoutRadius="@dimen/dp_40">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivIconP"
|
||||
@@ -23,7 +23,6 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/dp_20"
|
||||
android:layout_marginTop="@dimen/dp_23"
|
||||
android:background="@drawable/bg_v2x_event_type_read"
|
||||
android:gravity="center"
|
||||
android:paddingLeft="@dimen/dp_10"
|
||||
@@ -35,7 +34,7 @@
|
||||
android:textSize="@dimen/dp_24"
|
||||
app:layout_constraintBottom_toTopOf="@+id/tvAddress"
|
||||
app:layout_constraintStart_toEndOf="@+id/ivIconP"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
app:layout_constraintTop_toTopOf="@+id/ivIconP" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvAddress"
|
||||
@@ -44,7 +43,7 @@
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginRight="@dimen/dp_30"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="2"
|
||||
android:maxLines="1"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="@dimen/dp_34"
|
||||
app:layout_constraintBottom_toTopOf="@+id/tvAddressDistance"
|
||||
@@ -63,7 +62,6 @@
|
||||
android:gravity="center_vertical"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="@dimen/dp_30"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="@+id/tvAddress"
|
||||
app:layout_constraintStart_toStartOf="@+id/ivIconPIcon"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvAddress"
|
||||
@@ -73,7 +71,7 @@
|
||||
android:id="@+id/llIllegalParkingLike"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_20"
|
||||
android:layout_marginEnd="@dimen/dp_40"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/llIllegalParkingUnLike"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
@@ -14,9 +14,11 @@
|
||||
"zoom": true,
|
||||
"zoomScale": 15,
|
||||
"location": {
|
||||
"lat": 39.9554100000,
|
||||
"lon": 116.4178276100
|
||||
"lat": 39.951326,
|
||||
"lon": 116.343487
|
||||
},
|
||||
"lat": 39.951326,
|
||||
"lon": 116.343487,
|
||||
"userHead": "https://yycp-static-1255510688.cos.ap-beijing.myqcloud.com/defaultUserHeadImg/5.png",
|
||||
"msgImgUrl": "https://upload.jianshu.io/users/upload_avatars/7663825/7c28763e-002b-4e89-8dea-5b8da210ef2c.jpg"
|
||||
}
|
||||
@@ -8,11 +8,11 @@
|
||||
<dimen name="module_v2x_event_window_height_ground">450px</dimen>
|
||||
<dimen name="module_v2x_push_img_height">390px</dimen>
|
||||
|
||||
<dimen name="module_v2x_fatigue_driving_window_height_ground">210px</dimen>
|
||||
<dimen name="module_v2x_fatigue_driving_window_height_ground">200px</dimen>
|
||||
|
||||
<dimen name="module_v2x_event_icon_size">160px</dimen>
|
||||
|
||||
<dimen name="module_v2x_event_button_size">90px</dimen>
|
||||
<dimen name="module_v2x_event_button_size">110px</dimen>
|
||||
<dimen name="module_v2x_event_button_size_detail">100px</dimen>
|
||||
|
||||
<dimen name="module_v2x_event_image_height">270px</dimen>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="live_video_progress_bar_loading_color">#256BFF</color>
|
||||
<color name="live_video_background_color">#FF3F4057</color>
|
||||
<color name="live_video_background_color">#3F4057</color>
|
||||
</resources>
|
||||