1、修复Deliver.SaveQueue 在UI测试按钮,重启服务造成crash问题
authorsnickersun <snickersun@qq.com>
Sun, 9 Feb 2020 16:08:02 +0000 (00:08 +0800)
committersnickersun <snickersun@qq.com>
Sun, 9 Feb 2020 16:08:02 +0000 (00:08 +0800)
2、修改UI,增加显示SIM卡状态,网络类型,信号强度,电池电量信息。
3、修复打开wifi后,Wifi总是被关闭问题

app/src/main/java/com/enqualcomm/support/CoreService.java
app/src/main/java/com/enqualcomm/support/MainActivity.java
app/src/main/java/com/enqualcomm/support/service/Deliver.java
app/src/main/java/com/enqualcomm/support/utils/BatteryUtil.java
app/src/main/java/com/enqualcomm/support/utils/SimSignalUtil.java
app/src/main/java/com/enqualcomm/support/utils/Util.java

index c83f4c4..1fd094e 100644 (file)
@@ -108,23 +108,27 @@ public class CoreService extends Service {
 \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
@@ -240,30 +244,32 @@ public class CoreService extends Service {
 \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
@@ -311,6 +317,10 @@ public class CoreService extends Service {
     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
@@ -348,7 +358,7 @@ public class CoreService extends Service {
 \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
@@ -468,6 +478,11 @@ public class CoreService extends Service {
         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
@@ -524,7 +539,7 @@ public class CoreService extends Service {
                 }\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
index 9fb2dfb..33e6466 100644 (file)
@@ -67,13 +67,14 @@ public class MainActivity extends AppCompatActivity {
             }
         });
         ToggleButton tbtnblood = (ToggleButton)findViewById(R.id.toggleButton2);
-        tbtnblood.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
-            @Override
-            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
-              if (b)  ICJniUtils.enablePPG();
-              else ICJniUtils.disablePPG();
-            }
-        });
+        tbtnblood.setVisibility(View.GONE);
+//        tbtnblood.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+//            @Override
+//            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
+//              if (b)  ICJniUtils.enablePPG();
+//              else ICJniUtils.disablePPG();
+//            }
+//        });
 
         startService(new Intent(this,CoreService.class));// protocol service
 
index a0baddd..989af5c 100644 (file)
@@ -237,6 +237,7 @@ public class Deliver extends AbstractConnectionService {
       lock.unlock();\r
       return;\r
     } finally {\r
+      if (lock!=null &&lock.isLocked())\r
       lock.unlock();\r
     }\r
   }\r
index 7303f78..c495949 100644 (file)
@@ -3,12 +3,17 @@ package com.enqualcomm.support.utils;
 import android.content.BroadcastReceiver;\r
 import android.content.ComponentName;\r
 import android.content.Context;\r
+import android.content.ContextWrapper;\r
 import android.content.Intent;\r
 import android.content.IntentFilter;\r
+import android.os.BatteryManager;\r
+import android.os.Build;\r
 \r
 import com.enqualcomm.support.Config;\r
 import com.enqualcomm.support.bean.Runtime;\r
 \r
+import static android.content.Context.BATTERY_SERVICE;\r
+\r
 public class BatteryUtil {\r
   private BroadcastReceiver batteryChangedReceiver = new BroadcastReceiver() {\r
       public void onReceive(Context param1Context, Intent param1Intent) {\r
@@ -20,7 +25,7 @@ public class BatteryUtil {
             BatteryUtil.this.mRuntime.setBatterychanging(false);\r
           }\r
           int i = param1Intent.getIntExtra("level", 0) * 100 / param1Intent.getIntExtra("scale", 100);\r
-\r
+          Logger.i("BatteryLevel "+i);\r
           if (Config.LOG_TOFILE) FileOutputUtil.fileOutput(mRuntime.getCacheDir(),"Battery","BatteryLevel "+i);\r
           if (i >= 100) {\r
             Runtime runtime = BatteryUtil.this.mRuntime;\r
@@ -99,7 +104,18 @@ public class BatteryUtil {
     intentFilter.addAction("android.intent.action.BATTERY_LOW");\r
     (this.mRuntime.getContextProxy()).context.registerReceiver(this.batteryChangedReceiver, intentFilter);\r
   }\r
-  \r
+\r
+  public int getBatteryLevel(Context context){\r
+    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {\r
+      BatteryManager batteryManager = (BatteryManager)context.getSystemService(BATTERY_SERVICE);\r
+      return batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);\r
+    } else {\r
+      Intent intent = new ContextWrapper(context.getApplicationContext()).\r
+              registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));\r
+      return (intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) * 100) /\r
+              intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);\r
+    }\r
+  }\r
   public void unregisterBroadReceiver() { (this.mRuntime.getContextProxy()).context.unregisterReceiver(this.batteryChangedReceiver); }\r
 }\r
 \r
index 640f45d..14d95f1 100644 (file)
@@ -60,7 +60,25 @@ public class SimSignalUtil {
     stringBuilder.append(paramInt2);\r
     Logger.i(stringBuilder.toString());\r
   }\r
-  \r
+\r
+   public static boolean hasSimCard(Context context) {\r
+\r
+    TelephonyManager telMgr = (TelephonyManager)\r
+            context.getSystemService(Context.TELEPHONY_SERVICE);\r
+    int simState = telMgr.getSimState();\r
+    boolean result = true;\r
+    switch (simState) {\r
+      case TelephonyManager.SIM_STATE_ABSENT:\r
+        result = false; // 没有SIM卡\r
+        break;\r
+      case TelephonyManager.SIM_STATE_UNKNOWN:\r
+        result = false;\r
+        break;\r
+    }\r
+    Logger.i( result ? "有SIM卡" : "无SIM卡");\r
+    return result;\r
+  }\r
+\r
   public void changeNetWorkType(String paramString) {\r
     Intent intent = new Intent("android.intent.action.NETWORK_MODE_CTRL");\r
     intent.putExtra("mode", paramString);\r
index 057e0d8..a539735 100644 (file)
@@ -23,6 +23,7 @@ import java.net.InetAddress;
 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
@@ -33,6 +34,7 @@ import com.enqualcomm.support.bean.VoiceContent;
 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
@@ -164,129 +166,179 @@ public class Util {
     }\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
@@ -314,12 +366,12 @@ public class Util {
   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