增加几个报文的手动触发

lowmem
Matthew 2 weeks ago
parent 48d61baf6f
commit 058e4b2f46

@ -533,7 +533,7 @@ extern "C" JNIEXPORT jboolean JNICALL
Java_com_xypower_mpapp_MicroPhotoService_sendHeartbeat( Java_com_xypower_mpapp_MicroPhotoService_sendHeartbeat(
JNIEnv* env, JNIEnv* env,
jobject pThis, jobject pThis,
jlong handler, jint signalLevel) { jlong handler, jint signalLevel, jboolean scheduled) {
CTerminal* pTerminal = reinterpret_cast<CTerminal *>(handler); CTerminal* pTerminal = reinterpret_cast<CTerminal *>(handler);
if (pTerminal == NULL) if (pTerminal == NULL)
@ -547,7 +547,7 @@ Java_com_xypower_mpapp_MicroPhotoService_sendHeartbeat(
device->UpdateSignalLevel(signalLevel); device->UpdateSignalLevel(signalLevel);
} }
pTerminal->SendHeartbeat(); pTerminal->SendHeartbeat(scheduled != JNI_FALSE);
#ifdef OUTPUT_DBG_INFO #ifdef OUTPUT_DBG_INFO
#if 0 #if 0
@ -1536,3 +1536,41 @@ Java_com_xypower_mpapp_MicroPhotoService_notifyTimeUpdated(
}); });
t.detach(); t.detach();
} }
extern "C"
JNIEXPORT jboolean JNICALL
Java_com_xypower_mpapp_MicroPhotoService_sendBasicInfo(JNIEnv *env, jobject thiz, jlong handler) {
// TODO: implement sendBasicInfo()
CTerminal* pTerminal = reinterpret_cast<CTerminal *>(handler);
if (pTerminal == NULL)
{
return JNI_FALSE;
}
pTerminal->SendBasicInfo();
return JNI_TRUE;
}
extern "C"
JNIEXPORT jboolean JNICALL
Java_com_xypower_mpapp_MicroPhotoService_sendWorkStatus(JNIEnv *env, jobject thiz, jlong handler) {
// TODO: implement sendWorkStatus()
CTerminal* pTerminal = reinterpret_cast<CTerminal *>(handler);
if (pTerminal == NULL)
{
return JNI_FALSE;
}
pTerminal->SendWorkStatus();
return JNI_TRUE;
}
extern "C"
JNIEXPORT jboolean JNICALL
Java_com_xypower_mpapp_MicroPhotoService_sendFault(JNIEnv *env, jobject thiz, jlong handler, jstring faultCode, jstring faultInfo) {
// TODO: implement sendFault()
CTerminal* pTerminal = reinterpret_cast<CTerminal *>(handler);
if (pTerminal == NULL)
{
return JNI_FALSE;
}
std::string faultInfoStr = jstring2string(env, faultInfo);
pTerminal->SendFaultInfo(faultInfoStr);
return JNI_TRUE;
}

