release V115
authorSnickerSun <scy@incartech.cn>
Thu, 15 Jul 2021 08:15:54 +0000 (16:15 +0800)
committerSnickerSun <scy@incartech.cn>
Thu, 15 Jul 2021 08:15:54 +0000 (16:15 +0800)
 添加C49C支持,GH3011漏光测试界面

15 files changed:
app/EQC_G5.jks [new file with mode: 0644]
app/build.gradle
app/release/FactoryMode_V115_202107151603_release.apk [moved from app/release/FactoryMode_V107_202106201846_release.apk with 93% similarity]
app/release/output.json
app/src/main/AndroidManifest.xml
app/src/main/java/mobile/miki/HeartRateSystemTest.java [new file with mode: 0644]
app/src/main/java/mobile/miki/KeysTestActivity.java
app/src/main/java/mobile/miki/mainui/TestMainList.java
app/src/main/java/mobile/miki/util/FTUtils.java
app/src/main/res/layout/dig_layout_testlist.xml
app/src/main/res/layout/dig_layout_testlist_280.xml
app/src/main/res/layout/heartrate_systemtest_layout.xml [new file with mode: 0644]
app/src/main/res/values-zh-rCN/strings.xml
app/src/main/res/values/strings.xml
app/version_code.properties

diff --git a/app/EQC_G5.jks b/app/EQC_G5.jks
new file mode 100644 (file)
index 0000000..2229d46
Binary files /dev/null and b/app/EQC_G5.jks differ
index bd7851d..a1f6fe9 100644 (file)
-apply plugin: 'com.android.application'
-// APK 名称
-static def getApkBaseName() {
-    return "FactoryMode"
-}
-
-def getVersionCode() {
-    def versionCodeFile = file('version_code.properties')
-    if (versionCodeFile.canRead()) {
-        Properties properties = new Properties()
-        properties.load(new FileInputStream(versionCodeFile))
-        def versionCode = properties['VERSION_CODE'].toInteger()//读取version_code.properties文件存放的版本号。
-        def runTasks = gradle.startParameter.taskNames
-        def task = ':app:assembleRelease'
-        if (task in runTasks) {
-            properties['VERSION_CODE'] = (++versionCode).toString()
-            properties.store(versionCodeFile.newWriter(), null)
-        }
-
-        return versionCode
-    } else {
-        throw new GradleException("无法读取version_code.properties文件!")
-    }
-}
-
-def releaseTime() {
-
-    return new Date().format("yyyyMMddHHmm", TimeZone.getTimeZone("GMT+08:00"))
-
-}
-android {
-    signingConfigs {
-        key {
-            storeFile file("AndroidSystem.jks")
-            storePassword "android123456"
-            keyAlias "android"
-            keyPassword "android123456"
-        }
-    }
-    lintOptions {
-        checkReleaseBuilds false
-        abortOnError false
-    }
-    compileSdkVersion 27
-
-    def currentVersionCode = getVersionCode()
-    def currentVersionName = releaseTime()
-
-    defaultConfig {
-        applicationId "mobile.miki"
-        minSdkVersion 19
-        targetSdkVersion 19
-        versionCode currentVersionCode
-        versionName "${currentVersionName}"
-    }
-    buildTypes {
-        release {
-            minifyEnabled false
-            signingConfig signingConfigs.key
-            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
-        }
-        debug {
-            signingConfig signingConfigs.key
-        }
-    }
-    //打包后应用名称
-    android.applicationVariants.all { variant ->
-        variant.outputs.all {
-            if (variant.buildType.name == "release") {
-                outputFileName = "${getApkBaseName()}_V${currentVersionCode}_${currentVersionName}_release.apk"
-            } else {
-                outputFileName = "${getApkBaseName()}_V${currentVersionCode}_${currentVersionName}_debug.apk"
-            }
-        }
-    }
-//    buildToolsVersion '20.0.3'
-
-    sourceSets {
-        main {
-            jni.srcDirs = []
-        }
-    }
-    compileOptions {
-        sourceCompatibility = 1.7
-        targetCompatibility = 1.7
-    }
-    ndkVersion '20.1.5948944'
-    sourceSets.main {
-        jniLibs.srcDir 'src/main/libs'
-        jni.srcDirs = [] //disable automatic ndk-build call
-    }
-}
-
-dependencies {
-    compileOnly files ('libs/frameworks-full-debug.jar')
-    provided files ('libs/telephony_common-full-debug.jar')
-    implementation 'com.squareup.okhttp3:okhttp:3.4.1'
-    implementation 'io.reactivex:rxandroid:1.2.1'
-    implementation 'com.liulishuo.filedownloader:library:1.6.3'
-    compileOnly files('libs/IAtChannel_classes.jar')
-    implementation files('libs/LineWrapContainer.aar')
-    implementation 'com.android.support:appcompat-v7:27.1.1'
-    implementation 'com.android.support:recyclerview-v7:27.1.1'
-//    implementation 'com.android.support:recyclerview-v7:20.0.0'
-
-}
-preBuild {
-
-    doLast {
-        def imlFile = file( project.name + ".iml")
-        println 'Change ' + project.name + '.iml order'
-        try {
-            def parsedXml = (new XmlParser()).parse(imlFile)
-            def jdkNode = parsedXml.component[1].orderEntry.find { it.'@type' == 'jdk' }
-            parsedXml.component[1].remove(jdkNode)
-            def sdkString = "Android API " + android.compileSdkVersion.substring("android-".length()) + " Platform"
-            println 'what' + sdkString
-            new Node(parsedXml.component[1], 'orderEntry', ['type': 'jdk', 'jdkName': sdkString, 'jdkType': 'Android SDK'])
-            groovy.xml.XmlUtil.serialize(parsedXml, new FileOutputStream(imlFile))
-        } catch (FileNotFoundException e) {
-            // nop, iml not found
-            println "no iml found"
-        }
-    }
+apply plugin: 'com.android.application'\r
+// APK 名称\r
+static def getApkBaseName() {\r
+    return "FactoryMode"\r
+}\r
+\r
+def getVersionCode() {\r
+    def versionCodeFile = file('version_code.properties')\r
+    if (versionCodeFile.canRead()) {\r
+        Properties properties = new Properties()\r
+        properties.load(new FileInputStream(versionCodeFile))\r
+        def versionCode = properties['VERSION_CODE'].toInteger()//读取version_code.properties文件存放的版本号。\r
+        def runTasks = gradle.startParameter.taskNames\r
+        def task = ':app:assembleRelease'\r
+        if (task in runTasks) {\r
+            properties['VERSION_CODE'] = (++versionCode).toString()\r
+            properties.store(versionCodeFile.newWriter(), null)\r
+        }\r
+\r
+        return versionCode\r
+    } else {\r
+        throw new GradleException("无法读取version_code.properties文件!")\r
+    }\r
+}\r
+\r
+def releaseTime() {\r
+\r
+    return new Date().format("yyyyMMddHHmm", TimeZone.getTimeZone("GMT+08:00"))\r
+\r
+}\r
+android {\r
+    signingConfigs {\r
+        key {\r
+            storeFile file("EQC_G5.jks")\r
+            storePassword "123456"\r
+            keyAlias "android"\r
+            keyPassword "123456"\r
+        }\r
+    }\r
+    lintOptions {\r
+        checkReleaseBuilds false\r
+        abortOnError false\r
+    }\r
+    compileSdkVersion 27\r
+\r
+    def currentVersionCode = getVersionCode()\r
+    def currentVersionName = releaseTime()\r
+\r
+    defaultConfig {\r
+        applicationId "mobile.miki"\r
+        minSdkVersion 19\r
+        targetSdkVersion 19\r
+        versionCode currentVersionCode\r
+        versionName "${currentVersionName}"\r
+    }\r
+    buildTypes {\r
+        release {\r
+            minifyEnabled false\r
+            signingConfig signingConfigs.key\r
+            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'\r
+        }\r
+        debug {\r
+            signingConfig signingConfigs.key\r
+        }\r
+    }\r
+    //打包后应用名称\r
+    android.applicationVariants.all { variant ->\r
+        variant.outputs.all {\r
+            if (variant.buildType.name == "release") {\r
+                outputFileName = "${getApkBaseName()}_V${currentVersionCode}_${currentVersionName}_release.apk"\r
+            } else {\r
+                outputFileName = "${getApkBaseName()}_V${currentVersionCode}_${currentVersionName}_debug.apk"\r
+            }\r
+        }\r
+    }\r
+//    buildToolsVersion '20.0.3'\r
+\r
+    sourceSets {\r
+        main {\r
+            jni.srcDirs = []\r
+        }\r
+    }\r
+    compileOptions {\r
+        sourceCompatibility = 1.7\r
+        targetCompatibility = 1.7\r
+    }\r
+    ndkVersion '20.1.5948944'\r
+    sourceSets.main {\r
+        jniLibs.srcDir 'src/main/libs'\r
+        jni.srcDirs = [] //disable automatic ndk-build call\r
+    }\r
+}\r
+\r
+dependencies {\r
+    compileOnly files ('libs/frameworks-full-debug.jar')\r
+    provided files ('libs/telephony_common-full-debug.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
+    implementation 'com.android.support:appcompat-v7:27.1.1'\r
+    implementation 'com.android.support:recyclerview-v7:27.1.1'\r
+//    implementation 'com.android.support:recyclerview-v7:20.0.0'\r
+\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
similarity index 93%
rename from app/release/FactoryMode_V107_202106201846_release.apk
rename to app/release/FactoryMode_V115_202107151603_release.apk
index a991d07..93a7aad 100644 (file)
Binary files a/app/release/FactoryMode_V107_202106201846_release.apk and b/app/release/FactoryMode_V115_202107151603_release.apk differ
index 5b7efa1..f1c3552 100644 (file)
@@ -1 +1 @@
-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":110,"versionName":"202107061631","enabled":true,"outputFile":"FactoryMode_V110_202107061631_release.apk","fullName":"release","baseName":"release"},"path":"FactoryMode_V110_202107061631_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":115,"versionName":"202107151603","enabled":true,"outputFile":"FactoryMode_V115_202107151603_release.apk","fullName":"release","baseName":"release"},"path":"FactoryMode_V115_202107151603_release.apk","properties":{}}]
\ No newline at end of file
index f4ccab1..3919ca0 100644 (file)
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="mobile.miki"
-    android:sharedUserId="android.uid.system">
-
-    <uses-sdk android:minSdkVersion="14" />
-
-    <!-- android:sharedUserId="android.uid.phone" -->
-    <uses-permission android:name="android.permission.VIBRATE" />
-    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
-    <uses-permission android:name="android.permission.WAKE_LOCK" />
-    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
-    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
-    <uses-permission android:name="android.permission.BLUETOOTH" />
-    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
-    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
-    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
-    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
-    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
-    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
-    <uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES" />
-    <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" /> <!-- <uses-permission android:name="android.permission.WAKE_LOCK" /> -->
-    <uses-permission android:name="android.permission.INTERNET" />
-    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
-    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
-    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
-    <uses-permission android:name="android.permission.CALL_PHONE" />
-    <uses-permission android:name="android.permission.READ_LOGS" />
-    <uses-permission android:name="android.permission.MASTER_CLEAR" />
-    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
-    <uses-permission android:name="android.permission.RECORD_AUDIO" />
-    <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES" />
-    <uses-permission android:name="android.permission.CAMERA" />
-    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
-
-
-    <permission android:name="android.permission.SHUTDOWN" />
-
-    <uses-feature android:name="android.hardware.camera" />
-    <uses-feature android:name="android.hardware.autofocus" />
-
-    <uses-permission android:name="android.permission.FLASHLIGHT" />
-    <uses-permission android:name="android.permission.HARDWARE_TEST" />
-    <uses-permission android:name="android.permission.DELETE_CACHE_FILES" />
-    <uses-permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM" />
-    <uses-permission android:name="android.permission.REBOOT" />
-    <uses-permission android:name="com.google.android.gm.permission.WRITE_GMAIL" />
-    <uses-permission android:name="com.google.android.gm.permission.READ_GMAIL" />
-    <uses-permission android:name="android.permission.DEVICE_POWER" />
-    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
-    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
-    <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH" />
-    <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER" />
-    <uses-permission android:name="android.permission.READ_CONTACTS" />
-    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
-    <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
-    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
-    <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
-    <uses-permission android:name="android.permission.READ_USER_DICTIONARY" />
-    <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
-    <uses-permission android:name="android.permission.RESTART_PACKAGES" />
-    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
-    <uses-permission android:name="android.permission.BATTERY_STATS" />
-    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
-    <uses-permission android:name="android.permission.MOVE_PACKAGE" />
-    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <!-- <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> -->
-    <uses-permission android:name="android.permission.STATUS_BAR" /> <!-- <uses-permission android:name="android.permission.CALL_PHONE" /> -->
-    <uses-permission android:name="android.permission.CALL_PRIVILEGED" /> <!-- <uses-permission android:name="android.permission.DEVICE_POWER" /> -->
-    <!-- <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> -->
-    <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
-    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
-    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
-    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
-
-    <application
-        android:name=".MyApplication"
-        android:icon="@drawable/ic_gravity"
-        android:label="@string/app_name"
-        android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
-        <activity
-            android:name=".shutdown_activity"
-            android:exported="true"
-            android:launchMode="singleInstance">
-            <intent-filter>
-                <action android:name="com.ic.action.SHUT_DOWN_PAGE" />
-                <category android:name=" android.intent.category.DEFAULT" />
-            </intent-filter>
-        </activity>
-        <activity android:name=".FactoryReset_activity" />
-        <activity android:name=".PressureActivity" />
-        <activity
-            android:name=".GPSActivity"
-            android:configChanges="keyboardHidden|orientation|screenSize|locale|screenLayout|mcc|mnc|layoutDirection">
-            <intent-filter>
-                <action android:name="com.ic.action.gps_test" />
-                <category android:name=" android.intent.category.DEFAULT" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:name=".mainui.TestMainList"
-            android:label="@string/app_name"
-            android:launchMode="singleTask"
-            android:theme="@style/AppTheme">
-            <intent-filter>
-                <action android:name="android.intent.action.htf" />
-                <action android:name="android.intent.action.MAIN" />
-
-                <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name=" android.intent.category.DEFAULT" />
-            </intent-filter>
-            <!-- <category android:name="android.intent.category.LAUNCHER" /> -->
-        </activity>
-        <activity
-            android:name=".GravitySensorActivity"
-            android:label="@string/gravity" />
-        <activity
-            android:name=".MotorTestActivity"
-            android:label="@string/shakeTest" />
-        <activity
-            android:name=".KeysTestActivity"
-            android:label="@string/keysTest">
-            <intent-filter>
-                <action android:name="com.eqc.OffHook.START" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:name=".TemperatureAdjustActivity"
-            android:label="@string/tempAdjust">
-            <intent-filter>
-                <action android:name="com.eqc.STARTTempAdjust" />
-            </intent-filter>
-        </activity>
-
-        <activity
-            android:name=".TemperatureActivity"
-            android:label="@string/temperature" />
-        <activity
-            android:name=".SimDetectActivity"
-            android:label="@string/detectSim" />
-        <activity
-            android:name=".BlooToothActivity"
-            android:label="@string/bluetooth" />
-        <activity
-            android:name=".WifiTestActiviy"
-            android:label="@string/wifitest" />
-        <activity
-            android:name=".CameraPreview"
-            android:label="@string/cameraMotor" />
-        <activity
-            android:name=".RingtoneActivity"
-            android:label="@string/ringtone" />
-        <activity
-            android:name=".LCDtestAgeing"
-            android:label="@string/lcdTest_lsn"
-            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
-        <activity
-            android:name=".DialerTestActivity"
-            android:label="@string/call_fun" />
-        <activity
-            android:name=".BatteryTestActivity"
-            android:label="@string/powerBatteryTest" />
-        <activity
-            android:name=".touchscreen.TouchScreen_HandWriting"
-            android:label="@string/TouchScreen" />
-        <activity
-            android:name=".touchscreen.TouchScreen_Activity"
-            android:label="@string/TouchScreen" />
-        <activity
-            android:name=".VersionActivity"
-            android:label="@string/deviceInfo" />
-        <activity
-            android:name=".touchscreen.SurfaceViewAcitvity"
-            android:label="@string/TouchScreen"
-            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" /> <!-- add by tyy 2016.9.2 -->
-        <activity
-            android:name=".mainui.TestMainActivity"
-            android:launchMode="singleTask"
-            android:theme="@style/AppTheme" />
-        <activity
-            android:name=".GpsTest"
-            android:label="@string/gps_test"
-            android:launchMode="singleTask" />
-        <activity
-            android:name=".TouchTest"
-            android:label="@string/TouchScreen" />
-        <activity
-            android:name=".SystemMemory"
-            android:label="@string/ramromTest" />
-        <activity
-            android:name=".DSPActivity"
-            android:label="@string/dsp" />
-        <activity
-            android:name=".HeartRate"
-            android:label="@string/heartrate" />
-        <activity
-            android:name=".AntiMonitorActivity"
-            android:label="@string/anti_check" />
-        <activity
-            android:name=".MikeTest"
-            android:label="@string/mic_title" />
-        <activity
-            android:name=".lcd.LcdJudgActivity"
-            android:label="@string/mic_title"
-            android:theme="@style/AppTheme" />
-        <activity
-            android:name=".lcd.LcdActivity"
-            android:label="@string/mic_title"
-            android:launchMode="singleTask" />
-        <activity
-            android:name=".BrightnessTest"
-            android:label="@string/fmTest" />
-        <activity
-            android:name=".ageingmode.AgeingModeActivity"
-            android:launchMode="singleTask"
-            android:theme="@style/AppTheme" />
-        <activity
-            android:name=".mainui.ModeSelectActivity"
-            android:launchMode="singleTask"
-            android:theme="@style/AppTheme" />
-        <activity
-            android:name=".mainui.FlagPositionActivity"
-            android:launchMode="singleTask"
-            android:theme="@style/AppTheme" />
-        <activity
-            android:name=".RecordActivity"
-            android:launchMode="singleTask"
-            android:theme="@style/AppTheme" />
-        <activity
-            android:name=".flow.DownLoad"
-            android:launchMode="singleTask"
-            android:theme="@style/AppTheme" />
-        <activity
-            android:name=".UltravioletMonitorActivity"
-            android:launchMode="singleTask"
-            android:theme="@style/AppTheme" />
-        <activity
-            android:name=".ageingmode.AgeingRingtoneActivity"
-            android:launchMode="singleTask" />
-        <activity
-            android:name=".ageingmode.AgeingLCDtest"
-            android:launchMode="singleTask" />
-        <activity
-            android:name=".ageingmode.AgeingCameraPreview"
-            android:launchMode="singleTask" />
-        <activity
-            android:name=".ageingmode.AgeingMikeTest"
-            android:launchMode="singleTask" />
-        <activity
-            android:name=".ageingmode.AgeingMotorTestActivity"
-            android:launchMode="singleTask" />
-
-        <service android:name=".ageingmode.AgeingService" />
-    </application>
-
+<?xml version="1.0" encoding="utf-8"?>\r
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"\r
+    package="mobile.miki"\r
+    android:sharedUserId="android.uid.system">\r
+\r
+    <uses-sdk android:minSdkVersion="14" />\r
+\r
+    <!-- android:sharedUserId="android.uid.phone" -->\r
+    <uses-permission android:name="android.permission.VIBRATE" />\r
+    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />\r
+    <uses-permission android:name="android.permission.WAKE_LOCK" />\r
+    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />\r
+    <uses-permission android:name="android.permission.READ_PHONE_STATE" />\r
+    <uses-permission android:name="android.permission.BLUETOOTH" />\r
+    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />\r
+    <uses-permission android:name="android.permission.WRITE_SETTINGS" />\r
+    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />\r
+    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />\r
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />\r
+    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />\r
+    <uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES" />\r
+    <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" /> <!-- <uses-permission android:name="android.permission.WAKE_LOCK" /> -->\r
+    <uses-permission android:name="android.permission.INTERNET" />\r
+    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />\r
+    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />\r
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />\r
+    <uses-permission android:name="android.permission.CALL_PHONE" />\r
+    <uses-permission android:name="android.permission.READ_LOGS" />\r
+    <uses-permission android:name="android.permission.MASTER_CLEAR" />\r
+    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />\r
+    <uses-permission android:name="android.permission.RECORD_AUDIO" />\r
+    <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES" />\r
+    <uses-permission android:name="android.permission.CAMERA" />\r
+    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />\r
+\r
+\r
+    <permission android:name="android.permission.SHUTDOWN" />\r
+\r
+    <uses-feature android:name="android.hardware.camera" />\r
+    <uses-feature android:name="android.hardware.autofocus" />\r
+\r
+    <uses-permission android:name="android.permission.FLASHLIGHT" />\r
+    <uses-permission android:name="android.permission.HARDWARE_TEST" />\r
+    <uses-permission android:name="android.permission.DELETE_CACHE_FILES" />\r
+    <uses-permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM" />\r
+    <uses-permission android:name="android.permission.REBOOT" />\r
+    <uses-permission android:name="com.google.android.gm.permission.WRITE_GMAIL" />\r
+    <uses-permission android:name="com.google.android.gm.permission.READ_GMAIL" />\r
+    <uses-permission android:name="android.permission.DEVICE_POWER" />\r
+    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />\r
+    <uses-permission android:name="android.permission.USE_CREDENTIALS" />\r
+    <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH" />\r
+    <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER" />\r
+    <uses-permission android:name="android.permission.READ_CONTACTS" />\r
+    <uses-permission android:name="android.permission.WRITE_CONTACTS" />\r
+    <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />\r
+    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />\r
+    <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />\r
+    <uses-permission android:name="android.permission.READ_USER_DICTIONARY" />\r
+    <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />\r
+    <uses-permission android:name="android.permission.RESTART_PACKAGES" />\r
+    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />\r
+    <uses-permission android:name="android.permission.BATTERY_STATS" />\r
+    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />\r
+    <uses-permission android:name="android.permission.MOVE_PACKAGE" />\r
+    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <!-- <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> -->\r
+    <uses-permission android:name="android.permission.STATUS_BAR" /> <!-- <uses-permission android:name="android.permission.CALL_PHONE" /> -->\r
+    <uses-permission android:name="android.permission.CALL_PRIVILEGED" /> <!-- <uses-permission android:name="android.permission.DEVICE_POWER" /> -->\r
+    <!-- <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> -->\r
+    <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />\r
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />\r
+    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />\r
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />\r
+\r
+    <application\r
+        android:name=".MyApplication"\r
+        android:icon="@drawable/ic_gravity"\r
+        android:label="@string/app_name"\r
+        android:theme="@android:style/Theme.NoTitleBar.Fullscreen">\r
+        <activity\r
+            android:name=".shutdown_activity"\r
+            android:exported="true"\r
+            android:launchMode="singleInstance">\r
+            <intent-filter>\r
+                <action android:name="com.ic.action.SHUT_DOWN_PAGE" />\r
+                <category android:name=" android.intent.category.DEFAULT" />\r
+            </intent-filter>\r
+        </activity>\r
+        <activity android:name=".FactoryReset_activity" />\r
+        <activity android:name=".PressureActivity" />\r
+        <activity\r
+            android:name=".GPSActivity"\r
+            android:configChanges="keyboardHidden|orientation|screenSize|locale|screenLayout|mcc|mnc|layoutDirection">\r
+            <intent-filter>\r
+                <action android:name="com.ic.action.gps_test" />\r
+                <category android:name=" android.intent.category.DEFAULT" />\r
+            </intent-filter>\r
+        </activity>\r
+        <activity\r
+            android:name=".mainui.TestMainList"\r
+            android:label="@string/app_name"\r
+            android:launchMode="singleTask"\r
+            android:theme="@style/AppTheme">\r
+            <intent-filter>\r
+                <action android:name="android.intent.action.htf" />\r
+                <action android:name="android.intent.action.MAIN" />\r
+\r
+                <category android:name="android.intent.category.LAUNCHER" />\r
+                <category android:name=" android.intent.category.DEFAULT" />\r
+            </intent-filter>\r
+            <!-- <category android:name="android.intent.category.LAUNCHER" /> -->\r
+        </activity>\r
+        <activity\r
+            android:name=".GravitySensorActivity"\r
+            android:label="@string/gravity" />\r
+        <activity\r
+            android:name=".MotorTestActivity"\r
+            android:label="@string/shakeTest" />\r
+        <activity\r
+            android:name=".KeysTestActivity"\r
+            android:label="@string/keysTest">\r
+            <intent-filter>\r
+                <action android:name="com.eqc.OffHook.START" />\r
+            </intent-filter>\r
+        </activity>\r
+        <activity\r
+            android:name=".TemperatureAdjustActivity"\r
+            android:label="@string/tempAdjust">\r
+            <intent-filter>\r
+                <action android:name="com.eqc.STARTTempAdjust" />\r
+            </intent-filter>\r
+        </activity>\r
+\r
+        <activity\r
+            android:name=".TemperatureActivity"\r
+            android:label="@string/temperature" />\r
+        <activity\r
+            android:name=".SimDetectActivity"\r
+            android:label="@string/detectSim" />\r
+        <activity\r
+            android:name=".BlooToothActivity"\r
+            android:label="@string/bluetooth" />\r
+        <activity\r
+            android:name=".WifiTestActiviy"\r
+            android:label="@string/wifitest" />\r
+        <activity\r
+            android:name=".CameraPreview"\r
+            android:label="@string/cameraMotor" />\r
+        <activity\r
+            android:name=".RingtoneActivity"\r
+            android:label="@string/ringtone" />\r
+        <activity\r
+            android:name=".LCDtestAgeing"\r
+            android:label="@string/lcdTest_lsn"\r
+            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />\r
+        <activity\r
+            android:name=".DialerTestActivity"\r
+            android:label="@string/call_fun" />\r
+        <activity\r
+            android:name=".BatteryTestActivity"\r
+            android:label="@string/powerBatteryTest" />\r
+        <activity\r
+            android:name=".touchscreen.TouchScreen_HandWriting"\r
+            android:label="@string/TouchScreen" />\r
+        <activity\r
+            android:name=".touchscreen.TouchScreen_Activity"\r
+            android:label="@string/TouchScreen" />\r
+        <activity\r
+            android:name=".VersionActivity"\r
+            android:label="@string/deviceInfo" />\r
+        <activity\r
+            android:name=".touchscreen.SurfaceViewAcitvity"\r
+            android:label="@string/TouchScreen"\r
+            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" /> <!-- add by tyy 2016.9.2 -->\r
+        <activity\r
+            android:name=".mainui.TestMainActivity"\r
+            android:launchMode="singleTask"\r
+            android:theme="@style/AppTheme" />\r
+        <activity\r
+            android:name=".GpsTest"\r
+            android:label="@string/gps_test"\r
+            android:launchMode="singleTask" />\r
+        <activity\r
+            android:name=".TouchTest"\r
+            android:label="@string/TouchScreen" />\r
+        <activity\r
+            android:name=".SystemMemory"\r
+            android:label="@string/ramromTest" />\r
+        <activity\r
+            android:name=".DSPActivity"\r
+            android:label="@string/dsp" />\r
+        <activity\r
+            android:name=".HeartRate"\r
+            android:label="@string/heartrate" />\r
+        <activity\r
+            android:name=".HeartRateSystemTest"\r
+            android:label="@string/gh3011_systemtest" />\r
+        <activity\r
+            android:name=".AntiMonitorActivity"\r
+            android:label="@string/anti_check" />\r
+        <activity\r
+            android:name=".MikeTest"\r
+            android:label="@string/mic_title" />\r
+        <activity\r
+            android:name=".lcd.LcdJudgActivity"\r
+            android:label="@string/mic_title"\r
+            android:theme="@style/AppTheme" />\r
+        <activity\r
+            android:name=".lcd.LcdActivity"\r
+            android:label="@string/mic_title"\r
+            android:launchMode="singleTask" />\r
+        <activity\r
+            android:name=".BrightnessTest"\r
+            android:label="@string/fmTest" />\r
+        <activity\r
+            android:name=".ageingmode.AgeingModeActivity"\r
+            android:launchMode="singleTask"\r
+            android:theme="@style/AppTheme" />\r
+        <activity\r
+            android:name=".mainui.ModeSelectActivity"\r
+            android:launchMode="singleTask"\r
+            android:theme="@style/AppTheme" />\r
+        <activity\r
+            android:name=".mainui.FlagPositionActivity"\r
+            android:launchMode="singleTask"\r
+            android:theme="@style/AppTheme" />\r
+        <activity\r
+            android:name=".RecordActivity"\r
+            android:launchMode="singleTask"\r
+            android:theme="@style/AppTheme" />\r
+        <activity\r
+            android:name=".flow.DownLoad"\r
+            android:launchMode="singleTask"\r
+            android:theme="@style/AppTheme" />\r
+        <activity\r
+            android:name=".UltravioletMonitorActivity"\r
+            android:launchMode="singleTask"\r
+            android:theme="@style/AppTheme" />\r
+        <activity\r
+            android:name=".ageingmode.AgeingRingtoneActivity"\r
+            android:launchMode="singleTask" />\r
+        <activity\r
+            android:name=".ageingmode.AgeingLCDtest"\r
+            android:launchMode="singleTask" />\r
+        <activity\r
+            android:name=".ageingmode.AgeingCameraPreview"\r
+            android:launchMode="singleTask" />\r
+        <activity\r
+            android:name=".ageingmode.AgeingMikeTest"\r
+            android:launchMode="singleTask" />\r
+        <activity\r
+            android:name=".ageingmode.AgeingMotorTestActivity"\r
+            android:launchMode="singleTask" />\r
+\r
+        <service android:name=".ageingmode.AgeingService" />\r
+    </application>\r
+\r
 </manifest>
\ No newline at end of file
diff --git a/app/src/main/java/mobile/miki/HeartRateSystemTest.java b/app/src/main/java/mobile/miki/HeartRateSystemTest.java
new file mode 100644 (file)
index 0000000..2774546
--- /dev/null
@@ -0,0 +1,282 @@
+package mobile.miki;
+
+import android.content.Intent;
+import android.hardware.Sensor;
+import android.hardware.SensorEvent;
+import android.hardware.SensorEventListener;
+import android.hardware.SensorManager;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.preference.PreferenceManager;
+import android.util.Log;
+import android.view.View;
+import android.widget.Button;
+import android.widget.TextView;
+
+import com.ic.jni.ICJniUtils;
+
+import java.util.Timer;
+import java.util.TimerTask;
+
+import mobile.miki.mainui.ButtonViewTwo;
+import mobile.miki.mainui.TestMainActivity;
+import mobile.miki.util.Config;
+import mobile.miki.util.FTUtils;
+
+public class HeartRateSystemTest extends BaseActivity implements View.OnClickListener, SensorEventListener {
+
+
+    boolean running;
+    public static final int TYPE_HEART_RATE = 21;
+    Timer mTimer=null;
+
+    private TextView tv_testname;
+    private TextView tv_testname_value;
+    private TextView tv_irda;
+    private TextView tv_red;
+    private TextView tv_green;
+    private TextView tv_status;
+    private Button btn_systemtest;
+    private Button btn_ctrtest;
+    private Button btn_close;
+
+    private SensorManager mSensorManager=null;
+    private Sensor mHeartRate=null;
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.heartrate_systemtest_layout);
+        initView();
+
+        Intent intent = getIntent();
+        running = false;
+        if (intent != null) {
+            running = intent.getBooleanExtra("running", false);
+        }
+
+        if(FTUtils.hasGH30x()){
+            mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
+
+
+        }else{
+
+        }
+    }
+
+    Handler mhandler=new Handler(new Handler.Callback() {
+        @Override
+        public boolean handleMessage(Message message) {
+
+
+            Bundle bdl = message.getData();
+            int ledNum = bdl.getInt("ledNum");
+            int result = bdl.getInt("result");
+            switch(ledNum){
+                case 7:
+                    if(result==1){
+                        tv_testname.setText(getString(R.string.whiteblock_text));
+                        tv_testname_value.setText(getString(R.string.ctrtest_text));
+                        tv_irda.setText("");
+                        tv_green.setText("");
+                        tv_red.setText("");
+                        tv_status.setText("Testing");
+                    }else if(result==0){
+                        tv_testname.setText(getString(R.string.blackblock_text));
+                        tv_testname_value.setText(getString(R.string.systemtest_text));
+                        tv_irda.setText("");
+                        tv_green.setText("");
+                        tv_red.setText("");
+                        tv_status.setText("Testing");
+                    }else if (result==2){
+                        tv_status.setText("Test Done");
+                    }
+                    break;
+                case 0://IRDA
+                    {
+                    //os_res: <0=> ok , <1=> rawdata err , <2=> noise err , <3=> para err
+                    switch (result){
+                        case 0:
+                            tv_irda.setText("OK");
+                            break;
+                        case 1:
+                            tv_irda.setText("Rawdata Err");
+                            break;
+                        case 2:
+                            tv_irda.setText("Noise Err");
+                            break;
+                        case 3:
+                            tv_irda.setText("Eara Err");
+                            break;
+
+                    }
+                    }
+                    break;
+                case 1: //redLed
+                {
+                    switch (result){
+                        case 0:
+                            tv_red.setText("OK");
+                            break;
+                        case 1:
+                            tv_red.setText("Rawdata Err");
+                            break;
+                        case 2:
+                            tv_red.setText("Noise Err");
+                            break;
+                        case 3:
+                            tv_red.setText("Eara Err");
+                            break;
+
+                    }
+
+                }
+                    break;
+                case 2: //GreenLed
+                {
+                    switch (result){
+                        case 0:
+                            tv_green.setText("OK");
+                            break;
+                        case 1:
+                            tv_green.setText("Rawdata Err");
+                            break;
+                        case 2:
+                            tv_green.setText("Noise Err");
+                            break;
+                        case 3:
+                            tv_green.setText("Eara Err");
+                            break;
+
+                    }
+
+                }
+                    break;
+            }
+
+            return false;
+        }
+    });
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+
+        if(FTUtils.hasGH30x()){
+            mSensorManager.unregisterListener(this);
+            Log.i("dxc", "Heart Rate GH30X  closed");
+        }
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+        Log.i( "dxc","Heart Rate onPause");
+
+    }
+
+    private void initView() {
+
+        btn_close=(Button)findViewById(R.id.button_close);
+        btn_ctrtest=(Button)findViewById(R.id.button_ctrtest);
+        btn_systemtest=(Button)findViewById(R.id.button_systemtest);
+
+        tv_testname=(TextView)findViewById(R.id.testname);
+        tv_testname_value=(TextView)findViewById(R.id.testname_value);
+        tv_irda=(TextView)findViewById(R.id.irda_value);
+        tv_green=(TextView)findViewById(R.id.green_value);
+        tv_red =(TextView)findViewById(R.id.redled_value);
+        tv_status=(TextView)findViewById(R.id.runing_status_value);
+
+        tv_irda.setText("");
+        tv_green.setText("");
+        tv_red.setText("");
+        tv_status.setText("");
+        tv_testname.setText(getString(R.string.blackblock_text));
+        tv_testname_value.setText(getString(R.string.systemtest_text));
+
+        btn_systemtest.setOnClickListener(this);
+        btn_ctrtest.setOnClickListener(this);
+        btn_close.setOnClickListener(this);
+    }
+    private final int  DELAY_TIME_FOR_SYSTEM_TEST = SensorManager.SENSOR_DELAY_UI;//66
+    private final int  DELAY_TIME_FOR_SYSTEM_CTR_TEST  = SensorManager.SENSOR_DELAY_GAME;//20
+    private final int  DELAY_TIME_FOR_SPO2_TEST =  SensorManager.SENSOR_DELAY_FASTEST;//1
+    private final int  DELAY_TIME_FOR_PPG_TEST  =  SensorManager.SENSOR_DELAY_NORMAL;//200
+    @Override
+    public void onClick(View view) {
+       // Intent intent1 = new Intent(this, TestMainActivity.class);
+        boolean ret=false;
+        switch (view.getId()) {
+
+            case R.id.button_ctrtest:
+                tv_testname.setText(getString(R.string.whiteblock_text));
+                tv_testname_value.setText(getString(R.string.ctrtest_text));
+                tv_irda.setText("");
+                tv_green.setText("");
+                tv_red.setText("");
+                tv_status.setText("Start Test");
+                if (FTUtils.hasGH30x())
+                {
+                    mSensorManager.unregisterListener(this);
+                    mHeartRate = mSensorManager.getDefaultSensor(TYPE_HEART_RATE);
+                    ret = mSensorManager.registerListener(this, mHeartRate, DELAY_TIME_FOR_SYSTEM_CTR_TEST);
+                    Log.i("dxc", "Heart Rate GH30X DELAY_TIME_FOR_SYSTEM_CTR_TEST ret :: " + ret);
+                }else{
+                    tv_status.setText("not GH301 or GH3011");
+                }
+                break;
+            case R.id.button_systemtest:
+                tv_testname.setText(getString(R.string.blackblock_text));
+                tv_testname_value.setText(getString(R.string.systemtest_text));
+                tv_irda.setText("");
+                tv_green.setText("");
+                tv_red.setText("");
+
+                if(FTUtils.hasGH30x()){
+                    mSensorManager.unregisterListener(this);
+                    mHeartRate = mSensorManager.getDefaultSensor(TYPE_HEART_RATE);
+                    ret = mSensorManager.registerListener(this, mHeartRate, DELAY_TIME_FOR_SYSTEM_TEST);
+                    Log.i("dxc", "Heart Rate GH30X DELAY_TIME_FOR_SYSTEM_TEST ret :: " + ret);
+                    tv_status.setText("Start Test");
+                }else{
+                    tv_status.setText("not GH301 or GH3011");
+                }
+                break;
+            case R.id.button_close:
+              //  startActivity(intent1);
+                finish();
+                break;
+        }
+    }
+
+    @Override
+    public void onSensorChanged(SensorEvent sensorEvent) {
+        float values[]=sensorEvent.values;
+        int length = values.length;
+        Log.i( "dxc","onSensorChanged() is called "+length
+                +" PPG = "+values[0]
+                +", BPH = "+values[1]
+                +", BPL = "+values[2]
+                +", spo2 = "+values[3]
+                +" , Weared = "+values[4]
+        );
+
+        Message msg=new Message();
+        Bundle bdl=new Bundle();
+        msg.what=1;
+        bdl.putInt("ledNum", (int)values[0]);
+        bdl.putInt("result",(int)values[3]);
+        msg.setData(bdl);
+        mhandler.sendMessage(msg);
+    //    int PPG = (int)values[0];//调用底层函数保证状态更新。
+     //   boolean isWared = ((int)values[4] == 2);
+    //    tv_isweared.setText(isWared?1:0);
+     //   tv_ppg.setText(PPG);
+        /*[0]---心率;[1]---血压高压;[2]---血压低压;[3]---血氧;[4]---佩戴检测(1--脱手,2--上手);*/
+    }
+
+    @Override
+    public void onAccuracyChanged(Sensor sensor, int i) {
+        Log.i("dxc","onAccuracyChanged() is called "+sensor.getName()+" accuracy="+i);
+    }
+}
index cdfdcbc..35566ed 100644 (file)
@@ -131,7 +131,7 @@ public class KeysTestActivity extends BaseActivity implements
             mKeyMapList.addAll(Arrays.asList(keyMapsLieBao));
         } else if (FTUtils.isSugar()) {
             mKeyMapList.addAll(Arrays.asList(keyMapsSUGAR));
-        } else if (FTUtils.isL69A()|| FTUtils.isQ3F()||FTUtils.isV20()) {
+        } else if (FTUtils.isL69A()|| FTUtils.isQ3F()||FTUtils.isV20() ||FTUtils.isC49()) {
             mKeyMapList.addAll(Arrays.asList(keyMapsQ3F));
         } else {
             mKeyMapList.addAll(Arrays.asList(keyMapsDefault));
index 8d4d51f..3a761e5 100644 (file)
@@ -28,6 +28,7 @@ import java.util.TimerTask;
 import mobile.miki.BaseActivity;
 import mobile.miki.FactoryReset_activity;
 import mobile.miki.GPSActivity;
+import mobile.miki.HeartRateSystemTest;
 import mobile.miki.MyApplication;
 import mobile.miki.R;
 import mobile.miki.TemperatureAdjustActivity;
@@ -55,6 +56,7 @@ public class TestMainList extends BaseActivity implements OnClickListener {
     private LinearLayout gpsFulltest;
     private LinearLayout tempAdjust;
     private LinearLayout tempDataGet;
+    private LinearLayout heartrateSystemCTRtest;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -83,6 +85,8 @@ public class TestMainList extends BaseActivity implements OnClickListener {
         tempAdjust = (LinearLayout) findViewById(R.id.tempAdjustLayout);
         flagPosition = (LinearLayout) findViewById(R.id.flagposiontion);
         tempDataGet = (LinearLayout) findViewById(R.id.temp_data_get);
+
+        heartrateSystemCTRtest = (LinearLayout) findViewById(R.id.gh3011_layout);
         if (!FTUtils.isSugar()) {
             flagPosition.setVisibility(View.GONE);
         }
@@ -108,6 +112,7 @@ public class TestMainList extends BaseActivity implements OnClickListener {
         gpsFulltest.setOnClickListener(this);
         tempAdjust.setOnClickListener(this);
         tempDataGet.setOnClickListener(this);
+        heartrateSystemCTRtest.setOnClickListener(this);
 //             Log.d(TAG, "onCreate");
         Settings.System.putInt(getContentResolver(), "mobile.miki.FactoryModeRunning", 1);
         Config.initConfig(this);
@@ -231,6 +236,10 @@ public class TestMainList extends BaseActivity implements OnClickListener {
                 intent.setComponent(componentName);
                 startActivity(intent);
                 break;
+            case R.id.gh3011_layout:
+                intent = new Intent(TestMainList.this, HeartRateSystemTest.class);
+                startActivity(intent);
+                break;
             default:
                 break;
         }
index 1cf49ae..61eae3d 100644 (file)
@@ -321,5 +321,14 @@ public class FTUtils {
             return false;\r
     }\r
 \r
+    public static boolean hasGH30x(){\r
+\r
+        if(SystemProperties.get("persist.sys.is_gh301","").equals("true")|| SystemProperties.get("persist.sys.is_gh3011","").equals("true"))\r
+            return true;\r
+        else\r
+            return false;\r
+\r
+    }\r
+\r
 \r
 }\r
index 55c5989..e203c91 100644 (file)
                 android:text="@string/temp_data_get_text"\r
                 android:textSize="22sp" />\r
         </LinearLayout>\r
+        <View\r
+            android:id="@+id/view10"\r
+            android:layout_width="match_parent"\r
+            android:layout_height="wrap_content"\r
+            android:layout_weight="1"\r
+            android:background="#c0c0c0" />\r
+\r
+\r
+        <LinearLayout\r
+            android:id="@+id/gh3011_layout"\r
+            android:layout_width="match_parent"\r
+            android:layout_height="match_parent"\r
+            android:layout_weight="1"\r
+            android:background="@drawable/listpress"\r
+            android:clickable="true"\r
+            android:gravity="center_vertical"\r
+            android:orientation="vertical">\r
+\r
+            <TextView\r
+                android:id="@+id/gh3011_Tv"\r
+                style="@style/content_text_medium_style"\r
+                android:layout_width="match_parent"\r
+                android:layout_height="match_parent"\r
+                android:layout_marginTop="2dp"\r
+                android:layout_weight="1"\r
+                android:gravity="center_vertical"\r
+                android:text="@string/Engineer_mode_title"\r
+                android:visibility="gone" />\r
 \r
+            <TextView\r
+                style="@style/title_text_large_style"\r
+                android:layout_width="match_parent"\r
+                android:layout_height="match_parent"\r
+                android:gravity="center"\r
+                android:text="@string/gh3011_systemtest"\r
+                android:textSize="22sp" />\r
+        </LinearLayout>\r
 \r
     </LinearLayout>\r
 </ScrollView>
\ No newline at end of file
index cfa6a37..5b30f31 100644 (file)
                 android:text="@string/temp_data_get_text"
                 android:textSize="22sp" />
         </LinearLayout>
+        <View
+            android:id="@+id/view10"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:background="#c0c0c0" />
+
+
+        <LinearLayout
+            android:id="@+id/gh3011_layout"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_weight="1"
+            android:background="@drawable/listpress"
+            android:clickable="true"
+            android:gravity="center_vertical"
+            android:orientation="vertical">
+
+            <TextView
+                android:id="@+id/gh3011_Tv"
+                style="@style/content_text_medium_style"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginTop="2dp"
+                android:layout_weight="1"
+                android:gravity="center_vertical"
+                android:text="@string/Engineer_mode_title"
+                android:visibility="gone" />
 
+            <TextView
+                style="@style/title_text_large_style"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:gravity="center"
+                android:text="@string/gh3011_systemtest"
+                android:textSize="22sp" />
+        </LinearLayout>
 
     </LinearLayout>
 </ScrollView>
\ No newline at end of file
diff --git a/app/src/main/res/layout/heartrate_systemtest_layout.xml b/app/src/main/res/layout/heartrate_systemtest_layout.xml
new file mode 100644 (file)
index 0000000..6f74529
--- /dev/null
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+    android:orientation="vertical" android:layout_width="match_parent"\r
+    android:layout_height="match_parent">\r
+\r
+    <LinearLayout\r
+        android:layout_width="match_parent"\r
+        android:layout_height="wrap_content"\r
+        android:orientation="vertical">\r
+        <LinearLayout\r
+            android:layout_width="match_parent"\r
+            android:layout_height="match_parent"\r
+            android:orientation="horizontal">\r
+\r
+            <TextView\r
+                android:id="@+id/testname"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:text="@string/testname_text"\r
+                android:textSize="36sp" />\r
+\r
+            <TextView\r
+                android:id="@+id/testname_value"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:text="SystemTest"\r
+                android:textSize="36sp" />\r
+        </LinearLayout>\r
+        <LinearLayout\r
+            android:layout_width="match_parent"\r
+            android:layout_height="match_parent"\r
+            android:orientation="horizontal">\r
+\r
+            <TextView\r
+                android:id="@+id/irda"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:text="@string/irda_text"\r
+                android:textSize="36sp" />\r
+\r
+            <TextView\r
+                android:id="@+id/irda_value"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:text="0"\r
+                android:textSize="36sp" />\r
+        </LinearLayout>\r
+\r
+        <LinearLayout\r
+            android:layout_width="match_parent"\r
+            android:layout_height="match_parent"\r
+            android:orientation="horizontal">\r
+\r
+            <TextView\r
+                android:id="@+id/red_led"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:text="@string/redled_text"\r
+                android:textSize="36sp" />\r
+\r
+            <TextView\r
+                android:id="@+id/redled_value"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:text="0"\r
+                android:textSize="36sp" />\r
+        </LinearLayout>\r
+        <LinearLayout\r
+            android:layout_width="match_parent"\r
+            android:layout_height="match_parent"\r
+            android:orientation="horizontal">\r
+\r
+            <TextView\r
+                android:id="@+id/green_led"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:text="@string/greenled_text"\r
+                android:textSize="36sp" />\r
+\r
+            <TextView\r
+                android:id="@+id/green_value"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:text="0"\r
+                android:textSize="36sp" />\r
+        </LinearLayout>\r
+        <LinearLayout\r
+            android:layout_width="match_parent"\r
+            android:layout_height="match_parent"\r
+            android:orientation="horizontal">\r
+\r
+            <TextView\r
+                android:id="@+id/runing_status"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:text="@string/test_running_status_text"\r
+                android:textSize="36sp" />\r
+\r
+            <TextView\r
+                android:id="@+id/runing_status_value"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:text="0"\r
+                android:textSize="36sp" />\r
+        </LinearLayout>\r
+        <LinearLayout\r
+            android:layout_width="match_parent"\r
+            android:layout_height="match_parent"\r
+            android:orientation="horizontal">\r
+            <Button\r
+                android:id="@+id/button_systemtest"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:layout_weight="1"\r
+                android:text="@string/systemtest_text" />\r
+            <Button\r
+                android:id="@+id/button_ctrtest"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:layout_weight="1"\r
+                android:text="@string/ctrtest_text" />\r
+            <Button\r
+                android:id="@+id/button_close"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:layout_weight="1"\r
+                android:text="@string/closeLight" />\r
+\r
+        </LinearLayout>\r
+    </LinearLayout>\r
+\r
+</RelativeLayout>
\ No newline at end of file
index a236717..378e4cb 100644 (file)
     <string name="stopRecord">结束录音</string>
     <string name="startPlay">开始播放</string>
     <string name="stopPlay">结束播放</string>
-
+    <string name="gh3011_systemtest">GH3011 漏光灵敏度测试</string>
     <string name="ageing_mode">老化模式</string>
     <string name="ageing_speaker_test">喇叭测试</string>
     <string name="ageing_lcd_test">LCD测试</string>
     <!-- add end -->
     <string name="showProtocolInfo">显示协议状态</string>
 
+
+    <string name="irda_text">红外:</string>
+    <string name="redled_text">红灯:</string>
+    <string name="greenled_text">绿灯:</string>
+    <string name="testname_text">测试项:</string>
+    <string name="test_running_status_text">运行状态:</string>
+    <string name="systemtest_text">漏光测试</string>
+    <string name="ctrtest_text">灵敏度测试</string>
+    <string name="blackblock_text">黑块:</string>
+    <string name="whiteblock_text">白块:</string>
 </resources>
\ No newline at end of file
index f557dba..5b0b05d 100644 (file)
     <string name="no_temperature">No Temperature device found!</string>
     <string name="anti_check">AntiCheck</string>
     <string name="no_pressure">No Pressure device found!</string>
-
+    <string name="gh3011_systemtest">GH3011 System[CTR]Test</string>
     <string name="startRecord">Start recording</string>
     <string name="stopRecord">Stop recording</string>
     <string name="startPlay">Start playing</string>
     <string name="shutdown_text">关机</string>
     <string name="cancel_text">取消</string>
 
+
+    <string name="irda_text">IRDA:</string>
+    <string name="redled_text">RedLed:</string>
+    <string name="greenled_text">GreenLed:</string>
+    <string name="testname_text">TestItem:</string>
+    <string name="test_running_status_text">RunningStatus:</string>
+
+    <string name="systemtest_text">System Test</string>
+    <string name="ctrtest_text">CTR Test</string>
+    <string name="blackblock_text">BlackBlock:</string>
+    <string name="whiteblock_text">WhiteBlock:</string>
 </resources>
index 3c23494..c668554 100644 (file)
@@ -1,2 +1,2 @@
-#Tue Jul 06 16:31:32 CST 2021\r
-VERSION_CODE=110\r
+#Thu Jul 15 16:03:45 CST 2021\r
+VERSION_CODE=115\r