[工控机监控]优化错误数据提醒

This commit is contained in:
xinfengkun
2023-01-31 16:40:22 +08:00
parent 43748bb9f2
commit 748e4163f2
3 changed files with 41 additions and 1 deletions

View File

@@ -12,6 +12,7 @@ import android.os.Build;
import android.os.Bundle;
import android.os.Message;
import android.os.PowerManager;
import android.os.SystemClock;
import android.provider.Settings;
import android.text.Editable;
import android.text.Html;
@@ -138,6 +139,9 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
private static final int WHAT_IPC_IP = 0x00;
private static final int WHAT_DRIVER_IP = 0x01;
private static final int WHAT_IPC_CONNECT_STATE = 0x02;
private static final int WHAT_RECEIVE_ERROR_DATA_SHOW = 0x03;
private static final int WHAT_RECEIVE_ERROR_DATA_HINT = 0x04;
private static final int WHAT_RECEIVE_ERROR_DATA_STOP = 0x05;
private EditText etIp;
private ImageView role;
private ImageView tvIp;
@@ -548,7 +552,14 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
title.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showLocalIP();
if (TextUtils.equals(title.getText(), getString(R.string.have_error_data))) {
int position=titleFragmentData.size() - 1;
infoFragment.smoothScrollToPosition(position);
fragmentAdapter.setSelectedPosition(position);
showFragment(Constants.TITLE.RECEIVE_ERROR);
} else {
showLocalIP();
}
}
});
title.setOnLongClickListener(new View.OnLongClickListener() {
@@ -829,6 +840,18 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
@Override
public void onError(ProtocolStatus status, byte[] bytes) {
long errorDataReceiveTime = SystemClock.elapsedRealtime();
if (errorDataUpdateTime == 0) {
errorDataUpdateTime = errorDataReceiveTime + 800;
}
if (errorDataReceiveTime > errorDataUpdateTime) {
errorDataUpdateTime = 0;
getHandler().sendEmptyMessage(WHAT_RECEIVE_ERROR_DATA_SHOW);
if (getHandler().hasMessages(WHAT_RECEIVE_ERROR_DATA_STOP)) {
getHandler().removeMessages(WHAT_RECEIVE_ERROR_DATA_STOP);
}
getHandler().sendEmptyMessageDelayed(WHAT_RECEIVE_ERROR_DATA_STOP, 1500);
}
ErrorData base = new ErrorData(status, bytes);
DataDistribution.getInstance().addData(base);
}
@@ -1582,6 +1605,21 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
tvConnectState.setText(status.status);
tvConnectState.setTextColor(getResources().getColor(status.color));
break;
case WHAT_RECEIVE_ERROR_DATA_SHOW:
title.setText(R.string.have_error_data);
title.setTextColor(getColor(android.R.color.holo_red_light));
title.setVisibility(View.VISIBLE);
getHandler().sendEmptyMessageDelayed(WHAT_RECEIVE_ERROR_DATA_HINT, 500);
break;
case WHAT_RECEIVE_ERROR_DATA_HINT:
title.setVisibility(View.INVISIBLE);
break;
case WHAT_RECEIVE_ERROR_DATA_STOP:
title.setText(R.string.app_name);
title.setTextColor(getColor(R.color.colorWhile));
title.setVisibility(View.VISIBLE);
errorDataUpdateTime = 0;
break;
}
}
}

View File

@@ -17,6 +17,7 @@
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:minWidth="110dp"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="@string/app_name"

View File

@@ -1,5 +1,6 @@
<resources>
<string name="app_name">工控机监控</string>
<string name="have_error_data">存在错误数据</string>
<string name="action_settings">添加</string>
<string name="action_save">保存</string>
<string name="action_del">删除</string>