\r
public static final String DefaultWiFiSSID="Xplay6";\r
public static final String DefaultWiFiPWD="87654321";\r
-\r
+ public static final String DefaultWiFiEncryptType="psk";\r
static {\r
\r
}\r
\r
final static String KeyWiFiSSID="WiFiSSID";\r
final static String KeyWiFiPasswd="WiFiPWD";\r
-\r
+ final static String KeyWiFiEncyptType="WiFiEncryptType";\r
\r
public static String getWiFiSSID(Context context){\r
return SharPreferenceUtil.getPrefString(context,KeyWiFiSSID,DefaultWiFiSSID);\r
SharPreferenceUtil.setPrefString(context,KeyWiFiPasswd,pwd);\r
}\r
\r
+ public static String getWiFiEncryptType(Context context){\r
+ return SharPreferenceUtil.getPrefString(context,KeyWiFiEncyptType,DefaultWiFiEncryptType);\r
+ }\r
+\r
+ public static void setWiFiEncryptType(Context context,String type){\r
+ SharPreferenceUtil.setPrefString(context,KeyWiFiEncyptType,type);\r
+ }\r
+\r
\r
- public static String getFtpUser(Context context){\r
+ public static String getFtpUser(Context context){\r
return SharPreferenceUtil.getPrefString(context,KeyLogFtpUser,DefaultLogFtpUser);\r
}\r
\r
\r
import com.enqualcomm.support.bean.ICLocation;\r
import com.enqualcomm.support.bean.Runtime;\r
+import com.enqualcomm.support.service.Deliver;\r
import com.enqualcomm.support.utils.APNUtil;\r
import com.enqualcomm.support.utils.DeviceInfoUtil;\r
import com.enqualcomm.support.utils.Logger;\r
import rx.functions.Action1;\r
\r
import static com.enqualcomm.support.Constants.DIALOG_ACTION;\r
+import static com.enqualcomm.support.utils.DeviceInfoUtil.getDeviceVersion;\r
\r
\r
public class ICSmsManager {\r
\r
}\r
} else if (sms.startsWith("#deviceinfo#")) {\r
+ Logger.i("SMS " + sms + " reply " + DeviceInfoUtil.getDeviceVersion(runtime));\r
+ sendSMS(phonenumber, DeviceInfoUtil.getDeviceVersion(runtime));\r
Logger.i("SMS " + sms + " reply " + DeviceInfoUtil.getShortDeviceInfo(runtime));\r
sendSMS(phonenumber, DeviceInfoUtil.getShortDeviceInfo(runtime));\r
} else if (sms.startsWith("#status#")) {\r
} else {\r
sendSMS(phonenumber, "skipmovecheck format error!");\r
}\r
- }else if(sms.startsWith("#connectwifi#=")){\r
+ }else if(sms.startsWith("#wifictl#=")){\r
String tmp[] = sms.split("=");\r
if (tmp.length == 2) {\r
if (tmp[1].equals("current")) {\r
- sendSMS(phonenumber, "SkipMoveCheck " + LocationClient.getSkipMoveCheck() + "!");\r
+ sendSMS(phonenumber, "Current Wifi Setting SSID " + Config.getWiFiSSID(mContext) +", WiFiPassword "+Config.getWiFiPasswd(mContext)+ "!");\r
} else if (tmp[1].equals("reset")) {\r
- LocationClient.setSkipMoveCheck(true);\r
- sendSMS(phonenumber, "set SkipMoveCheck " + LocationClient.getSkipMoveCheck() + " success!");\r
- } else {\r
+ Config.setWiFiSSID(mContext,Config.DefaultWiFiSSID);\r
+ Config.setWiFiPasswd(mContext,Config.DefaultWiFiPWD);\r
+ sendSMS(phonenumber, "reset Wifi Setting to SSID " + Config.getWiFiSSID(mContext) +", WiFiPassword "+Config.getWiFiPasswd(mContext)+ "!");\r
+ } else if (tmp[1].startsWith("connect,")) {\r
+\r
+ String tmplist[]=tmp[1].split(",");\r
+ if (tmplist.length==4){\r
+ String SSID=tmplist[1];\r
+ String PWD=tmplist[2];\r
+ String encyptType=tmplist[3];\r
+ Config.setWiFiSSID(mContext,SSID);\r
+ Config.setWiFiPasswd(mContext,PWD);\r
+ sendSMS(phonenumber, "set and connect to Wifi SSID " + Config.getWiFiSSID(mContext) +", WiFiPassword "+Config.getWiFiPasswd(mContext)+ ", encryptType "+encyptType+"!");\r
+ //connect to wifi\r
+ Observable.timer(500L, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {\r
+ public void call(Long param1Long) {\r
+ Deliver.connectToWifi(SSID,PWD,encyptType);\r
+ }\r
+ });\r
\r
+ }else {\r
\r
- sendSMS(phonenumber, "skipmovecheck format error!");\r
+ sendSMS(phonenumber, "set SkipMoveCheck " + LocationClient.getSkipMoveCheck() + " success!");\r
+ }\r
+ } else {\r
+ sendSMS(phonenumber, "WiFi Control format error!");\r
}\r
} else {\r
- sendSMS(phonenumber, "skipmovecheck format error!");\r
+ sendSMS(phonenumber, "WiFi Control format error!");\r
}\r
}else if(sms.startsWith("#logctl#=")){\r
String tmp[] = sms.split("=");\r
public int SignalStrength;\r
\r
private String battery="000";\r
- \r
+\r
+ private int batteryVoltage=0;\r
private boolean batteryLow;\r
\r
private boolean batterychanging;\r
public boolean getAntioffStatus() { return this.isNeedAntioff; }\r
\r
public String getBattery() { return this.battery; }\r
- \r
+\r
+ public int getBatteryVotage(){ return this.batteryVoltage;}\r
+ public void setBatteryVoltage(int voltage){\r
+ this.batteryVoltage=voltage;\r
+ }\r
public boolean getBatteryLow() { return this.batteryLow; }\r
\r
public boolean getBatterychanging() { return this.batterychanging; }\r
import com.enqualcomm.support.utils.ServiceUtil;\r
import com.enqualcomm.support.utils.SharPreferenceUtil;\r
import com.enqualcomm.support.utils.SimSignalUtil;\r
+import com.enqualcomm.support.utils.Util;\r
\r
import java.util.ArrayList;\r
import java.util.concurrent.LinkedBlockingDeque;\r
\r
public static boolean is_active_location = false;\r
\r
- private PowerManager.WakeLock ReceiveWakeLock;\r
+ private static PowerManager.WakeLock ReceiveWakeLock;\r
\r
private Handler delayHandler;\r
\r
\r
private static Runtime mRuntime;\r
\r
- private boolean wakeLockWifiList = false;\r
+ private static boolean wakeLockWifiList = false;\r
\r
- private boolean wakeLockWifiSet = false;\r
+ private static boolean wakeLockWifiSet = false;\r
\r
private String wifiDataForCm;\r
\r
\r
- private boolean wifiEnabled;\r
+ private static boolean wifiEnabled;\r
\r
public static Runnable delaySendMSG;\r
// public static boolean sendingMsg=false;\r
return false;\r
}\r
\r
- public void releaseOneWakeLock() {\r
- if (this.ReceiveWakeLock == null) {\r
+ public static void releaseOneWakeLock() {\r
+ if (ReceiveWakeLock == null) {\r
Logger.i("ReceiveWakeLock 没有加锁");\r
return;\r
} \r
- if (!this.wakeLockWifiList && !this.wakeLockWifiSet && this.ReceiveWakeLock.isHeld()) {\r
- this.ReceiveWakeLock.release();\r
- this.ReceiveWakeLock = null;\r
+ if (!wakeLockWifiList && !wakeLockWifiSet && ReceiveWakeLock.isHeld()) {\r
+ ReceiveWakeLock.release();\r
+ ReceiveWakeLock = null;\r
} \r
}\r
\r
this.ReceiveWakeLock = null;\r
} \r
}\r
- \r
+ public static void connectToWifi(String ssid,String pwd,String encryptType){\r
+ int networkid;\r
+ final WifiManager wifiManager = mRuntime.getContextProxy().getWifiManager();\r
+ wifiEnabled = wifiManager.isWifiEnabled();\r
+ if (Util.isConnectWifi(mRuntime.getContextProxy().context)) {\r
+ networkid = wifiManager.getConnectionInfo().getNetworkId();\r
+ wifiManager.disconnect();\r
+ wifiManager.removeNetwork(networkid);\r
+ wifiManager.saveConfiguration();\r
+ }\r
+\r
+ Deliver.isAppSetWifi = 1;\r
+ WifiConfiguration wifiConfiguration = Util.GetconfigWifiInfo(mRuntime.getContextProxy().context, ssid, pwd, encryptType);\r
+ networkid = wifiConfiguration.networkId;\r
+ wifiManager.removeNetwork(networkid);\r
+ wifiManager.saveConfiguration();\r
+ networkid = wifiManager.addNetwork(wifiConfiguration);\r
+ if (Util.connectWifiByReflectMethod(mRuntime.getContextProxy().context, networkid) == null && !wifiManager.enableNetwork(networkid, true)) {\r
+ Logger.i("连接失败 3");\r
+ SystemClock.sleep(3000L);\r
+\r
+ wifiManager.setWifiEnabled(false);\r
+ wakeLockWifiSet = false;\r
+ releaseOneWakeLock();\r
+ WifiListWakeLock = Deliver.WakeLockForGetWifiList(mRuntime);\r
+\r
+ return;\r
+ }\r
+\r
+ }\r
public void setWakeupAlarm(Runtime paramRuntime) {\r
AlarmManager alarmManager = (AlarmManager)(paramRuntime.getContextProxy()).context.getSystemService(Context.ALARM_SERVICE);\r
Intent intent = new Intent((paramRuntime.getContextProxy()).context, CoreService.class);\r
int i = param1Intent.getIntExtra(EXTRA_LEVEL, 0) * 100 / param1Intent.getIntExtra(EXTRA_SCALE, 100);\r
// 当前电池电压\r
int batteryVolt = param1Intent.getIntExtra(EXTRA_VOLTAGE, -1);\r
+ BatteryUtil.this.mRuntime.setBatteryVoltage(batteryVolt);\r
Logger.i("BatteryLevel "+i + " BatteryVotage "+batteryVolt);\r
if (Config.LOG_TOFILE) FileOutputUtil.fileOutput(mRuntime.getCacheDir(),"Battery","BatteryLevel "+i + " BatteryVotage "+batteryVolt);\r
if (i >= 100) {\r
.append(" [").append(runtime.getSignalStrength()).append(",Mini:").append(SimSignalUtil.getMinSignalStrength(sim.getNetworkType())).append("]")\r
.append("\n KeepAlive ").append(KeepAlive.isConnected).append(" , HBcycle ").append(runtime.getHeartBeatCycle())\r
.append("\n ServerConnected is ").append(runtime.isServerProtocolConnected())\r
- .append(" \n Bat ").append(runtime.getBattery())\r
+ .append(" \n Bat ").append(runtime.getBattery()).append(",").append(runtime.getBatteryVotage())\r
.append(" StepCount ").append(runtime.getTotalStepCount())\r
.append( "\n Working Mode ").append(runtime.getLocationInstance().getWorkingMod())\r
.append(" \n Location Cycle ").append(runtime.getLocationInstance().getLocation_cycle())\r
public static String getShortDeviceInfo(Runtime runtime){\r
\r
SimSignalUtil sim=SimSignalUtil.getInstance(runtime.getContextProxy().context);\r
- return new StringBuilder()\r
- .append(DeviceInfoUtil.getSWVersionDisplayName()).append("\n")\r
- .append(DeviceInfoUtil.getVersionCode(runtime.getContextProxy().context))\r
+ return new StringBuilder("Network ")\r
.append(SimSignalUtil.hasSimCard(runtime.getContextProxy().context)?" ":" NoSIM ")\r
.append(sim.getNetworkType()==SimSignalUtil.IS_2G?"2G":(sim.getNetworkType()==SimSignalUtil.IS_3G)?"3G":(sim.getNetworkType()==SimSignalUtil.IS_4G?"4G":"unknown"))\r
.append("[").append(runtime.getSignalStrength()).append("]")\r
.append("\nHeartbeat[").append(runtime.getSrvIP()).append(":").append(runtime.getPort()).append(",").append(runtime.isServerProtocolConnected()).append(",").append(runtime.getHeartBeatCycle())\r
- .append("]\nBat").append(runtime.getBattery())\r
+ .append("]\nBat").append(runtime.getBattery()).append(",").append(runtime.getBatteryVotage())\r
.append(",Step").append(runtime.getTotalStepCount())\r
.append( "\nLocation[M").append(runtime.getLocationInstance().getWorkingMod())\r
.append(",C").append(runtime.getLocationInstance().getLocation_cycle())\r
.toString();\r
}\r
\r
+ public static String getDeviceVersion(Runtime runtime){\r
+ return new StringBuilder("Firmware ")\r
+ .append(DeviceInfoUtil.getSWVersionDisplayName()).append("\nProtocol ")\r
+ .append(DeviceInfoUtil.getVersionCode(runtime.getContextProxy().context))\r
+ .append("\nIMEI ").append(runtime.IMEI())\r
+ .toString();\r
+ }\r
public static void setLockSimInfo(Context paramContext) {\r
Settings.System.putInt(paramContext.getContentResolver(), "com.eqc.watch.launcher.SimIsBlocked", 1); }\r
}\r
return str;\r
}\r
\r
- public static WifiConfiguration GetconfigWifiInfo(Context context, String var1, String var2, String var3) {\r
- WifiConfiguration var8;\r
- label36: {\r
- WifiManager var7 = (WifiManager)context.getSystemService(WIFI_SERVICE);\r
- if (var7 != null) {\r
- Iterator var4 = var7.getConfiguredNetworks().iterator();\r
-\r
- while(var4.hasNext()) {\r
- var8 = (WifiConfiguration)var4.next();\r
- if (var8 != null) {\r
- String var5 = var8.SSID;\r
- StringBuilder var6 = new StringBuilder();\r
- var6.append("\"");\r
- var6.append(var1);\r
- var6.append("\"");\r
- if (var5.equals(var6.toString())) {\r
- break label36;\r
+ public static WifiConfiguration GetconfigWifiInfo(Context context, String ssid, String pwd, String encryptType) {\r
+ WifiConfiguration wifiConfiguration=null;\r
+ StringBuilder stringBuilder;\r
+ WifiManager wifiManager = (WifiManager)context.getSystemService(WIFI_SERVICE);\r
+ if (wifiManager != null && wifiManager.getConfiguredNetworks()!=null) {\r
+ Iterator it = wifiManager.getConfiguredNetworks().iterator();\r
+\r
+ while(it.hasNext()) {\r
+ wifiConfiguration = (WifiConfiguration)it.next();\r
+ if (wifiConfiguration != null) {\r
+ String ssid_tmp = wifiConfiguration.SSID;\r
+ stringBuilder= new StringBuilder();\r
+ stringBuilder.append("\"");\r
+ stringBuilder.append(ssid);\r
+ stringBuilder.append("\"");\r
+ if (ssid_tmp.equals(stringBuilder.toString())) {\r
+ return wifiConfiguration;\r
}\r
}\r
}\r
}\r
\r
- var8 = null;\r
- }\r
\r
- WifiConfiguration var12 = var8;\r
- if (var8 == null) {\r
- var12 = new WifiConfiguration();\r
+\r
+ WifiConfiguration retWiFiConfigration = wifiConfiguration;\r
+ if (retWiFiConfigration == null) {\r
+ retWiFiConfigration = new WifiConfiguration();\r
}\r
\r
- var12.allowedAuthAlgorithms.clear();\r
- var12.allowedGroupCiphers.clear();\r
- var12.allowedKeyManagement.clear();\r
- var12.allowedPairwiseCiphers.clear();\r
- var12.allowedProtocols.clear();\r
- StringBuilder var10 = new StringBuilder();\r
- var10.append("\"");\r
- var10.append(var1);\r
- var10.append("\"");\r
- var12.SSID = var10.toString();\r
- if ("none".equals(var3)) {\r
- var12.allowedKeyManagement.set(0);\r
- } else if ("wep".equals(var3)) {\r
- var12.hiddenSSID = true;\r
- String[] var11 = var12.wepKeys;\r
- StringBuilder var9 = new StringBuilder();\r
- var9.append("\"");\r
- var9.append(var2);\r
- var9.append("\"");\r
- var11[0] = var9.toString();\r
- var12.allowedAuthAlgorithms.set(1);\r
- var12.allowedGroupCiphers.set(3);\r
- var12.allowedGroupCiphers.set(2);\r
- var12.allowedGroupCiphers.set(0);\r
- var12.allowedGroupCiphers.set(1);\r
- var12.allowedKeyManagement.set(0);\r
- var12.wepTxKeyIndex = 0;\r
- } else if ("psk".equals(var3)) {\r
- var10 = new StringBuilder();\r
- var10.append("\"");\r
- var10.append(var2);\r
- var10.append("\"");\r
- var12.preSharedKey = var10.toString();\r
- var12.hiddenSSID = true;\r
- var12.allowedAuthAlgorithms.set(0);\r
- var12.allowedGroupCiphers.set(2);\r
- var12.allowedKeyManagement.set(1);\r
- var12.allowedPairwiseCiphers.set(1);\r
- var12.allowedGroupCiphers.set(3);\r
- var12.allowedPairwiseCiphers.set(2);\r
- var12.status = 2;\r
+ retWiFiConfigration.allowedAuthAlgorithms.clear();\r
+ retWiFiConfigration.allowedGroupCiphers.clear();\r
+ retWiFiConfigration.allowedKeyManagement.clear();\r
+ retWiFiConfigration.allowedPairwiseCiphers.clear();\r
+ retWiFiConfigration.allowedProtocols.clear();\r
+ stringBuilder = new StringBuilder();\r
+ stringBuilder.append("\"");\r
+ stringBuilder.append(ssid);\r
+ stringBuilder.append("\"");\r
+ retWiFiConfigration.SSID = stringBuilder.toString();\r
+ if ("none".equals(encryptType)) {\r
+ retWiFiConfigration.allowedKeyManagement.set(0);\r
+ } else if ("wep".equals(encryptType)) {\r
+ retWiFiConfigration.hiddenSSID = true;\r
+ stringBuilder = new StringBuilder();\r
+ stringBuilder.append("\"");\r
+ stringBuilder.append(pwd);\r
+ stringBuilder.append("\"");\r
+ retWiFiConfigration.wepKeys[0] = stringBuilder.toString();\r
+ retWiFiConfigration.allowedAuthAlgorithms.set(1);\r
+ retWiFiConfigration.allowedGroupCiphers.set(3);\r
+ retWiFiConfigration.allowedGroupCiphers.set(2);\r
+ retWiFiConfigration.allowedGroupCiphers.set(0);\r
+ retWiFiConfigration.allowedGroupCiphers.set(1);\r
+ retWiFiConfigration.allowedKeyManagement.set(0);\r
+ retWiFiConfigration.wepTxKeyIndex = 0;\r
+ } else if ("psk".equals(encryptType)) {\r
+ stringBuilder = new StringBuilder();\r
+ stringBuilder.append("\"");\r
+ stringBuilder.append(pwd);\r
+ stringBuilder.append("\"");\r
+ retWiFiConfigration.preSharedKey = stringBuilder.toString();\r
+ retWiFiConfigration.hiddenSSID = true;\r
+ retWiFiConfigration.allowedAuthAlgorithms.set(0);\r
+ retWiFiConfigration.allowedGroupCiphers.set(2);\r
+ retWiFiConfigration.allowedKeyManagement.set(1);\r
+ retWiFiConfigration.allowedPairwiseCiphers.set(1);\r
+ retWiFiConfigration.allowedGroupCiphers.set(3);\r
+ retWiFiConfigration.allowedPairwiseCiphers.set(2);\r
+ retWiFiConfigration.status = 2;\r
}\r
\r
- return var12;\r
+ return retWiFiConfigration;\r
}\r
\r
public static String byte2hex(byte[] var0) {\r