build-version 1.5.0 launch preparation

1. added compile option for armv7hf
2. fixed JNI component build errors
This commit is contained in:
strawmanbobi
2025-10-16 15:23:05 +08:00
parent 33d14ac3fa
commit 9c5e7359a0
4 changed files with 57 additions and 24 deletions

View File

@@ -3,9 +3,7 @@ package net.irext.decode.sdk;
import net.irext.decode.sdk.bean.ACStatus;
import net.irext.decode.sdk.bean.TemperatureRange;
import net.irext.decode.sdk.utils.Constants;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.ServletContext;
/**
* Filename: IRDecode.java
@@ -19,11 +17,6 @@ import javax.servlet.ServletContext;
*/
public class IRDecode {
private static final String TAG = IRDecode.class.getSimpleName();
@Autowired
private static ServletContext context;
private static Object mSync = new Object();
private native String irGetVersion();
@@ -56,7 +49,7 @@ public class IRDecode {
}
private IRDecode() {
String libPath = "/data/irext/libir_decoder.so";
String libPath = "/data/irext/libir_decode.so";
System.out.println("loading decode library " + libPath);
System.load(libPath);
}
@@ -74,11 +67,15 @@ public class IRDecode {
}
public int[] decodeBinary(int keyCode, ACStatus acStatus, int changeWindDir) {
int[] decoded;
int []decoded;
synchronized (mSync) {
if (null == acStatus) {
acStatus = new ACStatus();
}
// validate ac status
if (!validateAcStatus(acStatus, keyCode, changeWindDir)) {
return new int[0];
}
decoded = irDecode(keyCode, acStatus, changeWindDir);
}
return decoded;
@@ -94,7 +91,7 @@ public class IRDecode {
public int[] getACSupportedMode() {
// cool, heat, auto, fan, de-humidification
int[] retSupportedMode = {0, 0, 0, 0, 0};
int []retSupportedMode = {0, 0, 0, 0, 0};
int supportedMode = irACGetSupportedMode();
for (int i = Constants.ACMode.MODE_COOL.getValue(); i <=
Constants.ACMode.MODE_DEHUMIDITY.getValue(); i++) {
@@ -105,7 +102,7 @@ public class IRDecode {
public int[] getACSupportedWindSpeed(int acMode) {
// auto, low, medium, high
int[] retSupportedWindSpeed = {0, 0, 0, 0};
int []retSupportedWindSpeed = {0, 0, 0, 0};
int supportedWindSpeed = irACGetSupportedWindSpeed(acMode);
for (int i = Constants.ACWindSpeed.SPEED_AUTO.getValue();
i <= Constants.ACWindSpeed.SPEED_HIGH.getValue();
@@ -117,7 +114,7 @@ public class IRDecode {
public int[] getACSupportedSwing(int acMode) {
// swing-on, swing-off
int[] retSupportedSwing = {0, 0};
int []retSupportedSwing= {0, 0};
int supportedSwing = irACGetSupportedSwing(acMode);
for (int i = Constants.ACSwing.SWING_ON.getValue();
i <= Constants.ACSwing.SWING_OFF.getValue();
@@ -131,4 +128,31 @@ public class IRDecode {
// how many directions supported by specific AC
return irACGetSupportedWindDirection(acMode);
}
private boolean validateAcStatus(ACStatus acStatus, int keyCode, int changeWindDir) {
if (acStatus.getAcPower() != Constants.ACPower.POWER_ON.getValue() &&
acStatus.getAcPower() != Constants.ACPower.POWER_OFF.getValue()) {
return false;
}
if (acStatus.getAcMode() < Constants.ACMode.MODE_COOL.getValue() ||
acStatus.getAcMode() > Constants.ACMode.MODE_DEHUMIDITY.getValue()) {
return false;
}
if (acStatus.getAcTemp() < Constants.ACTemperature.TEMP_16.getValue() ||
acStatus.getAcTemp() > Constants.ACTemperature.TEMP_30.getValue()) {
return false;
}
if (acStatus.getAcWindSpeed() < Constants.ACWindSpeed.SPEED_AUTO.getValue() ||
acStatus.getAcWindSpeed() > Constants.ACWindSpeed.SPEED_HIGH.getValue()) {
return false;
}
if (acStatus.getAcWindDir() < Constants.ACSwing.SWING_ON.getValue() ||
acStatus.getAcWindDir() > Constants.ACSwing.SWING_OFF.getValue()) {
return false;
}
if (changeWindDir != 0 && changeWindDir != 1) {
return false;
}
return true;
}
}

View File

@@ -46,7 +46,10 @@ public class Constants {
LIGHT(10),
BSTB(11),
CLEANING_ROBOT(12),
AIR_CLEANER(13);
AIR_CLEANER(13),
DYSON_SERIES(14),
CAMERA(15),
HEATER(16);
private final int id;