在SIM卡检测环节加入信号强度Dbm显示及Level显示。
authorsnickersun <scy@incartech.cn>
Sat, 23 Nov 2019 09:28:22 +0000 (17:28 +0800)
committersnickersun <scy@incartech.cn>
Sat, 23 Nov 2019 09:28:22 +0000 (17:28 +0800)
12 files changed:
app/build.gradle
app/libs/framework.jar [new file with mode: 0644]
app/libs/watch_framework.jar [deleted file]
app/release/FactoryMode.apk
app/release/output.json
app/src/main/java/mobile/miki/SimDetectActivity.java
app/src/main/res/layout/sim_detect_layout.xml
app/src/main/res/values-zh-rCN/strings.xml
app/src/main/res/values/strings.xml
build.gradle
factorymode.iml
watchlibrary/watchlibrary.iml

index 11a4213..eae8e65 100644 (file)
@@ -13,13 +13,13 @@ android {
         checkReleaseBuilds false\r
         abortOnError false\r
     }\r
-    compileSdkVersion 20\r
+    compileSdkVersion 27\r
     defaultConfig {\r
         applicationId "mobile.miki"\r
-        minSdkVersion 18\r
-        targetSdkVersion 20\r
-        versionCode 2\r
-        versionName "20191120-2030"\r
+        minSdkVersion 19\r
+        targetSdkVersion 19\r
+        versionCode 3\r
+        versionName '20191123-1715'\r
     }\r
     buildTypes {\r
         release {\r
@@ -44,14 +44,38 @@ android {
             jni.srcDirs = []\r
         }\r
     }\r
+    compileOptions {\r
+        sourceCompatibility = 1.7\r
+        targetCompatibility = 1.7\r
+    }\r
 }\r
 \r
 dependencies {\r
     implementation 'com.android.support:support-v4:20.0.0'\r
-    compileOnly files('libs/watch_framework.jar')\r
+   // compileOnly files('libs/framework.jar')\r
+    provided files('libs/framework.jar')\r
     implementation 'com.squareup.okhttp3:okhttp:3.4.1'\r
     implementation 'io.reactivex:rxandroid:1.2.1'\r
     implementation 'com.liulishuo.filedownloader:library:1.6.3'\r
     compileOnly files('libs/IAtChannel_classes.jar')\r
     implementation files('libs/LineWrapContainer.aar')\r
 }\r