@ -502,7 +502,7 @@ public class MicroPhotoService extends Service {
infoLog("HB Timer Fired ACTION=" + action + " ExpTS=" + Long.toString(expectedHbTime)); infoLog("HB Timer Fired ACTION=" + action + " ExpTS=" + Long.toString(expectedHbTime));
Runnable runnable = new Runnable() { Runnable runnable = new Runnable() {
public void run() { public void run() {
mService.sendHeartbeat(mService.mNativeHandle, mService.getSignalLevel()); mService.sendHeartbeat(mService.mNativeHandle, mService.getSignalLevel(), true);
} }
}; };
Thread th = new Thread(runnable); Thread th = new Thread(runnable);
@ -567,7 +567,7 @@ public class MicroPhotoService extends Service {
infoLog("HB Timer Fired ACTION=" + action + " ExpTS=" + Long.toString(expectedHbTime)); infoLog("HB Timer Fired ACTION=" + action + " ExpTS=" + Long.toString(expectedHbTime));
Runnable runnable = new Runnable() { Runnable runnable = new Runnable() {
public void run() { public void run() {
mService.sendHeartbeat(mService.mNativeHandle, mService.getSignalLevel()); mService.sendHeartbeat(mService.mNativeHandle, mService.getSignalLevel(), true);
} }
}; };
Thread th = new Thread(runnable); Thread th = new Thread(runnable);
@ -623,8 +623,19 @@ public class MicroPhotoService extends Service {
} }
mService.updateCaptureSchedule(startTime + 1); mService.updateCaptureSchedule(startTime + 1);
} else if (TextUtils.equals(ACTION_HEARTBEAT_MANUALLY, action)) { } else if (TextUtils.equals(ACTION_HEARTBEAT_MANUALLY, action)) {
String actionType = intent.getStringExtra("type");
if (TextUtils.isEmpty(actionType) || TextUtils.equals(actionType, "hb")) {
Log.i(TAG, "HB Timer Fired ACTION=" + action); Log.i(TAG, "HB Timer Fired ACTION=" + action);
mService.sendHeartbeat(mService.mNativeHandle, mService.getSignalLevel()); mService.sendHeartbeat(mService.mNativeHandle, mService.getSignalLevel(), false);
} else if (TextUtils.equals(actionType, "basicInfo")) {
mService.sendBasicInfo(mService.mNativeHandle);
} else if (TextUtils.equals(actionType, "workStatus")) {
mService.sendWorkStatus(mService.mNativeHandle);
} else if (TextUtils.equals(actionType, "fault")) {
String faultCode = intent.getStringExtra("faultCode");
String faultInfo = intent.getStringExtra("faultInfo");
mService.sendFault(mService.mNativeHandle, faultCode, faultInfo);
}
} else if (TextUtils.equals(ACTION_TAKE_PHOTO_MANUALLY, action)) { } else if (TextUtils.equals(ACTION_TAKE_PHOTO_MANUALLY, action)) {
int channel = intent.getIntExtra(EXTRA_PARAM_CHANNEL, 0); int channel = intent.getIntExtra(EXTRA_PARAM_CHANNEL, 0);
int preset = intent.getIntExtra(EXTRA_PARAM_PRESET, 0xFF); int preset = intent.getIntExtra(EXTRA_PARAM_PRESET, 0xFF);
@ -1962,7 +1973,10 @@ cellSignalStrengthGsm.getDbm();
protected native void notifyTimeUpdated(long handler); protected native void notifyTimeUpdated(long handler);
protected native boolean sendHeartbeat(long handler, int signalLevel); protected native boolean sendHeartbeat(long handler, int signalLevel, boolean scheduled);
protected native boolean sendBasicInfo(long handler);
protected native boolean sendWorkStatus(long handler);
protected native boolean sendFault(long handler, String faultCode, String faultInfo);
protected native boolean reloadConfigs(long handler); protected native boolean reloadConfigs(long handler);
protected native void updatePosition(long handler, double lon, double lat, double radius, long ts); protected native void updatePosition(long handler, double lon, double lat, double radius, long ts);
protected native boolean updateEhernet(long handler, long nativeNetworkHandle, boolean available); protected native boolean updateEhernet(long handler, long nativeNetworkHandle, boolean available);

@ -205,13 +205,13 @@
app:layout_constraintTop_toTopOf="@+id/btnStartServ" /> app:layout_constraintTop_toTopOf="@+id/btnStartServ" />
<Button <Button
android:id="@+id/btnLogs" android:id="@+id/btnSendHb"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/main_send_hb"
android:layout_marginStart="@dimen/activity_horizontal_margin" android:layout_marginStart="@dimen/activity_horizontal_margin"
android:minWidth="@dimen/activity_btn_min_width" android:minWidth="@dimen/activity_btn_min_width"
android:minHeight="@dimen/activity_btn_min_height" android:minHeight="@dimen/activity_btn_min_height"
android:text="日志"
app:layout_constraintStart_toEndOf="@+id/btnChannels" app:layout_constraintStart_toEndOf="@+id/btnChannels"
app:layout_constraintTop_toTopOf="@+id/btnStartServ" /> app:layout_constraintTop_toTopOf="@+id/btnStartServ" />
@ -260,6 +260,17 @@
app:layout_constraintStart_toEndOf="@+id/btnTakePhoto3" app:layout_constraintStart_toEndOf="@+id/btnTakePhoto3"
app:layout_constraintTop_toTopOf="@+id/btnTakePhoto" /> app:layout_constraintTop_toTopOf="@+id/btnTakePhoto" />
<Button
android:id="@+id/btnSendWs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/main_send_ws"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:minWidth="@dimen/activity_btn_min_width"
android:minHeight="@dimen/activity_btn_min_height"
app:layout_constraintStart_toEndOf="@+id/btnTakePhoto4"
app:layout_constraintTop_toTopOf="@+id/btnTakePhoto" />
<Button <Button
android:id="@+id/takeVideoBtn" android:id="@+id/takeVideoBtn"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -306,14 +317,25 @@
app:layout_constraintTop_toTopOf="@+id/takeVideoBtn" /> app:layout_constraintTop_toTopOf="@+id/takeVideoBtn" />
<Button <Button
android:id="@+id/btnSendHb" android:id="@+id/btnSendBi"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/main_send_hb" android:text="@string/main_send_bi"
android:layout_marginStart="@dimen/activity_horizontal_margin" android:layout_marginStart="@dimen/activity_horizontal_margin"
android:layout_marginTop="@dimen/activity_vertical_spacing_small"
android:minWidth="@dimen/activity_btn_min_width" android:minWidth="@dimen/activity_btn_min_width"
android:minHeight="@dimen/activity_btn_min_height" android:minHeight="@dimen/activity_btn_min_height"
app:layout_constraintStart_toEndOf="@+id/takeVideoBtn4"
app:layout_constraintTop_toTopOf="@+id/takeVideoBtn" />
<Button
android:id="@+id/btnLogs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:layout_marginTop="@dimen/activity_vertical_margin_small"
android:minWidth="@dimen/activity_btn_min_width"
android:minHeight="@dimen/activity_btn_min_height"
android:text="日志"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/takeVideoBtn" /> app:layout_constraintTop_toBottomOf="@+id/takeVideoBtn" />
@ -325,8 +347,8 @@
android:layout_marginStart="@dimen/activity_horizontal_margin" android:layout_marginStart="@dimen/activity_horizontal_margin"
android:minWidth="@dimen/activity_btn_min_width" android:minWidth="@dimen/activity_btn_min_width"
android:minHeight="@dimen/activity_btn_min_height" android:minHeight="@dimen/activity_btn_min_height"
app:layout_constraintStart_toEndOf="@+id/btnSendHb" app:layout_constraintStart_toEndOf="@+id/btnLogs"
app:layout_constraintTop_toTopOf="@+id/btnSendHb" /> app:layout_constraintTop_toTopOf="@+id/btnLogs" />
<Button <Button
android:id="@+id/btnReboot" android:id="@+id/btnReboot"
@ -337,7 +359,7 @@
android:minWidth="@dimen/activity_btn_min_width" android:minWidth="@dimen/activity_btn_min_width"
android:minHeight="@dimen/activity_btn_min_height" android:minHeight="@dimen/activity_btn_min_height"
app:layout_constraintStart_toEndOf="@+id/btnRestartApp" app:layout_constraintStart_toEndOf="@+id/btnRestartApp"
app:layout_constraintTop_toTopOf="@+id/btnSendHb" /> app:layout_constraintTop_toTopOf="@+id/btnLogs" />
<Button <Button
android:id="@+id/btnCameraInfo" android:id="@+id/btnCameraInfo"
@ -348,7 +370,18 @@
android:minWidth="@dimen/activity_btn_min_width" android:minWidth="@dimen/activity_btn_min_width"
android:minHeight="@dimen/activity_btn_min_height" android:minHeight="@dimen/activity_btn_min_height"
app:layout_constraintStart_toEndOf="@+id/btnReboot" app:layout_constraintStart_toEndOf="@+id/btnReboot"
app:layout_constraintTop_toTopOf="@+id/btnSendHb" /> app:layout_constraintTop_toTopOf="@+id/btnLogs" />
<Button
android:id="@+id/btnSendFault"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/main_send_fault"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:minWidth="@dimen/activity_btn_min_width"
android:minHeight="@dimen/activity_btn_min_height"
app:layout_constraintStart_toEndOf="@+id/btnCameraInfo"
app:layout_constraintTop_toTopOf="@+id/btnLogs" />
<Button <Button
android:id="@+id/btnDowseCamera" android:id="@+id/btnDowseCamera"

@ -7,6 +7,9 @@
<string name="main_packet_size_default">默认2K</string> <string name="main_packet_size_default">默认2K</string>
<string name="main_server">支持域名自动转IP</string> <string name="main_server">支持域名自动转IP</string>
<string name="main_send_hb">心跳</string> <string name="main_send_hb">心跳</string>
<string name="main_send_ws">工作状态</string>
<string name="main_send_bi">基本信息</string>
<string name="main_send_fault">故障</string>
<string name="main_restart_app">重启APP</string> <string name="main_restart_app">重启APP</string>
<string name="main_reboot">重启设备</string> <string name="main_reboot">重启设备</string>
<string name="main_camera_info">摄像头</string> <string name="main_camera_info">摄像头</string>

Loading…
Cancel
Save