在SimSignalUtil.java中添加了 airpaln的设置函数,但是逻辑未定,暂时未开启。
authorsnickersun <scy@incartech.cn>
Sun, 19 Jan 2020 08:03:02 +0000 (16:03 +0800)
committersnickersun <scy@incartech.cn>
Sun, 19 Jan 2020 08:03:02 +0000 (16:03 +0800)
app/src/main/java/com/ic/protocol/LocationClient.java
app/src/main/java/com/ic/protocol/utils/SimSignalUtil.java

index 2c1b211..e9fb3d4 100644 (file)
@@ -140,50 +140,49 @@ public class LocationClient {
 \r
   \r
   private static int getMinSignalStrength(int paramInt) {\r
-    byte b = -105;\r
+    int b = -105;\r
     switch (paramInt) {\r
-      default:\r
-        return -105;\r
-      case 2:\r
+      case SimSignalUtil.IS_4G:\r
         b = -100;\r
         break;\r
-      case 0:\r
-      case 1:\r
+      case SimSignalUtil.IS_2G:\r
+      case SimSignalUtil.IS_3G:\r
+      default:\r
         break;\r
     } \r
     return b;\r
   }\r
   \r
   private void handler2GTo4G() {\r
-    int i = this.mSignalUtil.getNetworkType();\r
-    int j = runtime.getSignalStrength();\r
-    long l = SystemClock.elapsedRealtime();\r
+    int networktype = this.mSignalUtil.getNetworkType();\r
+    int singal = runtime.getSignalStrength();\r
+    long currenttime = SystemClock.elapsedRealtime();\r
     StringBuilder stringBuilder = new StringBuilder();\r
     stringBuilder.append("networkType=");\r
-    stringBuilder.append(i);\r
+    stringBuilder.append(networktype);\r
     stringBuilder.append("signalStrength=");\r
-    stringBuilder.append(j);\r
+    stringBuilder.append(singal);\r
     stringBuilder.append("haveChanegTo4G=");\r
     stringBuilder.append(this.haveChanegTo4G);\r
     Logger.i(stringBuilder.toString());\r
-    switch (i) {\r
+    switch (networktype) {\r
       default:\r
         return;\r
-      case 2:\r
-        if (j < -93) {\r
+      case SimSignalUtil.IS_4G:\r
+        if (singal < -93) {\r
           this.mSignalUtil.changeNetWorkType("2G");\r
-          this.haveChanegTo4GTime = l;\r
+          this.haveChanegTo4GTime = currenttime;\r
           return;\r
         } \r
         return;\r
-      case 0:\r
-      case 1:\r
+      case SimSignalUtil.IS_2G:\r
+      case SimSignalUtil.IS_3G:\r
         break;\r
     } \r
-    if (this.haveChanegTo4G || l - this.haveChanegTo4GTime > 43200000L) {\r
+    if (this.haveChanegTo4G || currenttime - this.haveChanegTo4GTime > 43200000L) {\r
       this.mSignalUtil.changeNetWorkType("4G");\r
       this.haveChanegTo4G = false;\r
-      this.haveChanegTo4GTime = l;\r
+      this.haveChanegTo4GTime = currenttime;\r
     } \r
   }\r
   //计算运动并发送数据\r
@@ -234,7 +233,7 @@ public class LocationClient {
   private void performAlarm(PowerManager.WakeLock paramWakeLock) {\r
     if (!runtime.isAirMode) {\r
         CellInfoUtil.triggerUpdateCellinfo();\r
-      sendBatteryNotification();\r
+       sendBatteryNotification();\r
 //      startLocationProcess();\r
     }\r
   }\r
@@ -433,33 +432,36 @@ public void updateCellInfo() {
 //  public void EqcAlgorithmInterfaceMethod6(int paramInt) {\r
   // 飞行模式 1 开启 0 关闭\r
     public void setAirMode(int paramInt) {\r
-    boolean bool1 = this.mSignalUtil.IsAirModeOn();\r
-    boolean bool2 = this.mSignalUtil.isScreenON();\r
+    boolean isAirModeOn = this.mSignalUtil.IsAirModeOn();\r
+    boolean isScreenOn = this.mSignalUtil.isScreenON();\r
     switch (paramInt) {\r
-      default:\r
-        return;\r
+\r
       case 1:\r
-        if (!bool1 && !bool2) {\r
+        if (!isAirModeOn && !isScreenOn) {\r
           this.mSignalUtil.setAirMode("OpenAirplane");\r
           runtime.isAirMode = true;\r
           notifiSetAirModeMethod();\r
-          return;\r
+\r
         } \r
-        if (bool1) {\r
+        if (isAirModeOn) {\r
 //          EqcAlgorithmNative.native_EqcAlgorithmMethod8(1);\r
-          return;\r
-        } \r
-        return;\r
+\r
+        }\r
+          break;\r
       case 0:\r
-        break;\r
-    } \r
-    if (bool1) {\r
-      this.mSignalUtil.setAirMode("CloseAirplane");\r
-      runtime.isAirMode = false;\r
-      notifiSetAirModeMethod();\r
-      return;\r
+\r
+          if (isAirModeOn) {\r
+              this.mSignalUtil.setAirMode("CloseAirplane");\r
+              runtime.isAirMode = false;\r
+              notifiSetAirModeMethod();\r
+              return;\r
+          }\r
+          break;\r
+\r
+        default:\r
+            break;\r
     } \r
-//    EqcAlgorithmNative.native_EqcAlgorithmMethod8(0);\r
+\r
   }\r
   \r
   public PowerManager.WakeLock getLocationWakeLock() {\r
index bba8afb..55b5225 100644 (file)
@@ -1,5 +1,6 @@
 package com.ic.protocol.utils;\r
 \r
+import android.content.ContentResolver;\r
 import android.content.Context;\r
 import android.content.Intent;\r
 import android.hardware.display.DisplayManager;\r
@@ -11,6 +12,14 @@ import android.view.Display;
 import com.ic.protocol.bean.Runtime;\r
 \r
 import static android.content.Context.POWER_SERVICE;\r
+import static android.telephony.TelephonyManager.NETWORK_TYPE_CDMA;\r
+import static android.telephony.TelephonyManager.NETWORK_TYPE_EDGE;\r
+import static android.telephony.TelephonyManager.NETWORK_TYPE_EVDO_0;\r
+import static android.telephony.TelephonyManager.NETWORK_TYPE_EVDO_A;\r
+import static android.telephony.TelephonyManager.NETWORK_TYPE_GPRS;\r
+import static android.telephony.TelephonyManager.NETWORK_TYPE_HSDPA;\r
+import static android.telephony.TelephonyManager.NETWORK_TYPE_LTE;\r
+import static android.telephony.TelephonyManager.NETWORK_TYPE_UMTS;\r
 \r
 public class SimSignalUtil {\r
   public static final int IS_2G = 0;\r
@@ -64,10 +73,36 @@ public class SimSignalUtil {
   \r
   public int getNetworkType() {\r
     init();\r
-    return (this.mNetworkType != 3) ? ((this.mNetworkType == 8) ? 1 : ((this.mNetworkType != 1) ? ((this.mNetworkType == 2) ? 0 : ((this.mNetworkType == 4) ? 0 : ((this.mNetworkType != 5) ? ((this.mNetworkType == 6) ? 1 : ((this.mNetworkType == 13) ? 2 : -1)) : 1))) : 0)) : 1;\r
+    int networktype=IS_UNKNOWN;\r
+    switch (this.mNetworkType){\r
+\r
+      case NETWORK_TYPE_GPRS: //1\r
+      case NETWORK_TYPE_EDGE: //2\r
+     case NETWORK_TYPE_CDMA://4\r
+        networktype=IS_2G;\r
+        break;\r
+      case  NETWORK_TYPE_UMTS://3\r
+      case NETWORK_TYPE_HSDPA://8\r
+      case NETWORK_TYPE_EVDO_0: //5\r
+      case NETWORK_TYPE_EVDO_A: //6\r
+        networktype=IS_3G;\r
+        break;\r
+\r
+      case NETWORK_TYPE_LTE:\r
+        networktype=IS_4G;\r
+        break;\r
+\r
+      default:\r
+        networktype=IS_UNKNOWN;\r
+        break;\r
+    }\r
+\r
+    return networktype;\r
   }\r
   \r
-  public void init() { this.mNetworkType = ((TelephonyManager)this.context.getSystemService(Context.TELEPHONY_SERVICE)).getNetworkType(); }\r
+  public void init() {\r
+    this.mNetworkType = ((TelephonyManager)this.context.getSystemService(Context.TELEPHONY_SERVICE)).getNetworkType();\r
+  }\r
   \r
   public boolean isScreenON() {\r
       // If you use less than API20:\r
@@ -100,10 +135,32 @@ public class SimSignalUtil {
     ( runtime.getContextProxy()).context.sendBroadcast(intent);\r
     Logger.i("send_at_to_update_lbs ");\r
   }\r
-  public void setAirMode(String paramString) {}\r
 \r
-  public void setIccCard(boolean on_off){\r
+  public void setAirMode(String paramString) {\r
+\r
+    final ContentResolver cr = context.getContentResolver();\r
+\r
+    if ("OpenAirplane".equals(paramString))\r
+    {\r
+      if (Settings.System.getString(cr, Settings.System.AIRPLANE_MODE_ON).equals("0")) {\r
+        //获取当前飞行模式状态,返回的是String值0,或1.0为关闭飞行,1为开启飞行\r
+        //如果关闭飞行,则打开飞行\r
+        Settings.System.putString(cr, Settings.System.AIRPLANE_MODE_ON, "1");\r
+        Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);\r
+        context.sendBroadcast(intent);\r
+      }\r
+    }else if ("CloseAirplane".equals(paramString)) {\r
+      if (Settings.System.getString(cr, Settings.System.AIRPLANE_MODE_ON).equals("1")) {\r
+        //获取当前飞行模式状态,返回的是String值0,或1.0为关闭飞行,1为开启飞行\r
+        //如果关闭飞行,则打开飞行\r
+        Settings.System.putString(cr, Settings.System.AIRPLANE_MODE_ON, "0");\r
+        Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);\r
+        context.sendBroadcast(intent);\r
+      }\r
+    }\r
+\r
 \r
   }\r
+\r
 }\r
 \r