diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ObuTest.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ObuTest.java
index 6f470a39a4..028ad45b24 100644
--- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ObuTest.java
+++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ObuTest.java
@@ -27,6 +27,7 @@ import com.mogo.support.obu.model.advance.VehControl;
import com.mogo.support.obu.model.advance.VehSize;
import com.mogo.support.obu.model.advance.VerticalLLV;
import com.mogo.support.obu.model.advance.WarningData;
+import com.mogo.support.obu.model.result.BaseResult;
import com.zhidao.support.adas.high.common.ThreadPoolManager;
import com.zhidao.support.obu.ObuManager;
import com.zhidao.support.obu.OnObuListener;
@@ -294,6 +295,11 @@ public class ObuTest {
}
+ @Override
+ public void onObuCallResult(BaseResult result) {
+
+ }
+
@Override
public void onObuSystemStatus(MogoObuSystemStatusData data) {
diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/BackCameraFloatWindow.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/BackCameraFloatWindow.java
index 5d57765dbb..8294ce3b40 100644
--- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/BackCameraFloatWindow.java
+++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/BackCameraFloatWindow.java
@@ -39,9 +39,17 @@ public class BackCameraFloatWindow implements View.OnTouchListener {
private float mInScreenX;
private float mInScreenY;
private ImageView image_view;
+ private final boolean isFullScreen;
+ private final OnBackCameraFloatWindowListener onBackCameraFloatWindowListener;
- public BackCameraFloatWindow(Activity context) {
+ public interface OnBackCameraFloatWindowListener {
+ void onClose();
+ }
+
+ public BackCameraFloatWindow(Activity context, boolean isFullScreen, OnBackCameraFloatWindowListener onBackCameraFloatWindowListener) {
this.mContext = context;
+ this.isFullScreen = isFullScreen;
+ this.onBackCameraFloatWindowListener = onBackCameraFloatWindowListener;
initHandler();
initFloatWindow();
}
@@ -53,6 +61,15 @@ public class BackCameraFloatWindow implements View.OnTouchListener {
return;
mFloatLayout = (View) inflater.inflate(R.layout.layout_back_camera, null);
image_view = mFloatLayout.findViewById(R.id.image_view);
+ ImageView btn_close = mFloatLayout.findViewById(R.id.btn_close);
+ btn_close.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (onBackCameraFloatWindowListener != null) {
+ onBackCameraFloatWindowListener.onClose();
+ }
+ }
+ });
mFloatLayout.setOnTouchListener(this);
mWindowParams = new WindowManager.LayoutParams();
// mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
@@ -67,10 +84,13 @@ public class BackCameraFloatWindow implements View.OnTouchListener {
mWindowParams.format = PixelFormat.RGBA_8888;
mWindowParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
mWindowParams.gravity = Gravity.START | Gravity.TOP;
-// mWindowParams.width = WindowManager.LayoutParams.WRAP_CONTENT;
-// mWindowParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
- mWindowParams.width = 1280;
- mWindowParams.height = 720;
+ if (isFullScreen) {
+ mWindowParams.width = WindowManager.LayoutParams.MATCH_PARENT;
+ mWindowParams.height = WindowManager.LayoutParams.MATCH_PARENT;
+ } else {
+ mWindowParams.width = 1280;
+ mWindowParams.height = 720;
+ }
// mWindowParams.alpha = 0.9F;
}
diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/InfoFragment.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/InfoFragment.java
index 254347a1db..cae37b48c3 100644
--- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/InfoFragment.java
+++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/InfoFragment.java
@@ -99,19 +99,20 @@ public class InfoFragment extends BaseFragment {
}
tvTitle.setGravity(Gravity.CENTER);
if (Constants.TITLE.RECEIVE_BACK_CAMERA_VIDEO.equals(title)) {
+ Button button_full_screen = view.findViewById(R.id.btn_render_full_screen);
Button button = view.findViewById(R.id.btn_render);
button.setVisibility(View.VISIBLE);
+ button_full_screen.setVisibility(View.VISIBLE);
+ button_full_screen.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ showBackCameraFloatWindow(button_full_screen, true);
+ }
+ });
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- if (backCameraFloatWindow == null) {
- backCameraFloatWindow = new BackCameraFloatWindow(getActivity());
- final int[] location = new int[2];
- button.getLocationOnScreen(location);
- backCameraFloatWindow.showFloatWindow(location[1]);
- } else {
- hideFloatWindow();
- }
+ showBackCameraFloatWindow(button, false);
}
});
}
@@ -154,6 +155,25 @@ public class InfoFragment extends BaseFragment {
rvInfo.setAdapter(adapter);
}
+ private void showBackCameraFloatWindow(View v, boolean isFullScreen) {
+ if (isFullScreen) {
+ hideFloatWindow();
+ }
+ if (backCameraFloatWindow == null) {
+ backCameraFloatWindow = new BackCameraFloatWindow(getActivity(), isFullScreen, new BackCameraFloatWindow.OnBackCameraFloatWindowListener() {
+ @Override
+ public void onClose() {
+ hideFloatWindow();
+ }
+ });
+ final int[] location = new int[2];
+ v.getLocationOnScreen(location);
+ backCameraFloatWindow.showFloatWindow(location[1]);
+ } else {
+ hideFloatWindow();
+ }
+ }
+
private void setData() {
if (Constants.TITLE.RECEIVE_GNSS_INFO.equals(title)) {
adapter.setData(DataDistribution.getInstance().listGnssInfo);
@@ -241,9 +261,11 @@ public class InfoFragment extends BaseFragment {
}
}
- public void onBackCameraVideo(byte[] data) {
+ public boolean onBackCameraVideo(byte[] data) {
if (backCameraFloatWindow != null) {
backCameraFloatWindow.onBackCameraVideo(data);
+ return true;
}
+ return false;
}
}
diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java
index 440c1c01eb..2b00adea2d 100644
--- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java
+++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java
@@ -1114,12 +1114,15 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
@Override
public void onBackCameraVideo(@NotNull MessagePad.Header header, @NotNull byte[] data) {
+ boolean isAddLog = true;
if (fromFragment instanceof InfoFragment) {
InfoFragment fragment = (InfoFragment) fromFragment;
- fragment.onBackCameraVideo(data);
+ isAddLog = !fragment.onBackCameraVideo(data);
+ }
+ if (isAddLog) {
+ ReceiveBytesData base = new ReceiveBytesData(header, data, sdf);
+ DataDistribution.getInstance().addData(base);
}
- ReceiveBytesData base = new ReceiveBytesData(header, data, sdf);
- DataDistribution.getInstance().addData(base);
}
@Override
diff --git a/app_ipc_monitoring/src/main/res/drawable/ic_close.xml b/app_ipc_monitoring/src/main/res/drawable/ic_close.xml
new file mode 100644
index 0000000000..a25a07f33f
--- /dev/null
+++ b/app_ipc_monitoring/src/main/res/drawable/ic_close.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app_ipc_monitoring/src/main/res/layout/fragment_info.xml b/app_ipc_monitoring/src/main/res/layout/fragment_info.xml
index adad72cb90..3f2f9f8df7 100644
--- a/app_ipc_monitoring/src/main/res/layout/fragment_info.xml
+++ b/app_ipc_monitoring/src/main/res/layout/fragment_info.xml
@@ -24,15 +24,28 @@
android:textSize="16sp"
android:textStyle="bold" />
-
+
+
-
\ No newline at end of file
+
+
+
+
+
+