+preBuild {\r
+\r
+    doLast {\r
+        def imlFile = file( project.name + ".iml")\r
+        println 'Change ' + project.name + '.iml order'\r
+        try {\r
+            def parsedXml = (new XmlParser()).parse(imlFile)\r
+            def jdkNode = parsedXml.component[1].orderEntry.find { it.'@type' == 'jdk' }\r
+            parsedXml.component[1].remove(jdkNode)\r
+            def sdkString = "Android API " + android.compileSdkVersion.substring("android-".length()) + " Platform"\r
+            println 'what' + sdkString\r
+            new Node(parsedXml.component[1], 'orderEntry', ['type': 'jdk', 'jdkName': sdkString, 'jdkType': 'Android SDK'])\r
+            groovy.xml.XmlUtil.serialize(parsedXml, new FileOutputStream(imlFile))\r
+        } catch (FileNotFoundException e) {\r
+            // nop, iml not found\r
+            println "no iml found"\r
+        }\r
+    }\r
+}
\ No newline at end of file
diff --git a/app/libs/framework.jar b/app/libs/framework.jar
new file mode 100644 (file)
index 0000000..82607b8
Binary files /dev/null and b/app/libs/framework.jar differ
diff --git a/app/libs/watch_framework.jar b/app/libs/watch_framework.jar
deleted file mode 100644 (file)
index 71aaa3f..0000000
Binary files a/app/libs/watch_framework.jar and /dev/null differ
index deac242..c977c29 100644 (file)
Binary files a/app/release/FactoryMode.apk and b/app/release/FactoryMode.apk differ
index e38fc25..53cf1f5 100644 (file)
@@ -1 +1 @@
-[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":2,"versionName":"20191120-2030","enabled":true,"outputFile":"FactoryMode.apk","fullName":"release","baseName":"release"},"path":"FactoryMode.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":3,"versionName":"20191123-1715","enabled":true,"outputFile":"FactoryMode.apk","fullName":"release","baseName":"release"},"path":"FactoryMode.apk","properties":{}}]
\ No newline at end of file
index 1352651..5b83cb1 100644 (file)
@@ -1,21 +1,30 @@
 package mobile.miki;\r
 \r
+import android.annotation.SuppressLint;\r
 import android.app.Service;\r
 import android.content.ComponentName;\r
 import android.content.Context;\r
 import android.content.Intent;\r
+import android.os.Build;\r
 import android.os.Bundle;\r
 import android.os.Handler;\r
 import android.os.Message;\r
+import android.os.SystemProperties;\r
 import android.preference.PreferenceManager;\r
+import android.telephony.PhoneStateListener;\r
+import android.telephony.SignalStrength;\r
 import android.telephony.TelephonyManager;\r
 import android.util.Log;\r
+import android.util.SparseArray;\r
 import android.view.Display;\r
 import android.view.View;\r
+import android.widget.ImageView;\r
 import android.widget.TextView;\r
 import android.widget.Toast;\r
 \r
 import java.io.IOException;\r
+import java.lang.reflect.InvocationTargetException;\r
+import java.lang.reflect.Method;\r
 \r
 import mobile.miki.mainui.ButtonViewTwo;\r
 import mobile.miki.mainui.TestMainActivity;\r
@@ -26,17 +35,25 @@ public class SimDetectActivity extends BaseActivity implements
        private static String imsiSim0;\r
        private static String imsiSim1;\r
        private static String aaa;\r
+       private TextView signalstrenth;\r
+       private TextView operator;\r
        private ButtonViewTwo buttonView;\r
        boolean running;\r
        boolean pcbatest;\r
+       private static String TAG="SimDetectActivity";\r
 \r
        String result = null;\r
        private PingThread pingThread;\r
+       //dxc mod\r
+       private MyPhoneStateListener myListener;\r
+       private static TelephonyManager mTelephonyManager;\r
 \r
        protected void onCreate(Bundle savedInstanceState) {\r
                super.onCreate(savedInstanceState);\r
                MyApplication.getInstance().addActivity(this);\r
                setContentView(R.layout.sim_detect_layout);\r
+               signalstrenth =(TextView)findViewById(R.id.signal_strenth);\r
+               operator=(TextView)findViewById(R.id.opertator);\r
                imsiSim0 = getResources().getString(R.string.nothing);\r
                imsiSim1 = getResources().getString(R.string.nothing);\r
                aaa = getResources().getString(R.string.ok);\r
@@ -59,6 +76,11 @@ public class SimDetectActivity extends BaseActivity implements
                detectSim1(null);\r
 //             detectSim2(null);\r
                detectNetwork(null);\r
+               //sim卡信号\r
+               myListener = new MyPhoneStateListener( this, operator,signalstrenth);\r
+               mTelephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);\r
+               mTelephonyManager.listen(myListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);\r
+\r
        }\r
 \r
        @Override\r
@@ -286,6 +308,138 @@ public class SimDetectActivity extends BaseActivity implements
                        buttonView.btn_left.setClickable(true);\r
                }\r
 \r
