add push broadcastreciver and opt ui

This commit is contained in:
lixiaopeng
2020-01-15 19:32:58 +08:00
parent 75f4d373a9
commit 385539b699
11 changed files with 148 additions and 66 deletions

View File

@@ -15,4 +15,8 @@ public class TanluConstants {
public static final String UPLOAD_ROAD_CONDITION = "upload_road_condition";
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;
@@ -130,8 +131,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;
@@ -180,9 +181,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,6 +292,7 @@ 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();
@@ -300,8 +300,7 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
initMap();
initStrings();
initListener();
//TODO切换探路卡片
//TODO 切换探路卡片
// iMogoCardManager.switch2(TanluConstants.MODEL_NAME);
}
@@ -358,6 +357,9 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
@Override
public boolean onMarkerClicked(IMogoMarker marker) {
//点击marker以后确认他的位置然后点击下一个操作 TODO
mEmptyLayout.setVisibility(View.GONE);
mRootLayout.setVisibility(View.VISIBLE);
MarkerExploreWay exploreWay = extractFromMarker(marker);
if (exploreWay == null) {
return false;
@@ -404,13 +406,16 @@ 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.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);
}
/**
* 唤醒语音
*/
@@ -422,7 +427,20 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
JsonObject jsonObject = new JsonObject();
mKeywords = jsonObject.get("location").toString();
Logger.d(TAG, "mogoIntentListener mKeywords = " + mKeywords);
handleActionFoo(mKeywords);
if (intentStr.equals(TanluConstants.SPECIFIEDROAD_SEARCH)) { //地点堵不堵
} else if (intentStr.equals(TanluConstants.NEARBYROAD_SEARCH)) { //附件
// } else if (intentStr.equals()) { //上报路况
// sendShareReceiver("1");
//
// } else if (intentStr.equals()) { //
}
}
};
@@ -435,8 +453,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");
}
}
@@ -480,20 +497,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();
@@ -612,6 +615,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) {
@@ -788,6 +792,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 +827,8 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
.longitude(event.lon);
IMogoMarker marker = mMarkerManager.addMarker("share_tag", options);
//TODO 请求分享接口
}
@Override
@@ -833,6 +838,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 +921,7 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
}
/**
* 绘制线路
* 绘制线路 TODO
*/
private void drawMapLine(List<Center> pointList) {
int intervalNum = Utils.getIntervalValue(pointList.size());

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) {