diff --git a/android-example/app/src/main/java/net/irext/ircontrol/ui/fragment/ControlFragment.java b/android-example/app/src/main/java/net/irext/ircontrol/ui/fragment/ControlFragment.java index e281537..26e3711 100644 --- a/android-example/app/src/main/java/net/irext/ircontrol/ui/fragment/ControlFragment.java +++ b/android-example/app/src/main/java/net/irext/ircontrol/ui/fragment/ControlFragment.java @@ -200,6 +200,7 @@ public class ControlFragment extends Fragment implements View.OnClickListener { acStatus.setAcTemp(Constants.ACTemperature.TEMP_24.getValue()); acStatus.setAcWindSpeed(Constants.ACWindSpeed.SPEED_AUTO.getValue()); acStatus.setAcWindDir(Constants.ACSwing.SWING_ON.getValue()); + acStatus.setChangeWindDir(0); acStatus.setAcDisplay(0); acStatus.setAcTimer(0); acStatus.setAcSleep(0); @@ -245,11 +246,6 @@ public class ControlFragment extends Fragment implements View.OnClickListener { /* translate key code for AC according to the mapping above */ /* ac status is useless for decoding devices other than AC, it's an optional parameter */ /* change wind dir is an optional parameter, set to 0 as default */ - if (mIRSocketEmitter.getConnectionStatus() == IRSocketEmitter.EMITTER_CONNECTED) { - decodeOnBoard(inputKeyCode, acStatus, 0); - } else { - decodeInApp(inputKeyCode, acStatus, 0); - } return mIRDecode.decodeBinary(inputKeyCode, acStatus, 0); } diff --git a/android-example/app/src/main/jniLibs/arm64-v8a/libirdecode.so b/android-example/app/src/main/jniLibs/arm64-v8a/libirdecode.so old mode 100644 new mode 100755 index 234e4df..6d80e94 Binary files a/android-example/app/src/main/jniLibs/arm64-v8a/libirdecode.so and b/android-example/app/src/main/jniLibs/arm64-v8a/libirdecode.so differ diff --git a/android-example/app/src/main/jniLibs/armeabi-v7a/libirdecode.so b/android-example/app/src/main/jniLibs/armeabi-v7a/libirdecode.so old mode 100644 new mode 100755 index b043552..bf800e2 Binary files a/android-example/app/src/main/jniLibs/armeabi-v7a/libirdecode.so and b/android-example/app/src/main/jniLibs/armeabi-v7a/libirdecode.so differ diff --git a/android-example/app/src/main/jniLibs/x86/libirdecode.so b/android-example/app/src/main/jniLibs/x86/libirdecode.so old mode 100644 new mode 100755 index aff802f..61cbe7a Binary files a/android-example/app/src/main/jniLibs/x86/libirdecode.so and b/android-example/app/src/main/jniLibs/x86/libirdecode.so differ diff --git a/android-example/app/src/main/jniLibs/x86_64/libirdecode.so b/android-example/app/src/main/jniLibs/x86_64/libirdecode.so old mode 100644 new mode 100755 index 13ed693..427ada0 Binary files a/android-example/app/src/main/jniLibs/x86_64/libirdecode.so and b/android-example/app/src/main/jniLibs/x86_64/libirdecode.so differ diff --git a/android-example/decodesdk/src/main/java/net/irext/decode/sdk/IRDecode.java b/android-example/decodesdk/src/main/java/net/irext/decode/sdk/IRDecode.java index c75609d..15bd6b0 100644 --- a/android-example/decodesdk/src/main/java/net/irext/decode/sdk/IRDecode.java +++ b/android-example/decodesdk/src/main/java/net/irext/decode/sdk/IRDecode.java @@ -4,7 +4,6 @@ import net.irext.decode.sdk.bean.ACStatus; import net.irext.decode.sdk.bean.TemperatureRange; import net.irext.decode.sdk.utils.Constants; - /** * Filename: IRDecode.java * Revised: Date: 2017-04-22 @@ -31,7 +30,7 @@ public class IRDecode { private native int irOpenBinary(int category, int subCate, byte[] binaries, int binLength); - private native int[] irDecode(int keyCode, ACStatus acStatus, int changeWindDirection); + private native int[] irDecode(int keyCode, ACStatus acStatus); private native void irClose(); @@ -46,7 +45,6 @@ public class IRDecode { private native int irACGetSupportedWindDirection(int acMode); private static IRDecode mInstance; - public static IRDecode getInstance() { if (null == mInstance) { mInstance = new IRDecode(); @@ -66,17 +64,17 @@ public class IRDecode { return irOpenBinary(category, subCate, binaries, binLength); } - public int[] decodeBinary(int keyCode, ACStatus acStatus, int changeWindDir) { + public int[] decodeBinary(int keyCode, ACStatus acStatus) { int []decoded; synchronized (mSync) { if (null == acStatus) { acStatus = new ACStatus(); } // validate ac status - if (!validateAcStatus(acStatus, keyCode, changeWindDir)) { + if (!validateAcStatus(acStatus, keyCode)) { return new int[0]; } - decoded = irDecode(keyCode, acStatus, changeWindDir); + decoded = irDecode(keyCode, acStatus); } return decoded; } @@ -129,7 +127,7 @@ public class IRDecode { return irACGetSupportedWindDirection(acMode); } - private boolean validateAcStatus(ACStatus acStatus, int keyCode, int changeWindDir) { + private boolean validateAcStatus(ACStatus acStatus, int keyCode) { if (acStatus.getAcPower() != Constants.ACPower.POWER_ON.getValue() && acStatus.getAcPower() != Constants.ACPower.POWER_OFF.getValue()) { return false; @@ -150,7 +148,7 @@ public class IRDecode { acStatus.getAcWindDir() > Constants.ACSwing.SWING_OFF.getValue()) { return false; } - if (changeWindDir != 0 && changeWindDir != 1) { + if (acStatus.getChangeWindDir() != 0 && acStatus.getChangeWindDir() != 1) { return false; } return true; diff --git a/android-example/decodesdk/src/main/java/net/irext/decode/sdk/bean/ACStatus.java b/android-example/decodesdk/src/main/java/net/irext/decode/sdk/bean/ACStatus.java index 9756e59..4aa6080 100644 --- a/android-example/decodesdk/src/main/java/net/irext/decode/sdk/bean/ACStatus.java +++ b/android-example/decodesdk/src/main/java/net/irext/decode/sdk/bean/ACStatus.java @@ -24,6 +24,7 @@ public class ACStatus { private int acDisplay; private int acSleep; private int acTimer; + private int changeWindDir; public ACStatus() { this.acPower = Constants.ACPower.POWER_OFF.getValue(); @@ -34,10 +35,11 @@ public class ACStatus { this.acTimer = 0; this.acDisplay = 0; this.acSleep = 0; + this.changeWindDir = 0; } public ACStatus(int acPower, int acMode, int acTemp, int acWindSpeed, int acWindDir, - int acDisplay, int acSleep, int acTimer) { + int acDisplay, int acSleep, int acTimer, int changeWindDir) { this.acPower = acPower; this.acTemp = acTemp; this.acMode = acMode; @@ -46,6 +48,7 @@ public class ACStatus { this.acDisplay = acDisplay; this.acSleep = acSleep; this.acTimer = acTimer; + this.changeWindDir = changeWindDir; } public int getAcPower() { @@ -112,4 +115,11 @@ public class ACStatus { this.acTimer = acTimer; } + public int getChangeWindDir() { + return changeWindDir; + } + + public void setChangeWindDir(int changeWindDir) { + this.changeWindDir = changeWindDir; + } } diff --git a/java-example/decodesdk/src/net/irext/decode/sdk/IRDecode.java b/java-example/decodesdk/src/net/irext/decode/sdk/IRDecode.java index e69dcca..d930533 100644 --- a/java-example/decodesdk/src/net/irext/decode/sdk/IRDecode.java +++ b/java-example/decodesdk/src/net/irext/decode/sdk/IRDecode.java @@ -4,7 +4,6 @@ import net.irext.decode.sdk.bean.ACStatus; import net.irext.decode.sdk.bean.TemperatureRange; import net.irext.decode.sdk.utils.Constants; - /** * Filename: IRDecode.java * Revised: Date: 2017-04-22 @@ -27,7 +26,7 @@ public class IRDecode { private native int irOpenBinary(int category, int subCate, byte[] binaries, int binLength); - private native int[] irDecode(int keyCode, ACStatus acStatus, int changeWindDirection); + private native int[] irDecode(int keyCode, ACStatus acStatus); private native void irClose(); @@ -42,7 +41,6 @@ public class IRDecode { private native int irACGetSupportedWindDirection(int acMode); private static IRDecode mInstance; - public static IRDecode getInstance() { if (null == mInstance) { mInstance = new IRDecode(); @@ -51,11 +49,10 @@ public class IRDecode { } private IRDecode() { - String libPath = "/data/irext/libir_decode.so"; + String libPath = "/data/irext/libirdecode_jni.so"; System.out.println("loading decode library " + libPath); System.load(libPath); } - public String getVersion() { return irGetVersion(); } @@ -68,17 +65,17 @@ public class IRDecode { return irOpenBinary(category, subCate, binaries, binLength); } - public int[] decodeBinary(int keyCode, ACStatus acStatus, int changeWindDir) { + public int[] decodeBinary(int keyCode, ACStatus acStatus) { int []decoded; synchronized (mSync) { if (null == acStatus) { acStatus = new ACStatus(); } // validate ac status - if (!validateAcStatus(acStatus, keyCode, changeWindDir)) { + if (!validateAcStatus(acStatus, keyCode)) { return new int[0]; } - decoded = irDecode(keyCode, acStatus, changeWindDir); + decoded = irDecode(keyCode, acStatus); } return decoded; } @@ -131,7 +128,7 @@ public class IRDecode { return irACGetSupportedWindDirection(acMode); } - private boolean validateAcStatus(ACStatus acStatus, int keyCode, int changeWindDir) { + private boolean validateAcStatus(ACStatus acStatus, int keyCode) { if (acStatus.getAcPower() != Constants.ACPower.POWER_ON.getValue() && acStatus.getAcPower() != Constants.ACPower.POWER_OFF.getValue()) { return false; @@ -152,7 +149,7 @@ public class IRDecode { acStatus.getAcWindDir() > Constants.ACSwing.SWING_OFF.getValue()) { return false; } - if (changeWindDir != 0 && changeWindDir != 1) { + if (acStatus.getChangeWindDir() != 0 && acStatus.getChangeWindDir() != 1) { return false; } return true; @@ -166,7 +163,7 @@ public class IRDecode { 1, "/home/strawmanbobi/Downloads/test.bin")) { int[] decoded = - irDecoder.decodeBinary(1, null, 0); + irDecoder.decodeBinary(1, null); for (int i = 0; i < decoded.length; i++) { System.out.print(decoded[i]); if (i != decoded.length - 1) { diff --git a/java-example/decodesdk/src/net/irext/decode/sdk/bean/ACStatus.java b/java-example/decodesdk/src/net/irext/decode/sdk/bean/ACStatus.java index 9756e59..4aa6080 100644 --- a/java-example/decodesdk/src/net/irext/decode/sdk/bean/ACStatus.java +++ b/java-example/decodesdk/src/net/irext/decode/sdk/bean/ACStatus.java @@ -24,6 +24,7 @@ public class ACStatus { private int acDisplay; private int acSleep; private int acTimer; + private int changeWindDir; public ACStatus() { this.acPower = Constants.ACPower.POWER_OFF.getValue(); @@ -34,10 +35,11 @@ public class ACStatus { this.acTimer = 0; this.acDisplay = 0; this.acSleep = 0; + this.changeWindDir = 0; } public ACStatus(int acPower, int acMode, int acTemp, int acWindSpeed, int acWindDir, - int acDisplay, int acSleep, int acTimer) { + int acDisplay, int acSleep, int acTimer, int changeWindDir) { this.acPower = acPower; this.acTemp = acTemp; this.acMode = acMode; @@ -46,6 +48,7 @@ public class ACStatus { this.acDisplay = acDisplay; this.acSleep = acSleep; this.acTimer = acTimer; + this.changeWindDir = changeWindDir; } public int getAcPower() { @@ -112,4 +115,11 @@ public class ACStatus { this.acTimer = acTimer; } + public int getChangeWindDir() { + return changeWindDir; + } + + public void setChangeWindDir(int changeWindDir) { + this.changeWindDir = changeWindDir; + } } diff --git a/java-example/java-example.iml b/java-example/java-example.iml new file mode 100644 index 0000000..d8959f5 --- /dev/null +++ b/java-example/java-example.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file