\r
public String getServerAlive(){\r
int ppg=ICJniUtils.getPPG();\r
+ SimSignalUtil sim=SimSignalUtil.getInstance(this);\r
return new StringBuilder()\r
.append(TimeUtil.getSystemTime3())\r
- .append("\n ppgExist ").append(ICJniUtils.isPPGavailable())\r
- .append(", Started ").append(ICJniUtils.isPPGStarted())\r
- .append(",weared ").append(ICJniUtils.isWeared())\r
- .append(",ppg ").append(ppg)\r
- .append(",bph ").append(ICJniUtils.getHighBloodPressure())\r
- .append(",bpl ").append(ICJniUtils.getLowBloodPressure())\r
+ .append(SimSignalUtil.hasSimCard(this)?" SIM ":" 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())\r
.append("\n Connecttion ").append(this.connection.isServerConnected())\r
.append(" KeepAlive ").append(KeepAlive.isConnected)\r
.append("\n ServerConnected is ").append(runtime.isServerProtocolConnected())\r
- .append(" \n StepCount ").append(runtime.getTotalStepCount())\r
+ .append(" \n Bat ").append(runtime.getBattery())\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
.append(" \n LocationType ").append(runtime.getLocationInstance().getLocationType())\r
.append(" at ").append(runtime.getLocationInstance().getLocationTime())\r
.append(" \n PPGTestCycle ").append(runtime.getPpgTestCycle())\r
+ .append("\n PPGStarted ").append(ICJniUtils.isPPGStarted())\r
+ .append(",weared ").append(ICJniUtils.isWeared())\r
+ .append(",ppg ").append(ppg)\r
+ .append(",bph ").append(ICJniUtils.getHighBloodPressure())\r
+ .append(",bpl ").append(ICJniUtils.getLowBloodPressure())\r
.toString();\r
}\r
\r
\r
private BroadcastReceiver screenOnReceiver = new BroadcastReceiver() {\r
public void onReceive(Context param1Context, Intent param1Intent) {\r
+\r
if ("android.intent.action.SCREEN_ON".equals(param1Intent.getAction())) {\r
- StringBuilder stringBuilder = new StringBuilder();\r
- stringBuilder.append("screen on wake is_wifi_network_ok=");\r
- stringBuilder.append(is_wifi_network_ok);\r
- Logger.i(stringBuilder.toString());\r
- if (is_in_sleep_mode) {\r
+ StringBuilder var3 = new StringBuilder();\r
+ var3.append("screen on wake is_wifi_network_ok=");\r
+ var3.append(CoreService.is_wifi_network_ok);\r
+ Logger.i(var3.toString());\r
+ if (CoreService.is_in_sleep_mode) {\r
\r
/*屏幕亮起时,如果在sleep模式,则唤醒各个进程*/\r
- CoreService.is_in_sleep_mode=false;\r
- CoreService.is_allowed_in_sleep_mode=0;\r
- if (CoreService.this.mKeepAlive != null)\r
+ CoreService.is_in_sleep_mode = false;\r
+ CoreService.is_allowed_in_sleep_mode = 0;\r
+ if (CoreService.this.mKeepAlive != null) {\r
CoreService.this.mKeepAlive.setSleepMode(false);\r
+ }\r
+\r
CoreService.this.wakeUpFromSleep();\r
}\r
- if (is_wifi_network_ok) {\r
\r
- /*屏幕亮起时,如果wifi开启,则开启wifi*/\r
- CoreService.is_in_sleep_mode=false;\r
- Util.turnOnWifiForConnect((CoreService.this.runtime.getContextProxy()).context, CoreService.this.runtime);\r
+ if (CoreService.is_wifi_network_ok) {\r
+ CoreService.is_wifi_network_ok = false;\r
+ /*屏幕亮起时,如果wifi用户设置是开启的,则开启wifi*/\r
+ Util.turnOnWifiForConnect(CoreService.this.runtime.getContextProxy().context, CoreService.this.runtime);\r
}\r
- } else if ("android.intent.action.SCREEN_OFF".equals(param1Intent.getAction()) && Util.isWifiIsOpen((CoreService.this.runtime.getContextProxy()).context, CoreService.this.runtime)) {\r
-\r
- CoreService.is_in_sleep_mode=true;\r
- Util.turnOffWifiForSleep((CoreService.this.runtime.getContextProxy()).context, CoreService.this.runtime);\r
+ } else if ("android.intent.action.SCREEN_OFF".equals(param1Intent.getAction()) && Util.isWifiIsOpen(CoreService.this.runtime.getContextProxy().context, CoreService.this.runtime)) {\r
+ CoreService.is_wifi_network_ok = true;\r
+ Util.turnOffWifiForSleep(CoreService.this.runtime.getContextProxy().context, CoreService.this.runtime);\r
}\r
}\r
};\r
private void loadStepCount() {\r
int i = SharPreferenceUtil.getPrefInt(this, KEY_STEP_COUNT, 0);\r
int j = SharPreferenceUtil.getPrefInt(this, KEY_SAVE_STEP_COUNT, 0);\r
+ if ( ICJniUtils.isPedometerEnabled() == 0)ICJniUtils.enablePedometer();\r
+ if (ICJniUtils.getStepCount()>i){\r
+ i=ICJniUtils.getStepCount();\r
+ }\r
this.runtime.setSaveStepCount(j);\r
this.runtime.setTotalStepCount(i);\r
}\r
\r
private void setWeatherAlarm() {\r
/*每天6点20分左右 更新一次 weather*/\r
- AlarmHelper.setTimeAlarm(this, 6, (new Random()).nextInt(40) + 20, WEATHER_ALARM);\r
+// AlarmHelper.setTimeAlarm(this, 6, (new Random()).nextInt(40) + 20, WEATHER_ALARM);\r
}\r
\r
private void checkconnection(){\r
batteryUtil.registerBroadReceiver();\r
\r
\r
+ //保证发送心跳时提前获取BatLevel数据\r
+ int batlevel=batteryUtil.getBatteryLevel(this);\r
+ runtime.setBattery(String.format("%03d",batlevel));\r
+ Logger.i("Battery get from api "+batlevel);\r
+\r
//设置计步清零时间。\r
setCleanStepCountAlarm();\r
\r
}\r
//这里就是为了省电,如果wifi开启,且屏幕关闭,则wifi也关闭\r
if (Util.isConnectWifi((this.runtime.getContextProxy()).context) && !screenon) {\r
- is_wifi_network_ok = true;\r
+ is_wifi_network_ok = true; //如果wifi开启的,则记录wifi状态为开启,以后屏幕开启时,再根据此变量决定是否打开wifi\r
Util.turnOffWifiForSleep((this.runtime.getContextProxy()).context, this.runtime);\r
}\r
setAlarm(alarmCycle);\r
import java.nio.ByteBuffer;\r
import java.nio.charset.Charset;\r
import java.util.ArrayList;\r
+import java.util.Iterator;\r
import java.util.UUID;\r
\r
import okio.BufferedSink;\r
import com.enqualcomm.support.bean.voicePacket;\r
\r
import static android.content.Context.CONNECTIVITY_SERVICE;\r
+import static android.content.Context.WIFI_SERVICE;\r
\r
public class Util {\r
public static Charset UTF_16 = Charset.forName("UTF-16LE");\r
}\r
return str;\r
}\r
- public static WifiConfiguration GetconfigWifiInfo(Context paramContext, String paramString1, String paramString2, String paramString3) {\r
\r
- WifiConfiguration wificonfig=new WifiConfiguration();\r
- return wificonfig;\r
- }\r
- public static String byte2hex(byte[] paramArrayOfByte) {\r
- if (paramArrayOfByte == null)\r
- throw new IllegalArgumentException("Argument b ( byte array ) is null! "); \r
- String str = "";\r
- for (byte b = 0; b < paramArrayOfByte.length; b++) {\r
- String str1 = Integer.toHexString(paramArrayOfByte[b] & 0xFF);\r
- if (str1.length() == 1) {\r
- StringBuilder stringBuilder = new StringBuilder();\r
- stringBuilder.append(str);\r
- stringBuilder.append("0");\r
- stringBuilder.append(str1);\r
- str = stringBuilder.toString();\r
- } else {\r
- StringBuilder stringBuilder = new StringBuilder();\r
- stringBuilder.append(str);\r
- stringBuilder.append(str1);\r
- str = stringBuilder.toString();\r
- } \r
- } \r
- return str.toUpperCase();\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
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ var8 = null;\r
+ }\r
+\r
+ WifiConfiguration var12 = var8;\r
+ if (var8 == null) {\r
+ var12 = 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
+ }\r
+\r
+ return var12;\r
}\r
- \r
- public static boolean checkNetwork(Context paramContext) {\r
- NetworkInfo networkInfo = ((ConnectivityManager)paramContext.getSystemService(CONNECTIVITY_SERVICE)).getActiveNetworkInfo();\r
- return (networkInfo != null && networkInfo.isConnected());\r
+\r
+ public static String byte2hex(byte[] var0) {\r
+ if (var0 == null) {\r
+ throw new IllegalArgumentException("Argument b ( byte array ) is null! ");\r
+ } else {\r
+ String var1 = "";\r
+\r
+ for(int var2 = 0; var2 < var0.length; ++var2) {\r
+ String var3 = Integer.toHexString(var0[var2] & 255);\r
+ StringBuilder var4;\r
+ if (var3.length() == 1) {\r
+ var4 = new StringBuilder();\r
+ var4.append(var1);\r
+ var4.append("0");\r
+ var4.append(var3);\r
+ var1 = var4.toString();\r
+ } else {\r
+ var4 = new StringBuilder();\r
+ var4.append(var1);\r
+ var4.append(var3);\r
+ var1 = var4.toString();\r
+ }\r
+ }\r
+\r
+ return var1.toUpperCase();\r
+ }\r
}\r
- \r
- public static Method connectWifiByReflectMethod(Context paramContext, int paramInt) {\r
- Method method;\r
- WifiManager wifiManager = (WifiManager)paramContext.getSystemService(Context.WIFI_SERVICE);\r
-// if (Build.VERSION.SDK_INT >= 17) {\r
-// Logger.i("connectWifiByReflectMethod road 1");\r
-// Method[] arrayOfMethod = wifiManager.getClass().getDeclaredMethods();\r
-// int i = arrayOfMethod.length;\r
-// paramContext = null;\r
-// byte b = 0;\r
-// while (b < i) {\r
-// Method method3 = arrayOfMethod[b];\r
-// Method method2 = paramContext;\r
-// if ("connect".equalsIgnoreCase(method3.getName())) {\r
-// Class[] arrayOfClass = method3.getParameterTypes();\r
-// method2 = paramContext;\r
-// if (arrayOfClass != null) {\r
-// method2 = paramContext;\r
-// if (arrayOfClass.length > 0) {\r
-// method2 = paramContext;\r
-// if ("int".equalsIgnoreCase(arrayOfClass[0].getName()))\r
-// method2 = method3;\r
-// }\r
-// }\r
-// }\r
-// b++;\r
-// method1 = method2;\r
-// }\r
-// method = method1;\r
-// if (method1 != null)\r
-// try {\r
-// method1.invoke(wifiManager, new Object[] { Integer.valueOf(paramInt), null });\r
-// return method1;\r
-// } catch (Exception method1) {\r
-// method1.printStackTrace();\r
-// StringBuilder stringBuilder = new StringBuilder();\r
-// stringBuilder.append("connectWifiByReflectMethod Android ");\r
-// stringBuilder.append(Build.VERSION.SDK_INT);\r
-// stringBuilder.append(" error!");\r
-// Logger.i(stringBuilder.toString());\r
-// return null;\r
-// }\r
-// }\r
- return null;\r
+\r
+ public static boolean checkNetwork(Context var0) {\r
+ NetworkInfo var2 = ((ConnectivityManager)var0.getSystemService(CONNECTIVITY_SERVICE)).getActiveNetworkInfo();\r
+ boolean var1;\r
+ if (var2 != null && var2.isConnected()) {\r
+ var1 = true;\r
+ } else {\r
+ var1 = false;\r
+ }\r
+\r
+ return var1;\r
}\r
- \r
- public static String copyFile(String paramString, File paramFile) {\r
-// file = new File(paramString);\r
-// StringBuilder stringBuilder = new StringBuilder();\r
-// stringBuilder.append(UUID.randomUUID().toString());\r
-// stringBuilder.append("_");\r
-// stringBuilder.append(file.getName());\r
-// String str = stringBuilder.toString();\r
-// paramFile = makeDir(paramFile, str);\r
-// try {\r
-// paramFile = new File(paramFile, str);\r
-// BufferedSink bufferedSink = Okio.buffer(Okio.sink(paramFile));\r
-// Source source = Okio.source(file);\r
-// bufferedSink.writeAll(source);\r
-// bufferedSink.close();\r
-// source.close();\r
-// return paramFile.getAbsolutePath();\r
-// } catch (IOException file) {\r
-// file.printStackTrace();\r
-// return null;\r
-// }\r
- return null;\r
+\r
+ public static Method connectWifiByReflectMethod(Context var0, int var1) {\r
+ WifiManager var2 = (WifiManager)var0.getSystemService(WIFI_SERVICE);\r
+ Method[] var3;\r
+ int var4;\r
+ int var5;\r
+ Method var6;\r
+ Method var7;\r
+ Class[] var8;\r
+ Method var11;\r
+ StringBuilder var12;\r
+\r
+ Logger.i("connectWifiByReflectMethod road 1");\r
+ var3 = var2.getClass().getDeclaredMethods();\r
+ var4 = var3.length;\r
+ var11 = null;\r
+\r
+ for(var5 = 0; var5 < var4; var11 = var7) {\r
+ var6 = var3[var5];\r
+ var7 = var11;\r
+ if ("connect".equalsIgnoreCase(var6.getName())) {\r
+ var8 = var6.getParameterTypes();\r
+ var7 = var11;\r
+ if (var8 != null) {\r
+ var7 = var11;\r
+ if (var8.length > 0) {\r
+ var7 = var11;\r
+ if ("int".equalsIgnoreCase(var8[0].getName())) {\r
+ var7 = var6;\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ ++var5;\r
+ }\r
+\r
+ var7 = var11;\r
+ if (var11 != null) {\r
+ try {\r
+ var11.invoke(var2, var1, null);\r
+ } catch (Exception var10) {\r
+ var10.printStackTrace();\r
+ var12 = new StringBuilder();\r
+ var12.append("connectWifiByReflectMethod Android ");\r
+ var12.append(Build.VERSION.SDK_INT);\r
+ var12.append(" error!");\r
+ Logger.i(var12.toString());\r
+ return null;\r
+ }\r
+\r
+ var7 = var11;\r
+ }\r
+\r
+ return var7;\r
}\r
\r
- public static String cutFile(String paramString, File paramFile) {\r
-// file = new File(paramString);\r
-// StringBuilder stringBuilder = new StringBuilder();\r
-// stringBuilder.append(UUID.randomUUID().toString());\r
-// stringBuilder.append("_");\r
-// stringBuilder.append(file.getName());\r
-// String str = stringBuilder.toString();\r
-// paramFile = makeDir(paramFile, str);\r
-// try {\r
-// paramFile = new File(paramFile, str);\r
-// BufferedSink bufferedSink = Okio.buffer(Okio.sink(paramFile));\r
-// Source source = Okio.source(file);\r
-// bufferedSink.writeAll(source);\r
-// bufferedSink.close();\r
-// source.close();\r
-// file.delete();\r
-// return paramFile.getAbsolutePath();\r
-// } catch (IOException file) {\r
-// file.printStackTrace();\r
-// return null;\r
-// }\r
- return null;\r
- }\r
+\r
\r
\r
public static int getDuration(String amrfilePath) {\r
public static boolean isConnectWifi(Context paramContext) {\r
ConnectivityManager connectivityManager = (ConnectivityManager)paramContext.getSystemService(CONNECTIVITY_SERVICE);\r
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();\r
- NetworkInfo.State state = connectivityManager.getNetworkInfo(1).getState();\r
+ NetworkInfo.State state = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();\r
return (networkInfo != null && networkInfo.isAvailable() && state == NetworkInfo.State.CONNECTED);\r
}\r
\r
public static boolean isWifiInIdle(Context paramContext) {\r
- NetworkInfo.State state = ((ConnectivityManager)paramContext.getSystemService(CONNECTIVITY_SERVICE)).getNetworkInfo(1).getState();\r
+ NetworkInfo.State state = ((ConnectivityManager)paramContext.getSystemService(CONNECTIVITY_SERVICE)).getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();\r
StringBuilder stringBuilder = new StringBuilder();\r
stringBuilder.append("yls wifi=");\r
stringBuilder.append(state);\r