opt left notice

This commit is contained in:
tongchenfei
2020-10-25 17:28:54 +08:00
parent 397c7f89b2
commit 46f54ce1bc
7 changed files with 45 additions and 11 deletions

View File

@@ -9,14 +9,19 @@ import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.extensions.R;
import com.mogo.service.adas.IMogoAdasWarnMessageCallback;
import com.mogo.service.adas.MogoADASWarnType;
import com.mogo.service.adas.entity.ADASWarnMessage;
import com.mogo.service.entrance.IMogoEntranceButtonController;
/**
* vr模式下adas左侧提示框帮助类
*
* @author tongchenfei
*/
public class AdasNoticeHelper {
public class AdasNoticeHelper implements IMogoAdasWarnMessageCallback {
private Context context;
private AdasNoticeReceiver adasReceiver = new AdasNoticeReceiver();
@@ -27,11 +32,20 @@ public class AdasNoticeHelper {
public void enterVrMode(){
IntentFilter filter = new IntentFilter("com.mogo.launcher.adas.app.biz");
context.registerReceiver(adasReceiver, filter);
// todo 注册adas事件回调
MogoApisHandler.getInstance().getApis().getAdasControllerApi().addAdasWarnMessageCallback(this);
}
public void exitVrMode(){
context.unregisterReceiver(adasReceiver);
MogoApisHandler.getInstance().getApis().getAdasControllerApi().removeAdasWarnMessageCallback(this);
}
@Override
public void onReceiveData(ADASWarnMessage msg) {
// 处理adas识别的时间主要是行人碰撞预警
if (msg.type == MogoADASWarnType.ADAS_WARNING_PERSON) {
MogoApisHandler.getInstance().getApis().getEntranceButtonController().showLeftNoticeByType(IMogoEntranceButtonController.NOTICE_TYPE_PEOPLE_WARN, R.drawable.module_ext_people_warn, "前方注意行人");
}
}
/**
@@ -43,6 +57,19 @@ public class AdasNoticeHelper {
@Override
public void onReceive(Context context, Intent intent) {
// todo 处理发给adas的事件, 主要处理逆向超车和obu行人碰撞
String id = intent.getStringExtra("v2x_warning_type");
if (id != null) {
switch (id) {
case "100003":
MogoApisHandler.getInstance().getApis().getEntranceButtonController().showLeftNoticeByType(IMogoEntranceButtonController.NOTICE_TYPE_PEOPLE_WARN, R.drawable.module_ext_people_warn, "前方注意行人");
break;
case "":
break;
default:
break;
}
}
}
}

View File

@@ -192,6 +192,7 @@ public class EntranceViewHolder {
}
private void realShowLeftNoticeView(View view){
leftNoticeContainer.setVisibility(View.VISIBLE);
leftNoticeContainer.removeAllViews();
leftNoticeContainer.addView(view);
preAddLeftNoticeView = null;
@@ -199,6 +200,7 @@ public class EntranceViewHolder {
private void realHideLeftNoticeView(View view) {
leftNoticeContainer.removeView(view);
leftNoticeContainer.setVisibility(View.GONE);
}
public void release(){