+       }\r
+       //sim卡信号强度\r
+       public static class MyPhoneStateListener extends PhoneStateListener {\r
+//        static final int SIGNAL_STRENGTH_GREAT = 5;\r
+//        static final int SIGNAL_STRENGTH_GOOD = 4;\r
+//        static final int SIGNAL_STRENGTH_MODERATE = 3;\r
+//        static final int SIGNAL_STRENGTH_POOR = 2;\r
+//        static final int SIGNAL_STRENGTH_VERYPOOR = 1;\r
+//        static final int SIGNAL_STRENGTH_NONE_OR_UNKNOWN = 0;\r
+\r
+               TextView tvOperatorName;\r
+               TextView tvSignal;\r
+               Context context;\r
+\r
+               int mSignalStrengthLevel = 0;\r
+               int mSignalStrengthDbm = 0;\r
+\r
+\r
+               String getNetworktypeName(int networktype){\r
+                       String ntype="";\r
+                       switch(networktype){\r
+                               case TelephonyManager.NETWORK_TYPE_GPRS:\r
+                                       ntype="GPRS";\r
+                                       break;\r
+                               case TelephonyManager.NETWORK_TYPE_EVDO_0:\r
+                                       ntype="EVDO_0";\r
+                                       break;\r
+                               case TelephonyManager.NETWORK_TYPE_EVDO_A:\r
+                                       ntype="EVDO_A";\r
+                                       break;\r
+                               case TelephonyManager.NETWORK_TYPE_EVDO_B:\r
+                                       ntype="EVDO_B";\r
+                                       break;\r
+                               case TelephonyManager.NETWORK_TYPE_EHRPD:\r
+                                       ntype="EHRPD";\r
+                                       break;\r
+                               case TelephonyManager.NETWORK_TYPE_UMTS:\r
+                                       ntype="UMTS";\r
+                                       break;\r
+                               case TelephonyManager.NETWORK_TYPE_HSDPA:\r
+                                       ntype="HSDPA";\r
+                                       break;\r
+                               case TelephonyManager.NETWORK_TYPE_HSUPA:\r
+                                       ntype="HSUPA";\r
+                                       break;\r
+                               case TelephonyManager.NETWORK_TYPE_HSPA:\r
+                                       ntype="HSPA";\r
+                                       break;\r
+                               case TelephonyManager.NETWORK_TYPE_HSPAP:\r
+                                       ntype="HSPAP";\r
+                                       break;\r
+                               case TelephonyManager.NETWORK_TYPE_EDGE:\r
+                                       ntype="EDGE";\r
+                                       break;\r
+                               case TelephonyManager.NETWORK_TYPE_CDMA:\r
+                                       ntype="CDMA";\r
+                                       break;\r
+                               case TelephonyManager.NETWORK_TYPE_1xRTT:\r
+                                       ntype="1X";\r
+                                       break;\r
+                               case TelephonyManager.NETWORK_TYPE_LTE:\r
+                                       ntype="LTE";\r
+                                       break;\r
+                               default:\r
+                                       ntype="-";\r
+                                       break;\r
+                       }\r
+\r
+                       return ntype;\r
+               }\r
+\r
+\r
+               int getSignalStrength(SignalStrength signalStrength ){\r
+                       int signal=0;\r
+\r
+\r
+                       return signal;\r
+               }\r
+               MyPhoneStateListener(Context context, TextView tvOperatorName,TextView tvsignal) {\r
+\r
+                       this.tvOperatorName = tvOperatorName;\r
+                       this.tvSignal = tvsignal;\r
+                       this.context = context;\r
+\r
+               }\r
+\r
+               @Override\r
+               public void onSignalStrengthsChanged(SignalStrength signalStrength) {\r
+                       super.onSignalStrengthsChanged(signalStrength);\r
+\r
+                       int level = signalStrength.getLevel() + 1;\r
+                       int signDbm = signalStrength.getDbm();\r
+\r
+                       setSignalStrengthDbm(signDbm);\r
+                       setSignalStrengthLevel(level);\r
+                       updateUI();\r
+               }\r
+\r
+               void updateUI() {\r
+                       if (mTelephonyManager == null) {\r
+                               mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);\r
+                       }\r
+                       String operatorName = mTelephonyManager.getSimOperatorName();   // SIM卡运营商的名字\r
+\r
+                       StringBuffer stringBuffer = new StringBuffer();\r
+                       stringBuffer.append(mTelephonyManager.getSimOperatorName()).append("\n");\r
+                       stringBuffer.append(mTelephonyManager.getSimOperator()).append("\n");\r
+                       Log.d(TAG,"网络运营商:" + stringBuffer.toString());\r
+\r
+\r
+\r
+                       int mNetworkType = mTelephonyManager.getNetworkType();\r
+               //      int mSimState = mTelephonyManager.getSimState();\r
+\r
+               //      if (mSimState != TelephonyManager.SIM_STATE_READY) {\r
+//                mSignalStrengthLevel = 0;\r
+                       //      setSignalStrengthLevel(0);\r
+               //      }\r
+                       tvOperatorName.setText(operatorName);\r
+                       tvSignal.setText(getNetworktypeName(mNetworkType)+"  ("+mSignalStrengthDbm+" Dbm) "+mSignalStrengthLevel+" ");\r
+\r
+               }\r
+\r
+               void setSignalStrengthLevel(int level) {\r
+                       mSignalStrengthLevel = level;\r
+               }\r
+               void setSignalStrengthDbm(int strengthDbm) {\r
+                       mSignalStrengthDbm = strengthDbm;\r
+               }\r
+\r
+\r
+\r
        }\r
 \r
 }\r
