\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
private void performAlarm(PowerManager.WakeLock paramWakeLock) {\r
if (!runtime.isAirMode) {\r
CellInfoUtil.triggerUpdateCellinfo();\r
- sendBatteryNotification();\r
+ sendBatteryNotification();\r
// startLocationProcess();\r
}\r
}\r
// 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
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
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
\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
( 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