updated Android example according to 0.2.1

This commit is contained in:
strawmanbobi
2019-06-16 21:10:58 +08:00
parent 2eabc65df6
commit fd0c2cc620
16 changed files with 70 additions and 44 deletions

View File

@@ -1 +1 @@
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":4,"versionName":"0.2.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}] [{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":4,"versionName":"0.2.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]

View File

@@ -6,8 +6,9 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.BaseAdapter; import android.widget.BaseAdapter;
import android.widget.TextView; import android.widget.TextView;
import net.irext.decode.sdk.utils.Constants;
import net.irext.ircontrol.R; import net.irext.ircontrol.R;
import net.irext.sdk.utils.Constants;
import net.irext.webapi.model.RemoteIndex; import net.irext.webapi.model.RemoteIndex;
import java.util.List; import java.util.List;

View File

@@ -6,10 +6,10 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.BaseAdapter; import android.widget.BaseAdapter;
import android.widget.TextView; import android.widget.TextView;
import net.irext.decode.sdk.utils.Constants;
import net.irext.ircontrol.R; import net.irext.ircontrol.R;
import net.irext.ircontrol.bean.RemoteControl; import net.irext.ircontrol.bean.RemoteControl;
import net.irext.sdk.utils.Constants;
import java.util.List; import java.util.List;
/** /**

View File

@@ -9,13 +9,13 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.AdapterView; import android.widget.AdapterView;
import net.irext.decode.sdk.utils.Constants;
import net.irext.ircontrol.IRApplication; import net.irext.ircontrol.IRApplication;
import net.irext.ircontrol.R; import net.irext.ircontrol.R;
import net.irext.ircontrol.ui.activity.CreateActivity; import net.irext.ircontrol.ui.activity.CreateActivity;
import net.irext.ircontrol.ui.adapter.CategoryAdapter; import net.irext.ircontrol.ui.adapter.CategoryAdapter;
import net.irext.ircontrol.ui.widget.PullToRefreshListView; import net.irext.ircontrol.ui.widget.PullToRefreshListView;
import net.irext.ircontrol.utils.MessageUtil; import net.irext.ircontrol.utils.MessageUtil;
import net.irext.sdk.utils.Constants;
import net.irext.webapi.model.Category; import net.irext.webapi.model.Category;
import net.irext.webapi.WebAPICallbacks.ListCategoriesCallback; import net.irext.webapi.WebAPICallbacks.ListCategoriesCallback;

View File

@@ -14,9 +14,9 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.*; import android.widget.*;
import net.irext.decode.sdk.bean.ACStatus;
import net.irext.decode.sdk.IRDecode; import net.irext.decode.sdk.IRDecode;
import net.irext.sdk.utils.Constants; import net.irext.decode.sdk.bean.ACStatus;
import net.irext.decode.sdk.utils.Constants;
import net.irext.ircontrol.R; import net.irext.ircontrol.R;
import net.irext.ircontrol.bean.RemoteControl; import net.irext.ircontrol.bean.RemoteControl;
import net.irext.ircontrol.ui.activity.ControlActivity; import net.irext.ircontrol.ui.activity.ControlActivity;
@@ -162,14 +162,14 @@ public class ControlFragment extends Fragment implements View.OnClickListener {
/* decode SDK - decode according to key code */ /* decode SDK - decode according to key code */
if (Constants.CategoryID.AIR_CONDITIONER.getValue() == if (Constants.CategoryID.AIR_CONDITIONER.getValue() ==
mCurrentRemoteControl.getCategoryId()) { mCurrentRemoteControl.getCategoryId()) {
acStatus.setACPower(Constants.ACPower.POWER_OFF.getValue()); acStatus.setAcPower(Constants.ACPower.POWER_OFF.getValue());
acStatus.setACMode(Constants.ACMode.MODE_COOL.getValue()); acStatus.setAcMode(Constants.ACMode.MODE_COOL.getValue());
acStatus.setACTemp(Constants.ACTemperature.TEMP_24.getValue()); acStatus.setAcTemp(Constants.ACTemperature.TEMP_24.getValue());
acStatus.setACWindSpeed(Constants.ACWindSpeed.SPEED_AUTO.getValue()); acStatus.setAcWindSpeed(Constants.ACWindSpeed.SPEED_AUTO.getValue());
acStatus.setACWindDir(Constants.ACSwing.SWING_ON.getValue()); acStatus.setAcWindDir(Constants.ACSwing.SWING_ON.getValue());
acStatus.setACDisplay(0); acStatus.setAcDisplay(0);
acStatus.setACTimer(0); acStatus.setAcTimer(0);
acStatus.setACSleep(0); acStatus.setAcSleep(0);
switch(keyCode) { switch(keyCode) {
case KEY_POWER: case KEY_POWER:

View File

@@ -2,7 +2,7 @@ package net.irext.decode.sdk;
import net.irext.decode.sdk.bean.ACStatus; import net.irext.decode.sdk.bean.ACStatus;
import net.irext.decode.sdk.bean.TemperatureRange; import net.irext.decode.sdk.bean.TemperatureRange;
import net.irext.sdk.utils.Constants; import net.irext.decode.sdk.utils.Constants;
/** /**
* Filename: IRDecode.java * Filename: IRDecode.java
@@ -18,9 +18,7 @@ public class IRDecode {
private static final String TAG = IRDecode.class.getSimpleName(); private static final String TAG = IRDecode.class.getSimpleName();
static { private static Object mSync = new Object();
System.loadLibrary("irdecode");
}
private native int irOpen(int category, int subCate, String fileName); private native int irOpen(int category, int subCate, String fileName);
@@ -38,6 +36,8 @@ public class IRDecode {
private native int irACGetSupportedSwing(int acMode); private native int irACGetSupportedSwing(int acMode);
private native int irACGetSupportedWindDirection(int acMode);
private static IRDecode mInstance; private static IRDecode mInstance;
public static IRDecode getInstance() { public static IRDecode getInstance() {
@@ -48,7 +48,9 @@ public class IRDecode {
} }
private IRDecode() { private IRDecode() {
String libPath = "/data/irext/libirda_decoder.so";
System.out.println("loading decode library " + libPath);
System.load(libPath);
} }
public int openFile(int category, int subCate, String fileName) { public int openFile(int category, int subCate, String fileName) {
@@ -60,10 +62,14 @@ public class IRDecode {
} }
public int[] decodeBinary(int keyCode, ACStatus acStatus, int changeWindDir) { public int[] decodeBinary(int keyCode, ACStatus acStatus, int changeWindDir) {
int[] decoded;
synchronized (mSync) {
if (null == acStatus) { if (null == acStatus) {
acStatus = new ACStatus(); acStatus = new ACStatus();
} }
return irDecode(keyCode, acStatus, changeWindDir); decoded = irDecode(keyCode, acStatus, changeWindDir);
}
return decoded;
} }
public void closeBinary() { public void closeBinary() {
@@ -76,7 +82,7 @@ public class IRDecode {
public int[] getACSupportedMode() { public int[] getACSupportedMode() {
// cool, heat, auto, fan, de-humidification // cool, heat, auto, fan, de-humidification
int []retSupportedMode = {0, 0, 0, 0, 0}; int[] retSupportedMode = {0, 0, 0, 0, 0};
int supportedMode = irACGetSupportedMode(); int supportedMode = irACGetSupportedMode();
for (int i = Constants.ACMode.MODE_COOL.getValue(); i <= for (int i = Constants.ACMode.MODE_COOL.getValue(); i <=
Constants.ACMode.MODE_DEHUMIDITY.getValue(); i++) { Constants.ACMode.MODE_DEHUMIDITY.getValue(); i++) {
@@ -87,7 +93,7 @@ public class IRDecode {
public int[] getACSupportedWindSpeed(int acMode) { public int[] getACSupportedWindSpeed(int acMode) {
// auto, low, medium, high // auto, low, medium, high
int []retSupportedWindSpeed = {0, 0, 0, 0}; int[] retSupportedWindSpeed = {0, 0, 0, 0};
int supportedWindSpeed = irACGetSupportedWindSpeed(acMode); int supportedWindSpeed = irACGetSupportedWindSpeed(acMode);
for (int i = Constants.ACWindSpeed.SPEED_AUTO.getValue(); for (int i = Constants.ACWindSpeed.SPEED_AUTO.getValue();
i <= Constants.ACWindSpeed.SPEED_HIGH.getValue(); i <= Constants.ACWindSpeed.SPEED_HIGH.getValue();
@@ -99,7 +105,7 @@ public class IRDecode {
public int[] getACSupportedSwing(int acMode) { public int[] getACSupportedSwing(int acMode) {
// swing-on, swing-off // swing-on, swing-off
int []retSupportedSwing= {0, 0}; int[] retSupportedSwing = {0, 0};
int supportedSwing = irACGetSupportedSwing(acMode); int supportedSwing = irACGetSupportedSwing(acMode);
for (int i = Constants.ACSwing.SWING_ON.getValue(); for (int i = Constants.ACSwing.SWING_ON.getValue();
i <= Constants.ACSwing.SWING_OFF.getValue(); i <= Constants.ACSwing.SWING_OFF.getValue();
@@ -108,4 +114,9 @@ public class IRDecode {
} }
return retSupportedSwing; return retSupportedSwing;
} }
public int getACSupportedWindDirection(int acMode) {
// how many directions supported by specific AC
return irACGetSupportedWindDirection(acMode);
}
} }

View File

@@ -1,6 +1,6 @@
package net.irext.decode.sdk.bean; package net.irext.decode.sdk.bean;
import net.irext.sdk.utils.Constants; import net.irext.decode.sdk.utils.Constants;
/** /**
* Filename: ACStatus.java * Filename: ACStatus.java
@@ -48,67 +48,67 @@ public class ACStatus {
this.acTimer = acTimer; this.acTimer = acTimer;
} }
public int getACPower() { public int getAcPower() {
return acPower; return acPower;
} }
public void setACPower(int acPower) { public void setAcPower(int acPower) {
this.acPower = acPower; this.acPower = acPower;
} }
public int getACTemp() { public int getAcTemp() {
return acTemp; return acTemp;
} }
public void setACTemp(int acTemp) { public void setAcTemp(int acTemp) {
this.acTemp = acTemp; this.acTemp = acTemp;
} }
public int getACMode() { public int getAcMode() {
return acMode; return acMode;
} }
public void setACMode(int acMode) { public void setAcMode(int acMode) {
this.acMode = acMode; this.acMode = acMode;
} }
public int getACWindDir() { public int getAcWindDir() {
return acWindDir; return acWindDir;
} }
public void setACWindDir(int acWindDir) { public void setAcWindDir(int acWindDir) {
this.acWindDir = acWindDir; this.acWindDir = acWindDir;
} }
public int getACWindSpeed() { public int getAcWindSpeed() {
return acWindSpeed; return acWindSpeed;
} }
public void setACWindSpeed(int acWindSpeed) { public void setAcWindSpeed(int acWindSpeed) {
this.acWindSpeed = acWindSpeed; this.acWindSpeed = acWindSpeed;
} }
public int getACDisplay() { public int getAcDisplay() {
return acDisplay; return acDisplay;
} }
public void setACDisplay(int acDisplay) { public void setAcDisplay(int acDisplay) {
this.acDisplay = acDisplay; this.acDisplay = acDisplay;
} }
public int getACSleep() { public int getAcSleep() {
return acSleep; return acSleep;
} }
public void setACSleep(int acSleep) { public void setAcSleep(int acSleep) {
this.acSleep = acSleep; this.acSleep = acSleep;
} }
public int getACTimer() { public int getAcTimer() {
return acTimer; return acTimer;
} }
public void setACTimer(int acTimer) { public void setAcTimer(int acTimer) {
this.acTimer = acTimer; this.acTimer = acTimer;
} }

View File

@@ -1,4 +1,4 @@
package net.irext.sdk.utils; package net.irext.decode.sdk.utils;
/** /**
* Filename: Constants.java * Filename: Constants.java
@@ -14,10 +14,24 @@ public class Constants {
public static final int ERROR_CODE_SUCCESS = 0; public static final int ERROR_CODE_SUCCESS = 0;
public static final int ERROR_CODE_NETWORK_ERROR = -1; public static final int ERROR_CODE_NETWORK_ERROR = -1;
public static final int ERROR_CODE_AUTH_FAILURE = 1; public static final int ERROR_CODE_AUTH_FAILURE = 1;
public static final int ERROR_CODE_INVALID_CATEGORY = 2; public static final int ERROR_CODE_INVALID_CATEGORY = 2;
public static final int ERROR_CODE_INVALID_BRAND = 3; public static final int ERROR_CODE_INVALID_BRAND = 3;
public static final int ERROR_CODE_INVALID_PARAMETER = 4; public static final int ERROR_CODE_INVALID_PARAMETER = 4;
public static final int ERROR_CODE_INVALID_CITY = 5;
public static final int ERROR_CODE_INVALID_OPERATOR = 6;
public static final int ERROR_CODE_INVALID_SESSION = 20;
public static final String ERROR_CODE_SUCESS_TEXT = "success";
public static final String ERROR_CODE_NETWORK_ERROR_TEXT = "network error";
public static final String ERROR_CODE_AUTH_FAILUTRE_TEXT = "auth failure";
public static final String ERROR_CODE_INVALID_CATEGORY_TEXT = "invalid category";
public static final String ERROR_CODE_INVALID_BRAND_TEXT = "invalid brand";
public static final String ERROR_CODE_INVALID_PARAMETER_TEXT = "invalid parameter";
public static final String ERROR_CODE_INVALID_SESSION_TEXT = "invalid decode session";
public enum CategoryID { public enum CategoryID {
AIR_CONDITIONER(1), AIR_CONDITIONER(1),