import android.os.Environment;
import android.os.Handler;
import android.os.HandlerThread;
-import android.os.Message;
import android.os.SystemClock;
import android.telephony.SmsMessage;
import android.text.TextUtils;
private static long preTimeMillis;
private Context mContext = null;
Runtime runtime;
-
Handler mHandler;
- ReplayLocation replayLocation = new ReplayLocation();
- private boolean needshowToast = false;
+ static ReplayLocation replayLocation;
+ private static boolean needShowToast = false;
@Override
public void onReceive(Context context, Intent intent) {
} else if (ACTION_SMSCMD_TEST.equals(action)) {
String cmd = intent.getStringExtra("cmd");
String arg = intent.getStringExtra("arg1");
- handle_test_cmd(cmd, arg);
+ handle_test_cmd(runtime, mHandler, cmd, arg);
} else if (ACTION_SMS_RECEIVED.equals(action)) {
long currenttime = System.currentTimeMillis();
// if (currenttime - ICSmsManager.preTimeMillis > 30000L) {
public ICSmsManager(Runtime _runtime) {
this.runtime = _runtime;
this.mContext = runtime.getContextProxy().context;
+ replayLocation = new ReplayLocation();
IntentFilter intentfilter = new IntentFilter();
intentfilter.addAction(ACTION_SMSCMD_Reply);
intentfilter.addAction(ACTION_SMS_RECEIVED);
// registerSmsDatabaseChangeObserver(mContext);
HandlerThread handlerThread = new HandlerThread("ic:SMS-thread");
handlerThread.start();
- mHandler = new Handler(handlerThread.getLooper(), new Handler.Callback() {
- @Override
- public boolean handleMessage(Message message) {
- switch (message.what) {
- case 100: {
- Bundle param = message.getData();
- if (param != null) {
- String from = param.getString("SMSFrom");
- String smsmessage = param.getString("SMSData");
- long currenttime = System.currentTimeMillis();
- ICSmsManager.preTimeMillis = currenttime;
- (new Thread(new Runnable() {
- public void run() {
- SystemClock.sleep(3000L);
- ICLogger.i("收到" + from + "短信:" + smsmessage);
- //以下是处理指令的
- //判断是否要弹窗,强制读取
- String forceReadMsg = Util.getSystemProperties("persist.sys.forcereadmsg");
- ICLogger.d("forceReadMsg == > " + forceReadMsg);
- if (!handleSMS_CMD(from, smsmessage)) {
- //说明不是sms命令,提示短信接收。
- if (!TextUtils.isEmpty(forceReadMsg)) {
- WakeLockUtil.ScreenOnWakeLockTemperary(mContext);
- ContextProxy.play_waning_notify(mContext);
- VibrateUtil.getInstance(mContext).VibrateOnOnce(true);
- Util.mSleep(2000);
-
- MsgMustReadDialog instance = MsgMustReadDialog.getInstance();
- instance.showMsgDialog();
- List<String> list = new ArrayList<>();
- list.add(smsmessage);
- instance.addData(list);
- } else {
- ContextProxy.sendMsgBroadcast(mContext, smsmessage, 1);
- }
+ mHandler = new Handler(handlerThread.getLooper(), message -> {
+ switch (message.what) {
+ case 100: {
+ Bundle param = message.getData();
+ if (param != null) {
+ String from = param.getString("SMSFrom");
+ String smsmessage = param.getString("SMSData");
+ long currenttime = System.currentTimeMillis();
+ ICSmsManager.preTimeMillis = currenttime;
+ (new Thread(new Runnable() {
+ public void run() {
+ SystemClock.sleep(3000L);
+ ICLogger.i("收到" + from + "短信:" + smsmessage);
+ //以下是处理指令的
+ //判断是否要弹窗,强制读取
+ String forceReadMsg = Util.getSystemProperties("persist.sys.forcereadmsg");
+ ICLogger.d("forceReadMsg == > " + forceReadMsg);
+ if (!handleSMS_CMD(from, smsmessage)) {
+ //说明不是sms命令,提示短信接收。
+ if (!TextUtils.isEmpty(forceReadMsg)) {
+ WakeLockUtil.ScreenOnWakeLockTemperary(mContext);
+ ContextProxy.play_waning_notify(mContext);
+ VibrateUtil.getInstance(mContext).VibrateOnOnce(true);
+ Util.mSleep(2000);
+
+ MsgMustReadDialog instance = MsgMustReadDialog.getInstance();
+ instance.showMsgDialog();
+ List<String> list = new ArrayList<>();
+ list.add(smsmessage);
+ instance.addData(list);
+ } else {
+ ContextProxy.sendMsgBroadcast(mContext, smsmessage, 1);
}
}
- })).start();
- }
+ }
+ })).start();
}
- break;
- case 0:
- sendSMS(cell_number_to_reply, "Upload Failed!");
- cell_number_to_reply = "";
- if (needshowToast) {
- Util.ShowToast(runtime, "Upload cmd Failed!");
- needshowToast = false;
- }
- break;
-
- case 1:
- sendSMS(cell_number_to_reply, "Upload success!");
- cell_number_to_reply = "";
- if (needshowToast) {
- Util.ShowToast(runtime, "Upload cmd success!");
- needshowToast = false;
- }
- break;
}
- return false;
+ break;
+ case 0:
+ sendSMS(cell_number_to_reply, "Upload Failed!");
+ cell_number_to_reply = "";
+ if (needShowToast) {
+ Util.ShowToast(runtime, "Upload cmd Failed!");
+ needShowToast = false;
+ }
+ break;
+
+ case 1:
+ sendSMS(cell_number_to_reply, "Upload success!");
+ cell_number_to_reply = "";
+ if (needShowToast) {
+ Util.ShowToast(runtime, "Upload cmd success!");
+ needShowToast = false;
+ }
+ break;
}
+ return false;
});
}
- public void sendSMS(String phoneNumber, String msg) {
+ public static void sendSMS(String phoneNumber, String msg) {
+ if (TextUtils.isEmpty(phoneNumber)) {
+ ICLogger.d("phone number is null...");
+ return;
+ }
android.telephony.SmsManager smsManager = android.telephony.SmsManager.getDefault();
Iterator msgit = smsManager.divideMessage(msg).iterator();
while (msgit.hasNext()) {
return true;
}
- private void broadCastStartFotaUpdate(Context context) {
+ private static void broadCastStartFotaUpdate(Context context) {
Intent intent = new Intent();
intent.setAction(ACTION_START_FOTA_UPDATE);
/*
* return false表示不是命令, true表示是命令,且已经执行
* */
- public boolean handleSMS_CMD(String phonenumber, String sms) {
- if (isAdminNumber(phonenumber)) {
-
- String ENCRYPED_HEADER = Config.getSMSPwd(mContext);
- if (ENCRYPED_HEADER.equals(Config.DefaultSMSPassword)) {
- ENCRYPED_HEADER = "";
- }
-
+ public boolean handleSMS_CMD(String phoneNumber, String sms) {
+ if (isAdminNumber(phoneNumber)) {
if (sms == null || sms.trim().isEmpty()) return false;
-
ICLogger.i("received SMSCMD " + sms);
sms = sms.trim();
- if (sms.equals(ENCRYPED_HEADER + "#logctl#=upload,all")) {
- sms = ENCRYPED_HEADER + "#logctl#=upload,SDLog:Android/ic";
- }
- //$HX,SSER,OK,91.201.4.79,5018,C,589883
- if (sms.startsWith(ENCRYPED_HEADER + "$HX,SSER,OK,")) {
- String[] tmplist = sms.split(",");
- if (tmplist.length == 7) {
- String ServeriIp = tmplist[3];
- String ServerPort = tmplist[4];
- String imeiend = tmplist[6];
- if (runtime.IMEI().endsWith(imeiend)) {
- sms = ENCRYPED_HEADER + "#IP#=" + ServeriIp + ":" + ServerPort + "#";
- ICLogger.i("收到客户自定义 服务器IP设置命令,转化为 #IP#命令!");
- } else {
- sendSMS(phonenumber, imeiend + " IMEI 校验错误!");
- return true;
- }
+ }
+ return handleSms(runtime, sms, phoneNumber, mHandler);
+ }
+
+ /**
+ * phoneNumber可以为空
+ * Handler可以为空
+ *
+ * @param runtime
+ * @param sms
+ * @param phoneNumber
+ * @param handler
+ * @return
+ */
+ public static boolean handleSms(Runtime runtime, String sms, String phoneNumber, Handler handler) {
+ Context mContext = runtime.getContextProxy().context;
+ String ENCRYPED_HEADER = Config.getSMSPwd(mContext);
+ if (ENCRYPED_HEADER.equals(Config.DefaultSMSPassword)) {
+ ENCRYPED_HEADER = "";
+ }
+
+ if (sms.equals(ENCRYPED_HEADER + "#logctl#=upload,all")) {
+ sms = ENCRYPED_HEADER + "#logctl#=upload,SDLog:Android/ic";
+ }
+ //$HX,SSER,OK,91.201.4.79,5018,C,589883
+ if (sms.startsWith(ENCRYPED_HEADER + "$HX,SSER,OK,")) {
+ String[] tmplist = sms.split(",");
+ if (tmplist.length == 7) {
+ String ServeriIp = tmplist[3];
+ String ServerPort = tmplist[4];
+ String imeiend = tmplist[6];
+ if (runtime.IMEI().endsWith(imeiend)) {
+ sms = ENCRYPED_HEADER + "#IP#=" + ServeriIp + ":" + ServerPort + "#";
+ ICLogger.i("收到客户自定义 服务器IP设置命令,转化为 #IP#命令!");
} else {
- ICLogger.i(" 设置 Server IP 命令错误。");
- sendSMS(phonenumber, sms + " 格式错误!");
+ sendSMS(phoneNumber, imeiend + " IMEI 校验错误!");
return true;
}
+ } else {
+ ICLogger.i(" 设置 Server IP 命令错误。");
+ sendSMS(phoneNumber, sms + " 格式错误!");
+ return true;
}
- if (sms.startsWith(ENCRYPED_HEADER + "#apn#=") && sms.endsWith("#")) {
- String[] tmp = sms.split("#");
- if (tmp.length == 3) {
- String[] apnvalues = tmp[2].replace("=", "").split(",");
- if (apnvalues.length == 4) {
- String mcc = apnvalues[0];
- String mnc = apnvalues[1];
- String apnName = apnvalues[2];
- String apn = apnvalues[3];
- String user = "";
- String password = "";
- if (APNUtil.addVPN(apnName, apn, mcc, mnc, user, password, mContext) == true) {
- sendSMS(phonenumber, "apn add success!");
- } else {
- sendSMS(phonenumber, "apn add failed!");
- }
- } else if (apnvalues.length == 6) {
- String mcc = apnvalues[0];
- String mnc = apnvalues[1];
- String apnName = apnvalues[2];
- String apn = apnvalues[3];
- String user = apnvalues[4];
- String password = apnvalues[5];
- if (APNUtil.addVPN(apnName, apn, mcc, mnc, user, password, mContext) == true) {
- sendSMS(phonenumber, "apn add success!");
- } else {
- sendSMS(phonenumber, "apn add failed!");
- }
- } else if (apnvalues.length == 1) {
- if (apnvalues[0].equals("current")) {
-
- String apnstr = APNUtil.getCurrentAPN(mContext);
- sendSMS(phonenumber, apnstr);
- } else if (apnvalues[0].equals("reset")) {
- boolean apnret = APNUtil.resetAPN(mContext);
- sendSMS(phonenumber, "Reset APN to default " + apnret);
- } else {
- sendSMS(phonenumber, "apn cmd format error!");
- }
+ }
+ if (sms.startsWith(ENCRYPED_HEADER + "#apn#=") && sms.endsWith("#")) {
+ String[] tmp = sms.split("#");
+ if (tmp.length == 3) {
+ String[] apnvalues = tmp[2].replace("=", "").split(",");
+ if (apnvalues.length == 4) {
+ String mcc = apnvalues[0];
+ String mnc = apnvalues[1];
+ String apnName = apnvalues[2];
+ String apn = apnvalues[3];
+ String user = "";
+ String password = "";
+ if (APNUtil.addVPN(apnName, apn, mcc, mnc, user, password, mContext) == true) {
+ sendSMS(phoneNumber, "apn add success!");
+ } else {
+ sendSMS(phoneNumber, "apn add failed!");
+ }
+ } else if (apnvalues.length == 6) {
+ String mcc = apnvalues[0];
+ String mnc = apnvalues[1];
+ String apnName = apnvalues[2];
+ String apn = apnvalues[3];
+ String user = apnvalues[4];
+ String password = apnvalues[5];
+ if (APNUtil.addVPN(apnName, apn, mcc, mnc, user, password, mContext) == true) {
+ sendSMS(phoneNumber, "apn add success!");
} else {
- sendSMS(phonenumber, "apn cmd format error!");
+ sendSMS(phoneNumber, "apn add failed!");
+ }
+ } else if (apnvalues.length == 1) {
+ if (apnvalues[0].equals("current")) {
+
+ String apnstr = APNUtil.getCurrentAPN(mContext);
+ sendSMS(phoneNumber, apnstr);
+ } else if (apnvalues[0].equals("reset")) {
+ boolean apnret = APNUtil.resetAPN(mContext);
+ sendSMS(phoneNumber, "Reset APN to default " + apnret);
+ } else {
+ sendSMS(phoneNumber, "apn cmd format error!");
}
} else {
+ sendSMS(phoneNumber, "apn cmd format error!");
+ }
+ } else {
- sendSMS(phonenumber, "apn cmd format error!");
+ sendSMS(phoneNumber, "apn cmd format error!");
- }
- } else if (sms.startsWith(ENCRYPED_HEADER + "#deviceinfo#")) {
+ }
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#deviceinfo#")) {
// ICLogger.i("SMS " + sms + " reply " + DeviceInfoUtil.getDeviceVersion(runtime));
// sendSMS(phonenumber, DeviceInfoUtil.getDeviceVersion(runtime));
- ICLogger.i("SMS " + sms + " reply " + DeviceInfoUtil.getShortDeviceInfo(runtime));
- sendSMS(phonenumber, DeviceInfoUtil.getShortDeviceInfo(runtime));
- } else if (sms.startsWith(ENCRYPED_HEADER + "#status#")) {
- String reply = "IMEI=" + runtime.IMEI() + "\nSW:" + DeviceInfoUtil.getVersionCode(mContext) + " " + DeviceInfoUtil.getSWVersionDisplayName() + "\nBattery:" + runtime.getBattery() + "%";
-
- ICLogger.i("SMS " + sms + " reply \n" + reply);
- sendSMS(phonenumber, reply);
- } else if (sms.startsWith(ENCRYPED_HEADER + "#atcmd#=")) {
- String cmd = sms.substring(8);
- ICLogger.i("atcmd " + cmd);
- if (cmd.length() > 0) {
- send_at_cmd(runtime, cmd);
- sendSMS(phonenumber, "run At cmd " + cmd + "!");
- } else {
- sendSMS(phonenumber, "At cmd empty error!");
- }
- } else if (sms.startsWith(ENCRYPED_HEADER + "#imei:")) {
- String imei = sms.substring(6);
- ICLogger.i("SMS " + sms + " imei=" + imei);
- if (imei.length() == 15) {
- send_at_setImei0(runtime, imei);
- Config.setIMEI(mContext, imei);
- runtime.setImeiAndCid(imei, "");
- sendSMS(phonenumber, "set IMEI " + imei + " success !");
- CoreService.getInstance().disconnect_server();
- CoreService.getInstance().ReConnectToServer();
- } else if (imei.equals("reset")) {
- Config.setIMEI(mContext, "");
- runtime.setImeiAndCid(PhoneUtils.getIMEI(mContext), "");
- sendSMS(phonenumber, "reset IMEI to " + PhoneUtils.getIMEI(mContext) + " success !");
+ ICLogger.i("SMS " + sms + " reply " + DeviceInfoUtil.getShortDeviceInfo(runtime));
+ sendSMS(phoneNumber, DeviceInfoUtil.getShortDeviceInfo(runtime));
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#status#")) {
+ String reply = "IMEI=" + runtime.IMEI() + "\nSW:" + DeviceInfoUtil.getVersionCode(mContext) + " " + DeviceInfoUtil.getSWVersionDisplayName() + "\nBattery:" + runtime.getBattery() + "%";
+
+ ICLogger.i("SMS " + sms + " reply \n" + reply);
+ sendSMS(phoneNumber, reply);
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#atcmd#=")) {
+ String cmd = sms.substring(8);
+ ICLogger.i("atcmd " + cmd);
+ if (cmd.length() > 0) {
+ send_at_cmd(runtime, cmd);
+ sendSMS(phoneNumber, "run At cmd " + cmd + "!");
+ } else {
+ sendSMS(phoneNumber, "At cmd empty error!");
+ }
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#imei:")) {
+ String imei = sms.substring(6);
+ ICLogger.i("SMS " + sms + " imei=" + imei);
+ if (imei.length() == 15) {
+ send_at_setImei0(runtime, imei);
+ Config.setIMEI(mContext, imei);
+ runtime.setImeiAndCid(imei, "");
+ sendSMS(phoneNumber, "set IMEI " + imei + " success !");
+ CoreService.getInstance().disconnect_server();
+ CoreService.getInstance().ReConnectToServer();
+ } else if (imei.equals("reset")) {
+ Config.setIMEI(mContext, "");
+ runtime.setImeiAndCid(PhoneUtils.getIMEI(mContext), "");
+ sendSMS(phoneNumber, "reset IMEI to " + PhoneUtils.getIMEI(mContext) + " success !");
+ CoreService.getInstance().disconnect_server();
+ CoreService.getInstance().ReConnectToServer();
+ } else if (imei.equals("current")) {
+ sendSMS(phoneNumber, "Current IMEI " + runtime.IMEI());
+ } else {
+ sendSMS(phoneNumber, "set IMEI " + imei + " failed ! len!=15");
+ }
+ } else if ((sms.startsWith(ENCRYPED_HEADER + "#ip#=") || sms.startsWith(ENCRYPED_HEADER + "#host#=")) && sms.endsWith("#")) {
+ String tmp[] = sms.split("=");
+ String reply = "";
+ ICLogger.i(sms + " len " + tmp.length);
+ if (tmp.length == 2) {
+ if (tmp[1].equals("reset#")) {
+ Config.setCustomServer(mContext, false, protocolAPIHelper.getDefaultServerIP(), protocolAPIHelper.getDefaultServerPort());
+ reply = "reset ServerIP to " + protocolAPIHelper.getDefaultServerIP() + ":" + protocolAPIHelper.getDefaultServerPort() + " success! ";
+ Config.loadServerSettings(runtime);
CoreService.getInstance().disconnect_server();
CoreService.getInstance().ReConnectToServer();
- } else if (imei.equals("current")) {
- sendSMS(phonenumber, "Current IMEI " + runtime.IMEI());
+ } else if (tmp[1].equals("current#")) {
+ reply = "current serverAddress:" + runtime.getHost() + ":" + runtime.getPort();
} else {
- sendSMS(phonenumber, "set IMEI " + imei + " failed ! len!=15");
- }
- } else if ((sms.startsWith(ENCRYPED_HEADER + "#ip#=") || sms.startsWith(ENCRYPED_HEADER + "#host#=")) && sms.endsWith("#")) {
- String tmp[] = sms.split("=");
- String reply = "";
- ICLogger.i(sms + " len " + tmp.length);
- if (tmp.length == 2) {
- if (tmp[1].equals("reset#")) {
- Config.setCustomServer(mContext, false, protocolAPIHelper.getDefaultServerIP(), protocolAPIHelper.getDefaultServerPort());
- reply = "reset ServerIP to " + protocolAPIHelper.getDefaultServerIP() + ":" + protocolAPIHelper.getDefaultServerPort() + " success! ";
+ //分析 以 , 为分界的格式
+ String[] ipstr = tmp[1].split(",");
+ if (ipstr.length == 2) {
+ String ip = ipstr[0];
+ int port = Integer.valueOf(ipstr[1].replace("#", ""));
+ Config.setCustomServer(mContext, true, ip, port);
+ reply = sms + " success! ";
Config.loadServerSettings(runtime);
CoreService.getInstance().disconnect_server();
CoreService.getInstance().ReConnectToServer();
- } else if (tmp[1].equals("current#")) {
- reply = "current serverAddress:" + runtime.getHost() + ":" + runtime.getPort();
} else {
- //分析 以 , 为分界的格式
- String[] ipstr = tmp[1].split(",");
+ //分析以 : 为分界的格式
+ ipstr = tmp[1].split(":");
if (ipstr.length == 2) {
String ip = ipstr[0];
int port = Integer.valueOf(ipstr[1].replace("#", ""));
CoreService.getInstance().disconnect_server();
CoreService.getInstance().ReConnectToServer();
} else {
- //分析以 : 为分界的格式
- ipstr = tmp[1].split(":");
- if (ipstr.length == 2) {
- String ip = ipstr[0];
- int port = Integer.valueOf(ipstr[1].replace("#", ""));
- Config.setCustomServer(mContext, true, ip, port);
- reply = sms + " success! ";
- Config.loadServerSettings(runtime);
- CoreService.getInstance().disconnect_server();
- CoreService.getInstance().ReConnectToServer();
- } else {
- reply = sms + " falied! ";
- }
+ reply = sms + " falied! ";
}
}
- } else {
- reply = sms + " falied! ";
}
- sendSMS(phonenumber, reply);
- } else if (sms.startsWith(ENCRYPED_HEADER + "#setlocation#=") && sms.endsWith("#")) {
- String tmp[] = sms.split("=");
- if (tmp.length == 2) {
- if (tmp[1].equals("reset#")) {
- Config.loadModCycleSettings(runtime);//恢复初始设置
- sendSMS(phonenumber, "reset to Location Mode=" + runtime.getLocationInstance().getWorkingMod() + ", Cycle=" + runtime.getLocationInstance().getLocation_cycle());
- } else {
- String[] t = tmp[1].replace("#", "").split(",");
- if (t.length == 2) {
- int mod = 0;
- int cycle = 0;
- try {
- mod = Integer.valueOf(t[0]);
- cycle = Integer.valueOf(t[1]);
- } catch (Exception e) {
- e.printStackTrace();
- ICLogger.e(e.getMessage(), e);
+ } else {
+ reply = sms + " falied! ";
+ }
+ sendSMS(phoneNumber, reply);
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#setlocation#=") && sms.endsWith("#")) {
+ String tmp[] = sms.split("=");
+ if (tmp.length == 2) {
+ if (tmp[1].equals("reset#")) {
+ Config.loadModCycleSettings(runtime);//恢复初始设置
+ sendSMS(phoneNumber, "reset to Location Mode=" + runtime.getLocationInstance().getWorkingMod() + ", Cycle=" + runtime.getLocationInstance().getLocation_cycle());
+ } else {
+ String[] t = tmp[1].replace("#", "").split(",");
+ if (t.length == 2) {
+ int mod = 0;
+ int cycle = 0;
+ try {
+ mod = Integer.valueOf(t[0]);
+ cycle = Integer.valueOf(t[1]);
+ } catch (Exception e) {
+ e.printStackTrace();
+ ICLogger.e(e.getMessage(), e);
+ }
+ if (mod > 0 && cycle >= 30) {
+ switch (mod) {
+ case ICLocation.NORMAL_MOD:
+ cycle = 60 * 15;
+ break;
+ case ICLocation.LOWPOWER_MOD:
+ cycle = 60 * 60;
+ break;
+ case ICLocation.REALTIME_MOD:
+ case ICLocation.EMERGNECY_MOD:
+ cycle = 60;
+ break;
+ case ICLocation.CUSTOM_MOD:
+ case ICLocation.CUSTOM_MOD8_GPS:
+ case ICLocation.CUSTOM_MOD8_WIFI:
+ break;
+ default:
+ sendSMS(phoneNumber, "set to Location Failed ,value range should be Mod in (1,2,3,4,5,8,9) and cycle >=30!");
+ return true;
}
- if (mod > 0 && cycle >= 30) {
- switch (mod) {
- case ICLocation.NORMAL_MOD:
- cycle = 60 * 15;
- break;
- case ICLocation.LOWPOWER_MOD:
- cycle = 60 * 60;
- break;
- case ICLocation.REALTIME_MOD:
- case ICLocation.EMERGNECY_MOD:
- cycle = 60;
- break;
- case ICLocation.CUSTOM_MOD:
- case ICLocation.CUSTOM_MOD8_GPS:
- case ICLocation.CUSTOM_MOD8_WIFI:
- break;
- default:
- sendSMS(phonenumber, "set to Location Failed ,value range should be Mod in (1,2,3,4,5,8,9) and cycle >=30!");
- return true;
- }
- LocationClient.setForceLocation(1); //短信设置的至少强制执行第一次定位。否则NORMAL_MOD和LOWPOWER_MOD如果没有运动就无法正常定位
- runtime.getLocationInstance().setLocation_cycle(cycle);
- runtime.getLocationInstance().setWorkingMod(mod);
- CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod());
- if (mod == 4) {
- CoreService.getInstance().setEmegencyLocationSTOPAlarm(5);
- }
- sendSMS(phonenumber, "set to Location Mode=" + runtime.getLocationInstance().getWorkingMod() + ", Cycle=" + runtime.getLocationInstance().getLocation_cycle());
- } else {
- sendSMS(phonenumber, "set to Location Failed ,value range should be Mod in (1,2,3,4,5,8,9) and cycle >=30!");
+ LocationClient.setForceLocation(1); //短信设置的至少强制执行第一次定位。否则NORMAL_MOD和LOWPOWER_MOD如果没有运动就无法正常定位
+ runtime.getLocationInstance().setLocation_cycle(cycle);
+ runtime.getLocationInstance().setWorkingMod(mod);
+ CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod());
+ if (mod == 4) {
+ CoreService.getInstance().setEmegencyLocationSTOPAlarm(5);
}
-
+ sendSMS(phoneNumber, "set to Location Mode=" + runtime.getLocationInstance().getWorkingMod() + ", Cycle=" + runtime.getLocationInstance().getLocation_cycle());
} else {
- sendSMS(phonenumber, "setlocation format error!");
+ sendSMS(phoneNumber, "set to Location Failed ,value range should be Mod in (1,2,3,4,5,8,9) and cycle >=30!");
}
- }
- } else {
- sendSMS(phonenumber, "setlocation format error!");
- }
-
- } else if (sms.startsWith(ENCRYPED_HEADER + "#skipmovecheck#=")) {
- String tmp[] = sms.split("=");
- if (tmp.length == 2) {
- if (tmp[1].equals("current")) {
- sendSMS(phonenumber, "SkipMoveCheck " + LocationClient.getSkipMoveCheck() + "!");
- } else if (tmp[1].equals("true")) {
- LocationClient.setSkipMoveCheck(true);
- sendSMS(phonenumber, "set SkipMoveCheck " + LocationClient.getSkipMoveCheck() + " success!");
- } else if (tmp[1].equals("false")) {
- LocationClient.setSkipMoveCheck(false);
- sendSMS(phonenumber, "set SkipMoveCheck " + LocationClient.getSkipMoveCheck() + " success!");
} else {
- sendSMS(phonenumber, "skipmovecheck format error!");
+ sendSMS(phoneNumber, "setlocation format error!");
}
+ }
+
+ } else {
+ sendSMS(phoneNumber, "setlocation format error!");
+ }
+
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#skipmovecheck#=")) {
+ String tmp[] = sms.split("=");
+ if (tmp.length == 2) {
+ if (tmp[1].equals("current")) {
+ sendSMS(phoneNumber, "SkipMoveCheck " + LocationClient.getSkipMoveCheck() + "!");
+ } else if (tmp[1].equals("true")) {
+ LocationClient.setSkipMoveCheck(true);
+ sendSMS(phoneNumber, "set SkipMoveCheck " + LocationClient.getSkipMoveCheck() + " success!");
+ } else if (tmp[1].equals("false")) {
+ LocationClient.setSkipMoveCheck(false);
+ sendSMS(phoneNumber, "set SkipMoveCheck " + LocationClient.getSkipMoveCheck() + " success!");
} else {
- sendSMS(phonenumber, "skipmovecheck format error!");
+ sendSMS(phoneNumber, "skipmovecheck format error!");
}
- } else if (sms.startsWith(ENCRYPED_HEADER + "#wifictl#=")) {
- String tmp[] = sms.split("=");
- if (tmp.length == 2) {
- if (tmp[1].equals("current")) {
- sendSMS(phonenumber, "Current Wifi Setting SSID " + Config.getWiFiSSID(mContext) + ", WiFiPassword " + Config.getWiFiPasswd(mContext) + "!");
- } else if (tmp[1].equals("reset")) {
- Config.setWiFiSSID(mContext, Config.DefaultWiFiSSID);
- Config.setWiFiPasswd(mContext, Config.DefaultWiFiPWD);
- sendSMS(phonenumber, "reset Wifi Setting to SSID " + Config.getWiFiSSID(mContext) + ", WiFiPassword " + Config.getWiFiPasswd(mContext) + "!");
- } else if (tmp[1].startsWith("connect,")) {
-
- String tmplist[] = tmp[1].split(",");
- if (tmplist.length == 4) {
- String SSID = tmplist[1];
- String PWD = tmplist[2];
- String encyptType = tmplist[3];
- Config.setWiFiSSID(mContext, SSID);
- Config.setWiFiPasswd(mContext, PWD);
- sendSMS(phonenumber, "set and connect to Wifi SSID " + Config.getWiFiSSID(mContext) + ", WiFiPassword " + Config.getWiFiPasswd(mContext) + ", encryptType " + encyptType + "!");
- //connect to wifi
- mHandler.postDelayed(new Runnable() {
+ } else {
+ sendSMS(phoneNumber, "skipmovecheck format error!");
+ }
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#wifictl#=")) {
+ String tmp[] = sms.split("=");
+ if (tmp.length == 2) {
+ if (tmp[1].equals("current")) {
+ sendSMS(phoneNumber, "Current Wifi Setting SSID " + Config.getWiFiSSID(mContext) + ", WiFiPassword " + Config.getWiFiPasswd(mContext) + "!");
+ } else if (tmp[1].equals("reset")) {
+ Config.setWiFiSSID(mContext, Config.DefaultWiFiSSID);
+ Config.setWiFiPasswd(mContext, Config.DefaultWiFiPWD);
+ sendSMS(phoneNumber, "reset Wifi Setting to SSID " + Config.getWiFiSSID(mContext) + ", WiFiPassword " + Config.getWiFiPasswd(mContext) + "!");
+ } else if (tmp[1].startsWith("connect,")) {
+
+ String tmplist[] = tmp[1].split(",");
+ if (tmplist.length == 4) {
+ String SSID = tmplist[1];
+ String PWD = tmplist[2];
+ String encyptType = tmplist[3];
+ Config.setWiFiSSID(mContext, SSID);
+ Config.setWiFiPasswd(mContext, PWD);
+ sendSMS(phoneNumber, "set and connect to Wifi SSID " + Config.getWiFiSSID(mContext) + ", WiFiPassword " + Config.getWiFiPasswd(mContext) + ", encryptType " + encyptType + "!");
+ //connect to wifi
+ if (handler != null) {
+ handler.postDelayed(new Runnable() {
@Override
public void run() {
Deliver.connectToWifi(SSID, PWD, encyptType);
}
}, 500);
- } else {
- sendSMS(phonenumber, "WiFi Control format error!");
}
- } else if (tmp[1].startsWith("noTurnOffWhenScreenOff,")) {
-
- String tmplist[] = tmp[1].split(",");
- if (tmplist.length == 2) {
- String enabled = tmplist[1];
- boolean isenabled = enabled.toLowerCase().equals("true") ? true : false;
- runtime.setNoTurnOffOnScreenOff(isenabled);
- StringBuilder sb = new StringBuilder();
- if (isenabled && !Util.isWifiIsOpen(runtime.getContextProxy().context, runtime)) {
- Util.turnOnWifiForConnect(runtime.getContextProxy().context, runtime);
- sb.append(" Turn On Wifi first and ");
- }
- sb.append("set noTurnOffWhenScreenOff " + enabled);
- sendSMS(phonenumber, sb.toString());
- } else {
- sendSMS(phonenumber, "WiFi Control format error!");
+ } else {
+ sendSMS(phoneNumber, "WiFi Control format error!");
+ }
+ } else if (tmp[1].startsWith("noTurnOffWhenScreenOff,")) {
+
+ String tmplist[] = tmp[1].split(",");
+ if (tmplist.length == 2) {
+ String enabled = tmplist[1];
+ boolean isenabled = enabled.toLowerCase().equals("true") ? true : false;
+ runtime.setNoTurnOffOnScreenOff(isenabled);
+ StringBuilder sb = new StringBuilder();
+ if (isenabled && !Util.isWifiIsOpen(runtime.getContextProxy().context, runtime)) {
+ Util.turnOnWifiForConnect(runtime.getContextProxy().context, runtime);
+ sb.append(" Turn On Wifi first and ");
}
+ sb.append("set noTurnOffWhenScreenOff " + enabled);
+ sendSMS(phoneNumber, sb.toString());
} else {
- sendSMS(phonenumber, "WiFi Control format error!");
+ sendSMS(phoneNumber, "WiFi Control format error!");
}
} else {
- sendSMS(phonenumber, "WiFi Control format error!");
+ sendSMS(phoneNumber, "WiFi Control format error!");
}
- } else if (sms.startsWith(ENCRYPED_HEADER + "#logctl#=")) {
-
- needshowToast = sms.contains("SDLogInfo:");
- cell_number_to_reply = phonenumber;
- String tmp[] = sms.split("=");
- if (tmp.length == 2) {
- if (tmp[1].equals("current")) {
- sendSMS(phonenumber, "Current FtpLogServer " + Config.getFtpServer(mContext) + ", user " + Config.getFtpUser(mContext) + ", pwd " + Config.getFtpPWD(mContext));
- } else if (tmp[1].equals("reset")) {
-
- Config.setFtpServer(mContext, Config.DefaultLogFtpServer);
- Config.setFtpUser(mContext, Config.DefaultLogFtpUser);
- Config.setFtpPWD(mContext, Config.DefaultLogFtpPWD);
- sendSMS(phonenumber, "reset FtpLogServer to " + Config.getFtpServer(mContext) + ", user " + Config.getFtpUser(mContext) + ", pwd " + Config.getFtpPWD(mContext));
- } else if (tmp[1].startsWith("upload,")) {
-
- String cmdl[] = tmp[1].split(",");
- if (cmdl.length == 2) {
- String logfile = cmdl[1];
-
- if (!logfile.isEmpty() && (logfile.startsWith("SDLog:") || logfile.startsWith("SDLogInfo:"))) {
-
- String sdfilelist[] = logfile.split(":");
- if (sdfilelist.length == 2) {
- String fileOrDir = sdfilelist[1];
- mHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- String filepath = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + fileOrDir;
- if (new File(filepath).exists()) {
- Util.getDBFile();
- sendSMS(phonenumber, "start Upload " + filepath + " to " + Config.getFtpServer(mContext) + " ...");
-
- if (needshowToast) {
- Util.ShowToast(runtime, "start Upload " + filepath + " to " + Config.getFtpServer(mContext) + " ...");
- }
- String logtime = TimeUtil.getSystemTime3();
- ICHttpUtil.uploadFile(filepath, runtime, logtime, mHandler);
- } else {
- sendSMS(phonenumber, filepath + " not exist !");
- if (needshowToast) {
- Util.ShowToast(runtime, filepath + " not exist !");
- }
+ } else {
+ sendSMS(phoneNumber, "WiFi Control format error!");
+ }
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#logctl#=")) {
+
+ needShowToast = sms.contains("SDLogInfo:");
+ cell_number_to_reply = phoneNumber;
+ String tmp[] = sms.split("=");
+ if (tmp.length == 2) {
+ if (tmp[1].equals("current")) {
+ sendSMS(phoneNumber, "Current FtpLogServer " + Config.getFtpServer(mContext) + ", user " + Config.getFtpUser(mContext) + ", pwd " + Config.getFtpPWD(mContext));
+ } else if (tmp[1].equals("reset")) {
+
+ Config.setFtpServer(mContext, Config.DefaultLogFtpServer);
+ Config.setFtpUser(mContext, Config.DefaultLogFtpUser);
+ Config.setFtpPWD(mContext, Config.DefaultLogFtpPWD);
+ sendSMS(phoneNumber, "reset FtpLogServer to " + Config.getFtpServer(mContext) + ", user " + Config.getFtpUser(mContext) + ", pwd " + Config.getFtpPWD(mContext));
+ } else if (tmp[1].startsWith("upload,")) {
+
+ String cmdl[] = tmp[1].split(",");
+ if (cmdl.length == 2) {
+ String logfile = cmdl[1];
+
+ if (!logfile.isEmpty() && (logfile.startsWith("SDLog:") || logfile.startsWith("SDLogInfo:"))) {
+
+ String sdfilelist[] = logfile.split(":");
+ if (sdfilelist.length == 2) {
+ String fileOrDir = sdfilelist[1];
+ if (handler != null) {
+ handler.postDelayed(() -> {
+ String filepath = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + fileOrDir;
+ if (new File(filepath).exists()) {
+ Util.getDBFile();
+ sendSMS(phoneNumber, "start Upload " + filepath + " to " + Config.getFtpServer(mContext) + " ...");
+
+ if (needShowToast) {
+ Util.ShowToast(runtime, "start Upload " + filepath + " to " + Config.getFtpServer(mContext) + " ...");
+ }
+ String logTime = TimeUtil.getSystemTime3();
+ ICHttpUtil.uploadFile(filepath, runtime, logTime, handler);
+ } else {
+ sendSMS(phoneNumber, filepath + " not exist !");
+ if (needShowToast) {
+ Util.ShowToast(runtime, filepath + " not exist !");
}
}
}, 500);
-
- } else {
- sendSMS(phonenumber, " SDLog format error !");
}
-
} else {
- mHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- String filepath = Util.getLogfilePath(runtime, logfile);
- if (Util.LogfileExist(runtime, logfile)) {
- Util.getDBFile();
- sendSMS(phonenumber, "start Upload " + logfile + " to " + Config.getFtpServer(mContext) + " ...");
- String logtime = TimeUtil.getSystemTime3();
- ICHttpUtil.uploadFile(filepath, runtime, logtime, mHandler);
- } else {
- sendSMS(phonenumber, logfile + " not exist !");
- }
- }
- }, 500);
-
+ sendSMS(phoneNumber, " SDLog format error !");
}
} else {
- sendSMS(phonenumber, "upload logfile format error!");
+ if (handler != null) {
+ handler.postDelayed(() -> {
+ String filepath = Util.getLogfilePath(runtime, logfile);
+ if (Util.LogfileExist(runtime, logfile)) {
+ Util.getDBFile();
+ sendSMS(phoneNumber, "start Upload " + logfile + " to " + Config.getFtpServer(mContext) + " ...");
+ String logTime = TimeUtil.getSystemTime3();
+ ICHttpUtil.uploadFile(filepath, runtime, logTime, handler);
+ } else {
+ sendSMS(phoneNumber, logfile + " not exist !");
+ }
+ }, 500);
+ }
}
} else {
- String cmdl[] = tmp[1].split(",");
- if (cmdl.length == 3) {
- Config.setFtpServer(mContext, cmdl[0]);
- Config.setFtpUser(mContext, cmdl[1]);
- Config.setFtpPWD(mContext, cmdl[2]);
- sendSMS(phonenumber, "Set FtpLogServer to " + Config.getFtpServer(mContext) + ", user " + Config.getFtpUser(mContext) + ", pwd " + Config.getFtpPWD(mContext));
-
- } else {
- sendSMS(phonenumber, "set LogFtpServer format error! " + sms);
- }
+ sendSMS(phoneNumber, "upload logfile format error!");
}
+
} else {
- sendSMS(phonenumber, "set LogFtp ctl format error! " + sms);
+ String cmdl[] = tmp[1].split(",");
+ if (cmdl.length == 3) {
+ Config.setFtpServer(mContext, cmdl[0]);
+ Config.setFtpUser(mContext, cmdl[1]);
+ Config.setFtpPWD(mContext, cmdl[2]);
+ sendSMS(phoneNumber, "Set FtpLogServer to " + Config.getFtpServer(mContext) + ", user " + Config.getFtpUser(mContext) + ", pwd " + Config.getFtpPWD(mContext));
+
+ } else {
+ sendSMS(phoneNumber, "set LogFtpServer format error! " + sms);
+ }
}
+ } else {
+ sendSMS(phoneNumber, "set LogFtp ctl format error! " + sms);
+ }
- } else if (sms.startsWith(ENCRYPED_HEADER + "#TP#=")) {
- String tmp[] = sms.split("=");
- if (tmp.length == 2) {
- if (tmp[1].equals("getver")) {
- if (Util.is_FT6236U_upgrade_firmware_support()) {
- Util.FT6236U_getVer();
- String ver = Util.FT6236U_getVer();
- sendSMS(phonenumber, " Current FT6236U Firmware Version is " + ver + "!");
- } else {
- sendSMS(phonenumber, " system Not Support FT6236U upgrade Firmware!");
- }
- } else if (tmp[1].equals("upgrade")) {
- if (Util.is_FT6236U_upgrade_firmware_support()) {
- Util.FT6236U_getVer();
- String ver = Util.FT6236U_getVer();
- if (ver.startsWith("A1")) {
- if (Util.FT6236U_upgrade_firmware()) {
- Util.FT6236U_getVer();
- ver = Util.FT6236U_getVer();
- sendSMS(phonenumber, " Current FT6236U Firmware Version is " + ver + "!");
- } else {
- sendSMS(phonenumber, " FT6236U Firmware upgrade failed !");
- }
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#TP#=")) {
+ String tmp[] = sms.split("=");
+ if (tmp.length == 2) {
+ if (tmp[1].equals("getver")) {
+ if (Util.is_FT6236U_upgrade_firmware_support()) {
+ Util.FT6236U_getVer();
+ String ver = Util.FT6236U_getVer();
+ sendSMS(phoneNumber, " Current FT6236U Firmware Version is " + ver + "!");
+ } else {
+ sendSMS(phoneNumber, " system Not Support FT6236U upgrade Firmware!");
+ }
+ } else if (tmp[1].equals("upgrade")) {
+ if (Util.is_FT6236U_upgrade_firmware_support()) {
+ Util.FT6236U_getVer();
+ String ver = Util.FT6236U_getVer();
+ if (ver.startsWith("A1")) {
+ if (Util.FT6236U_upgrade_firmware()) {
+ Util.FT6236U_getVer();
+ ver = Util.FT6236U_getVer();
+ sendSMS(phoneNumber, " Current FT6236U Firmware Version is " + ver + "!");
} else {
- sendSMS(phonenumber, " FT6236U current Firmware version is " + ver + " , upgrade only support A1 to A3 !");
+ sendSMS(phoneNumber, " FT6236U Firmware upgrade failed !");
}
} else {
- sendSMS(phonenumber, " system Not Support FT6236U upgrade Firmware!");
+ sendSMS(phoneNumber, " FT6236U current Firmware version is " + ver + " , upgrade only support A1 to A3 !");
}
} else {
- sendSMS(phonenumber, "TP cmd format error!");
+ sendSMS(phoneNumber, " system Not Support FT6236U upgrade Firmware!");
}
} else {
- sendSMS(phonenumber, "TP cmd format error!");
+ sendSMS(phoneNumber, "TP cmd format error!");
}
- } else if (sms.startsWith(ENCRYPED_HEADER + "#USB#=")) {
- String tmp[] = sms.split("=");
- if (tmp.length == 2) {
- if (tmp[1].equals("current")) {
- String conf = Util.getSystemProperties("sys.usb.config");
- sendSMS(phonenumber, "Current USB config is " + conf + "!");
- } else if (tmp[1].equals("mtp") || tmp[1].equals("adb") || tmp[1].equals("mtp,adb") || tmp[1].equals("adb,mtp") || tmp[1].equals("none")) {
- sendSMS(phonenumber, "Set USB config to " + tmp[1] + "!");
- Util.setSystemProperties("sys.usb.config", "none");
-
- Util.setSystemProperties("sys.usb.config", tmp[1]);
- } else {
- sendSMS(phonenumber, "USB cmd format error only support current|adb|mtp|adb,mtp|mtp,adb|none !");
- }
+ } else {
+ sendSMS(phoneNumber, "TP cmd format error!");
+ }
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#USB#=")) {
+ String tmp[] = sms.split("=");
+ if (tmp.length == 2) {
+ if (tmp[1].equals("current")) {
+ String conf = Util.getSystemProperties("sys.usb.config");
+ sendSMS(phoneNumber, "Current USB config is " + conf + "!");
+ } else if (tmp[1].equals("mtp") || tmp[1].equals("adb") || tmp[1].equals("mtp,adb") || tmp[1].equals("adb,mtp") || tmp[1].equals("none")) {
+ sendSMS(phoneNumber, "Set USB config to " + tmp[1] + "!");
+ Util.setSystemProperties("sys.usb.config", "none");
+
+ Util.setSystemProperties("sys.usb.config", tmp[1]);
} else {
- sendSMS(phonenumber, "USB cmd format error!");
+ sendSMS(phoneNumber, "USB cmd format error only support current|adb|mtp|adb,mtp|mtp,adb|none !");
}
+ } else {
+ sendSMS(phoneNumber, "USB cmd format error!");
+ }
- } else if (sms.startsWith(ENCRYPED_HEADER + "#ShowInfo#")) {
- Intent intent = new Intent();
- ComponentName var3 = new ComponentName("com.enqualcomm.support", "com.enqualcomm.support.DeviceInfoActivity");
- intent.addFlags(FLAG_ACTIVITY_NEW_TASK);
- intent.setComponent(var3);
- runtime.getContextProxy().context.startActivity(intent);
- } else if (sms.startsWith(ENCRYPED_HEADER + "#FactoryResetCheckSim#")) {
- sendSMS(phonenumber, "do FactoryResetCheckSim ok!");
- CoreService.DevliverStringMessage("FactoryResetCheckSim");
- } else if (sms.startsWith(ENCRYPED_HEADER + "#poweroffCheckSim#")) {
- sendSMS(phonenumber, "do poweroffCheckSim ok!");
- CoreService.DevliverStringMessage("poweroffCheckSim");
- } else if (sms.startsWith(ENCRYPED_HEADER + "#factoryreset#") || sms.startsWith(ENCRYPED_HEADER + "#reset#")) {
- sendSMS(phonenumber, "do factoryreset ok!");
- CoreService.DevliverStringMessage("FactoryReset");
- } else if (sms.startsWith(ENCRYPED_HEADER + "#reboot#")) {
- sendSMS(phonenumber, "do reboot ok!");
- CoreService.DevliverStringMessage("Reboot");
- } else if (sms.startsWith(ENCRYPED_HEADER + "#poweroff#")) {
- sendSMS(phonenumber, "do poweroff ok!");
- CoreService.DevliverStringMessage("poweroff");
- } else if (sms.startsWith(ENCRYPED_HEADER + "#packagevers#")) {
- sendSMS(phonenumber, DeviceInfoUtil.getPackageVersions(mContext));
- } else if (sms.startsWith(ENCRYPED_HEADER + "#getWeather#")) {
- sendSMS(phonenumber, "do get Weather!");
- CoreService.DevliverStringMessage("getWeather");
- } else if (sms.startsWith(ENCRYPED_HEADER + "#showui#")) {
- Util.setSystemProperties("persist.sys.debugprotocol", "true");
- Intent intent = new Intent();
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#ShowInfo#")) {
+ Intent intent = new Intent();
+ ComponentName var3 = new ComponentName("com.enqualcomm.support", "com.enqualcomm.support.DeviceInfoActivity");
+ intent.addFlags(FLAG_ACTIVITY_NEW_TASK);
+ intent.setComponent(var3);
+ runtime.getContextProxy().context.startActivity(intent);
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#FactoryResetCheckSim#")) {
+ sendSMS(phoneNumber, "do FactoryResetCheckSim ok!");
+ CoreService.DevliverStringMessage("FactoryResetCheckSim");
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#poweroffCheckSim#")) {
+ sendSMS(phoneNumber, "do poweroffCheckSim ok!");
+ CoreService.DevliverStringMessage("poweroffCheckSim");
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#factoryreset#") || sms.startsWith(ENCRYPED_HEADER + "#reset#")) {
+ sendSMS(phoneNumber, "do factoryreset ok!");
+ CoreService.DevliverStringMessage("FactoryReset");
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#reboot#")) {
+ sendSMS(phoneNumber, "do reboot ok!");
+ CoreService.DevliverStringMessage("Reboot");
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#poweroff#")) {
+ sendSMS(phoneNumber, "do poweroff ok!");
+ CoreService.DevliverStringMessage("poweroff");
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#packagevers#")) {
+ sendSMS(phoneNumber, DeviceInfoUtil.getPackageVersions(mContext));
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#getWeather#")) {
+ sendSMS(phoneNumber, "do get Weather!");
+ CoreService.DevliverStringMessage("getWeather");
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#showui#")) {
+ Util.setSystemProperties("persist.sys.debugprotocol", "true");
+ Intent intent = new Intent();
// intent.setClassName(MainActivity.class.getPackage().getName(),MainActivity.class.getName());
- intent.setClass(mContext, MainActivity.class);
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- mContext.startActivity(intent);
- } else if (sms.startsWith(ENCRYPED_HEADER + "#PW=") && sms.endsWith("#")) {
- String tmp[] = sms.split("=");
- if (tmp.length == 2) {
- if (tmp[1].equals(Config.DefaultSMSPassword + "#")) {
- Config.setSMSPwd(mContext, Config.DefaultSMSPassword);
- sendSMS(phonenumber, "Cancel SMS PW ok!");
- } else {
- Config.setSMSPwd(mContext, tmp[1].replace("#", ""));
- sendSMS(phonenumber, "SET SMS PW ok " + Config.getSMSPwd(mContext));
- }
+ intent.setClass(mContext, MainActivity.class);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ mContext.startActivity(intent);
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#PW=") && sms.endsWith("#")) {
+ String tmp[] = sms.split("=");
+ if (tmp.length == 2) {
+ if (tmp[1].equals(Config.DefaultSMSPassword + "#")) {
+ Config.setSMSPwd(mContext, Config.DefaultSMSPassword);
+ sendSMS(phoneNumber, "Cancel SMS PW ok!");
} else {
- sendSMS(phonenumber, "set SMSCMD PWD format error!");
+ Config.setSMSPwd(mContext, tmp[1].replace("#", ""));
+ sendSMS(phoneNumber, "SET SMS PW ok " + Config.getSMSPwd(mContext));
}
- } else if (sms.startsWith(ENCRYPED_HEADER + "#sos=") && sms.endsWith("#")) {
- String tmp[] = sms.split("=");
- if (tmp.length == 2) {
- String str_sosNums = tmp[1].replace("#", "");
- String[] soslist = str_sosNums.split(";");
- if (soslist.length >= 1 && soslist.length <= 3) {
- String phNum1 = soslist[0];
- String phNum2 = "";
- String phNum3 = "";
- if (soslist.length > 1) phNum2 = soslist[1];
- if (soslist.length > 2) phNum3 = soslist[2];
-
- ArrayList<Contact> contactArray = new ArrayList<Contact>();
- if (!phNum1.isEmpty())
- contactArray.add(new Contact(Contact.CATEGORY_SOS, "sos1", phNum1));
- if (!phNum2.isEmpty())
- contactArray.add(new Contact(Contact.CATEGORY_SOS, "sos2", phNum2));
- if (!phNum3.isEmpty())
- contactArray.add(new Contact(Contact.CATEGORY_SOS, "sos3", phNum3));
-
- runtime.getDbHelper().saveContacts(contactArray, false, false, false, false, false, true);
-
- sendSMS(phonenumber, "set SOS number ok!");
-
- } else {
- sendSMS(phonenumber, "set SOS number format Error!");
- }
+ } else {
+ sendSMS(phoneNumber, "set SMSCMD PWD format error!");
+ }
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#sos=") && sms.endsWith("#")) {
+ String tmp[] = sms.split("=");
+ if (tmp.length == 2) {
+ String str_sosNums = tmp[1].replace("#", "");
+ String[] soslist = str_sosNums.split(";");
+ if (soslist.length >= 1 && soslist.length <= 3) {
+ String phNum1 = soslist[0];
+ String phNum2 = "";
+ String phNum3 = "";
+ if (soslist.length > 1) phNum2 = soslist[1];
+ if (soslist.length > 2) phNum3 = soslist[2];
+
+ ArrayList<Contact> contactArray = new ArrayList<Contact>();
+ if (!phNum1.isEmpty())
+ contactArray.add(new Contact(Contact.CATEGORY_SOS, "sos1", phNum1));
+ if (!phNum2.isEmpty())
+ contactArray.add(new Contact(Contact.CATEGORY_SOS, "sos2", phNum2));
+ if (!phNum3.isEmpty())
+ contactArray.add(new Contact(Contact.CATEGORY_SOS, "sos3", phNum3));
+
+ runtime.getDbHelper().saveContacts(contactArray, false, false, false, false, false, true);
+
+ sendSMS(phoneNumber, "set SOS number ok!");
} else {
- sendSMS(phonenumber, "set SMSCMD PWD format error!");
+ sendSMS(phoneNumber, "set SOS number format Error!");
}
- } else if (sms.equals(ENCRYPED_HEADER + "#listen#")) {
- sendSMS(phonenumber, "start listen !");
-// CellInfoUtil.dialSilent(runtime.getContextProxy().context,phonenumber);
- ICAudioManager.needMute = true;
- mHandler.postDelayed(new Runnable() {
+
+ } else {
+ sendSMS(phoneNumber, "set SMSCMD PWD format error!");
+ }
+ } else if (sms.equals(ENCRYPED_HEADER + "#listen#")) {
+ sendSMS(phoneNumber, "start listen !");
+ ICAudioManager.needMute = true;
+ if (handler != null) {
+ handler.postDelayed(new Runnable() {
@Override
public void run() {
- SimSignalUtil.send_at_cmd(runtime, "atd" + phonenumber + ";");
+ SimSignalUtil.send_at_cmd(runtime, "atd" + phoneNumber + ";");
}
}, 2000);
+ }
+ } else if (sms.equals(ENCRYPED_HEADER + "#location#")) {
- } else if (sms.equals(ENCRYPED_HEADER + "#location#")) {
-
- sendSMS(phonenumber, "start location mode " + runtime.getLocationInstance().getWorkingMod() + "!");
- cell_number_to_reply = phonenumber;
- LocationClient locationClient = LocationClient.getInstance();
- if (locationClient != null) {
- locationClient.setLocationResponse(replayLocation);
- ICLogger.i("triggerLocationProcess ");
- locationClient.triggerLocationProcess();
- }
- } else if (sms.startsWith(ENCRYPED_HEADER + "#setLogSrv#=") && sms.endsWith("#")) {
- String tmp[] = sms.split("=");
- if (tmp.length == 2) {
- String strtmp = tmp[1].replace("#", "");
-
- if (strtmp.contains("/")) {
- /* #setLogSrv#=http://icfota.snicker.com.cn:8089/UploadFile.jsp*/
- Config.setHttpLogServerUrl(mContext, strtmp);
- sendSMS(phonenumber, "set setLogSrv to " + strtmp + "!");
- } else {
- sendSMS(phonenumber, " setLogSrv cmd Format error!");
- }
-
- } else {
- sendSMS(phonenumber, " setLogSrv cmd Format error!");
- }
- } else if (sms.startsWith(ENCRYPED_HEADER + "#setFotaSrv#=") && sms.endsWith("#")) {
- String tmp[] = sms.split("=");
- if (tmp.length == 2) {
- String strtmp = tmp[1].replace("#", "");
- Config.setFotaServerUrl(mContext, strtmp);
- Util.setSystemProperties(Constants.PersistFotaServer2Url, strtmp);
- sendSMS(phonenumber, "set setFotaSrv2 to " + strtmp + "!");
+ sendSMS(phoneNumber, "start location mode " + runtime.getLocationInstance().getWorkingMod() + "!");
+ cell_number_to_reply = phoneNumber;
+ LocationClient locationClient = LocationClient.getInstance();
+ if (locationClient != null) {
+ locationClient.setLocationResponse(replayLocation);
+ ICLogger.i("triggerLocationProcess ");
+ locationClient.triggerLocationProcess();
+ }
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#setLogSrv#=") && sms.endsWith("#")) {
+ String tmp[] = sms.split("=");
+ if (tmp.length == 2) {
+ String strtmp = tmp[1].replace("#", "");
+
+ if (strtmp.contains("/")) {
+ /* #setLogSrv#=http://icfota.snicker.com.cn:8089/UploadFile.jsp*/
+ Config.setHttpLogServerUrl(mContext, strtmp);
+ sendSMS(phoneNumber, "set setLogSrv to " + strtmp + "!");
} else {
- sendSMS(phonenumber, " setFotaSrv cmd Format error!");
+ sendSMS(phoneNumber, " setLogSrv cmd Format error!");
}
- } else if (sms.equals(ENCRYPED_HEADER + "#FotaUpdate#")) {
- cell_number_to_reply = phonenumber;
- broadCastStartFotaUpdate(mContext);
- sendSMS(phonenumber, "start fota update !");
- } else if (sms.equals(ENCRYPED_HEADER + "#FotaUpdateWiFi#=")) {
- String tmp[] = sms.split("=");
- if (tmp.length == 2) {
- String tmplist[] = tmp[1].split(",");
- if (tmplist.length == 3) {
- String SSID = tmplist[0];
- String PWD = tmplist[1];
- String encyptType = tmplist[2];
- Config.setWiFiSSID(mContext, SSID);
- Config.setWiFiPasswd(mContext, PWD);
- runtime.setNoTurnOffOnScreenOff(true);
- StringBuilder sb = new StringBuilder();
- if (!Util.isWifiIsOpen(runtime.getContextProxy().context, runtime)) {
- Util.turnOnWifiForConnect(runtime.getContextProxy().context, runtime);
- }
- sb.append("connect to Wifi SSID " + Config.getWiFiSSID(mContext) + ", WiFiPassword " + Config.getWiFiPasswd(mContext) + ", encryptType " + encyptType + "!");
- sb.append(" And start to Update");
- cell_number_to_reply = phonenumber;
- sendSMS(phonenumber, sb.toString());
- //connect to wifi
- mHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- Deliver.connectToWifi(SSID, PWD, encyptType);
- broadCastStartFotaUpdate(mContext);
- }
+ } else {
+ sendSMS(phoneNumber, " setLogSrv cmd Format error!");
+ }
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#setFotaSrv#=") && sms.endsWith("#")) {
+ String tmp[] = sms.split("=");
+ if (tmp.length == 2) {
+ String strtmp = tmp[1].replace("#", "");
+ Config.setFotaServerUrl(mContext, strtmp);
+ Util.setSystemProperties(Constants.PersistFotaServer2Url, strtmp);
+ sendSMS(phoneNumber, "set setFotaSrv2 to " + strtmp + "!");
+ } else {
+ sendSMS(phoneNumber, " setFotaSrv cmd Format error!");
+ }
+ } else if (sms.equals(ENCRYPED_HEADER + "#FotaUpdate#")) {
+ cell_number_to_reply = phoneNumber;
+ broadCastStartFotaUpdate(mContext);
+ sendSMS(phoneNumber, "start fota update !");
+ } else if (sms.equals(ENCRYPED_HEADER + "#FotaUpdateWiFi#=")) {
+ String tmp[] = sms.split("=");
+ if (tmp.length == 2) {
+ String tmplist[] = tmp[1].split(",");
+ if (tmplist.length == 3) {
+
+ String SSID = tmplist[0];
+ String PWD = tmplist[1];
+ String encyptType = tmplist[2];
+ Config.setWiFiSSID(mContext, SSID);
+ Config.setWiFiPasswd(mContext, PWD);
+ runtime.setNoTurnOffOnScreenOff(true);
+ StringBuilder sb = new StringBuilder();
+ if (!Util.isWifiIsOpen(runtime.getContextProxy().context, runtime)) {
+ Util.turnOnWifiForConnect(runtime.getContextProxy().context, runtime);
+ }
+ sb.append("connect to Wifi SSID " + Config.getWiFiSSID(mContext) + ", WiFiPassword " + Config.getWiFiPasswd(mContext) + ", encryptType " + encyptType + "!");
+ sb.append(" And start to Update");
+ cell_number_to_reply = phoneNumber;
+ sendSMS(phoneNumber, sb.toString());
+ //connect to wifi
+ if (handler != null) {
+ handler.postDelayed(() -> {
+ Deliver.connectToWifi(SSID, PWD, encyptType);
+ broadCastStartFotaUpdate(mContext);
}, 500);
- } else {
- sendSMS(phonenumber, "FotaUpdateWiFi Control format error!");
}
} else {
- sendSMS(phonenumber, "FotaUpdateWiFi Control format error!");
+ sendSMS(phoneNumber, "FotaUpdateWiFi Control format error!");
}
+ } else {
+ sendSMS(phoneNumber, "FotaUpdateWiFi Control format error!");
+ }
- } else if (sms.startsWith(ENCRYPED_HEADER + "#nolocationcycle#=") && sms.endsWith("#")) {
- String tmp[] = sms.split("=");
- if (tmp.length == 2) {
- String strtmp = tmp[1].replace("#", "");
- if (strtmp.equalsIgnoreCase("false")) {
- Util.setSystemProperties("persist.sys.NoLocationCycle", "false");
- Config.getNoLocationCycleFlag();
- sendSMS(phonenumber, "set noLocationCycle false! and trigger one Location");
- LocationClient locationClient = LocationClient.getInstance();
- if (locationClient != null) {
- ICLogger.i("triggerLocationProcess ");
- locationClient.triggerLocationProcess();
- }
- } else if (strtmp.equalsIgnoreCase("true")) {
- Util.setSystemProperties("persist.sys.NoLocationCycle", "true");
- Config.getNoLocationCycleFlag();
- sendSMS(phonenumber, "set noLocationCycle true!");
- } else if (strtmp.equalsIgnoreCase("current")) {
- sendSMS(phonenumber, "current noLocationCycle " + Config.getNoLocationCycleFlag() + "!");
- } else {
- sendSMS(phonenumber, " nolocationcycle cmd Format error!");
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#nolocationcycle#=") && sms.endsWith("#")) {
+ String tmp[] = sms.split("=");
+ if (tmp.length == 2) {
+ String strtmp = tmp[1].replace("#", "");
+ if (strtmp.equalsIgnoreCase("false")) {
+ Util.setSystemProperties("persist.sys.NoLocationCycle", "false");
+ Config.getNoLocationCycleFlag();
+ sendSMS(phoneNumber, "set noLocationCycle false! and trigger one Location");
+ LocationClient locationClient = LocationClient.getInstance();
+ if (locationClient != null) {
+ ICLogger.i("triggerLocationProcess ");
+ locationClient.triggerLocationProcess();
}
+ } else if (strtmp.equalsIgnoreCase("true")) {
+ Util.setSystemProperties("persist.sys.NoLocationCycle", "true");
+ Config.getNoLocationCycleFlag();
+ sendSMS(phoneNumber, "set noLocationCycle true!");
+ } else if (strtmp.equalsIgnoreCase("current")) {
+ sendSMS(phoneNumber, "current noLocationCycle " + Config.getNoLocationCycleFlag() + "!");
} else {
- sendSMS(phonenumber, " nolocationcycle cmd Format error!");
+ sendSMS(phoneNumber, " nolocationcycle cmd Format error!");
}
- } else if (sms.startsWith(ENCRYPED_HEADER + "#setprotocol#=") && sms.endsWith("#")) {
- String tmp[] = sms.split("=");
- if (tmp.length == 2) {
- String strtmp = tmp[1].replace("#", "");
- if (strtmp.equalsIgnoreCase("beehome")) {
- if (Config.protocol_no != Config.PROTOCOL_BEEHOME) {
- Util.setSystemProperties("persist.sys.protocol_no", "1");
- Config.getProtocolNumber();
- Config.setCustomServer(mContext, false, protocolAPIHelper.getDefaultServerIP(), protocolAPIHelper.getDefaultServerPort());
- Config.loadServerSettings(runtime);
- sendSMS(phonenumber, "set setprotocol to Beehome Protocol! device will reboot later !");
- CoreService.DevliverStringMessage("Reboot");
+ } else {
+ sendSMS(phoneNumber, " nolocationcycle cmd Format error!");
+ }
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#setprotocol#=") && sms.endsWith("#")) {
+ String tmp[] = sms.split("=");
+ if (tmp.length == 2) {
+ String strtmp = tmp[1].replace("#", "");
+ if (strtmp.equalsIgnoreCase("beehome")) {
+ if (Config.protocol_no != Config.PROTOCOL_BEEHOME) {
+ Util.setSystemProperties("persist.sys.protocol_no", "1");
+ Config.getProtocolNumber();
+ Config.setCustomServer(mContext, false, protocolAPIHelper.getDefaultServerIP(), protocolAPIHelper.getDefaultServerPort());
+ Config.loadServerSettings(runtime);
+ sendSMS(phoneNumber, "set setprotocol to Beehome Protocol! device will reboot later !");
+ CoreService.DevliverStringMessage("Reboot");
// CoreService.getInstance().disconnect_server();
// CoreService.getInstance().ReConnectToServer();
- } else {
- sendSMS(phonenumber, "current is Beehome Protocol!");
- }
+ } else {
+ sendSMS(phoneNumber, "current is Beehome Protocol!");
+ }
- } else if (strtmp.equalsIgnoreCase("jiai")) {
- if (Config.protocol_no != Config.PROTOCOL_JIAI) {
- Util.setSystemProperties("persist.sys.protocol_no", "0");
- Config.getProtocolNumber();
- Config.setCustomServer(mContext, false, protocolAPIHelper.getDefaultServerIP(), protocolAPIHelper.getDefaultServerPort());
- Config.loadServerSettings(runtime);
- sendSMS(phonenumber, "set setprotocol to JiAi Protocol! device will reboot later !");
- CoreService.DevliverStringMessage("Reboot");
+ } else if (strtmp.equalsIgnoreCase("jiai")) {
+ if (Config.protocol_no != Config.PROTOCOL_JIAI) {
+ Util.setSystemProperties("persist.sys.protocol_no", "0");
+ Config.getProtocolNumber();
+ Config.setCustomServer(mContext, false, protocolAPIHelper.getDefaultServerIP(), protocolAPIHelper.getDefaultServerPort());
+ Config.loadServerSettings(runtime);
+ sendSMS(phoneNumber, "set setprotocol to JiAi Protocol! device will reboot later !");
+ CoreService.DevliverStringMessage("Reboot");
// CoreService.getInstance().disconnect_server();
// CoreService.getInstance().ReConnectToServer();
- } else {
- sendSMS(phonenumber, "current is JiAi Protocol!");
- }
- } else if (strtmp.equalsIgnoreCase("ic")) {
- if (Config.protocol_no != Config.PROTOCOL_IC) {
- Util.setSystemProperties("persist.sys.protocol_no", "2");
- Config.getProtocolNumber();
- Config.setCustomServer(mContext, false, protocolAPIHelper.getDefaultServerIP(), protocolAPIHelper.getDefaultServerPort());
- Config.loadServerSettings(runtime);
- sendSMS(phonenumber, "set setprotocol to IC Protocol! device will reboot later !");
- CoreService.DevliverStringMessage("Reboot");
+ } else {
+ sendSMS(phoneNumber, "current is JiAi Protocol!");
+ }
+ } else if (strtmp.equalsIgnoreCase("ic")) {
+ if (Config.protocol_no != Config.PROTOCOL_IC) {
+ Util.setSystemProperties("persist.sys.protocol_no", "2");
+ Config.getProtocolNumber();
+ Config.setCustomServer(mContext, false, protocolAPIHelper.getDefaultServerIP(), protocolAPIHelper.getDefaultServerPort());
+ Config.loadServerSettings(runtime);
+ sendSMS(phoneNumber, "set setprotocol to IC Protocol! device will reboot later !");
+ CoreService.DevliverStringMessage("Reboot");
// CoreService.getInstance().disconnect_server();
// CoreService.getInstance().ReConnectToServer();
- } else {
- sendSMS(phonenumber, "current is IC Protocol!");
- }
- } else if (strtmp.equalsIgnoreCase("fzd")) {
- if (Config.protocol_no != Config.PROTOCOL_FZD) {
- Util.setSystemProperties("persist.sys.protocol_no", "3");
- Config.getProtocolNumber();
- Config.setCustomServer(mContext, false, protocolAPIHelper.getDefaultServerIP(), protocolAPIHelper.getDefaultServerPort());
- Config.loadServerSettings(runtime);
- sendSMS(phonenumber, "set setprotocol to fzd Protocol! device will reboot later !");
- CoreService.DevliverStringMessage("Reboot");
+ } else {
+ sendSMS(phoneNumber, "current is IC Protocol!");
+ }
+ } else if (strtmp.equalsIgnoreCase("fzd")) {
+ if (Config.protocol_no != Config.PROTOCOL_FZD) {
+ Util.setSystemProperties("persist.sys.protocol_no", "3");
+ Config.getProtocolNumber();
+ Config.setCustomServer(mContext, false, protocolAPIHelper.getDefaultServerIP(), protocolAPIHelper.getDefaultServerPort());
+ Config.loadServerSettings(runtime);
+ sendSMS(phoneNumber, "set setprotocol to fzd Protocol! device will reboot later !");
+ CoreService.DevliverStringMessage("Reboot");
// CoreService.getInstance().disconnect_server();
// CoreService.getInstance().ReConnectToServer();
- } else {
- sendSMS(phonenumber, "current is fzd Protocol!");
- }
- } else if (strtmp.equalsIgnoreCase("mqtt")) {
- if (Config.protocol_no != Config.PROTOCOL_MQTT) {
- Util.setSystemProperties("persist.sys.protocol_no", "4");
- Config.getProtocolNumber();
- Config.setCustomServer(mContext, false, protocolAPIHelper.getDefaultServerIP(), protocolAPIHelper.getDefaultServerPort());
- Config.loadServerSettings(runtime);
- sendSMS(phonenumber, "set setprotocol to mqtt Protocol! device will reboot later !");
- CoreService.DevliverStringMessage("Reboot");
+ } else {
+ sendSMS(phoneNumber, "current is fzd Protocol!");
+ }
+ } else if (strtmp.equalsIgnoreCase("mqtt")) {
+ if (Config.protocol_no != Config.PROTOCOL_MQTT) {
+ Util.setSystemProperties("persist.sys.protocol_no", "4");
+ Config.getProtocolNumber();
+ Config.setCustomServer(mContext, false, protocolAPIHelper.getDefaultServerIP(), protocolAPIHelper.getDefaultServerPort());
+ Config.loadServerSettings(runtime);
+ sendSMS(phoneNumber, "set setprotocol to mqtt Protocol! device will reboot later !");
+ CoreService.DevliverStringMessage("Reboot");
// CoreService.getInstance().disconnect_server();
// CoreService.getInstance().ReConnectToServer();
- } else {
- sendSMS(phonenumber, "current is mqtt Protocol!");
- }
- } else if (TextUtils.isDigitsOnly(strtmp)) {
- int protocolno = Integer.parseInt(strtmp);
- switch (protocolno) {
- case 0:
- case 1:
- case 2:
- case 3:
- case 4:
- Util.setSystemProperties("persist.sys.protocol_no", strtmp);
- Config.getProtocolNumber();
- Config.loadServerSettings(runtime);
- sendSMS(phonenumber, "set setprotocol to Protocol" + protocolno + "! \r\nYou may also need to set server ip for this protocol !\r\n May need reboot device too.");
- CoreService.getInstance().disconnect_server();
- CoreService.getInstance().ReConnectToServer();
- break;
- default:
- sendSMS(phonenumber, "setprotocol only support Protocol 0/1/2/3/4 by now! ");
- break;
- }
-
} else {
- sendSMS(phonenumber, " only support protocol jiAi , ic , beehome , fzd , mqtt !");
+ sendSMS(phoneNumber, "current is mqtt Protocol!");
}
+ } else if (TextUtils.isDigitsOnly(strtmp)) {
+ int protocolno = Integer.parseInt(strtmp);
+ switch (protocolno) {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ Util.setSystemProperties("persist.sys.protocol_no", strtmp);
+ Config.getProtocolNumber();
+ Config.loadServerSettings(runtime);
+ sendSMS(phoneNumber, "set setprotocol to Protocol" + protocolno + "! \r\nYou may also need to set server ip for this protocol !\r\n May need reboot device too.");
+ CoreService.getInstance().disconnect_server();
+ CoreService.getInstance().ReConnectToServer();
+ break;
+ default:
+ sendSMS(phoneNumber, "setprotocol only support Protocol 0/1/2/3/4 by now! ");
+ break;
+ }
+
} else {
- sendSMS(phonenumber, " setprotocol cmd Format error!");
+ sendSMS(phoneNumber, " only support protocol jiAi , ic , beehome , fzd , mqtt !");
}
+ } else {
+ sendSMS(phoneNumber, " setprotocol cmd Format error!");
+ }
- } else if (sms.startsWith(ENCRYPED_HEADER + "#maillog#=")) {
- String tmp[] = sms.split("=");
- if (tmp.length == 2) {
- String mailaddr = tmp[1];
- if (!mailaddr.contains("@")) {
- sendSMS(phonenumber, "mail address error !");
-
- } else {
- mHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- String logfile = "";
- String fileOrDir = "Android/ic";
-
- Util.getDBFile();
-
- logfile = Util.zipfiles(fileOrDir);
- if (new File(logfile).exists()) {
-
- sendSMS(phonenumber, "mail " + fileOrDir + " to " + mailaddr + " ...");
- Util.ShowToast(runtime, "mail " + fileOrDir + " to " + mailaddr + " ...");
-
- String logtime = TimeUtil.getSystemTime3();
- if (SendEmail.getInstance().sendLogViaMail(logfile, mailaddr, logtime)) {
- sendSMS(phonenumber, "mail " + fileOrDir + " to " + mailaddr + " success!");
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#maillog#=")) {
+ String tmp[] = sms.split("=");
+ if (tmp.length == 2) {
+ String mailaddr = tmp[1];
+ if (!mailaddr.contains("@")) {
+ sendSMS(phoneNumber, "mail address error !");
+ } else {
+ if (handler != null) {
+ handler.postDelayed(() -> {
+ String logfile = "";
+ String fileOrDir = "Android/ic";
+ Util.getDBFile();
+ logfile = Util.zipfiles(fileOrDir);
+ if (new File(logfile).exists()) {
+ sendSMS(phoneNumber, "mail " + fileOrDir + " to " + mailaddr + " ...");
+ Util.ShowToast(runtime, "mail " + fileOrDir + " to " + mailaddr + " ...");
+ String logtime = TimeUtil.getSystemTime3();
+ if (SendEmail.getInstance().sendLogViaMail(logfile, mailaddr, logtime)) {
+ sendSMS(phoneNumber, "mail " + fileOrDir + " to " + mailaddr + " success!");
// Util.ShowToast(runtime,"mail " + fileOrDir + " to " + mailaddr + " success!");
- } else {
- sendSMS(phonenumber, "mail " + fileOrDir + " to " + mailaddr + " failed!");
-// Util.ShowToast(runtime,"mail " + fileOrDir + " to " + mailaddr + " failed!");
- }
-
} else {
- sendSMS(phonenumber, fileOrDir + " not exist !");
-// if (logfile.startsWith("SDLogInfo:")) {
-// Util.ShowToast(runtime, fileOrDir + " not exist !");
-// }
+ sendSMS(phoneNumber, "mail " + fileOrDir + " to " + mailaddr + " failed!");
+// Util.ShowToast(runtime,"mail " + fileOrDir + " to " + mailaddr + " failed!");
}
+ } else {
+ sendSMS(phoneNumber, fileOrDir + " not exist !");
}
-
-
}, 500);
-
}
-
-// sendSMS(phonenumber, "upload FtpLogServer to " + Config.getFtpServer(mContext) + ", user " + Config.getFtpUser(mContext) + ", pwd " + Config.getFtpPWD(mContext));
-
- } else {
- sendSMS(phonenumber, "upload logfile format error!");
- }
-
-
- } else if (sms.startsWith(ENCRYPED_HEADER + "#capture#")) {
-
- mHandler.post(new Runnable() {
- @Override
- public void run() {
- (new CameraUtil(mContext)).getPicture("capture" + TimeUtil.getSystemTime3());
- }
- });
-
- } else if (sms.startsWith(ENCRYPED_HEADER + "#monitor#")) {
-
- mHandler.post(() -> CoreService.getInstance().DevliverStringMessage("StartMonitor", "10"));
-
-
- /***
- * }else if(sms.startsWith(ENCRYPED_HEADER+"#logctl#=")){
- * 。。。。。
- * 添加新命令道这里
- */
-
- } else if (sms.startsWith(ENCRYPED_HEADER + "#testcmd#=")) {
- String tmp[] = sms.split("=");
- if (tmp.length == 2) {
- String cmd = tmp[1];
- handle_test_cmd(cmd, "");
}
} else {
- return false;
+ sendSMS(phoneNumber, "upload logfile format error!");
+ }
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#capture#")) {
+ if (handler != null) {
+ handler.post(() -> (new CameraUtil(mContext)).getPicture("capture" + TimeUtil.getSystemTime3()));
+ }
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#monitor#")) {
+ if (handler != null) {
+ handler.post(() -> CoreService.getInstance().DevliverStringMessage("StartMonitor", "10"));
+ }
+ /***
+ * }else if(sms.startsWith(ENCRYPED_HEADER+"#logctl#=")){
+ * 。。。。。
+ * 添加新命令道这里
+ */
+
+ } else if (sms.startsWith(ENCRYPED_HEADER + "#testcmd#=")) {
+ String tmp[] = sms.split("=");
+ if (tmp.length == 2) {
+ String cmd = tmp[1];
+ handle_test_cmd(runtime, handler, cmd, "");
}
- return true;
} else {
return false;
}
+ return true;
}
public final Uri SMS_MESSAGE_URI = Uri.parse("content://sms");
}
- private void handle_test_cmd(String cmd, String arg) {
+ private static void handle_test_cmd(Runtime runtime, Handler handler, String cmd, String arg) {
ICLogger.i("receive test Cmd " + cmd + " arg " + arg);
if (cmd.startsWith("testDialog,")) {
if (CoreService.getInstance() != null) {
SimSignalUtil.send_at_to_reset_simcard(runtime); //直接下此命令不能实现断网重连,所以干脆采用关闭网络再打开的方式。
SimSignalUtil.setAirMode(CoreService.getInstance(), "OpenAirplane");
- mHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- SimSignalUtil.setAirMode(CoreService.getInstance(), "CloseAirplane");
- }
- }, 5000);
+ if (handler != null) {
+ handler.postDelayed(() -> SimSignalUtil.setAirMode(CoreService.getInstance(), "CloseAirplane"), 5000);
+ }
}
} else if (cmd.startsWith("testCMDRecords")) {
String list[] = cmd.split(",");
if (list.length == 2) {
-
- LanguageUtils.changeLanguageByIndex(mContext, list[1]);
+ LanguageUtils.changeLanguageByIndex(runtime.getContextProxy().context, list[1]);
}