index 086944d..1211fff 100644 (file)
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="utf-8"?>\r
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+    xmlns:tools="http://schemas.android.com/tools"\r
     android:id="@+id/relativeLayout1"\r
     android:layout_width="fill_parent"\r
     android:layout_height="fill_parent"\r
     android:background="@drawable/default_bg" >\r
 \r
     <LinearLayout\r
-        xmlns:android="http://schemas.android.com/apk/res/android"\r
         android:id="@+id/linearLayout1"\r
         android:layout_width="fill_parent"\r
         android:layout_height="fill_parent"\r
                         android:text="@string/empty"\r
                         android:textColor="@drawable/black"\r
                         android:textSize="20dp" />\r
+\r
                 </LinearLayout>\r
             </LinearLayout>\r
             \r
                  android:textSize="20dp"\r
                  android:visibility="gone"\r
                  />\r
-             \r
+\r
+            <LinearLayout\r
+                android:layout_width="fill_parent"\r
+                android:layout_height="wrap_content"\r
+                android:gravity="center"\r
+                android:orientation="horizontal">\r
+\r
+                <LinearLayout\r
+                    android:layout_width="fill_parent"\r
+                    android:layout_height="fill_parent"\r
+                    android:layout_weight="1.0"\r
+                    android:gravity="center|top"\r
+                    android:orientation="horizontal">\r
+\r
+                    <TextView\r
+                        android:id="@+id/textView11"\r
+                        android:layout_width="wrap_content"\r
+                        android:layout_height="wrap_content"\r
+                        android:text="@string/operator"\r
+                        android:textColor="@drawable/black"\r
+                        android:textSize="20dp" />\r
+\r
+                    <TextView\r
+                        android:id="@+id/textView117"\r
+                        android:layout_width="wrap_content"\r
+                        android:layout_height="wrap_content"\r
+                        android:text="@string/colon"\r
+                        android:textColor="@drawable/black"\r
+                        android:textSize="20dp" />\r
+                </LinearLayout>\r
+\r
+                <LinearLayout\r
+                    android:layout_width="fill_parent"\r
+                    android:layout_height="fill_parent"\r
+                    android:layout_weight="1.0"\r
+                    android:gravity="center|top"\r
+                    android:orientation="horizontal">\r
+\r
+                    <TextView\r
+                        android:id="@+id/opertator"\r
+                        android:layout_width="wrap_content"\r
+                        android:layout_height="wrap_content"\r
+                        android:text="@string/empty"\r
+                        android:textColor="@drawable/black"\r
+                        android:textSize="20dp" />\r
+                </LinearLayout>\r
+            </LinearLayout>\r
+\r
+            <LinearLayout\r
+                android:layout_width="fill_parent"\r
+                android:layout_height="wrap_content"\r
+                android:gravity="center"\r
+                android:orientation="horizontal">\r
+\r
+                <LinearLayout\r
+                    android:layout_width="fill_parent"\r
+                    android:layout_height="fill_parent"\r
+                    android:layout_weight="1.0"\r
+                    android:gravity="center|top"\r
+                    android:orientation="horizontal">\r
+\r
+                    <TextView\r
+                        android:id="@+id/textView8"\r
+                        android:layout_width="wrap_content"\r
+                        android:layout_height="wrap_content"\r
+                        android:text="@string/signal"\r
+                        android:textColor="@drawable/black"\r
+                        android:textSize="20dp" />\r
+\r
+                    <TextView\r
+                        android:id="@+id/textView7"\r
+                        android:layout_width="wrap_content"\r
+                        android:layout_height="wrap_content"\r
+                        android:text="@string/colon"\r
+                        android:textColor="@drawable/black"\r
+                        android:textSize="20dp" />\r
+                </LinearLayout>\r
+\r
+                <LinearLayout\r
+                    android:layout_width="fill_parent"\r
+                    android:layout_height="fill_parent"\r
+                    android:layout_weight="1.0"\r
+                    android:gravity="center|top"\r
+                    android:orientation="horizontal">\r
+\r
+                    <TextView\r
+                        android:id="@+id/signal_strenth"\r
+                        android:layout_width="wrap_content"\r
+                        android:layout_height="wrap_content"\r
+                        android:text="@string/empty"\r
+                        android:textColor="@drawable/black"\r
+                        android:textSize="20dp" />\r
+                </LinearLayout>\r
+            </LinearLayout>\r
+\r
             <!-- end -->\r
             \r
         </LinearLayout>\r
