This commit is contained in:
wangcongtao
2020-09-18 10:01:53 +08:00
225 changed files with 1038 additions and 623 deletions

View File

@@ -3,18 +3,9 @@
<JetCodeStyleSettings>
<option name="PACKAGES_TO_USE_STAR_IMPORTS">
<value>
<package name="java.util" alias="false" withSubpackages="false" />
<package name="kotlinx.android.synthetic" alias="false" withSubpackages="true" />
<package name="io.ktor" alias="false" withSubpackages="true" />
</value>
</option>
<option name="PACKAGES_IMPORT_LAYOUT">
<value>
<package name="" alias="false" withSubpackages="true" />
<package name="java" alias="false" withSubpackages="true" />
<package name="javax" alias="false" withSubpackages="true" />
<package name="kotlin" alias="false" withSubpackages="true" />
<package name="" alias="true" withSubpackages="true" />
<package name="java.util" withSubpackages="false" static="false" />
<package name="kotlinx.android.synthetic" withSubpackages="true" static="false" />
<package name="io.ktor" withSubpackages="true" static="false" />
</value>
</option>
</JetCodeStyleSettings>

View File

@@ -3,7 +3,7 @@
afterEvaluate {
def independent = ["em3", "em1", "d80x", "d82x", "bydauto"]
def launcher = ["f80x", "em4"]
def launcher = ["f80x", "em4", "e8xx"]
it.getTasks().iterator().forEachRemaining {
def task = it

View File

@@ -65,12 +65,12 @@ MOGO_BASE_SERVICES_SDK_VERSION = 1.2.1.22
# 探路
MOGO_MODULE_TANLU_VERSION=1.3.1.24
# 车聊聊
CARCHATTING_VERSION=1.5.3
CARCHATTING_VERSION=1.6.5
# 车聊聊接口
CARCHATTINGPROVIDER_VERSION=1.3.4
# 视频引导
MOGO_MODULE_GUIDESHOW_VERSION=1.0.2-SNAPSHOT
# 视频引导接口
## 视频引导接口
MOGO_MODULE_GUIDESHOW_PROVIDER_VERSION=1.0.2-SNAPSHOT
# 在线车辆F

View File

@@ -4,7 +4,6 @@ import android.content.Intent
import android.util.Log
import com.google.gson.Gson
import com.mogo.commons.AbsMogoApplication
import com.mogo.commons.debug.DebugConfig
import com.mogo.utils.TipToast
import com.zhidao.cosupload.DbPriorityConfig
import com.zhidao.cosupload.callback.CosStatusCallback
@@ -14,7 +13,10 @@ import com.zhidao.roadcondition.event.GetImageSuccessEvent
import com.zhidao.roadcondition.event.LatLngStickyEventBus
import com.zhidao.roadcondition.model.proxy.INFO_TYPE_IMG
import com.zhidao.roadcondition.model.proxy.INFO_TYPE_VIDEO
import com.zhidao.roadcondition.util.*
import com.zhidao.roadcondition.util.CarNet_Cos_Upload
import com.zhidao.roadcondition.util.LocationUtil
import com.zhidao.roadcondition.util.deletePicFile
import com.zhidao.roadcondition.util.trackNormalEvent
/**
* @description cos上传操作
@@ -24,10 +26,8 @@ import com.zhidao.roadcondition.util.*
*/
class CosStatusController : CosStatusCallback {
val TAG: String = this.javaClass.simpleName
//存储单次请求的视频和缩略图url
var videoAndThumbMap: MutableMap<String, String> = mutableMapOf()
//图片上传的eventId
lateinit var mPicEventId: String
private var isRetry = false //是否重试上传过图片
@@ -80,46 +80,40 @@ class CosStatusController : CosStatusCallback {
Log.d(TAG, "uploadCosFailed = $localPath")
trackUploadCos(2)
//语音播报 1上报路况2交通检查3封路 默认 mType 应该为null
// if (CarCorderController.mType.equals(TANLU_ROAD_CONGESTION) || CarCorderController.mType.equals(
// TANLU_TRAFFIC_CHECK
// ) || CarCorderController.mType.equals(TANLU_ROAD_CLOSURE)
// || CarCorderController.mType.equals(TANLU_ROAD_CURRENT) || CarCorderController.mType.equals(
// TANLU_ROAD_PONDING
// ) || CarCorderController.mType.equals(TANLU_ROAD_ICING)
// || CarCorderController.mType.equals(TANLU_ROAD_HEAVY_FOG) || CarCorderController.mType.equals(
// TANLU_ROAD_ACCIDENT
// ) || CarCorderController.mType.equals(TANLU_ROAD_WORK)
// ) {
if (CarCorderController.mType.equals(TANLU_ROAD_CONGESTION) || CarCorderController.mType.equals(
TANLU_TRAFFIC_CHECK
) || CarCorderController.mType.equals(TANLU_ROAD_CLOSURE)
|| CarCorderController.mType.equals(TANLU_ROAD_CURRENT) || CarCorderController.mType.equals(
TANLU_ROAD_PONDING
) || CarCorderController.mType.equals(TANLU_ROAD_ICING)
|| CarCorderController.mType.equals(TANLU_ROAD_HEAVY_FOG) || CarCorderController.mType.equals(
TANLU_ROAD_ACCIDENT
) || CarCorderController.mType.equals(TANLU_ROAD_WORK)
) {
// VoiceController.speakVoice("cos上报失败")
Log.d(TAG, "uploadCosFailed mType = $mType")
Log.d(TAG, "uploadCosFailed mType = $mType")
if (entity?.isCustom && mFromType != UPLOAD_FROM_STRATEGY_ACCIDENT_AUTO) {
sendGetInfoFailedReceiver("100")
}
}
if (!isRetry) {
isRetry = true
taskAsync(5_000) {
//去掉重试
try {
uploadFile(mutableListOf(localPath as String), entity, mType, mainInfoId, mFromType, mLongitude, mLatitude)
} catch (e: Exception) {
e.printStackTrace()
}
}
// taskAsync(30_000) { //去掉重试
// try {
// uploadFile(mutableListOf(localPath as String), entity, mType)
// } catch (e: Exception) {
// e.printStackTrace()
// }
// }
} else {
//重试一次,如果还失败就提示
if (entity?.isCustom && mFromType != UPLOAD_FROM_STRATEGY_ACCIDENT_AUTO) {
if(DebugConfig.isLauncher()) {
// 只有Launcher上报的时候失败会提示独立app不会提示
sendGetInfoFailedReceiver("100")
}
}
if (localPath!!.endsWith("mp4") || localPath!!.contains("Thumbnail")) {
CosCallbackMapController.uploadFailed?.invoke()
}
CosCallbackMapController.unregisterCallback(localPath)
InformationUploadController.release(entity?.id)
deletePicFile(localPath)
// deletePicFile(localPath)
}
}
override fun uploadCosCompleted(
@@ -165,7 +159,7 @@ class CosStatusController : CosStatusCallback {
trackUploadCos(5)
}
} else {
//上传图片成功, 如果是上报路况,直接上传
//上传图片成功, 如果是上报路况,直接上传TODO
Log.d(TAG, "uploadCosCompleted 分享成功 ---- mType = $mType")
sendInformationDirectly(
INFO_TYPE_IMG,
@@ -218,9 +212,9 @@ class CosStatusController : CosStatusCallback {
latitude = latitude
) { success ->
CosCallbackMapController.unregisterCallbacks(map)
CosCallbackMapController.mainService?.let {
CosCallbackMapController.mainService?.sendCustomResult(success)
}
// CosCallbackMapController.mainService?.let {
// CosCallbackMapController.mainService?.sendCustomResult(success)
// }
Log.d(TAG, "type = $type ----success = $success")
if (success) {
//分享成功并打点如果是上报拥堵需要takeVideo
@@ -237,6 +231,7 @@ class CosStatusController : CosStatusCallback {
TipToast.shortTip("分享失败,请检查网络")
}
}
}
}
}
@@ -251,5 +246,6 @@ class CosStatusController : CosStatusCallback {
AbsMogoApplication.getApp().applicationContext
)
}
}

View File

@@ -66,11 +66,11 @@ class MainService : Service() {
private var mLatitude: Double = 0.0
//发送主动上报结果广播给外部
fun sendCustomResult(result: Boolean) {
var intent = Intent(customResultAction)
intent.putExtra("isSuccess", result)
sendBroadcast(intent)
}
// fun sendCustomResult(result: Boolean) {
// var intent = Intent(customResultAction)
// intent.putExtra("isSuccess", result)
// sendBroadcast(intent)
// }
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
Log.d(TAG, "onStartCommand -----------> ")

View File

@@ -25,7 +25,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
* 加载并保存 app 列表
*/
public class AppsModel {
private static final String TAG = "AppsModel";
private static volatile AppsModel sInstance;
@@ -57,7 +57,6 @@ public class AppsModel {
if ( mPagedApps != null ) {
mPagedApps.clear();
}
mPagedApps = null;
mContext = null;
mAppFilter = null;
sInstance = null;
@@ -88,7 +87,7 @@ public class AppsModel {
continue;
}
int page = counter++ / AppsConst.TOTAL_SIZE_EACH_PAGE;
if ( !mPagedApps.containsKey( page ) ) {
if ( mPagedApps.get( page ) == null ) {
mPagedApps.put( page, new ArrayList<>() );
}
String appName = getApplicationName( packageManager, packageInfo );
@@ -116,9 +115,12 @@ public class AppsModel {
if ( TextUtils.isEmpty( packageName ) ) {
return;
}
if ( mPagedApps.isEmpty() ) {
if ( mPagedApps == null || mPagedApps.isEmpty() ) {
return;
}
if ( mAppFilter == null ) {
mAppFilter = new AppFilterImpl( mContext );
}
try {
final PackageManager packageManager = mContext.getPackageManager();
PackageInfo packageInfo = packageManager.getPackageInfo( packageName, 0 );
@@ -129,7 +131,7 @@ public class AppsModel {
Drawable appIcon = packageInfo.applicationInfo.loadIcon( packageManager );
AppInfo appInfo = new AppInfo( appName, packageName, versionName, versionCode, appIcon, AppEnumHelper.getCustomizedAppIconResId( packageName ) );
int pageIndex = getPageIndex( packageName, true );
if ( !mPagedApps.containsKey( pageIndex ) ) {
if ( mPagedApps.get( pageIndex ) == null ) {
mPagedApps.put( pageIndex, new ArrayList<>() );
}
mPagedApps.get( pageIndex ).add( appInfo );
@@ -183,6 +185,9 @@ public class AppsModel {
if ( TextUtils.isEmpty( packageName ) ) {
return;
}
if ( mPagedApps == null || mPagedApps.isEmpty() ) {
return;
}
try {
int pageIndex = getPageIndex( packageName, false );
if ( pageIndex == -1 ) {
@@ -200,7 +205,7 @@ public class AppsModel {
continue;
}
int page = counter++ / AppsConst.TOTAL_SIZE_EACH_PAGE + pageIndex;
if ( !mPagedApps.containsKey( page ) ) {
if ( mPagedApps.get( page ) == null ) {
mPagedApps.put( page, new ArrayList<>() );
}
mPagedApps.get( page ).add( appInfo );

View File

@@ -1053,5 +1053,6 @@
<dimen name="sp_42">42px</dimen>
<dimen name="sp_48">48px</dimen>
<dimen name="module_common_shadow_width">-10px</dimen>
<dimen name="module_common_shadow_width_pos">10px</dimen>
</resources>

View File

@@ -1044,4 +1044,5 @@
<dimen name="sp_42">22.9688px</dimen>
<dimen name="sp_48">26.2500px</dimen>
<dimen name="module_common_shadow_width">-8px</dimen>
<dimen name="module_common_shadow_width_pos">8px</dimen>
</resources>

View File

@@ -81,7 +81,7 @@
android:id="@+id/module_entrance_id_move2_current_location"
android:layout_width="@dimen/module_ext_operation_panel_width"
android:layout_height="@dimen/module_ext_operation_panel_move2_height"
android:background="@drawable/module_ext_dw_common_corner_bkg"
android:background="@drawable/module_ext_shadow_bkg"
android:scaleType="centerInside"
android:src="@drawable/module_map_ic_move2_current_location"
app:layout_constraintBottom_toBottomOf="parent"
@@ -92,6 +92,7 @@
android:layout_width="@dimen/module_ext_operation_panel_share_width"
android:layout_height="@dimen/module_ext_operation_panel_share_height"
android:layout_marginBottom="@dimen/module_ext_operation_panel_share_marginBottom"
android:layout_marginEnd="@dimen/module_common_shadow_width_pos"
android:background="@drawable/module_ext_dw_upload_road_condition_bkg"
app:layout_constraintBottom_toTopOf="@+id/module_entrance_id_move2_current_location"
app:layout_constraintRight_toRightOf="@+id/module_entrance_id_move2_current_location"

View File

@@ -13,7 +13,6 @@
android:paddingStart="@dimen/module_ext_weather_container_paddingLeft"
android:paddingEnd="@dimen/module_ext_weather_container_paddingRight"
android:visibility="invisible"
android:translationY="@dimen/module_common_shadow_width"
app:layout_goneMarginLeft="@dimen/module_ext_notice_margin_start"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@+id/module_ext_id_msg"
@@ -43,7 +42,6 @@
android:layout_width="@dimen/module_ext_height"
android:layout_height="@dimen/module_ext_height"
android:layout_marginStart="@dimen/module_ext_notice_margin_start"
android:translationY="@dimen/module_common_shadow_width"
android:layout_marginEnd="@dimen/module_ext_msg_marginRight"
android:background="@drawable/module_ext_shadow_bkg"
android:visibility="gone"
@@ -73,8 +71,10 @@
<ImageView
android:id="@+id/ivUserHeadImg"
android:layout_width="@dimen/module_ext_height"
android:layout_height="@dimen/module_ext_height"
android:layout_width="@dimen/module_ext_user_avator_size"
android:layout_height="@dimen/module_ext_user_avator_size"
android:layout_marginRight="@dimen/module_common_shadow_width_pos"
android:layout_marginTop="@dimen/module_common_shadow_width_pos"
android:src="@drawable/model_ext_default_user_head"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"

View File

@@ -1,4 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="module_ext_msg_counter_margin">26px</dimen>
<dimen name="module_ext_user_avator_size">66px</dimen>
<dimen name="module_ext_layout_padding">10px</dimen>
<dimen name="module_ext_layout_paddingRight">2px</dimen>
<dimen name="module_ext_layout_paddingBottom">2px</dimen>
</resources>

View File

@@ -30,17 +30,17 @@
<dimen name="module_ext_navi_panel_marginLeft">32px</dimen>
<dimen name="module_ext_navi_panel_marginTop">2px</dimen>
<dimen name="module_ext_operation_panel_width">120px</dimen>
<dimen name="module_ext_operation_panel_width">140px</dimen>
<dimen name="module_ext_operation_panel_marginRight">32px</dimen>
<dimen name="module_ext_operation_panel_marginBottom">60px</dimen>
<dimen name="module_ext_operation_panel_vr_height">92px</dimen>
<dimen name="module_ext_operation_panel_vr_textSize">24px</dimen>
<dimen name="module_ext_operation_panel_divider_width">48px</dimen>
<dimen name="module_ext_operation_panel_divider_height">2px</dimen>
<dimen name="module_ext_operation_panel_move2_height">120px</dimen>
<dimen name="module_ext_operation_panel_share_width">120px</dimen>
<dimen name="module_ext_operation_panel_move2_height">140px</dimen>
<dimen name="module_ext_operation_panel_share_width">140px</dimen>
<dimen name="module_ext_operation_panel_share_height">120px</dimen>
<dimen name="module_ext_operation_panel_share_marginBottom">30px</dimen>
<dimen name="module_ext_operation_panel_share_marginBottom">20px</dimen>
<dimen name="module_ext_operation_panel_share_textSize">30px</dimen>
<dimen name="module_ext_operation_panel_share_goneMarginBottom">32px</dimen>
<dimen name="module_ext_operation_panel_share_goneMarginRight">32px</dimen>
@@ -146,4 +146,8 @@
<dimen name="module_ext_top_over_navi_height">40px</dimen>
<dimen name="module_ext_msg_counter_margin">45px</dimen>
<dimen name="module_ext_user_avator_size">120px</dimen>
<dimen name="module_ext_layout_padding">30px</dimen>
<dimen name="module_ext_layout_paddingRight">20px</dimen>
<dimen name="module_ext_layout_paddingBottom">20px</dimen>
</resources>

View File

@@ -30,17 +30,17 @@
<dimen name="module_ext_navi_panel_marginLeft">32px</dimen>
<dimen name="module_ext_navi_panel_marginTop">2px</dimen>
<dimen name="module_ext_operation_panel_width">120px</dimen>
<dimen name="module_ext_operation_panel_width">140px</dimen>
<dimen name="module_ext_operation_panel_marginRight">32px</dimen>
<dimen name="module_ext_operation_panel_marginBottom">60px</dimen>
<dimen name="module_ext_operation_panel_vr_height">92px</dimen>
<dimen name="module_ext_operation_panel_vr_textSize">24px</dimen>
<dimen name="module_ext_operation_panel_divider_width">48px</dimen>
<dimen name="module_ext_operation_panel_divider_height">2px</dimen>
<dimen name="module_ext_operation_panel_move2_height">120px</dimen>
<dimen name="module_ext_operation_panel_move2_height">140px</dimen>
<dimen name="module_ext_operation_panel_share_width">120px</dimen>
<dimen name="module_ext_operation_panel_share_height">120px</dimen>
<dimen name="module_ext_operation_panel_share_marginBottom">30px</dimen>
<dimen name="module_ext_operation_panel_share_marginBottom">20px</dimen>
<dimen name="module_ext_operation_panel_share_textSize">30px</dimen>
<dimen name="module_ext_operation_panel_share_goneMarginBottom">32px</dimen>
<dimen name="module_ext_operation_panel_share_goneMarginRight">32px</dimen>
@@ -145,7 +145,11 @@
<dimen name="module_ext_display_overview_icon_marginTop">20px</dimen>
<dimen name="module_ext_top_over_navi_height">34px</dimen>
<dimen name="module_ext_notice_margin_start">175px</dimen>
<dimen name="module_ext_weather_margin_start">30px</dimen>
<dimen name="module_ext_notice_margin_start">161px</dimen>
<dimen name="module_ext_weather_margin_start">10px</dimen>
<dimen name="module_ext_msg_counter_margin">45px</dimen>
<dimen name="module_ext_user_avator_size">120px</dimen>
<dimen name="module_ext_layout_padding">30px</dimen>
<dimen name="module_ext_layout_paddingRight">20px</dimen>
<dimen name="module_ext_layout_paddingBottom">20px</dimen>
</resources>

View File

@@ -30,17 +30,17 @@
<dimen name="module_ext_navi_panel_marginLeft">20px</dimen>
<dimen name="module_ext_navi_panel_marginTop">1px</dimen>
<dimen name="module_ext_operation_panel_width">66px</dimen>
<dimen name="module_ext_operation_panel_width">82px</dimen>
<dimen name="module_ext_operation_panel_marginRight">20px</dimen>
<dimen name="module_ext_operation_panel_marginBottom">34.5px</dimen>
<dimen name="module_ext_operation_panel_vr_height">58px</dimen>
<dimen name="module_ext_operation_panel_vr_textSize">17px</dimen>
<dimen name="module_ext_operation_panel_divider_width">31.4px</dimen>
<dimen name="module_ext_operation_panel_divider_height">1.2px</dimen>
<dimen name="module_ext_operation_panel_move2_height">66px</dimen>
<dimen name="module_ext_operation_panel_move2_height">82px</dimen>
<dimen name="module_ext_operation_panel_share_width">66px</dimen>
<dimen name="module_ext_operation_panel_share_height">66px</dimen>
<dimen name="module_ext_operation_panel_share_marginBottom">16px</dimen>
<dimen name="module_ext_operation_panel_share_marginBottom">8px</dimen>
<dimen name="module_ext_operation_panel_share_textSize">16px</dimen>
<dimen name="module_ext_operation_panel_share_goneMarginBottom">34.5px</dimen>
<dimen name="module_ext_operation_panel_share_goneMarginRight">20px</dimen>
@@ -60,7 +60,7 @@
<dimen name="module_ext_paddingRight">32px</dimen>
<dimen name="module_ext_paddingLeft">32px</dimen>
<dimen name="module_ext_notice_margin_start">90px</dimen>
<dimen name="module_ext_notice_margin_start">78px</dimen>
<dimen name="module_ext_voice_textSize">22px</dimen>
<dimen name="module_ext_time_textSize">28px</dimen>
@@ -151,7 +151,10 @@
<dimen name="module_ext_display_overview_icon_marginTop">10px</dimen>
<dimen name="module_ext_top_over_navi_height">19px</dimen>
<dimen name="module_ext_weather_margin_start">16px</dimen>
<dimen name="module_ext_weather_margin_start">0px</dimen>
<dimen name="module_ext_msg_counter_margin">26px</dimen>
<dimen name="module_ext_user_avator_size">66px</dimen>
<dimen name="module_ext_layout_padding">10px</dimen>
<dimen name="module_ext_layout_paddingRight">2px</dimen>
<dimen name="module_ext_layout_paddingBottom">2px</dimen>
</resources>

View File

@@ -48,6 +48,12 @@
android:layout_marginLeft="@dimen/module_main_id_entrance_fragment_container_marginLeft"
android:padding="@dimen/module_main_entrance_fragment_container_padding" />
<!-- 浮层-->
<FrameLayout
android:id="@+id/module_main_id_floating_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<FrameLayout
android:id="@+id/module_main_id_event_panel_fragment_container"
android:layout_width="match_parent"
@@ -61,12 +67,6 @@
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/module_main_id_entrance_fragment_container_marginLeft"/>
<!-- 浮层-->
<FrameLayout
android:id="@+id/module_main_id_floating_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<FrameLayout
android:id="@+id/module_main_id_search_fragment"
android:layout_width="match_parent"

View File

@@ -20,7 +20,7 @@
<dimen name="module_main_header_fragment_container_marginTop">30px</dimen>
<dimen name="module_main_header_fragment_container_marginLeft">830px</dimen>
<dimen name="module_main_id_entrance_fragment_container_marginLeft">800px</dimen>
<dimen name="module_main_entrance_fragment_container_padding">30px</dimen>
<dimen name="module_main_entrance_fragment_container_padding">20px</dimen>
<dimen name="module_main_entrance_fragment_container_padding_top">30px</dimen>
<dimen name="module_main_id_left_panel_fragment_container_width">340px</dimen>

View File

@@ -17,12 +17,12 @@
<dimen name="cards_container_shadow_dp_margin_top">319px</dimen>
<dimen name="module_main_apps_fragment_container_width">110px</dimen>
<dimen name="module_main_apps_fragment_container_padding">16px</dimen>
<dimen name="module_main_apps_fragment_container_padding">10px</dimen>
<dimen name="module_main_header_fragment_container_marginTop">15px</dimen>
<dimen name="module_main_header_fragment_container_marginLeft">460px</dimen>
<dimen name="module_main_id_entrance_fragment_container_marginLeft">444px</dimen>
<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">10px</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_event_fragment_container_padding">8px</dimen>

View File

@@ -17,9 +17,12 @@ import android.util.Log;
import android.widget.ImageView;
import com.mogo.module.common.utils.CarSeries;
import com.mogo.skin.support.IMogoSkinCompatSupportable;
import com.mogo.skin.support.helper.MogoSkinCompatHelperDelegate;
import com.mogo.skin.support.helper.MogoSkinCompatImageHelperDelegate;
@SuppressLint("AppCompatCustomView")
public class AnimCircleImageView extends ImageView {
public class AnimCircleImageView extends ImageView implements IMogoSkinCompatSupportable {
Drawable mDrawbleSrc;
Context context;
Bitmap mBitmapOut;
@@ -28,6 +31,10 @@ public class AnimCircleImageView extends ImageView {
int defaultHeight;
int diameter;
int radius;
PaintFlagsDrawFilter drawFilter = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG);
Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.DITHER_FLAG);
MogoSkinCompatImageHelperDelegate imageHelper;
int currentDegree;
int savedDegree;
@@ -47,6 +54,7 @@ public class AnimCircleImageView extends ImageView {
public AnimCircleImageView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
imageHelper = new MogoSkinCompatImageHelperDelegate(this);
this.context = context;
init();
}
@@ -76,6 +84,8 @@ public class AnimCircleImageView extends ImageView {
@Override
public void setImageResource(int resId) {
super.setImageResource(resId);
Log.d("AnimCircle", "setImageResource: " + MogoSkinCompatHelperDelegate.isSupport());
imageHelper.setImageResource(resId);
mDrawbleSrc = getDrawable();
output = null;
}
@@ -106,23 +116,27 @@ public class AnimCircleImageView extends ImageView {
@Override
protected void onDraw(Canvas canvas) {
Log.d("AnimCircle", "onDraw====");
// Log.d("AnimCircle", "onDraw====");
try {
if (mDrawbleSrc == null)
if (mDrawbleSrc == null) {
return;
}
if (getWidth() == 0 || getHeight() == 0)
if (getWidth() == 0 || getHeight() == 0) {
return;
}
if (mDrawbleSrc.getClass() == NinePatchDrawable.class)
if (mDrawbleSrc.getClass() == NinePatchDrawable.class) {
return;
}
if (output == null) {
defaultHeight = getHeight();
defaultWidth = getWidth();
diameter = (defaultHeight > defaultWidth ? defaultWidth : defaultHeight);
radius = diameter / 2;
mBitmapOut = getCuttedPicture(mDrawbleSrc);
// mBitmapOut = getCuttedPicture(mDrawbleSrc);
mBitmapOut = ((BitmapDrawable) mDrawbleSrc).getBitmap();
Paint paint = new Paint();
Rect rect = new Rect(0, 0, mBitmapOut.getWidth(),
@@ -147,9 +161,9 @@ public class AnimCircleImageView extends ImageView {
if (isRotateEnable) {
currentDegree = (currentDegree + mRotateAngleStep) % 360;
canvas.save();
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG));
canvas.setDrawFilter(drawFilter);
canvas.rotate(currentDegree, defaultWidth / 2, defaultHeight / 2);
canvas.drawBitmap(output, defaultWidth / 2 - radius, defaultHeight / 2 - radius, null);
canvas.drawBitmap(output, defaultWidth / 2 - radius, defaultHeight / 2 - radius, mPaint);
canvas.restore();
if (isRotateEnable) {
removeCallbacks(loopInvalidate);
@@ -158,9 +172,9 @@ public class AnimCircleImageView extends ImageView {
}
} else {
canvas.save();
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG));
canvas.setDrawFilter(drawFilter);
canvas.rotate(currentDegree, defaultWidth / 2, defaultHeight / 2);
canvas.drawBitmap(output, defaultWidth / 2 - radius, defaultHeight / 2 - radius, null);
canvas.drawBitmap(output, defaultWidth / 2 - radius, defaultHeight / 2 - radius, mPaint);
canvas.restore();
}
} catch (Exception e) {
@@ -185,10 +199,12 @@ public class AnimCircleImageView extends ImageView {
x = mBitmapScaled.getWidth() / 2 - radius;
y = mBitmapScaled.getHeight() / 2 - radius;
if (x < 0)
if (x < 0) {
x = 0;
if (y < 0)
}
if (y < 0) {
y = 0;
}
Bitmap mBitmapCropped = Bitmap.createBitmap(mBitmapScaled, x, y, diameter, diameter);
return mBitmapCropped;
}
@@ -200,5 +216,10 @@ public class AnimCircleImageView extends ImageView {
public void setDelayMilliseconds(int delayMilliseconds) {
this.delayMilliseconds = delayMilliseconds;
}
@Override
public void applySkin() {
imageHelper.applySkin();
}
}

View File

@@ -12,6 +12,7 @@ import android.widget.TextView;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.voice.AIAssist;
import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
import com.mogo.module.common.glide.SkinAbleBitmapTarget;
import com.mogo.module.media.MediaConstants;
import com.mogo.module.media.R;
import com.mogo.module.media.ServiceMediaHandler;
@@ -92,6 +93,11 @@ public class MediaWindow2 implements IMusicView {
return;
}
if(!ServiceMediaHandler.getIMogoStatusManager().isMainPageOnResume()){
Log.d(TAG, "not in front");
return;
}
if (!mHasAddWindow) {
mHasAddWindow = true;
mWindowView =
@@ -199,10 +205,14 @@ public class MediaWindow2 implements IMusicView {
if (mCircleImg != null) {
if(mMediaInfoData!=null&&mMediaInfoData.getMediaImg()!=null&&!mMediaInfoData.getMediaImg().isEmpty()) {
int size =
mContext.getResources().getDimensionPixelSize(R.dimen.module_media_pop_window_anim_img_size);
Logger.d(TAG, "overload: " + size);
com.bumptech.glide.request.RequestOptions options =
new com.bumptech.glide.request.RequestOptions()
.placeholder(R.drawable.module_media_default_music_img);
GlideApp.with(mContext).applyDefaultRequestOptions(options).load(mMediaInfoData.getMediaImg()).into(mCircleImg);
.placeholder(R.drawable.module_media_default_music_img).error(R.drawable.module_media_default_music_img).override(size, size);
GlideApp.with(mContext).asBitmap().apply(options).load(mMediaInfoData.getMediaImg()).into(new SkinAbleBitmapTarget(mCircleImg, options));
// GlideApp.with(mContext).applyDefaultRequestOptions(options).load(mMediaInfoData.getMediaImg()).into(new SkinAbleBitmapTarget(mCircleImg, options));
}else{
mCircleImg.setImageResource(R.drawable.module_media_default_music_img);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="180"
android:startColor="#5E6079"
android:endColor="#3F4057"
android:type="linear" />
<corners
android:bottomLeftRadius="@dimen/module_media_window_corner"
android:bottomRightRadius="@dimen/module_media_window_corner"
android:topLeftRadius="@dimen/module_media_window_corner"
android:topRightRadius="@dimen/module_media_window_corner" />
</shape>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="module_media_music_state_location">881px</dimen>
<dimen name="module_media_music_state_location">872px</dimen>
<dimen name="module_media_music_state_location_x">1067px</dimen>
<!-- lcc start-->
@@ -61,11 +61,11 @@
<dimen name="module_media_share_fragment_tv2_margin_top">4px</dimen>
<dimen name="module_media_share_fragment_img_radius">6px</dimen>
<dimen name="module_media_pop_window_width">580px</dimen>
<dimen name="module_media_pop_window_height">120px</dimen>
<dimen name="module_media_pop_window_width">600px</dimen>
<dimen name="module_media_pop_window_height">140px</dimen>
<dimen name="module_media_pop_window_inner_height">112px</dimen>
<dimen name="module_media_pop_window_inner_padding">30px</dimen>
<dimen name="module_media_pop_window_anim_img_size">90px</dimen>
<dimen name="module_media_pop_window_anim_img_size">80px</dimen>
<dimen name="module_media_pop_window_text_width">230px</dimen>
<dimen name="module_media_pop_window_text_margin">14px</dimen>
<dimen name="module_media_pop_window_text_top_size">35px</dimen>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="module_media_music_state_location">470px</dimen>
<dimen name="module_media_music_state_location">462px</dimen>
<dimen name="module_media_music_state_location_x">573px</dimen>
<!-- lcc start-->
@@ -61,11 +61,11 @@
<dimen name="module_media_share_fragment_tv2_margin_top">2px</dimen>
<dimen name="module_media_share_fragment_img_radius">3.2px</dimen>
<dimen name="module_media_pop_window_width">322px</dimen>
<dimen name="module_media_pop_window_height">66.7px</dimen>
<dimen name="module_media_pop_window_width">332px</dimen>
<dimen name="module_media_pop_window_height">76.7px</dimen>
<dimen name="module_media_pop_window_inner_height">60px</dimen>
<dimen name="module_media_pop_window_inner_padding">18px</dimen>
<dimen name="module_media_pop_window_anim_img_size">48px</dimen>
<dimen name="module_media_pop_window_anim_img_size">44px</dimen>
<dimen name="module_media_pop_window_text_width">123px</dimen>
<dimen name="module_media_pop_window_text_margin">10px</dimen>
<dimen name="module_media_pop_window_text_top_size">18px</dimen>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 583 B

View File

@@ -977,9 +977,11 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
return;
}
if ( mLastDataResult != null ) {
MarkerServiceHandler.getMarkerManager().removeMarkers( ModuleNames.CARD_TYPE_ROAD_CONDITION );
drawMarkerByCurrentType( mLastDataResult );
mLastCheckMarker = null;
runOnTargetThread( ()->{
MarkerServiceHandler.getMarkerManager().removeMarkers( ModuleNames.CARD_TYPE_ROAD_CONDITION );
drawMarkerByCurrentType( mLastDataResult );
mLastCheckMarker = null;
} );
}
break;
}

View File

@@ -204,7 +204,7 @@ public class TanluListWindow extends RelativeLayout implements IMogoMarkerClickL
LinearLayoutManager layoutManager = new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false);
mLoopRecyclerView.setLayoutManager(layoutManager);
mTanluSlideAdapter = new TanluSlideAdapterNew(mContext, mAnalytics, mTanluModelData, mogoImageloader);
mTanluSlideAdapter = new TanluSlideAdapterNew(mContext, mAnalytics, mTanluModelData, mogoImageloader, mMogoRegisterCenter);
mLoopRecyclerView.setAdapter(mTanluSlideAdapter);
//保证滑动单页显示

View File

@@ -5,6 +5,7 @@ import android.animation.AnimatorInflater;
import android.animation.AnimatorSet;
import android.content.Context;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -18,6 +19,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.module.common.entity.MarkerExploreWay;
import com.mogo.module.common.glide.SkinAbleBitmapTarget;
import com.mogo.module.tanlu.R;
@@ -30,9 +32,13 @@ import com.mogo.module.tanlu.model.event.StartPlayInfo;
import com.mogo.module.tanlu.model.event.VoiceControlUpInfo;
import com.mogo.module.tanlu.util.ChartUtil;
import com.mogo.module.tanlu.video.SimpleCoverVideoPlayer;
import com.mogo.module.tanlu.view.RoundLayout;
import com.mogo.service.adas.IMogoADASControlStatusChangedListener;
import com.mogo.service.analytics.IMogoAnalytics;
import com.mogo.service.imageloader.IMogoImageloader;
import com.mogo.service.imageloader.MogoImageView;
import com.mogo.service.module.IMogoRegisterCenter;
import com.mogo.skin.support.SkinMode;
import com.mogo.utils.TipToast;
import com.mogo.utils.logger.Logger;
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder;
@@ -57,7 +63,7 @@ import static com.mogo.module.tanlu.util.Utils.handleDistance;
* @description
* @since 2020/3/11
*/
public class TanluSlideAdapterNew extends RecyclerView.Adapter<TanluSlideViewHolderNew> {
public class TanluSlideAdapterNew extends RecyclerView.Adapter<TanluSlideViewHolderNew> implements IMogoADASControlStatusChangedListener {
private List<MarkerExploreWay> markerExploreWayList = new ArrayList<>();
private static final String TAG = "TanluSlideAdapterNew";
private Context mContext;
@@ -66,7 +72,7 @@ public class TanluSlideAdapterNew extends RecyclerView.Adapter<TanluSlideViewHol
private TextView mDistanceTv;
private TextView mTimeTv;
private SimpleCoverVideoPlayer simpleCoverVideoPlayer;
private ImageView autoZoomInImageView;
private MogoImageView autoZoomInImageView;
private MogoImageView mHeadImage;
private ImageView mChatImage;
private ImageView mLikeImage;
@@ -74,6 +80,7 @@ public class TanluSlideAdapterNew extends RecyclerView.Adapter<TanluSlideViewHol
private TextView mTypeTv;
private IMogoImageloader mogoImageloader;
private ImageView mCloseImage;
private RoundLayout mRoundLayout;
//media
private GSYVideoOptionBuilder gsyVideoOptionBuilder = new GSYVideoOptionBuilder();
@@ -87,11 +94,14 @@ public class TanluSlideAdapterNew extends RecyclerView.Adapter<TanluSlideViewHol
private HashMap<Integer, SimpleCoverVideoPlayer> list = new HashMap<>();
public TanluSlideAdapterNew(Context context, IMogoAnalytics analytics, TanluModelData tanluModelData, IMogoImageloader mogoImageloader) {
public TanluSlideAdapterNew(Context context, IMogoAnalytics analytics, TanluModelData tanluModelData, IMogoImageloader mogoImageloader,
IMogoRegisterCenter mogoRegisterCenter) {
this.mContext = context;
this.mAnalytics = analytics;
this.mTanluModelData = tanluModelData;
this.mogoImageloader = mogoImageloader;
mogoRegisterCenter.registerADASControlStatusChangedListener( TAG, this );
EventBus.getDefault().register(this);
}
@@ -121,6 +131,7 @@ public class TanluSlideAdapterNew extends RecyclerView.Adapter<TanluSlideViewHol
mLikeLayout = holder.itemView.findViewById(R.id.tanlu_like_layout);
mTypeTv = holder.itemView.findViewById(R.id.tv_information_type);
mCloseImage = holder.itemView.findViewById(R.id.tanlu_close_imageView);
mRoundLayout = holder.itemView.findViewById(R.id.media_layout);
mCloseImage.setOnClickListener(new View.OnClickListener() {
@Override
@@ -330,19 +341,18 @@ public class TanluSlideAdapterNew extends RecyclerView.Adapter<TanluSlideViewHol
simpleCoverVideoPlayer.setVisibility(GONE);
autoZoomInImageView.setVisibility(View.VISIBLE);
//加载图片
RequestOptions requestOptions = new RequestOptions()
.placeholder(R.drawable.tanlu_normal_image)
.error(R.drawable.tanlu_normal_image);
Glide.with(mContext)
.load(mImageUrl)
.apply(requestOptions)
.into(autoZoomInImageView);
// RequestOptions requestOptions = new RequestOptions()
// .placeholder(R.drawable.tanlu_normal_image)
// .error(R.drawable.tanlu_normal_image);
//
// Glide.with(mContext)
// .asBitmap()
// .load(mImageUrl)
// .apply(requestOptions)
// .into(new SkinAbleBitmapTarget(autoZoomInImageView, requestOptions));
mogoImageloader.displayImage(mImageUrl, autoZoomInImageView);
}
traceVideoPlayStatusData();
@@ -372,15 +382,16 @@ public class TanluSlideAdapterNew extends RecyclerView.Adapter<TanluSlideViewHol
autoZoomInImageView.setVisibility(View.VISIBLE);
Logger.d(TAG, "refreshPhotoData imageUrl = " + imageUrl);
//加载图片
RequestOptions requestOptions = new RequestOptions()
.placeholder(R.drawable.tanlu_normal_image)
.error(R.drawable.tanlu_normal_image)
.fallback(R.drawable.tanlu_normal_image);
Glide.with(mContext)
.asBitmap()
.load(imageUrl)
.apply(requestOptions)
.into(new SkinAbleBitmapTarget(autoZoomInImageView, requestOptions));
// RequestOptions requestOptions = new RequestOptions()
// .placeholder(R.drawable.tanlu_normal_image)
// .error(R.drawable.tanlu_normal_image);
// Glide.with(mContext)
// .asBitmap()
// .load(imageUrl)
// .apply(requestOptions)
// .into(new SkinAbleBitmapTarget(autoZoomInImageView, requestOptions));
mogoImageloader.displayImage(imageUrl, autoZoomInImageView);
}
@@ -469,19 +480,19 @@ public class TanluSlideAdapterNew extends RecyclerView.Adapter<TanluSlideViewHol
typeName = "封路";
break;
case TanluConstants.TANLU_ROAD_CONSTRUCTION:
typeName = "道路施工";
typeName = "施工";
break;
case TanluConstants.TANLU_ROAD_CONGESTION_COMPAT:
typeName = "道路拥堵";
typeName = "拥堵";
break;
case TanluConstants.TANLU_ROAD_PONDING:
typeName = "道路积水";
break;
case TanluConstants.TANLU_ROAD_ICING:
typeName = "结冰";
typeName = "路结冰";
break;
case TanluConstants.TANLU_ROAD_HEAVY_FOG:
typeName = "出现浓雾";
typeName = "浓雾";
break;
case TanluConstants.TANLU_ROAD_ACCIDENT:
typeName = "交通事故";
@@ -496,5 +507,24 @@ public class TanluSlideAdapterNew extends RecyclerView.Adapter<TanluSlideViewHol
return typeName;
}
@Override
public void onMapUiModeChanged(EnumMapUI mapUI) {
switch ( mapUI ) {
case Type_Night:
Log.d("liyz", "Type_Night ---------> ");
mRoundLayout.setBackgroundResource(R.drawable.shape_tanlu_top_bg);
break;
case Type_Light:
Log.d("liyz", "Type_Light ---------> ");
mRoundLayout.setBackgroundResource(R.drawable.shape_tanlu_top_bg_light);
break;
}
}
@Override
public void onCarStatusChanged(boolean visible) {
}
}

View File

@@ -8,6 +8,7 @@ import android.view.View
import android.widget.ImageView
import com.bumptech.glide.Glide
import com.bumptech.glide.request.RequestOptions
import com.mogo.module.common.glide.SkinAbleBitmapTarget
import com.mogo.module.tanlu.R
import com.shuyu.gsyvideoplayer.GSYVideoManager
import com.shuyu.gsyvideoplayer.utils.GSYVideoType
@@ -57,13 +58,12 @@ class SimpleCoverVideoPlayer : StandardGSYVideoPlayer {
fun loadCoverImage(url: String, mContext: Context) {
//加载图片
val requestOptions = RequestOptions()
.placeholder(R.drawable.tanlu_normal_image)
// .placeholder(R.drawable.tanlu_normal_image)
.error(R.drawable.tanlu_normal_image)
Glide.with(mContext)
Glide.with(mContext).asBitmap()
.load(url)
.apply(requestOptions)
.into(coverImage)
.into(SkinAbleBitmapTarget(coverImage, requestOptions))
}

View File

@@ -8,7 +8,11 @@ import android.graphics.RectF;
import android.util.AttributeSet;
import android.widget.RelativeLayout;
import androidx.annotation.DrawableRes;
import com.mogo.module.tanlu.R;
import com.mogo.skin.support.IMogoSkinCompatSupportable;
import com.mogo.skin.support.helper.MogoSkinCompatBackgroundHelperDelegate;
/**
* author : donghongyu
@@ -17,29 +21,34 @@ import com.mogo.module.tanlu.R;
* desc :
* version: 1.0
*/
public class RoundLayout extends RelativeLayout {
public class RoundLayout extends RelativeLayout implements IMogoSkinCompatSupportable {
private float roundLayoutRadius = 14f;
private Path roundPath;
private RectF rectF;
private MogoSkinCompatBackgroundHelperDelegate mBackgroundTintHelper;
public RoundLayout(Context context) {
this(context, null);
}
public RoundLayout(Context context, AttributeSet attrs, int defStyleAttr) {
this(context, attrs);
public RoundLayout(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public RoundLayout(Context context, AttributeSet attrs) {
super(context, attrs);
public RoundLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.RoundLayout);
roundLayoutRadius = typedArray.getDimensionPixelSize(R.styleable.RoundLayout_roundLayoutRadius, (int) roundLayoutRadius);
typedArray.recycle();
init();
mBackgroundTintHelper = new MogoSkinCompatBackgroundHelperDelegate(this);
mBackgroundTintHelper.loadFromAttributes(attrs, defStyleAttr);
}
private void init() {
setWillNotDraw(false);//如果你继承的是ViewGroup,注意此行,否则draw方法是不会回调的;
roundPath = new Path();
@@ -58,6 +67,15 @@ public class RoundLayout extends RelativeLayout {
postInvalidate();
}
@Override
public void setBackgroundResource(@DrawableRes int resId) {
super.setBackgroundResource(resId);
if (mBackgroundTintHelper != null) {
mBackgroundTintHelper.onSetBackgroundResource(resId);
}
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
super.onLayout(changed, l, t, r, b);
@@ -72,5 +90,13 @@ public class RoundLayout extends RelativeLayout {
}
super.draw(canvas);
}
@Override
public void applySkin() {
if (mBackgroundTintHelper != null) {
mBackgroundTintHelper.applySkin();
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!-- <corners android:radius="4dp"/>-->
<solid android:color="@color/tanlu_555A_F5F5"/>
</shape>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!-- <corners android:radius="4dp"/>-->
<solid android:color="@color/tanlu_555A_F5F5F5"/>
</shape>

View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!---->
<item>
<shape android:shape="rectangle">
<padding
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
android:top="2dp" />
<solid android:color="#00000000" />
<corners android:radius="@dimen/dp_30" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<padding
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
android:top="2dp" />
<solid android:color="#00000000" />
<corners android:radius="@dimen/dp_30" />
</shape>
</item>
<!-- 中心背景 -->
<item>
<shape android:shape="rectangle">
<corners android:radius="@dimen/dp_30" />
<gradient
android:angle="135"
android:endColor="#3F4057"
android:startColor="#5E6079"
android:type="linear"
android:useLevel="true" />
</shape>
</item>
</layer-list>

View File

@@ -2,29 +2,18 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="@dimen/tanlu_module_card_height"
xmlns:tools="http://schemas.android.com/tools"
android:background="@drawable/tanlu_gradual_change_bg">
<!--视频播放器和图片播放器-->
<!-- <RelativeLayout-->
<!-- android:id="@+id/media_layout"-->
<!-- android:layout_width="@dimen/tanlu_module_card_video_width"-->
<!-- android:layout_height="match_parent"-->
<!-- android:layout_marginTop="@dimen/tanlu_module_card_margin_left"-->
<!-- android:layout_marginBottom="@dimen/tanlu_module_card_margin_left"-->
<!-- android:layout_marginRight="@dimen/tanlu_module_margin_right"-->
<!-- android:layout_marginLeft="@dimen/tanlu_module_card_margin_left">-->
android:layout_height="wrap_content">
<!-- android:background="@drawable/tanlu_gradual_change_bg"-->
<com.mogo.module.tanlu.view.RoundLayout
android:id="@+id/media_layout"
android:layout_width="@dimen/tanlu_module_card_video_width"
android:layout_height="match_parent"
android:layout_height="@dimen/tanlu_module_card_video_height"
android:layout_marginLeft="@dimen/tanlu_module_card_margin_left"
android:layout_marginTop="@dimen/tanlu_module_card_margin_left"
android:layout_marginRight="@dimen/tanlu_module_margin_right"
android:layout_marginBottom="@dimen/tanlu_module_card_margin_left"
android:background="@drawable/tanlu_gradual_change_bg">
android:background="@drawable/shape_tanlu_top_bg">
<com.mogo.module.tanlu.video.SimpleCoverVideoPlayer
android:id="@+id/video_player_main"
@@ -33,16 +22,23 @@
android:layout_centerInParent="true"
android:visibility="gone" />
<ImageView
<com.mogo.service.imageloader.MogoImageView
android:id="@+id/tanlu_photo_imageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerVertical="true"
tools:src="@drawable/tanlu_normal_image"
android:scaleType="fitXY" />
</com.mogo.module.tanlu.view.RoundLayout>
android:scaleType="center"
app:miv_failureHolder="@drawable/tanlu_icon_logo"
app:miv_overlayImageId="@drawable/tanlu_icon_logo"
app:miv_placeHolder="@drawable/tanlu_icon_logo" />
<!-- </RelativeLayout>-->
<!-- <ImageView-->
<!-- android:id="@+id/tanlu_photo_imageView"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"-->
<!-- android:layout_centerVertical="true"-->
<!-- android:src="@drawable/tanlu_normal_image"-->
<!-- android:scaleType="fitXY" />-->
</com.mogo.module.tanlu.view.RoundLayout>
<!--右侧数据-->
<RelativeLayout
@@ -125,7 +121,7 @@
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/tanlu_module_margin_right"
android:layout_toRightOf="@+id/tv_information_media_distance"
android:textColor="@color/color_99FFFFFF"
android:textColor="@color/color_time_FFFFFF"
android:textSize="@dimen/tanlu_module_card_address_size" />
</RelativeLayout>
@@ -141,16 +137,16 @@
android:layout_width="@dimen/tanlu_image_size"
android:layout_height="@dimen/tanlu_image_size"
android:layout_marginRight="@dimen/tanlu_module_margin_left"
android:visibility="gone"
android:src="@drawable/selector_chat_btn" />
android:src="@drawable/selector_chat_btn"
android:visibility="gone" />
<LinearLayout
android:id="@+id/tanlu_like_layout"
android:layout_width="@dimen/tanlu_image_size"
android:layout_height="@dimen/tanlu_image_size"
android:layout_toRightOf="@+id/tanlu_chat_imageView"
android:background="@drawable/icon_heart_like_bg"
android:gravity="center"
android:layout_toRightOf="@+id/tanlu_chat_imageView">
android:gravity="center">
<ImageView
android:id="@+id/tanlu_like_imageView"
@@ -164,8 +160,8 @@
android:id="@+id/tanlu_close_imageView"
android:layout_width="@dimen/tanlu_module_close_height"
android:layout_height="@dimen/tanlu_module_close_height"
android:layout_centerInParent="true"
android:layout_alignParentRight="true"
android:layout_marginTop="@dimen/tanlu_module_margin_right"
android:layout_marginRight="@dimen/tanlu_module_margin_right"
android:src="@drawable/selector_btn_close" />

View File

@@ -1,14 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="@dimen/tanlu_module_card_height"
android:layout_alignParentRight="true"
android:background="@drawable/tanlu_gradual_change_bg">
android:background="@drawable/tanlu_alert_window_bg">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/tanlu_rloop_recycleview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
android:layout_height="match_parent"
tools:listitem="@layout/tanlu_item_main_media_recycler_new"
/>
</RelativeLayout>

View File

@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--bottom top -->
<dimen name="tanlu_module_start_width">52px</dimen>
<dimen name="tanlu_module_start_height">52px</dimen>
<dimen name="tanlu_module_loading_width">48px</dimen>
<dimen name="tanlu_module_loading_height">48px</dimen>
<dimen name="tanlu_module_bottom_height">72px</dimen>
<dimen name="tanlu_module_bottom_margin">5px</dimen>
<dimen name="tanlu_module_full_start_width">56px</dimen>
<dimen name="tanlu_module_full_start_height">56px</dimen>
<dimen name="tanlu_module_full_loading_width">96px</dimen>
<dimen name="tanlu_module_full_loading_height">96px</dimen>
<dimen name="tanlu_module_full_bottom_height">90px</dimen>
<dimen name="tanlu_module_full_bottom_width">700px</dimen>
<dimen name="tanlu_module_full_bottom_margin">10px</dimen>
<dimen name="tanlu_module_full_top_height">72px</dimen>
<dimen name="tanlu_module_full_back_width">25px</dimen>
<dimen name="tanlu_module_full_back_height">25px</dimen>
<dimen name="tanlu_module_full_margin_left">16px</dimen>
<dimen name="tanlu_module_full_margin_right">48px</dimen>
<dimen name="tanlu_module_full_margin_top">22px</dimen>
<dimen name="tanlu_module_full_margin_width">700px</dimen>
<dimen name="tanlu_module_card_address_margin_top">5px</dimen>
<dimen name="tanlu_module_card_distance_margin_bottom">15px</dimen>
<dimen name="tanlu_module_card_distance_margin_top">2px</dimen>
<dimen name="tanlu_module_card_video_marginbottom">19px</dimen>
<dimen name="tanlu_module_card_previous_width">136px</dimen>
<dimen name="tanlu_module_card_previous_height">44px</dimen>
<dimen name="tanlu_module_card_empty_magintop">2px</dimen>
<dimen name="tanlu_module_card_empty_maginleft">109px</dimen>
<dimen name="tanlu_module_card_empty_tv_magintop">10px</dimen>
<dimen name="tanlu_module_card_empty_tv_magintop_2">23px</dimen>
<dimen name="tanlu_module_card_previous_margin_left">30px</dimen>
<dimen name="tanlu_module_card_next_margin_left">28px</dimen>
<dimen name="tanlu_module_logo_margin_left">16px</dimen>
<dimen name="tanlu_module_radius">22px</dimen>
<dimen name="tanlu_module_upload_radius">26px</dimen>
<!--播放器高度-->
<dimen name="tanlu_module_small_player_height">6px</dimen>
<dimen name="tanlu_module_map_left">400px</dimen>
<dimen name="tanlu_module_map_top">150px</dimen>
<dimen name="tanlu_module_map_right">80px</dimen>
<dimen name="tanlu_module_map_bottom">32px</dimen>
<dimen name="tanlu_module_upload_width">260px</dimen>
<dimen name="tanlu_module_map_bottom_height">44px</dimen>
<!--字体-->
<dimen name="tanlu_module_full_title_content">18px</dimen>
<dimen name="tanlu_module_full_title_time">14px</dimen>
<dimen name="tanlu_module_card_address_size">15px</dimen>
<dimen name="tanlu_module_card_distance_size">13px</dimen>
<dimen name="tanlu_module_card_next_size">16px</dimen>
<!--dialog-->
<dimen name="tanlu_dialog_width">418px</dimen>
<dimen name="tanlu_dialog_height">278px</dimen>
<dimen name="tanlu_dialog_button_height">69px</dimen>
<dimen name="tanlu_dialog_content_size">22px</dimen>
<dimen name="tanlu_dialog_margin_top">36px</dimen>
<dimen name="tanlu_dialog_first_margin_top">18px</dimen>
<dimen name="tanlu_dialog_margin_button_top">32px</dimen>
<dimen name="tanlu_dialog_neterror_button_top">20px</dimen>
<dimen name="tanlu_dialog_neterror_button_height">56px</dimen>
<dimen name="tanlu_dialog_neterror_margin_left">23px</dimen>
<dimen name="tanlu_dialog_radius">10px</dimen>
<dimen name="tanlu_dialog_neterror_radius">8px</dimen>
<!--new-->
<dimen name="tanlu_module_card_width">642px</dimen>
<dimen name="tanlu_module_card_height">186px</dimen>
<dimen name="tanlu_module_card_inner_height">176px</dimen>
<dimen name="tanlu_module_card_video_width">250px</dimen>
<dimen name="tanlu_module_card_video_height">172px</dimen>
<dimen name="tanlu_module_close_height">45px</dimen>
<dimen name="tanlu_module_card_margin_top">13px</dimen>
<dimen name="tanlu_module_card_margin_left">8px</dimen>
<dimen name="tanlu_module_margin_right">7px</dimen>
<dimen name="tanlu_module_margin_left">17px</dimen>
<dimen name="tanlu_module_margin_top">3px</dimen>
<dimen name="tanlu_module_mavi_height">18px</dimen>
<dimen name="tanlu_module_button_height">26px</dimen>
<dimen name="tanlu_head_image_size">28px</dimen>
<dimen name="tanlu_image_size">56px</dimen>
<dimen name="tanlu_button_radius_size">6px</dimen>
<dimen name="tanlu_normal_image_radius_size">16px</dimen>
</resources>

View File

@@ -25,7 +25,7 @@
<dimen name="tanlu_module_full_margin_top">40px</dimen>
<dimen name="tanlu_module_full_margin_width">800px</dimen>
<dimen name="tanlu_module_card_address_margin_top">14px</dimen>
<dimen name="tanlu_module_card_address_margin_top">11px</dimen>
<dimen name="tanlu_module_card_distance_margin_bottom">28px</dimen>
<dimen name="tanlu_module_card_distance_margin_top">4px</dimen>
<dimen name="tanlu_module_card_video_marginbottom">32px</dimen>
@@ -77,22 +77,23 @@
<!--new-->
<dimen name="tanlu_module_card_width">1233px</dimen>
<dimen name="tanlu_module_card_height">300px</dimen>
<dimen name="tanlu_module_card_height">326px</dimen>
<dimen name="tanlu_module_card_inner_height">306px</dimen>
<dimen name="tanlu_module_card_video_width">480px</dimen>
<dimen name="tanlu_module_card_video_height">270px</dimen>
<dimen name="tanlu_module_card_video_height">290px</dimen>
<dimen name="tanlu_module_close_height">80px</dimen>
<dimen name="tanlu_module_card_margin_top">20px</dimen>
<dimen name="tanlu_module_card_margin_left">15px</dimen>
<dimen name="tanlu_module_margin_right">25px</dimen>
<dimen name="tanlu_module_margin_left">15px</dimen>
<dimen name="tanlu_module_margin_top">5px</dimen>
<dimen name="tanlu_module_card_margin_top">19px</dimen>
<dimen name="tanlu_module_card_margin_left">12px</dimen>
<dimen name="tanlu_module_margin_right">24px</dimen>
<dimen name="tanlu_module_margin_left">30px</dimen>
<dimen name="tanlu_module_margin_top">9px</dimen>
<dimen name="tanlu_module_mavi_height">27px</dimen>
<dimen name="tanlu_module_button_height">46px</dimen>
<dimen name="tanlu_head_image_size">50px</dimen>
<dimen name="tanlu_image_size">90px</dimen>
<dimen name="tanlu_button_radius_size">6px</dimen>
<dimen name="tanlu_button_radius_size">10px</dimen>
<dimen name="tanlu_normal_image_radius_size">30px</dimen>
</resources>

View File

@@ -25,7 +25,7 @@
<dimen name="tanlu_module_full_margin_top">40px</dimen>
<dimen name="tanlu_module_full_margin_width">800px</dimen>
<dimen name="tanlu_module_card_address_margin_top">30px</dimen>
<dimen name="tanlu_module_card_address_margin_top">11px</dimen>
<dimen name="tanlu_module_card_distance_margin_bottom">28px</dimen>
<dimen name="tanlu_module_card_distance_margin_top">4px</dimen>
<dimen name="tanlu_module_card_video_marginbottom">32px</dimen>
@@ -77,22 +77,23 @@
<!--new-->
<dimen name="tanlu_module_card_width">1060px</dimen>
<dimen name="tanlu_module_card_height">350px</dimen>
<dimen name="tanlu_module_card_video_width">480px</dimen>
<dimen name="tanlu_module_card_video_height">320px</dimen>
<dimen name="tanlu_module_card_height">330px</dimen>
<dimen name="tanlu_module_card_inner_height">306px</dimen>
<dimen name="tanlu_module_card_video_width">421px</dimen>
<dimen name="tanlu_module_card_video_height">290px</dimen>
<dimen name="tanlu_module_close_height">80px</dimen>
<dimen name="tanlu_module_card_margin_top">23px</dimen>
<dimen name="tanlu_module_card_margin_left">15px</dimen>
<dimen name="tanlu_module_margin_right">25px</dimen>
<dimen name="tanlu_module_card_margin_top">19px</dimen>
<dimen name="tanlu_module_card_margin_left">13px</dimen>
<dimen name="tanlu_module_margin_right">24px</dimen>
<dimen name="tanlu_module_margin_left">15px</dimen>
<dimen name="tanlu_module_margin_top">10px</dimen>
<dimen name="tanlu_module_margin_top">9px</dimen>
<dimen name="tanlu_module_mavi_height">27px</dimen>
<dimen name="tanlu_module_button_height">46px</dimen>
<dimen name="tanlu_head_image_size">50px</dimen>
<dimen name="tanlu_image_size">98px</dimen>
<dimen name="tanlu_button_radius_size">6px</dimen>
<dimen name="tanlu_button_radius_size">10px</dimen>
<dimen name="tanlu_normal_image_radius_size">30px</dimen>
</resources>

View File

@@ -38,6 +38,7 @@
<color name="color_666666">#99666666</color>
<color name="color_999999">#999999</color>
<color name="color_99FFFFFF">#99FFFFFF</color>
<color name="color_time_FFFFFF">#99FFFFFF</color>
<color name="color_59FFFFFF">#59FFFFFF</color>
<color name="tanlu_white">#FFFFFF</color>
@@ -51,5 +52,7 @@
<color name="tanlu_dialog_bt_right_color">#50526E</color>
<color name="tanlu_top_bg_startcolor">#5E6079</color>
<color name="tanlu_top_bg_endcolor">#3F4057</color>
<color name="tanlu_555A_F5F5">#555A75</color>
<color name="tanlu_555A_F5F5F5">#F5F5F5</color>
</resources>

View File

@@ -25,7 +25,7 @@
<dimen name="tanlu_module_full_margin_width">700px</dimen>
<dimen name="tanlu_module_card_address_margin_top">10px</dimen>
<dimen name="tanlu_module_card_address_margin_top">5px</dimen>
<dimen name="tanlu_module_card_distance_margin_bottom">15px</dimen>
<dimen name="tanlu_module_card_distance_margin_top">2px</dimen>
<dimen name="tanlu_module_card_video_marginbottom">19px</dimen>
@@ -77,22 +77,23 @@
<!--new-->
<dimen name="tanlu_module_card_width">642px</dimen>
<dimen name="tanlu_module_card_height">194px</dimen>
<dimen name="tanlu_module_card_video_width">266px</dimen>
<dimen name="tanlu_module_card_video_height">194px</dimen>
<dimen name="tanlu_module_card_height">186px</dimen>
<dimen name="tanlu_module_card_inner_height">176px</dimen>
<dimen name="tanlu_module_card_video_width">250px</dimen>
<dimen name="tanlu_module_card_video_height">172px</dimen>
<dimen name="tanlu_module_close_height">45px</dimen>
<dimen name="tanlu_module_card_margin_top">16px</dimen>
<dimen name="tanlu_module_card_margin_top">13px</dimen>
<dimen name="tanlu_module_card_margin_left">8px</dimen>
<dimen name="tanlu_module_margin_right">13px</dimen>
<dimen name="tanlu_module_margin_left">15px</dimen>
<dimen name="tanlu_module_margin_top">10px</dimen>
<dimen name="tanlu_module_margin_right">7px</dimen>
<dimen name="tanlu_module_margin_left">17px</dimen>
<dimen name="tanlu_module_margin_top">3px</dimen>
<dimen name="tanlu_module_mavi_height">18px</dimen>
<dimen name="tanlu_module_button_height">26px</dimen>
<dimen name="tanlu_head_image_size">28px</dimen>
<dimen name="tanlu_image_size">56px</dimen>
<dimen name="tanlu_button_radius_size">3px</dimen>
<dimen name="tanlu_button_radius_size">6px</dimen>
<dimen name="tanlu_normal_image_radius_size">16px</dimen>
</resources>

View File

@@ -20,13 +20,6 @@ public class SpacesItemDecoration extends RecyclerView.ItemDecoration {
@Override
public void getItemOffsets(Rect outRect, View view,
RecyclerView parent, RecyclerView.State state) {
outRect.left = space;
outRect.right = space;
outRect.bottom = space;
// Add top margin only for the first item to avoid double space between items
if (parent.getChildPosition(view) == 0) {
outRect.top = space;
}
}
}

View File

@@ -87,16 +87,16 @@ public class V2XSurroundingAdapter extends RecyclerView.Adapter<V2XSurroundingVi
// .into(mBgImageView);
mBgImageView.setBackgroundResource(getTypeRes(surroundingConstruction.getPoiType()));
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()))
.apply(requestOptions)
.into(new SkinAbleBitmapTarget(mTypeImageView, requestOptions));
mTypeImageView.setBackgroundResource(getTypeSmallRes(surroundingConstruction.getPoiType()));
// 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()))
// .apply(requestOptions)
// .into(new SkinAbleBitmapTarget(mTypeImageView, requestOptions));
}
@@ -191,10 +191,10 @@ public class V2XSurroundingAdapter extends RecyclerView.Adapter<V2XSurroundingVi
typeName = "封路";
break;
case MarkerPoiTypeEnum.FOURS_ICE:
typeName = "结冰";
typeName = "路结冰";
break;
case MarkerPoiTypeEnum.FOURS_FOG:
typeName = "出现浓雾";
typeName = "浓雾";
break;
case MarkerPoiTypeEnum.TRAFFIC_CHECK:
typeName = "交通检查";
@@ -203,10 +203,10 @@ public class V2XSurroundingAdapter extends RecyclerView.Adapter<V2XSurroundingVi
typeName = "交通事故";
break;
case MarkerPoiTypeEnum.FOURS_BLOCK_UP:
typeName = "道路拥堵";
typeName = "拥堵";
break;
case MarkerPoiTypeEnum.FOURS_ROAD_WORK:
typeName = "道路施工";
typeName = "施工";
break;
case MarkerPoiTypeEnum.FOURS_PONDING:
typeName = "道路积水";

View File

@@ -1,7 +1,12 @@
package com.mogo.module.v2x.fragment
import android.content.Intent
import android.graphics.Typeface
import android.view.View
import android.widget.ImageView
import android.widget.RadioButton
import android.widget.RadioGroup
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.fragment.app.Fragment
import androidx.viewpager2.widget.ViewPager2
import com.google.android.material.tabs.TabLayoutMediator
@@ -11,14 +16,12 @@ import com.mogo.module.v2x.V2XConst.MODULE_NAME
import com.mogo.module.v2x.V2XServiceManager
import com.mogo.module.v2x.adapter.V2XEventPagerAdapter
import com.mogo.module.v2x.presenter.EventPanelPresenter
import com.mogo.module.v2x.presenter.ShareEventsPresenter
import com.mogo.module.v2x.utils.TrackUtils
import com.mogo.module.v2x.view.V2XEventPanelHistoryCountView
import com.mogo.module.v2x.voice.V2XVoiceCallbackListener
import com.mogo.module.v2x.voice.V2XVoiceConstants
import com.mogo.module.v2x.voice.V2XVoiceManager
import com.mogo.utils.logger.Logger
import kotlinx.android.synthetic.main.module_v2x_event_panel_fragment_event_panel.*
/**
@@ -38,6 +41,14 @@ class V2XEventPanelFragment : MvpFragment<V2XEventPanelFragment, EventPanelPrese
private var mV2XEventPanelHistoryCountView: V2XEventPanelHistoryCountView? = null
private var mClPanelContainer: ConstraintLayout? = null
private var mVpEventPanel: ViewPager2? = null
private var mRgTabSelect: RadioGroup? = null
private var mBtnHidePanels: ImageView? = null
private var mRbScenarioHistory: RadioButton? = null
private var mRbSurroundingEvent: RadioButton? = null
private var mRbShareEvents: RadioButton? = null
private val mV2XScenarioHistoryFragment = V2XScenarioHistoryFragment()
private val mV2XShareEventsFragment = V2XShareEventsFragment()
@@ -51,7 +62,7 @@ class V2XEventPanelFragment : MvpFragment<V2XEventPanelFragment, EventPanelPrese
// 打开出行动态TAB
private val mCheckHistoryEventCb = V2XVoiceCallbackListener { command: String?, intent: Intent? ->
try {
rbScenarioHistory?.isChecked = true
mRbScenarioHistory?.isChecked = true
} catch (e: java.lang.Exception) {
e.printStackTrace()
}
@@ -60,7 +71,7 @@ class V2XEventPanelFragment : MvpFragment<V2XEventPanelFragment, EventPanelPrese
// 打开周边事件TAB
private val mCheckSurroundingCb = V2XVoiceCallbackListener { command: String?, intent: Intent? ->
try {
rbSurroundingEvent?.isChecked = true
mRbSurroundingEvent?.isChecked = true
} catch (e: java.lang.Exception) {
e.printStackTrace()
}
@@ -69,7 +80,7 @@ class V2XEventPanelFragment : MvpFragment<V2XEventPanelFragment, EventPanelPrese
// 打开我的分享TAB
private val mCheckShearEventCb = V2XVoiceCallbackListener { command: String?, intent: Intent? ->
try {
rbShareEvents?.isChecked = true
mRbShareEvents?.isChecked = true
} catch (e: java.lang.Exception) {
e.printStackTrace()
}
@@ -92,48 +103,75 @@ class V2XEventPanelFragment : MvpFragment<V2XEventPanelFragment, EventPanelPrese
override fun initViews() {
Logger.d(MODULE_NAME, "事件面板初始化……")
try {
mClPanelContainer = mRootView.findViewById(R.id.clPanelContainer)
mVpEventPanel = mRootView.findViewById(R.id.vpEventPanel)
mRgTabSelect = mRootView.findViewById(R.id.rgTabSelect)
mBtnHidePanels = mRootView.findViewById(R.id.btnHidePanels)
mRbScenarioHistory = mRootView.findViewById(R.id.rbScenarioHistory)
mRbSurroundingEvent = mRootView.findViewById(R.id.rbSurroundingEvent)
mRbShareEvents = mRootView.findViewById(R.id.rbShareEvents)
fragments = arrayOf(
mV2XScenarioHistoryFragment,
V2XSurroundingFragment(),
mV2XShareEventsFragment
)
//禁用预加载
vpEventPanel.offscreenPageLimit = ViewPager2.OFFSCREEN_PAGE_LIMIT_DEFAULT
vpEventPanel.adapter = V2XEventPagerAdapter(this, fragments!!)
vpEventPanel.isUserInputEnabled = false; //true:滑动false禁止滑动
mVpEventPanel?.offscreenPageLimit = ViewPager2.OFFSCREEN_PAGE_LIMIT_DEFAULT
mVpEventPanel?.adapter = V2XEventPagerAdapter(this, fragments!!)
mVpEventPanel?.isUserInputEnabled = false; //true:滑动false禁止滑动
rgTabSelect?.setOnCheckedChangeListener { group, checkedId ->
mRgTabSelect?.setOnCheckedChangeListener { group, checkedId ->
when (checkedId) {
R.id.rbScenarioHistory -> {
// 更改选中是否加粗
mRbScenarioHistory?.typeface = Typeface.defaultFromStyle(Typeface.BOLD)
mRbSurroundingEvent?.typeface = Typeface.defaultFromStyle(Typeface.NORMAL)
mRbShareEvents?.typeface = Typeface.defaultFromStyle(Typeface.NORMAL)
TrackUtils.trackV2xHistoryEvent(2)
vpEventPanel.setCurrentItem(0, false)
mVpEventPanel?.setCurrentItem(0, false)
}
R.id.rbSurroundingEvent -> {
// 更改选中是否加粗
mRbScenarioHistory?.typeface = Typeface.defaultFromStyle(Typeface.NORMAL)
mRbSurroundingEvent?.typeface = Typeface.defaultFromStyle(Typeface.BOLD)
mRbShareEvents?.typeface = Typeface.defaultFromStyle(Typeface.NORMAL)
TrackUtils.trackV2xHistoryEvent(3)
vpEventPanel.setCurrentItem(1, false)
mVpEventPanel?.setCurrentItem(1, false)
}
R.id.rbShareEvents -> {
// 更改选中是否加粗
mRbScenarioHistory?.typeface = Typeface.defaultFromStyle(Typeface.NORMAL)
mRbSurroundingEvent?.typeface = Typeface.defaultFromStyle(Typeface.NORMAL)
mRbShareEvents?.typeface = Typeface.defaultFromStyle(Typeface.BOLD)
TrackUtils.trackV2xHistoryEvent(4)
vpEventPanel.setCurrentItem(2, false)
mVpEventPanel?.setCurrentItem(2, false)
}
}
}
btnHidePanels.setOnClickListener {
mBtnHidePanels?.setOnClickListener {
TrackUtils.trackV2xHistoryEvent(5)
hidePanel()
}
mV2XEventPanelHistoryCountView = V2XEventPanelHistoryCountView(context)
mV2XEventPanelHistoryCountView!!.setOnClickListener {
if (clPanelContainer != null) {
if (mClPanelContainer == null) {
mClPanelContainer = mRootView.findViewById(R.id.clPanelContainer);
}
if (mClPanelContainer != null) {
if (!isPanelShow()) {
TrackUtils.trackV2xHistoryEvent(1)
showPanel()
}
}
}
V2XServiceManager.getMogoEntranceButtonController().addBottomLayerView(mV2XEventPanelHistoryCountView)
V2XServiceManager.getMogoEntranceButtonController()
.addBottomLayerView(mV2XEventPanelHistoryCountView)
changeEventCount()
} catch (e: Exception) {
e.printStackTrace()
@@ -151,7 +189,7 @@ class V2XEventPanelFragment : MvpFragment<V2XEventPanelFragment, EventPanelPrese
fun showPanel() {
Logger.d(MODULE_NAME, "in fragment show panel")
clPanelContainer.visibility = View.VISIBLE
mClPanelContainer?.visibility = View.VISIBLE
// 注册语音交互
V2XVoiceManager.registerUnWakeVoice(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_OPEN_HISTORY_EVENT_UN_WAKEUP, mCheckHistoryEventCb)
.registerUnWakeVoice(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_OPEN_SURROUNDING_EVENT_UN_WAKEUP, mCheckSurroundingCb)
@@ -171,7 +209,7 @@ class V2XEventPanelFragment : MvpFragment<V2XEventPanelFragment, EventPanelPrese
fun hidePanel() {
Logger.d(MODULE_NAME, "in fragment hide panel")
clPanelContainer.visibility = View.GONE
mClPanelContainer?.visibility = View.GONE
// 注册语音交互
V2XVoiceManager.unRegisterUnWakeVoice(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_OPEN_HISTORY_EVENT_UN_WAKEUP)
.unRegisterUnWakeVoice(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_OPEN_SURROUNDING_EVENT_UN_WAKEUP)
@@ -180,7 +218,7 @@ class V2XEventPanelFragment : MvpFragment<V2XEventPanelFragment, EventPanelPrese
}
fun isPanelShow(): Boolean {
return clPanelContainer.visibility == View.VISIBLE
return mClPanelContainer?.visibility == View.VISIBLE
}
// 修改未处理消息

View File

@@ -106,11 +106,11 @@ public class V2XSurroundingFragment extends MvpFragment<SurroundingEventView, Su
mShareTv.setOnClickListener(this);
mFreshTv.setOnClickListener(this);
mRecyclerView.setHasFixedSize(true);
// mRecyclerView.setHasFixedSize(true);
mRecyclerView.setOverScrollMode(OVER_SCROLL_NEVER);
GridLayoutManager layoutManage = new GridLayoutManager(getContext(), 2);
int spacingInPixels = getContext().getResources().getDimensionPixelSize(R.dimen.module_v2x_surrounding_item_bottom_right_textsize);
mRecyclerView.addItemDecoration(new SurroundingMarginDecoration(spacingInPixels));
// int spacingInPixels = getContext().getResources().getDimensionPixelSize(R.dimen.module_v2x_surrounding_item_bottom_right_textsize);
// mRecyclerView.addItemDecoration(new SurroundingMarginDecoration(spacingInPixels));
mRecyclerView.setLayoutManager(layoutManage);
mAdapter = new V2XSurroundingAdapter(getActivity(), poiInfosList, this);

View File

@@ -9,6 +9,8 @@ import android.util.AttributeSet;
import android.widget.RelativeLayout;
import com.mogo.module.v2x.R;
import com.mogo.skin.support.IMogoSkinCompatSupportable;
import com.mogo.skin.support.helper.MogoSkinCompatBackgroundHelperDelegate;
/**
* author : donghongyu
@@ -17,29 +19,34 @@ import com.mogo.module.v2x.R;
* desc :
* version: 1.0
*/
public class RoundLayout extends RelativeLayout {
public class RoundLayout extends RelativeLayout implements IMogoSkinCompatSupportable {
private float roundLayoutRadius = 14f;
private Path roundPath;
private RectF rectF;
private MogoSkinCompatBackgroundHelperDelegate mBackgroundTintHelper;
public RoundLayout(Context context) {
this(context, null);
}
public RoundLayout(Context context, AttributeSet attrs, int defStyleAttr) {
this(context, attrs);
public RoundLayout(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public RoundLayout(Context context, AttributeSet attrs) {
super(context, attrs);
public RoundLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.RoundLayout);
roundLayoutRadius = typedArray.getDimensionPixelSize(R.styleable.RoundLayout_roundLayoutRadius, (int) roundLayoutRadius);
typedArray.recycle();
init();
mBackgroundTintHelper = new MogoSkinCompatBackgroundHelperDelegate(this);
mBackgroundTintHelper.loadFromAttributes(attrs, defStyleAttr);
}
private void init() {
setWillNotDraw(false);//如果你继承的是ViewGroup,注意此行,否则draw方法是不会回调的;
roundPath = new Path();
@@ -72,5 +79,12 @@ public class RoundLayout extends RelativeLayout {
}
super.draw(canvas);
}
@Override
public void applySkin() {
if (mBackgroundTintHelper != null) {
mBackgroundTintHelper.applySkin();
}
}
}

View File

@@ -25,6 +25,7 @@ import com.mogo.module.v2x.voice.V2XVoiceCallbackListener;
import com.mogo.module.v2x.voice.V2XVoiceConstants;
import com.mogo.module.v2x.voice.V2XVoiceManager;
import com.mogo.skin.support.IMogoSkinCompatSupportable;
import com.mogo.skin.support.helper.MogoSkinCompatBackgroundHelperDelegate;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.utils.GsonUtil;
import com.tencent.rtmp.ITXLivePlayListener;
@@ -51,6 +52,8 @@ public class V2XLiveGSYVideoView extends RoundLayout implements IMogoSkinCompatS
private ConstraintLayout mClLoadError;
private TextView mTvRefreshButton;
private MogoSkinCompatBackgroundHelperDelegate mBackgroundTintHelper;
private MarkerCarInfo.CarLiveInfo mCarLiveInfo;
// 重新刷新直播流
private V2XVoiceCallbackListener v2XVoiceCallbackRefreshListener = new V2XVoiceCallbackListener() {
@@ -76,6 +79,9 @@ public class V2XLiveGSYVideoView extends RoundLayout implements IMogoSkinCompatS
public V2XLiveGSYVideoView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initView(context);
mBackgroundTintHelper = new MogoSkinCompatBackgroundHelperDelegate(this);
mBackgroundTintHelper.loadFromAttributes(attrs, defStyleAttr);
}
private void initView(Context context) {
@@ -282,6 +288,8 @@ public class V2XLiveGSYVideoView extends RoundLayout implements IMogoSkinCompatS
@Override
public void applySkin() {
if (mBackgroundTintHelper != null) {
mBackgroundTintHelper.applySkin();
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 588 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 589 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 839 B

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 787 B

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 859 B

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 818 B

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 977 B

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 908 B

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 499 B

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 790 B

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 749 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

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="@dimen/dp_21"/>
<corners android:radius="@dimen/dp_24"/>
<gradient
android:startColor="#5E6079"
android:endColor="#3F4057"

View File

@@ -2,6 +2,5 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#1F2131"/>
<corners android:radius="@dimen/dp_24"/>
<corners android:radius="@dimen/dp_30"/>
</shape>

View File

@@ -1,11 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="@dimen/dp_40" />
<gradient
android:angle="135"
android:endColor="#3F4057"
android:startColor="#5E6079"
android:type="linear"
android:useLevel="true" />
</shape>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!---->
<item>
<shape android:shape="rectangle">
<padding
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
android:top="2dp" />
<solid android:color="#00000000" />
<corners android:radius="@dimen/dp_26" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<padding
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
android:top="2dp" />
<solid android:color="#00000000" />
<corners android:radius="@dimen/dp_26" />
</shape>
</item>
<!-- 中心背景 -->
<item>
<shape android:shape="rectangle">
<corners android:radius="@dimen/dp_26" />
<gradient
android:angle="135"
android:endColor="#3F4057"
android:startColor="#5E6079"
android:type="linear"
android:useLevel="true" />
</shape>
</item>
</layer-list>

View File

@@ -3,5 +3,5 @@
<gradient
android:startColor="#10121E"
android:endColor="#10121E"/>
<corners android:radius="28.8px"/>
<corners android:radius="@dimen/dp_40"/>
</shape>

View File

@@ -5,29 +5,29 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/v2x_alert_window_bg"
android:paddingStart="@dimen/dp_15"
android:paddingTop="@dimen/dp_15"
android:paddingBottom="@dimen/dp_15"
app:roundLayoutRadius="@dimen/dp_40">
android:paddingTop="@dimen/dp_20"
android:paddingBottom="@dimen/dp_20"
app:roundLayoutRadius="@dimen/dp_30">
<com.mogo.module.v2x.view.RoundLayout
android:id="@+id/rlRoadEventImg"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginStart="@dimen/dp_20"
android:background="@color/v2x_555A_F5F5"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:roundLayoutRadius="@dimen/dp_40">
app:roundLayoutRadius="@dimen/dp_18">
<com.mogo.service.imageloader.MogoImageView
android:id="@+id/ivEventImg"
android:layout_width="@dimen/module_v2x_event_image_width"
android:layout_height="@dimen/module_v2x_event_image_height"
android:scaleType="center"
app:miv_failureHolder="@drawable/icon_default_black_logo"
app:miv_overlayImageId="@drawable/icon_default_black_logo"
app:miv_placeHolder="@drawable/icon_default_black_logo" />
app:miv_failureHolder="@drawable/v2x_icon_live_logo"
app:miv_overlayImageId="@drawable/v2x_icon_live_logo"
app:miv_placeHolder="@drawable/v2x_icon_live_logo" />
<ImageView
android:id="@+id/ivEventPlay"
@@ -61,15 +61,15 @@
android:id="@+id/tvEventAddress"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_5"
android:layout_marginRight="@dimen/dp_30"
android:ellipsize="end"
android:maxLines="1"
android:textColor="@color/v2x_FFF_333"
android:textSize="@dimen/dp_36"
app:layout_constraintEnd_toStartOf="@+id/ivEventHead"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/tvEventTypeTitle"
app:layout_constraintTop_toBottomOf="@+id/tvEventTypeTitle"
tools:text="东城区北三环中路辅路小黄庄路口" />
@@ -77,7 +77,7 @@
android:id="@+id/ivEventDistanceLogo"
android:layout_width="@dimen/dp_35"
android:layout_height="@dimen/dp_35"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_5"
android:src="@drawable/v2x_icon_help_navi"
app:layout_constraintStart_toStartOf="@id/tvEventTypeTitle"
app:layout_constraintTop_toBottomOf="@+id/tvEventAddress" />
@@ -112,7 +112,7 @@
android:id="@+id/ivEventHead"
android:layout_width="@dimen/dp_55"
android:layout_height="@dimen/dp_55"
android:layout_marginEnd="@dimen/dp_33"
android:layout_marginEnd="@dimen/dp_28"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/tvEventTypeTitle"
app:miv_borderColor="#4cffffff"
@@ -122,77 +122,87 @@
app:miv_shape="circle"
app:miv_shapeBorderWidth="@dimen/dp_4" />
<ImageView
android:id="@+id/ivEventLive"
android:layout_width="@dimen/module_v2x_event_button_size_detail"
android:layout_height="@dimen/module_v2x_event_button_size_detail"
android:layout_marginLeft="@dimen/dp_10"
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:padding="@dimen/dp_10"
android:src="@drawable/selector_live_btn"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/rlRoadEventImg"
android:gravity="center"
android:orientation="horizontal"
app:layout_constraintStart_toEndOf="@+id/rlRoadEventImg"
tools:visibility="visible" />
app:layout_constraintTop_toBottomOf="@+id/ivEventDistanceLogo">
<ImageView
android:id="@+id/ivEventReportTrue"
android:layout_width="@dimen/module_v2x_event_button_size_detail"
android:layout_height="@dimen/module_v2x_event_button_size_detail"
android:padding="@dimen/dp_10"
android:scaleType="fitXY"
android:src="@drawable/icon_report_true"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/ivEventLive"
app:layout_constraintStart_toEndOf="@id/ivEventLive"
app:layout_goneMarginLeft="@dimen/dp_10"
tools:visibility="visible" />
<ImageView
android:id="@+id/ivEventLive"
android:layout_width="@dimen/module_v2x_event_button_size_detail"
android:layout_height="@dimen/module_v2x_event_button_size_detail"
android:layout_marginLeft="@dimen/dp_10"
android:padding="@dimen/dp_15"
android:src="@drawable/selector_live_btn"
android:visibility="gone"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
<ImageView
android:id="@+id/ivEventReportErr"
android:layout_width="@dimen/module_v2x_event_button_size_detail"
android:layout_height="@dimen/module_v2x_event_button_size_detail"
android:padding="@dimen/dp_10"
android:src="@drawable/icon_report_err"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/ivEventLive"
app:layout_constraintStart_toEndOf="@id/ivEventReportTrue"
app:layout_goneMarginLeft="@dimen/dp_10"
tools:visibility="visible" />
<ImageView
android:id="@+id/ivEventReportTrue"
android:layout_width="@dimen/module_v2x_event_button_size_detail"
android:layout_height="@dimen/module_v2x_event_button_size_detail"
android:padding="@dimen/dp_15"
android:scaleType="fitXY"
android:src="@drawable/icon_report_true"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/ivEventLive"
app:layout_constraintStart_toEndOf="@id/ivEventLive"
app:layout_goneMarginLeft="@dimen/dp_10"
tools:visibility="visible" />
<ImageView
android:id="@+id/ivEventCallChart"
android:layout_width="@dimen/module_v2x_event_button_size_detail"
android:layout_height="@dimen/module_v2x_event_button_size_detail"
android:padding="@dimen/dp_10"
android:src="@drawable/selector_talk_btn"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/ivEventLive"
app:layout_constraintStart_toEndOf="@id/ivEventReportErr"
app:layout_goneMarginLeft="@dimen/dp_10"
tools:visibility="visible" />
<ImageView
android:id="@+id/ivEventReportErr"
android:layout_width="@dimen/module_v2x_event_button_size_detail"
android:layout_height="@dimen/module_v2x_event_button_size_detail"
android:padding="@dimen/dp_15"
android:src="@drawable/icon_report_err"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/ivEventLive"
app:layout_constraintStart_toEndOf="@id/ivEventReportTrue"
app:layout_goneMarginLeft="@dimen/dp_10"
tools:visibility="visible" />
<ImageView
android:id="@+id/ivEventEventNav"
android:layout_width="@dimen/module_v2x_event_button_size_detail"
android:layout_height="@dimen/module_v2x_event_button_size_detail"
android:padding="@dimen/dp_10"
android:src="@drawable/selector_nav_btn"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/ivEventLive"
app:layout_constraintStart_toEndOf="@id/ivEventCallChart"
app:layout_goneMarginLeft="@dimen/dp_10"
tools:visibility="visible" />
<ImageView
android:id="@+id/ivEventCallChart"
android:layout_width="@dimen/module_v2x_event_button_size_detail"
android:layout_height="@dimen/module_v2x_event_button_size_detail"
android:padding="@dimen/dp_15"
android:src="@drawable/selector_talk_btn"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/ivEventLive"
app:layout_constraintStart_toEndOf="@id/ivEventReportErr"
app:layout_goneMarginLeft="@dimen/dp_10"
tools:visibility="visible" />
<ImageView
android:id="@+id/ivEventEventNav"
android:layout_width="@dimen/module_v2x_event_button_size_detail"
android:layout_height="@dimen/module_v2x_event_button_size_detail"
android:padding="@dimen/dp_15"
android:src="@drawable/selector_nav_btn"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/ivEventLive"
app:layout_constraintStart_toEndOf="@id/ivEventCallChart"
app:layout_goneMarginLeft="@dimen/dp_10"
tools:visibility="visible" />
<ImageView
android:id="@+id/ivEventZan"
android:layout_width="@dimen/module_v2x_event_button_size_detail"
android:layout_height="@dimen/module_v2x_event_button_size_detail"
android:padding="@dimen/dp_15"
android:src="@drawable/v2x_event_icon_zan"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/ivEventLive"
app:layout_constraintStart_toEndOf="@id/ivEventEventNav"
app:layout_goneMarginLeft="@dimen/dp_10"
tools:visibility="visible" />
</LinearLayout>
<ImageView
android:id="@+id/ivEventZan"
android:layout_width="@dimen/module_v2x_event_button_size_detail"
android:layout_height="@dimen/module_v2x_event_button_size_detail"
android:padding="@dimen/dp_10"
android:src="@drawable/v2x_event_icon_zan"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/ivEventLive"
app:layout_constraintStart_toEndOf="@id/ivEventEventNav"
app:layout_goneMarginLeft="@dimen/dp_10"
tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -7,7 +7,7 @@
android:background="@drawable/v2x_alert_window_bg"
android:gravity="center"
app:roundLayoutRadius="@dimen/dp_40"
tools:layout_height="@dimen/dp_382">
tools:layout_height="@dimen/module_v2x_event_window_height">
<ImageView
android:layout_width="@dimen/dp_110"

Some files were not shown because too many files have changed in this diff Show More