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

This commit is contained in:
wangcongtao
2020-01-15 22:48:55 +08:00
15 changed files with 298 additions and 145 deletions

View File

@@ -11,17 +11,20 @@ import java.util.List;
*/
public class RefreshBody {
public List< String > dataType = new ArrayList<>();
public int limit = 50;// 请求数量
public int radius = 2_000; // 地理围栏半径(米)
public LatLon location;
public List<String> dataType = new ArrayList<>(); // 要查询的类型
public int limit = 50; // 请求数量
public int radius = 2_000; // 地理围栏半径(米)
public LatLon location; // 坐标
public boolean onlyFocus; // 是否仅查询已关注的好友
public boolean onlySameCity; // 是否仅查询注册城市相同的同城用户
public static class LatLon {
private double lat;
private double lon;
public LatLon( double lat, double lon ) {
public LatLon(double lat, double lon) {
this.lat = lat;
this.lon = lon;
}

View File

@@ -7,14 +7,13 @@ import com.mogo.commons.data.BaseData;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.network.ParamsProvider;
import com.mogo.commons.network.SubscribeImpl;
import com.mogo.commons.network.Utils;
import com.mogo.map.MogoLatLng;
import com.mogo.module.service.ServiceConst;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.network.IMogoNetwork;
import com.mogo.utils.network.RequestOptions;
import com.mogo.utils.network.utils.GsonUtil;
import java.util.HashMap;
import java.util.Map;
import io.reactivex.android.schedulers.AndroidSchedulers;
@@ -36,14 +35,14 @@ public class RefreshModel {
private final Context mContext;
private RefreshApiService mRefreshApiService;
public RefreshModel( Context context ) {
public RefreshModel(Context context) {
this.mContext = context;
IMogoNetwork network = ( IMogoNetwork ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_NETWORK ).navigation( context );
this.mRefreshApiService = network.create( RefreshApiService.class, getNetHost() );
IMogoNetwork network = (IMogoNetwork) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_NETWORK).navigation(context);
this.mRefreshApiService = network.create(RefreshApiService.class, getNetHost());
}
private String getNetHost() {
switch ( DebugConfig.getNetMode() ) {
switch (DebugConfig.getNetMode()) {
case DebugConfig.NET_MODE_DEV:
return HOST_DEV;
case DebugConfig.NET_MODE_QA:
@@ -53,34 +52,82 @@ public class RefreshModel {
}
}
public void refreshData( MogoLatLng latLng, int radius, final RefreshCallback callback ) {
if ( mRefreshApiService != null ) {
final Map< String, Object > query = new ParamsProvider.Builder( mContext ).build();
public void refreshData(MogoLatLng latLng, int radius, final RefreshCallback callback) {
if (mRefreshApiService != null) {
final Map<String, Object> query = new ParamsProvider.Builder(mContext).build();
final RefreshBody refreshBody = new RefreshBody();
refreshBody.limit = 5;
refreshBody.location = new RefreshBody.LatLon( latLng.lat, latLng.lng );
refreshBody.location = new RefreshBody.LatLon(latLng.lat, latLng.lng);
refreshBody.radius = radius;
query.put( "data", GsonUtil.jsonFromObject( refreshBody ) );
mRefreshApiService.refreshData( query )
.subscribeOn( Schedulers.io() )
.observeOn( AndroidSchedulers.mainThread() )
.subscribe( new SubscribeImpl< BaseData >( RequestOptions.create( mContext ) ) {
query.put("data", GsonUtil.jsonFromObject(refreshBody));
mRefreshApiService.refreshData(query)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<BaseData>(RequestOptions.create(mContext)) {
@Override
public void onSuccess( BaseData o ) {
super.onSuccess( o );
if ( callback != null ) {
public void onSuccess(BaseData o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess();
}
}
@Override
public void onError( String message, int code ) {
super.onError( message, code );
if ( callback != null ) {
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
callback.onFail();
}
}
} );
});
}
}
/**
* 查询在线车辆
*
* @param latLng 经纬度
* @param radius 半径
* @param onlyFocus 是否仅查询已关注的好友
* @param onlySameCity 是否仅查询注册城市相同的同城用户
* @param callback
*/
public void queryOnLineCar(MogoLatLng latLng,
int radius,
boolean onlyFocus,
boolean onlySameCity,
final RefreshCallback callback) {
if (mRefreshApiService != null) {
final Map<String, Object> query = new ParamsProvider.Builder(mContext).build();
final RefreshBody refreshBody = new RefreshBody();
refreshBody.limit = 5;
refreshBody.location = new RefreshBody.LatLon(latLng.lat, latLng.lng);
refreshBody.radius = radius;
refreshBody.onlyFocus = onlyFocus;
refreshBody.onlySameCity = onlySameCity;
refreshBody.dataType.add(ServiceConst.CARD_TYPE_USER_DATA);
query.put("data", GsonUtil.jsonFromObject(refreshBody));
mRefreshApiService.refreshData(query)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<BaseData>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(BaseData o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess();
}
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
callback.onFail();
}
}
});
}
}
}

View File

@@ -14,6 +14,13 @@
</intent-filter>
</receiver>
<receiver android:name=".receiver.PushReceiver">
<intent-filter>
<action android:name="com.zhidao.roadcondition.split" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
</application>
</manifest>

View File

@@ -13,6 +13,10 @@ public class TanluConstants {
public static final String MODEL_NAME = "CARD_TYPE_ROAD_CONDITION";
public static final String UPLOAD_ROAD_CONDITION = "upload_road_condition";
public static final String UPLOAD_ROAD_CONDITION = "command_upload_roadcondition";
public static final String SPECIFIEDROAD_SEARCH = "com.zhidao.pathfinder.specifiedroad.search";
public static final String NEARBYROAD_SEARCH = "com.zhidao.pathfinder.nearbyroad.search";
}

View File

@@ -63,6 +63,7 @@ import com.mogo.module.tanlu.model.PathLineResult;
import com.mogo.module.tanlu.model.TanluModelData;
import com.mogo.module.tanlu.model.VoiceSearchResult;
import com.mogo.module.tanlu.model.event.MarkerInfo;
import com.mogo.module.tanlu.model.event.PushTypeInfo;
import com.mogo.module.tanlu.util.Utils;
import com.mogo.module.tanlu.video.FullMediaActivity;
import com.mogo.module.tanlu.video.SimpleCoverVideoPlayer;
@@ -85,6 +86,7 @@ import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
@@ -130,8 +132,8 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
//media
private GSYVideoOptionBuilder gsyVideoOptionBuilder = new GSYVideoOptionBuilder();
private String mVideoUrl = "http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8";
private String mImageUrl = "https://oimagec4.ydstatic.com/image?id=-5397300958976572132&product=adpublish&w=520&h=347";
private String mVideoUrl = "";
private String mImageUrl = "";
private String mTitle = "";
private long mGenerateTime = 0;
private IMogoImageloader mogoImageloader;
@@ -152,6 +154,7 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
private List<MogoLatLng> passedByPoints;
private IMogoRegisterCenter mMogoRegisterCenter;
private String mKeywords;
private boolean isCurrentPage;
@Override
@@ -180,9 +183,7 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
simpleCoverVideoPlayer.setVisibility(View.VISIBLE);
autoZoomInImageView.setVisibility(View.GONE);
//视频配置 TODO 需要去掉
// gsyVideoOptionBuilder.setUrl(mVideoUrl).setCacheWithPlay(false).setPlayTag(TAG)
// .build(simpleCoverVideoPlayer);
//视频点击
simpleCoverVideoPlayer.getStartButton().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -293,16 +294,13 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
getViewLifecycleOwner().getLifecycle().addObserver(mPresenter);
Logger.d(TAG, "onActivityCreated -------> ");
EventBus.getDefault().register(this);
initInterface();
initModelData();
handleRoadLineMessage();
initMap();
initStrings();
initListener();
//TODO切换探路卡片
// iMogoCardManager.switch2(TanluConstants.MODEL_NAME);
}
private void initModelData() {
@@ -358,11 +356,16 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
@Override
public boolean onMarkerClicked(IMogoMarker marker) {
//点击marker以后确认他的位置然后点击下一个操作 TODO
mEmptyLayout.setVisibility(View.GONE);
mRootLayout.setVisibility(View.VISIBLE);
Logger.d(TAG, "onMarkerClicked registerMogoMarkerClickListener = ");
MarkerExploreWay exploreWay = extractFromMarker(marker);
if (exploreWay == null) {
return false;
}
//TODO 自己打的点,需要重新
if (exploreWay.getFileType() == 0) { //图片
refreshPhotoData(exploreWay);
} else if (exploreWay.getFileType() == 1) { //视频
@@ -404,13 +407,17 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
* 注册listener监听
*/
private void initListener() {
Logger.d(TAG, " initListener ------> ");
//某某路堵不堵,某某地点堵不堵,附近堵不堵,播放路况 TODO
//唤醒
mogoIntentManager.registerIntentListener(MogoReceiver.ADAS_ACTION, mogoIntentListener);
mogoIntentManager.registerIntentListener(TanluConstants.UPLOAD_ROAD_CONDITION, mogoIntentListener);
mogoIntentManager.registerIntentListener(TanluConstants.SPECIFIEDROAD_SEARCH, mogoIntentListener);
mogoIntentManager.registerIntentListener(TanluConstants.NEARBYROAD_SEARCH, mogoIntentListener);
//免唤醒
AIAssist.getInstance(getActivity()).registerUnWakeupCommandCallback(TanluConstants.UPLOAD_ROAD_CONDITION, mogoVoiceListener);
// AIAssist.getInstance(getActivity()).registerUnWakeupCommandCallback(TanluConstants.UPLOAD_ROAD_CONDITION, mogoVoiceListener);
}
/**
* 唤醒语音
*/
@@ -419,10 +426,41 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
public void onIntentReceived(String intentStr, Intent intent) {
String data = intent.getStringExtra("data");
Logger.e(TAG, "唤醒 mogoIntentListener intentStr =" + intentStr + ">>data =" + data);
if (intentStr.equals(TanluConstants.SPECIFIEDROAD_SEARCH)) { //地点堵不堵
if (!isCurrentPage) {
//切换探路卡片
iMogoCardManager.switch2(TanluConstants.MODEL_NAME);
}
try {
JSONObject jsonObject = new JSONObject(data);
mKeywords = jsonObject.get("location").toString();
Logger.d(TAG, "mogoIntentListener specified mKeywords = " + mKeywords);
handleActionFoo(mKeywords);
} catch (Exception e) {
e.printStackTrace();
}
} else if (intentStr.equals(TanluConstants.NEARBYROAD_SEARCH)) { //附近
if (!isCurrentPage) {
//切换探路卡片
iMogoCardManager.switch2(TanluConstants.MODEL_NAME);
}
try {
JSONObject jsonObject = new JSONObject(data);
mKeywords = jsonObject.get("location").toString();
Logger.d(TAG, "mogoIntentListener nearby mKeywords = " + mKeywords);
handleActionFoo(mKeywords);
} catch (Exception e) {
e.printStackTrace();
}
} else if (intentStr.equals(TanluConstants.UPLOAD_ROAD_CONDITION)) { //上报路况
sendShareReceiver("1");
// } else if (intentStr.equals()) { //
}
JsonObject jsonObject = new JsonObject();
mKeywords = jsonObject.get("location").toString();
handleActionFoo(mKeywords);
}
};
@@ -435,8 +473,7 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
public void onCmdSelected(String cmd) {
Logger.e(TAG, "免唤醒 onCmdSelected mogoVoiceListener cmd =" + cmd);
if (cmd.equals(TanluConstants.UPLOAD_ROAD_CONDITION)) {
//
Logger.d(TAG, "");
sendShareReceiver("1");
}
}
@@ -476,30 +513,6 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
}
/**
* 处理路线数据信息msgType
*/
private void handleRoadLineMessage() {
// mMogoSocketManager = (IMogoSocketManager) ARouter.getInstance().build(MogoServicePaths.PATH_SOCKET_MANAGER).navigation();
// mMogoSocketManager.registerOnMessageListener(401005, new IMogoOnMessageListener<MarkerResponse>() {
// @Override
// public Class<MarkerResponse> target() {
// return MarkerResponse.class;
// }
//
// @Override
// public void onMsgReceived(MarkerResponse obj) {
// Logger.e(TAG, "handleRoadLineMessage onMsgReceived obj= " + obj);
// }
// });
//TODO 广播类型判断
// getNavigationLineData();
// getRoadLineData();
}
/**
* @param view
*/
@@ -612,6 +625,7 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
simpleCoverVideoPlayer.setVisibility(View.VISIBLE);
//视频配置
mVideoUrl = videoUrl;
simpleCoverVideoPlayer.loadCoverImage(mImageUrl, getContext());
gsyVideoOptionBuilder.setUrl(videoUrl).setCacheWithPlay(false).setPlayTag(TAG)
.build(simpleCoverVideoPlayer);
if (mImageUrl == null) {
@@ -670,6 +684,7 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
*/
@Override
public void onPerform() {
isCurrentPage = true;
Logger.d(TAG, "tanlu卡片 onPerform 有效 ---->");
mMarkerManager = mMogoMapService.getMarkerManager(getActivity());
List<IMogoMarker> markers = mMarkerManager.getMarkers(TanluConstants.MODEL_NAME);
@@ -715,6 +730,7 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
@Override
public void onDisable() {
Logger.d(TAG, "tanlu卡片 无效 ----->");
isCurrentPage = false;
}
@Override
@@ -754,11 +770,6 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
@Override
public void onLocationChanged(MogoLocation location) {
// if (location.getErrCode() == 0) {
// Logger.d(TAG, "onLocationChanged 当前位置 -->" + location.getAddress());
// } else {
// Logger.d(TAG, "onLocationChanged 定位失败 -->" + location.getErrInfo());
// }
}
@Override
@@ -788,6 +799,7 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
getViewLifecycleOwner().getLifecycle().removeObserver(mPresenter);
TanluServiceHandler.getLocationClient().removeLocationListener(this);
mMogoRegisterCenter.unregisterMogoNaviListener(TanluConstants.MODEL_NAME);
mogoIntentManager.unregisterIntentListener(MogoReceiver.ADAS_ACTION);
}
/**
@@ -822,8 +834,8 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
.longitude(event.lon);
IMogoMarker marker = mMarkerManager.addMarker("share_tag", options);
//TODO 请求分享接口
}
@Override
@@ -833,6 +845,22 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
});
}
/**
* push 类型1为导航数据2为通勤族
*
* @param event
*/
@Subscribe(threadMode = ThreadMode.MAIN)
public void onPushInfo(final PushTypeInfo event) {
Logger.d(TAG, "onPushInfo ----event.type =" + event.type);
if (event.type.equals("1")) {
getNaviRoadLineInfo();
} else if (event.type.equals("2")) {
getRoadLineData();
}
}
/**
* 导航路线数据事件
*/
@@ -900,7 +928,7 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
}
/**
* 绘制线路
* 绘制线路 TODO
*/
private void drawMapLine(List<Center> pointList) {
int intervalNum = Utils.getIntervalValue(pointList.size());
@@ -929,12 +957,12 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
mTanluModelData.getVoiceControlRoadData(keywords, cityCode, lon, lat, adCode, new VoiceSearchCallback() {
@Override
public void onSuccess(VoiceSearchResult o) {
String discription = o.getDescription();
Logger.d(TAG, "getVoiceControlRoadData discription = " + discription);
if (o.getInformations() != null && o.getInformations().size() > 0) {
speakSuccessVoice(o.getInformations(), discription == null ? "" : discription);
String discription = o.getResult().getDescription();
Logger.d(TAG, "getVoiceControlRoadData discription = " + discription);
if (o.getResult().getInformations() != null && o.getResult().getInformations().size() > 0) {
speakSuccessVoice(o.getResult().getInformations(), discription == null ? "" : discription);
List<Information> informationList = o.getInformations();
List<Information> informationList = o.getResult().getInformations();
//移动
MogoLatLng latLng = new MogoLatLng(lat, lon);
mMApUIController.moveToCenter(latLng);
@@ -952,7 +980,6 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
} else if (informationList.get(i).type == 1) { //视频
}
MogoMarkerOptions options = new MogoMarkerOptions()
.icon(multiMarkerIcon)
.latitude(informationList.get(i).lat)
@@ -961,11 +988,9 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
optionList.add(options);
}
Logger.d(TAG, "getVoiceControlRoadData optionList.size() = " + optionList.size());
mMarkerManager.addMarkers(TanluConstants.MODEL_NAME, optionList, true);
//直接使用当前数据list作为切换的数据源
} else {
if (!TextUtils.isEmpty(discription)) {
AIAssist.getInstance(getContext()).speakTTSVoice(discription, null);
@@ -973,7 +998,6 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
AIAssist.getInstance(getContext()).speakTTSVoice("未找到其他车主分享的路况信息", null);
}
}
}
@Override

View File

@@ -5,9 +5,13 @@ class Sns {
var sns: List<CarsLive>
var localUserId: String
var localNickName: String
var localHeadImgUrl: String
constructor(sns: List<CarsLive>, localUserId: String) {
constructor(sns: List<CarsLive>, localUserId: String, localNickName: String, localHeadImgUrl: String) {
this.sns = sns
this.localUserId = localUserId
this.localNickName = localNickName
this.localHeadImgUrl = localHeadImgUrl
}
}

View File

@@ -9,31 +9,45 @@ import java.util.List;
* @since 2020-01-08
*/
public class VoiceSearchResult extends BaseData {
private List<Information> informations;
private String description;
private Sns snResult;
public List<Information> getInformations() {
return informations;
private Result result;
public Result getResult() {
return result;
}
public void setInformations(List<Information> informations) {
this.informations = informations;
public void setResult(Result result) {
this.result = result;
}
public String getDescription() {
return description;
public static class Result {
private List<Information> informations;
private String description;
private Sns snResult;
public List<Information> getInformations() {
return informations;
}
public void setInformations(List<Information> informations) {
this.informations = informations;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Sns getSnResult() {
return snResult;
}
public void setSnResult(Sns snResult) {
this.snResult = snResult;
}
}
public void setDescription(String description) {
this.description = description;
}
public Sns getSnResult() {
return snResult;
}
public void setSnResult(Sns snResult) {
this.snResult = snResult;
}
}

View File

@@ -0,0 +1,17 @@
package com.mogo.module.tanlu.model.event;
import java.io.Serializable;
/**
* @author lixiaopeng
* @description push区分类别
* @since 2020-01-08
*/
public class PushTypeInfo implements Serializable {
public String type;
public PushTypeInfo(String type) {
this.type = type;
}
}

View File

@@ -0,0 +1,22 @@
package com.mogo.module.tanlu.receiver
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.util.Log
import com.mogo.module.tanlu.model.event.PushTypeInfo
import com.mogo.module.tanlu.model.event.VoiceRoadInfo
import org.greenrobot.eventbus.EventBus
/**
* 导航和通勤族 push的action
*/
class PushReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
if (intent.action == "com.zhidao.roadcondition.split"){
var type = intent.getStringExtra("type")
Log.d("PushReceiver", "type = $type")
EventBus.getDefault().post(PushTypeInfo(type))
}
}
}

View File

@@ -56,12 +56,11 @@ class SimpleCoverVideoPlayer : StandardGSYVideoPlayer {
}
}
// fun loadCoverImage(url: String, mContext: Context) {
// Glide.with(mContext.applicationContext)
// .load(url)
// .error(R.color.color_303447)
// .into(coverImage)
// }
fun loadCoverImage(url: String, mContext: Context) {
Glide.with(mContext.applicationContext)
.load(url)
.into(coverImage)
}
override fun updateStartImage() {
when (mCurrentState) {

View File

@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="5dp" />
<solid android:color="@color/color_DADAE2"/>
<corners android:radius="@dimen/dp_10" />
<stroke android:color="@color/color_59FFFFFF"
android:width="@dimen/dp_2"/>
<!-- <solid android:color="@color/color_DADAE2"/>-->
</shape>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="270"
android:endColor="#323346"
android:startColor="#6E7091" />
<corners android:radius="@dimen/dp_20" />
</shape>

View File

@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="@dimen/dp_660"
android:layout_height="@dimen/dp_660"
android:background="@drawable/shape_bg_222533_10px">
android:background="@drawable/tanlu_gradual_change_bg">
<!--正常显示数据-->
<RelativeLayout
@@ -21,15 +21,15 @@
android:id="@+id/tv_information_media_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_32"
android:layout_marginTop="@dimen/dp_50"
android:layout_marginRight="@dimen/dp_32"
android:layout_marginLeft="@dimen/dp_24"
android:layout_marginTop="@dimen/dp_58"
android:layout_marginRight="@dimen/dp_24"
android:ellipsize="end"
android:gravity="center_vertical"
android:maxLines="1"
android:text="@string/main_empty_location"
android:textColor="@color/color_3"
android:textSize="@dimen/dp_36"
android:textColor="@color/white"
android:textSize="@dimen/dp_34"
android:textStyle="bold" />
<TextView
@@ -37,11 +37,11 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_information_media_content"
android:layout_marginLeft="@dimen/dp_32"
android:layout_marginTop="@dimen/dp_4"
android:layout_marginLeft="@dimen/dp_24"
android:layout_marginTop="@dimen/dp_1"
android:layout_marginBottom="@dimen/dp_10"
android:text="666KM"
android:textColor="@color/color_666666"
android:textColor="@color/color_99FFFFFF"
android:textSize="@dimen/dp_26"
android:textStyle="bold" />
@@ -52,9 +52,9 @@
android:layout_below="@+id/tv_information_media_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/dp_32"
android:layout_marginRight="@dimen/dp_24"
android:text="2019-10-10"
android:textColor="@color/color_999999"
android:textColor="@color/color_99FFFFFF"
android:textSize="@dimen/dp_26" />
</RelativeLayout>
@@ -64,8 +64,8 @@
android:layout_width="@dimen/dp_596"
android:layout_height="@dimen/dp_355"
android:layout_below="@+id/layout_top_view"
android:layout_marginLeft="@dimen/dp_32"
android:layout_marginRight="@dimen/dp_32"
android:layout_marginLeft="@dimen/dp_24"
android:layout_marginRight="@dimen/dp_24"
android:background="@drawable/shape_bg_222533_9px">
<com.mogo.module.tanlu.video.SimpleCoverVideoPlayer
@@ -85,14 +85,13 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/media_layout"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginLeft="@dimen/dp_32"
android:layout_marginRight="@dimen/dp_32"
android:layout_marginBottom="@dimen/dp_42">
android:layout_marginTop="@dimen/dp_30"
android:layout_marginLeft="@dimen/dp_24"
android:layout_marginRight="@dimen/dp_24">
<TextView
android:id="@+id/tv_previous_res"
android:layout_width="@dimen/dp_284"
android:layout_width="@dimen/dp_300"
android:layout_height="@dimen/dp_90"
android:layout_centerVertical="true"
android:paddingLeft="@dimen/dp_40"
@@ -101,12 +100,12 @@
android:gravity="center_vertical"
android:drawablePadding="@dimen/dp_40"
android:text="@string/tanlu_previous"
android:textColor="@color/color_545362"
android:textSize="@dimen/dp_26" />
android:textColor="@color/white"
android:textSize="@dimen/dp_28" />
<TextView
android:id="@+id/tv_next_res"
android:layout_width="@dimen/dp_284"
android:layout_width="@dimen/dp_300"
android:layout_height="@dimen/dp_90"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
@@ -117,8 +116,8 @@
android:drawableRight="@drawable/media_next"
android:gravity="center_vertical"
android:text="@string/tanlu_next"
android:textColor="@color/color_545362"
android:textSize="@dimen/dp_26" />
android:textColor="@color/white"
android:textSize="@dimen/dp_28" />
</RelativeLayout>
</RelativeLayout>
@@ -126,17 +125,17 @@
<!--空数据显示-->
<RelativeLayout
android:id="@+id/layout_empty_data_show"
android:layout_width="match_parent"
android:layout_width="@dimen/dp_660"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:visibility="gone">
android:visibility="visible">
<ImageView
android:id="@+id/iv_main_empty"
android:layout_width="@dimen/dp_420"
android:layout_height="@dimen/dp_420"
android:layout_marginTop="@dimen/dp_20"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_122"
android:src="@mipmap/main_view_empty_bg" />
<TextView
@@ -147,7 +146,7 @@
android:layout_marginTop="@dimen/dp_70"
android:text="@string/main_empty_content"
android:textColor="@color/white"
android:textSize="@dimen/dp_32" />
android:textSize="@dimen/dp_34" />
</RelativeLayout>
</RelativeLayout>

View File

@@ -34,7 +34,9 @@
<color name="color_DADAE2">#DADAE2</color>
<color name="color_545362">#545362</color>
<color name="color_191C25">#99191C25</color>
<color name="color_666666">#666666</color>
<color name="color_666666">#99666666</color>
<color name="color_999999">#999999</color>
<color name="color_99FFFFFF">#99FFFFFF</color>
<color name="color_59FFFFFF">#59FFFFFF</color>
</resources>

View File

@@ -6,7 +6,7 @@
<string name="start_already_agreement">已同意</string>
<string name="splash_agreement_bt">探路共享计划 >> </string>
<string name="splash_agreement_dialog_title">探路APP用户服务协议</string>
<string name="main_empty_content"><Data><![CDATA[<font color="#69718B">未找到其他用户分享的路况,<br/>您可以试试</font><font color="#F7B500">上报路况</font>]]></Data></string>
<string name="main_empty_content"><Data><![CDATA[<font color="#8F95AA">未找到其他用户分享的路况,<br/>您可以试试</font><font color="#51B0FF">上报路况</font>]]></Data></string>
<string name="main_empty_location">未知区域</string>
<string name="custom_send_road_condition">上报路况</string>
<string name="text_searching_information">正在更新情报数据</string>