index 9ce1e5d..44057af 100644 (file)
     <string name="screen_bright">背光</string>\r
     <string name="screen_bright_test">点击开始背光测试</string>\r
     <string name="network">网络</string>\r
+    <string name="signal">信号强度</string>\r
+    <string name="operator">运营商</string>\r
     <string name="voice_phone_test">点击进入网络电话测试</string>\r
     <string name="bluetootheTest">点击进入蓝牙测试</string>\r
     <string name="radarTest">点击进入雷达测试</string>\r
index 336922c..a9b0944 100644 (file)
     <string name="fail">FAIL</string>\r
     <string name="success">SUCCESS</string>\r
     <string name="network">network</string>\r
+    <string name="signal">signal</string>\r
+    <string name="operator">operator</string>\r
     <string name="pcbatest_gps_pass_rules">Pass Rule: one satellite SNR > 30 </string>\r
     <string name="ageing_gps_pass_rules">Pass Rule: 3 satellites SNR > 30</string>\r
     <string name="gps_pass_rules">Pass Rule: GPS Must Fixed</string>\r
index 638c3d9..232f30a 100644 (file)
@@ -14,4 +14,11 @@ allprojects {
         jcenter()\r
         google()\r
     }\r
+\r
+    gradle.projectsEvaluated {\r
+        tasks.withType(JavaCompile) {\r
+            options.compilerArgs.add('-Xbootclasspath/p:app\\libs\\framework.jar')\r
+        }\r
+    }\r
+\r
 }\r
index 0258691..6bbc01d 100644 (file)
@@ -8,7 +8,7 @@
       </configuration>\r
     </facet>\r
   </component>\r
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6" inherit-compiler-output="true">\r
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">\r
     <exclude-output />\r
     <content url="file://$MODULE_DIR$">\r
       <excludeFolder url="file://$MODULE_DIR$/.gradle" />\r
index d91f97e..36172a0 100644 (file)
@@ -15,7 +15,7 @@
       </configuration>\r
     </facet>\r
   </component>\r
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6" inherit-compiler-output="true">\r
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">\r
     <exclude-output />\r
     <content url="file://$MODULE_DIR$">\r
       <excludeFolder url="file://$MODULE_DIR$/.gradle" />\r