1、数据库添加SLEEP_RECORDS,SLEEP_STATUS,EVENT_MESSAGE,SIT,ALARM_MSG_RECORDS 几个数据库及操作函数。
authorsnickersun <scy@incartech.cn>
Sun, 2 Aug 2020 21:30:30 +0000 (05:30 +0800)
committersnickersun <scy@incartech.cn>
Sun, 2 Aug 2020 21:30:30 +0000 (05:30 +0800)
2、更新ICJniUtils API,体温检测增加开启关闭函数

app/src/main/java/com/enqualcomm/support/Config.java
app/src/main/java/com/enqualcomm/support/CoreService.java
app/src/main/java/com/enqualcomm/support/ICContentProvider.java
app/src/main/java/com/enqualcomm/support/MySqlitOpenHelper.java
app/src/main/java/com/enqualcomm/support/utils/TemperatureUtil.java
app/src/main/java/com/ic/jni/ICJniUtils.java

index ba97bda..e0ca68b 100644 (file)
@@ -377,7 +377,7 @@ public class Config {
       noPushTxtNotifyDialog=true;\r
       noSMSNotifyDialog=true;\r
       noVoiceNotifyDialog=false;\r
-      needBroadcastAntiAlarm=false;\r
+      needBroadcastAntiAlarm=true;\r
       noPPGSensor=false;\r
       noTempSensor=false;\r
     }\r
index 1418b07..442e064 100644 (file)
@@ -381,7 +381,7 @@ public class CoreService extends Service {
         int i = SharPreferenceUtil.getPrefInt(this, KEY_STEP_COUNT, 0);\r
         int j = SharPreferenceUtil.getPrefInt(this, KEY_SAVE_STEP_COUNT, 0);\r
         if ( ICJniUtils.isPedometerEnabled() == 0)ICJniUtils.enablePedometer();\r
-        ICJniUtils.recoverStepCount();\r
+        //ICJniUtils.recoverStepCount();\r
         if (ICJniUtils.getStepCount()>i){\r
             i=ICJniUtils.getStepCount();\r
         }\r
@@ -393,7 +393,7 @@ public class CoreService extends Service {
         int j = runtime.getSaveStepCount();\r
         SharPreferenceUtil.setPrefInt(this, KEY_STEP_COUNT, i);\r
         SharPreferenceUtil.setPrefInt(this, KEY_SAVE_STEP_COUNT, j);\r
-        ICJniUtils.saveStepCount();\r
+        //ICJniUtils.saveStepCount();\r
     }\r
     private void setCleanStepCountAlarm() {\r
         /*一天清零一次 计步*/\r
@@ -551,7 +551,7 @@ public class CoreService extends Service {
 \r
 \r
         //初始化温度测试相关参数\r
-        runtime.temperature_adjustValue= TemperatureUtil.getTempAdjustValue();\r
+        //runtime.temperature_adjustValue= TemperatureUtil.getTempAdjustValue();\r
         Config.loadTemperatureSettings(runtime);\r
 \r
 \r
index 27c7951..d9eb873 100644 (file)
@@ -149,31 +149,65 @@ public class ICContentProvider extends ContentProvider {
   private static final String WEATHER_TABLE_NAME = "WEATHER";\r
 \r
   public static final Uri WEATHER_URL = Uri.parse("content://com.enqualcomm.support/weather");\r
-  \r
+\r
+  public static final String SLEEP_RECORDS_TABLE_NAME = "SLEEP_RECORDS";\r
+  private static final int SLEEP_RECORDS = 22;\r
+  private static final String SLEEP_RECORDS_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.sleepRecords";\r
+  public static final Uri SLEEP_RECORDS_URI = Uri.parse("content://com.enqualcomm.support/sleepRecords");\r
+\r
+\r
+  public static final String SLEEP_STATUS_TABLE_NAME = "SLEEP_STATUS";\r
+  private static final int SLEEP_STATUS = 23;\r
+  private static final String SLEEP_STATUS_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.sleepStatus";\r
+  public static final Uri SLEEP_STATUS_URI = Uri.parse("content://com.enqualcomm.support/sleepStatus");\r
+\r
+\r
+  public static final String EVENT_MESSAGE_TABLE_NAME = "EVENT_MESSAGE";\r
+  private static final int EVENT_MESSAGE = 24;\r
+  private static final String EVENT_MESSAGE_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.eventMessage";\r
+  public static final Uri EVENT_MESSAGE_URI = Uri.parse("content://com.enqualcomm.support/eventMessage");\r
+\r
+  public static final String SIT_TABLE_NAME = "SIT";\r
+  private static final int SIT = 25;\r
+  private static final String SIT_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.sit";\r
+  public static final Uri SIT_URI = Uri.parse("content://com.enqualcomm.support/sit");\r
+\r
+  public static final String ALARM_MSG_RECORDS_TABLE_NAME = "ALARM_MSG_RECORDS";\r
+  private static final int ALARM_MSG_RECORDS = 26;\r
+  private static final String ALARM_MSG_RECORDS_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.alarmMSG";\r
+  public static final Uri ALARM_MSG_RECORDS_URI = Uri.parse("content://com.enqualcomm.support/alarmMSG");\r
+\r
+\r
   private SQLiteDatabase db;\r
   \r
   static  {\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "contact", CONTACT);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "contact/#", CONTACT_ITEM);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "message", MESSAGE);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "message/#", MESSAGE_ITEM);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "alarm", ALARM);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "alarm/#", ALARM_ITEM);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "silent", SILENT);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "silent/#", SILENT_ITEM);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "iKnowledge", IKNOWLEDGE);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "urlDownloadPic", URLDOWNLOADPIC);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "urlDownloadPic/#", URLDOWNLOADPIC_ITEM);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "notice", NOTICE);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "notice/#", NOTICE_ITEM);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "weather", WEATHER);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "deviceStatus", DEVICESTATUS);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "downloadInfo", DOWNLOADINFO);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "downloadInfo/#", DOWNLOADINFO_ITEM);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "stheartRate", STHEART_RATE);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "antioff", ANTIOFF);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "antioff/#", ANTIOFF_ITEM);\r
-    URI_MATCHER.addURI("com.enqualcomm.support", "unreadMsg", UNREADMSG);\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "contact", CONTACT);  //1\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "contact/#", CONTACT_ITEM); //2\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "message", MESSAGE); //3\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "message/#", MESSAGE_ITEM); //4\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "alarm", ALARM); //5\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "alarm/#", ALARM_ITEM); //6\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "silent", SILENT); //7\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "silent/#", SILENT_ITEM); //8\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "iKnowledge", IKNOWLEDGE); //9\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "urlDownloadPic", URLDOWNLOADPIC); //10\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "urlDownloadPic/#", URLDOWNLOADPIC_ITEM); //11\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "notice", NOTICE); //12\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "notice/#", NOTICE_ITEM); //13\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "weather", WEATHER); //14\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "deviceStatus", DEVICESTATUS); //15\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "downloadInfo", DOWNLOADINFO); //16\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "downloadInfo/#", DOWNLOADINFO_ITEM); //17\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "stheartRate", STHEART_RATE); //18\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "antioff", ANTIOFF);  //19\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "antioff/#", ANTIOFF_ITEM); //20\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "unreadMsg", UNREADMSG); //21\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "sleepRecords", SLEEP_RECORDS); //22\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "sleepStatus", SLEEP_STATUS); //23\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "eventMessage", EVENT_MESSAGE); //24\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "sit", SIT); //25\r
+    URI_MATCHER.addURI("com.enqualcomm.support", "alarmMSG", ALARM_MSG_RECORDS); //26\r
+\r
   }\r
   \r
   private int bulkInsertLocale(String table, ContentValues[] paramArrayOfContentValues) {\r
@@ -248,6 +282,28 @@ public class ICContentProvider extends ContentProvider {
         i = bulkInsertLocale(CONTACT_TABLE_NAME, paramArrayOfContentValues);\r
         getContext().getContentResolver().notifyChange(CONTACT_URI, null);\r
         break;\r
+\r
+\r
+      case SLEEP_RECORDS:\r
+        i = bulkInsertLocale(SLEEP_RECORDS_TABLE_NAME, paramArrayOfContentValues);\r
+        getContext().getContentResolver().notifyChange(SLEEP_RECORDS_URI, null);\r
+        break;\r
+      case SLEEP_STATUS:\r
+        i = bulkInsertLocale(SLEEP_STATUS_TABLE_NAME, paramArrayOfContentValues);\r
+        getContext().getContentResolver().notifyChange(SLEEP_STATUS_URI, null);\r
+        break;\r
+      case EVENT_MESSAGE:\r
+        i = bulkInsertLocale(EVENT_MESSAGE_TABLE_NAME, paramArrayOfContentValues);\r
+        getContext().getContentResolver().notifyChange(EVENT_MESSAGE_URI, null);\r
+        break;\r
+      case SIT:\r
+        i = bulkInsertLocale(SIT_TABLE_NAME, paramArrayOfContentValues);\r
+        getContext().getContentResolver().notifyChange(SIT_URI, null);\r
+        break;\r
+      case ALARM_MSG_RECORDS:\r
+        i = bulkInsertLocale(ALARM_MSG_RECORDS_TABLE_NAME, paramArrayOfContentValues);\r
+        getContext().getContentResolver().notifyChange(ALARM_MSG_RECORDS_URI, null);\r
+        break;\r
       default:\r
         break;\r
     }\r
@@ -470,7 +526,58 @@ public class ICContentProvider extends ContentProvider {
         }\r
         i = j;\r
         break;\r
+      case SLEEP_RECORDS:\r
+\r
+      j = this.db.delete(SLEEP_RECORDS_TABLE_NAME, whereClause, whereArgs);\r
+\r
+      if (j != 0) {\r
+        getContext().getContentResolver().notifyChange(SLEEP_RECORDS_URI, null);\r
+\r
+      }\r
+      i = j;\r
+      break;\r
+      case SLEEP_STATUS:\r
+\r
+        j = this.db.delete(SLEEP_STATUS_TABLE_NAME, whereClause, whereArgs);\r
+\r
+        if (j != 0) {\r
+          getContext().getContentResolver().notifyChange(SLEEP_STATUS_URI, null);\r
+\r
+        }\r
+        i = j;\r
+        break;\r
+\r
+\r
+      case EVENT_MESSAGE:\r
+\r
+        j = this.db.delete(EVENT_MESSAGE_TABLE_NAME, whereClause, whereArgs);\r
 \r
+        if (j != 0) {\r
+          getContext().getContentResolver().notifyChange(EVENT_MESSAGE_URI, null);\r
+\r
+        }\r
+        i = j;\r
+        break;\r
+      case SIT:\r
+\r
+        j = this.db.delete(SIT_TABLE_NAME, whereClause, whereArgs);\r
+\r
+        if (j != 0) {\r
+          getContext().getContentResolver().notifyChange(SIT_URI, null);\r
+\r
+        }\r
+        i = j;\r
+        break;\r
+      case ALARM_MSG_RECORDS:\r
+\r
+        j = this.db.delete(ALARM_MSG_RECORDS_TABLE_NAME, whereClause, whereArgs);\r
+\r
+        if (j != 0) {\r
+          getContext().getContentResolver().notifyChange(ALARM_MSG_RECORDS_URI, null);\r
+\r
+        }\r
+        i = j;\r
+        break;\r
       default:\r
         break;\r
     }\r
@@ -527,6 +634,16 @@ public class ICContentProvider extends ContentProvider {
         return CONTACT_ITEM_MIME;\r
       case CONTACT:\r
         return CONTACT_MIME;\r
+      case SLEEP_RECORDS:\r
+        return SLEEP_RECORDS_MIME;\r
+      case SLEEP_STATUS:\r
+        return SLEEP_STATUS_MIME;\r
+      case EVENT_MESSAGE:\r
+        return EVENT_MESSAGE_MIME;\r
+      case SIT:\r
+        return SIT_MIME;\r
+      case ALARM_MSG_RECORDS:\r
+        return ALARM_MSG_RECORDS_MIME;\r
       default:\r
         return null;\r
     } \r
@@ -535,61 +652,84 @@ public class ICContentProvider extends ContentProvider {
   \r
   public Uri insert(Uri paramUri, ContentValues paramContentValues) {\r
     switch (URI_MATCHER.match(paramUri)) {\r
-      default:\r
-        return null;\r
+\r
       case UNREADMSG:\r
         paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(UNREADMSG_TABLE_NAME, null, paramContentValues));\r
         getContext().getContentResolver().notifyChange(UNREAD_MSG_URI, null);\r
-        return paramUri;\r
+        break;\r
       case ANTIOFF:\r
         paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(ANTIOFF_TABLE_NAME, null, paramContentValues));\r
         getContext().getContentResolver().notifyChange(ANTIOFF_URI, null);\r
-        return paramUri;\r
+        break;\r
       case STHEART_RATE:\r
         paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(STHEART_RATE_TABLE_NAME, null, paramContentValues));\r
         getContext().getContentResolver().notifyChange(STHEART_RATE_URL, null);\r
-        return paramUri;\r
+        break;\r
       case DOWNLOADINFO:\r
         paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(DOWNLOADINFO_TABLE_NAME, null, paramContentValues));\r
         getContext().getContentResolver().notifyChange(DOWNLOADINFO_URL, null);\r
-        return paramUri;\r
+        break;\r
       case DEVICESTATUS:\r
         paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(DEVICESTATUS_TABLE_NAME, null, paramContentValues));\r
         getContext().getContentResolver().notifyChange(DEVICESTATUS_URL, null);\r
-        return paramUri;\r
+        break;\r
       case WEATHER:\r
         paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(WEATHER_TABLE_NAME, null, paramContentValues));\r
         getContext().getContentResolver().notifyChange(WEATHER_URL, null);\r
-        return paramUri;\r
+        break;\r
       case NOTICE:\r
         paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(NOTICE_TABLE_NAME, null, paramContentValues));\r
         getContext().getContentResolver().notifyChange(NOTICE_URL, null);\r
-        return paramUri;\r
+        break;\r
       case URLDOWNLOADPIC:\r
         paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(URLDOWNLOADPIC_TABLE_NAME, null, paramContentValues));\r
         getContext().getContentResolver().notifyChange(URLDOWNLOADPIC_URL, null);\r
-        return paramUri;\r
+        break;\r
       case IKNOWLEDGE:\r
         paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(IKNOWLEDGE_TABLE_NAME, null, paramContentValues));\r
         getContext().getContentResolver().notifyChange(IKNOWLEDGE_URL, null);\r
-        return paramUri;\r
+        break;\r
       case SILENT:\r
         paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(SILENT_TABLE_NAME, null, paramContentValues));\r
         getContext().getContentResolver().notifyChange(SILENT_URI, null);\r
-        return paramUri;\r
+        break;\r
       case ALARM:\r
         paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(ALARM_TABLE_NAME, null, paramContentValues));\r
         getContext().getContentResolver().notifyChange(ALARM_URI, null);\r
-        return paramUri;\r
+        break;\r
       case MESSAGE:\r
         paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(MESSAGE_TABLE_NAME, null, paramContentValues));\r
         getContext().getContentResolver().notifyChange(MESSAGE_URI, null);\r
-        return paramUri;\r
+        break;\r
       case CONTACT:\r
+        paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(CONTACT_TABLE_NAME, null, paramContentValues));\r
+        getContext().getContentResolver().notifyChange(CONTACT_URI, null);\r
+        break;\r
+\r
+      case SLEEP_RECORDS:\r
+        paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(SLEEP_RECORDS_TABLE_NAME, null, paramContentValues));\r
+        getContext().getContentResolver().notifyChange(SLEEP_RECORDS_URI, null);\r
+        break;\r
+      case SLEEP_STATUS:\r
+        paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(SLEEP_STATUS_TABLE_NAME, null, paramContentValues));\r
+        getContext().getContentResolver().notifyChange(SLEEP_STATUS_URI, null);\r
         break;\r
+      case EVENT_MESSAGE:\r
+        paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(EVENT_MESSAGE_TABLE_NAME, null, paramContentValues));\r
+        getContext().getContentResolver().notifyChange(EVENT_MESSAGE_URI, null);\r
+        break;\r
+      case SIT:\r
+        paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(SIT_TABLE_NAME, null, paramContentValues));\r
+        getContext().getContentResolver().notifyChange(SIT_URI, null);\r
+        break;\r
+      case ALARM_MSG_RECORDS:\r
+        paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(ALARM_MSG_RECORDS_TABLE_NAME, null, paramContentValues));\r
+        getContext().getContentResolver().notifyChange(ALARM_MSG_RECORDS_URI, null);\r
+        break;\r
+      default:\r
+        return null;\r
     } \r
-    paramUri = ContentUris.withAppendedId(paramUri, this.db.insert(CONTACT_TABLE_NAME, null, paramContentValues));\r
-    getContext().getContentResolver().notifyChange(CONTACT_URI, null);\r
+\r
     return paramUri;\r
   }\r
   \r
@@ -607,8 +747,7 @@ public class ICContentProvider extends ContentProvider {
     SQLiteDatabase sQLiteDatabase;\r
     sQLiteDatabase = this.db;\r
     switch (URI_MATCHER.match(paramUri)) {\r
-      default:\r
-        return null;\r
+\r
       case UNREADMSG:\r
         return this.db.query(UNREADMSG_TABLE_NAME, columns, paramString1, paramArrayOfString2, null, null, paramString2);\r
       case ANTIOFF_ITEM:\r
@@ -681,17 +820,30 @@ public class ICContentProvider extends ContentProvider {
         return sQLiteDatabase.query(MESSAGE_TABLE_NAME, columns, stringBuilder.toString(), null, null, null, null);\r
       case MESSAGE:\r
         return this.db.query(MESSAGE_TABLE_NAME, columns, paramString1, paramArrayOfString2, null, null, paramString2);\r
-      case 2:\r
+      case CONTACT_ITEM:\r
         l = ContentUris.parseId(paramUri);\r
         sQLiteDatabase = this.db;\r
         stringBuilder = new StringBuilder();\r
         stringBuilder.append("_id=");\r
         stringBuilder.append(l);\r
         return sQLiteDatabase.query(CONTACT_TABLE_NAME, columns, stringBuilder.toString(), null, null, null, null);\r
-      case 1:\r
-        break;\r
+      case CONTACT:\r
+        return this.db.query(CONTACT_TABLE_NAME, columns, paramString1, paramArrayOfString2, null, null, paramString2);\r
+\r
+      case SLEEP_RECORDS:\r
+        return this.db.query(SLEEP_RECORDS_TABLE_NAME, columns, paramString1, paramArrayOfString2, null, null, paramString2);\r
+      case SLEEP_STATUS:\r
+        return this.db.query(SLEEP_STATUS_TABLE_NAME, columns, paramString1, paramArrayOfString2, null, null, paramString2);\r
+      case EVENT_MESSAGE:\r
+        return this.db.query(EVENT_MESSAGE_TABLE_NAME, columns, paramString1, paramArrayOfString2, null, null, paramString2);\r
+      case SIT:\r
+        return this.db.query(SIT_TABLE_NAME, columns, paramString1, paramArrayOfString2, null, null, paramString2);\r
+      case ALARM_MSG_RECORDS:\r
+        return this.db.query(ALARM_MSG_RECORDS_TABLE_NAME, columns, paramString1, paramArrayOfString2, null, null, paramString2);\r
+      default:\r
+        return null;\r
     }\r
-    return this.db.query(CONTACT_TABLE_NAME, columns, paramString1, paramArrayOfString2, null, null, paramString2);\r
+\r
   }\r
   @Override\r
   public int update(Uri paramUri, ContentValues paramContentValues, String whereClause, String[] whereArgs) {\r
@@ -910,6 +1062,57 @@ public class ICContentProvider extends ContentProvider {
           i = j;\r
         }\r
 \r
+        break;\r
+\r
+      case SLEEP_RECORDS:\r
+\r
+        j = this.db.update(SLEEP_RECORDS_TABLE_NAME, paramContentValues, whereClause, whereArgs);\r
+        i = j;\r
+        if (j != 0) {\r
+          getContext().getContentResolver().notifyChange(SLEEP_RECORDS_URI, null);\r
+          i = j;\r
+        }\r
+\r
+        break;\r
+      case SLEEP_STATUS:\r
+\r
+        j = this.db.update(SLEEP_STATUS_TABLE_NAME, paramContentValues, whereClause, whereArgs);\r
+        i = j;\r
+        if (j != 0) {\r
+          getContext().getContentResolver().notifyChange(SLEEP_STATUS_URI, null);\r
+          i = j;\r
+        }\r
+\r
+        break;\r
+      case EVENT_MESSAGE:\r
+\r
+        j = this.db.update(EVENT_MESSAGE_TABLE_NAME, paramContentValues, whereClause, whereArgs);\r
+        i = j;\r
+        if (j != 0) {\r
+          getContext().getContentResolver().notifyChange(EVENT_MESSAGE_URI, null);\r
+          i = j;\r
+        }\r
+\r
+        break;\r
+      case SIT:\r
+\r
+        j = this.db.update(SIT_TABLE_NAME, paramContentValues, whereClause, whereArgs);\r
+        i = j;\r
+        if (j != 0) {\r
+          getContext().getContentResolver().notifyChange(SIT_URI, null);\r
+          i = j;\r
+        }\r
+\r
+        break;\r
+      case ALARM_MSG_RECORDS:\r
+\r
+        j = this.db.update(ALARM_MSG_RECORDS_TABLE_NAME, paramContentValues, whereClause, whereArgs);\r
+        i = j;\r
+        if (j != 0) {\r
+          getContext().getContentResolver().notifyChange(ALARM_MSG_RECORDS_URI, null);\r
+          i = j;\r
+        }\r
+\r
         break;\r
       default:\r
         break;\r
index 7e05ba6..6d53003 100644 (file)
@@ -66,27 +66,11 @@ Pushtxt、message
     sqlite.execSQL("CREATE TABLE ALARM_MSG_RECORDS(_id INTEGER PRIMARY KEY AUTOINCREMENT ,DATE TEXT, TIME TEXT ,ALARM TEXT )");\r
   }\r
   \r
-  public void onUpgrade(SQLiteDatabase paramSQLiteDatabase, int paramInt1, int paramInt2) {\r
-    if (paramInt1 < 2)\r
-      paramSQLiteDatabase.execSQL("CREATE TABLE DOWNLOADINFO(_id INTEGER PRIMARY KEY AUTOINCREMENT ,IMSI TEXT,TIME TEXT,NUMBER TEXT,TOTAL_NUMBER TEXT)"); \r
-    if (paramInt1 < 3)\r
-      paramSQLiteDatabase.execSQL("CREATE TABLE STHEART_RATE(_id INTEGER PRIMARY KEY AUTOINCREMENT ,START_TIME TEXT ,END_TIME TEXT ,WEEK TEXT ,STATUS TEXT,INTERVAL TEXT)"); \r
-    if (paramInt1 < 4) {\r
+  public void onUpgrade(SQLiteDatabase sqlite, int oldDBversion, int newDBversion) {\r
+    if (oldDBversion < 7) {\r
       ICLogger.i("数据库升级了");\r
-      paramSQLiteDatabase.execSQL("ALTER TABLE MESSAGE ADD COLUMN ICON");\r
-    } \r
-    if (paramInt1 < 5) {\r
-      ICLogger.i("数据库升级了 5");\r
-      paramSQLiteDatabase.execSQL("CREATE TABLE ANTIOFF(_id INTEGER PRIMARY KEY AUTOINCREMENT ,START_TIME TEXT ,END_TIME TEXT ,WEEK TEXT ,STATUS TEXT,CUR_SYS_STATUS TEXT)");\r
-    } \r
-    if (paramInt1 < 6) {\r
-      ICLogger.i("数据库升级了 6");\r
-      paramSQLiteDatabase.execSQL("CREATE TABLE UNREADMSG(_id INTEGER PRIMARY KEY AUTOINCREMENT ,CATEGORY INTEGER ,ID TEXT ,COUNT INTEGER,RECVTIME INTEGER)");\r
-    } \r
-    if (paramInt1 < 7) {\r
-      ICLogger.i("数据库升级了");\r
-      paramSQLiteDatabase.execSQL("ALTER TABLE DEVICESTATUS ADD COLUMN IS_ALARM");\r
-    } \r
+      sqlite.execSQL("ALTER TABLE DEVICESTATUS ADD COLUMN IS_ALARM");\r
+    }\r
   }\r
 }\r
 \r
index 6ab19f5..af4ab0c 100644 (file)
@@ -13,18 +13,20 @@ public class TemperatureUtil {
     private static double body_temp_value=0.0f;\r
     public static double get_temp_value_origin()\r
     {\r
-        temp_value_orig= ICJniUtils.getTemperatureOrigin();\r
+        temp_value_orig= ICJniUtils.getTemperature();\r
         ICLogger.i("测量体温 原始值 "+temp_value_orig);\r
         return temp_value_orig;\r
     }\r
     public static double get_temp_value_adjusted()\r
     {\r
-        return ICJniUtils.getTemperature();\r
+        temp_value_orig= ICJniUtils.getTemperature();\r
+        ICLogger.i("测量体温 原始值 "+temp_value_orig);\r
+        return temp_value_orig;\r
     }\r
 \r
     public static double getTempAdjustValue(){\r
 \r
-        temp_adjust_value=ICJniUtils.getTemperatureAdjustValue();\r
+     //   temp_adjust_value=ICJniUtils.getTemperatureAdjustValue();\r
         ICLogger.i("get Temperature Adjust value="+temp_adjust_value);\r
         return temp_adjust_value;\r
 \r
index af93c61..5d61ef7 100644 (file)
@@ -2,6 +2,35 @@ package com.ic.jni;
 \r
 public class ICJniUtils {\r
 \r
+    public enum GSensorType\r
+    {\r
+        GSENSOR_TYPE_NONE,\r
+        GSENSOR_TYPE_QMA7981,\r
+        GSENSOR_TYPE_SC7A21,\r
+        GSENSOR_TYPE_MAX\r
+    };\r
+\r
+    public enum TempSensorType\r
+    {\r
+        TEMPSENSOR_TYPE_NONE,\r
+        TEMPSENSOR_TYPE_NST175,\r
+        TEMPSENSOR_TYPE_IC68,\r
+        TEMPSENSOR_TYPE_EM7068,\r
+        TEMPSENSOR_TYPE_MAX\r
+    };\r
+\r
+    public enum PPG_EGC_SensorType\r
+    {\r
+        PPG_EGC_TYPE_NONE,\r
+        PPG_EGC_TYPE_EM7028,\r
+        PPG_EGC_TYPE_EM7068,\r
+        PPG_EGC_TYPE_HRS3313,\r
+        PPG_EGC_TYPE_HRS3301,\r
+        PPG_EGC_TYPE_IC66,\r
+        PPG_EGC_TYPE_PAH8002,\r
+        PPG_EGC_TYPE_MAX\r
+    };\r
+\r
     public ICJniUtils(){\r
 \r
     }\r
@@ -12,80 +41,195 @@ public class ICJniUtils {
     }\r
 \r
     /***************计步控制************************************/\r
-    /*运行此函数清除 系统计步为0*/\r
+    /***\r
+     * 运行此函数清除 系统计步为0,一版在午夜执行\r
+     * @return\r
+     */\r
     public static native int resetStepCount();\r
 \r
-    /*获取当前步数*/\r
+    /***\r
+     * 获取当前步数\r
+     * @return\r
+     */\r
     public static native int getStepCount();\r
-    /*开启计步 不必判断返回值*/\r
+\r
+    /***\r
+     * 开启计步 不必判断返回值\r
+     * @return\r
+     */\r
     public static native int enablePedometer();\r
-    /*停止计步 不必判断返回值*/\r
+\r
+    /***\r
+     * 停止计步 不必判断返回值\r
+     * @return\r
+     */\r
     public static native int disablePedometer();\r
 \r
-    /*检测计步当前是否开启  1开启,0 关闭*/\r
+    /***\r
+     * 检测计步当前是否开启\r
+     * @return\r
+     * 1开启,0 关闭\r
+     */\r
     public static native int isPedometerEnabled();\r
 \r
-    /*保存当前步数(getStepCount取得的值)到磁盘 不必判断返回值*/\r
+    /***\r
+     * 获取当前计步器(GSensor)类型 GSensorType\r
+     * @return\r
+     * 不存在返回 GSENSOR_TYPE_NONE,否则返回Gsensor类型\r
+     * 理论上此设备必选,一定存在。\r
+     */\r
+    public static native int getGsensorType();\r
+\r
+    /*保存当前步数(getStepCount取得的值)到磁盘 不必判断返回值\r
+    * 为了兼容,已经不再使用\r
+    * */\r
     public static native int saveStepCount();\r
 \r
-    /*恢复保存时的步数数据,下次getStepCount会在恢复的值上增加 不必判断返回值*/\r
+    /*恢复保存时的步数数据,下次getStepCount会在恢复的值上增加 不必判断返回值\r
+    * * 为了兼容,已经不再使用\r
+    * */\r
     public static native int recoverStepCount();\r
 \r
-\r
     /******心率,血压****************************************/\r
-    /*检查 PPG硬件是否存在,返回 1 存在,0 不存在*/\r
+     /***\r
+     * 检查 PPG硬件是否存在,返回PPG_EGC_SensorType\r
+     * @return\r
+      * 返回PPG_EGC_TYPE_NONE代表不存在,否则返回 传感器类型\r
+     */\r
     public static native int isPPGavailable();\r
 \r
-    /*开启心率血压检测*/\r
+     /**\r
+      * 开启心率血压检测\r
+     * @return\r
+      */\r
     public static native int enablePPG();\r
 \r
-    /*停止心率血压检测*/\r
+    /***\r
+     * 停止心率血压检测\r
+     * @return\r
+     */\r
     public static native int disablePPG();\r
-    /*返回 心率值 每分钟跳动次数, 通过这个心率>0 判断是否已经有检测结果,\r
-    有就可以直接通过getHighBloodPressure 和 getLowBloodPressure 获取血压高压低压值*/\r
-    public static native int getPPG();\r
-    /* 返回PPG 运行状态, 0 停止, 1,运行中*/\r
+\r
+\r
+    /***\r
+     * 返回PPG 运行状态, 0 停止, 1,运行中\r
+     * @return\r
+     */\r
     public static native int isPPGStarted();\r
-    /*返回是否佩戴  0 未佩戴,1 佩戴*/\r
+\r
+    /***\r
+     * 返回 心率值 每分钟跳动次数, 通过这个心率>0 判断是否已经有检测结果,\r
+     * 有就可以直接通过getHighBloodPressure 和 getLowBloodPressure 获取血压高压低压值\r
+     * @return\r
+     */\r
+    public static native int getPPG();\r
+\r
+    /***\r
+     * 返回是否佩戴  0 未佩戴,1 佩戴 。\r
+     * 请注意,此数据必须在执行 getPPG() 后才有效,否则一直为上一次的值。\r
+     * @return\r
+     */\r
     public static native int isWeared();\r
 \r
-    /*获取血压高压值*/\r
+    /***\r
+     * 获取血压高压值\r
+     * 请注意,此数据必须在执行 getPPG() 后才有效,否则一直为上一次的值。\r
+     * @return\r
+     */\r
     public static native int getHighBloodPressure();\r
 \r
-    /*获取血压低压值*/\r
+    /***\r
+     * 获取血压低压值\r
+     * 请注意,此数据必须在执行 getPPG() 后才有效,否则一直为上一次的值。\r
+     * @return\r
+     */\r
     public static native int getLowBloodPressure();\r
 \r
-    /*获取血氧值*/\r
+      /***\r
+       * 获取血氧值\r
+     *  请注意,此数据必须在执行 getPPG() 后才有效,否则一直为上一次的值。\r
+     * @return\r
+       */\r
     public static native int getSPO2();\r
 \r
 \r
-    /*获取温度校准后= getTemperatureOrigin - adjustValue */\r
+    /***\r
+     * 开始温度检测,有些sensor不需要,为了兼容,请开始前执行一次,并且sleep 1秒钟\r
+     * @return\r
+     */\r
+    public static native  int enableTemperature();\r
+\r
+    /***\r
+     * 停止温度检测,有些sensor不需要,为了兼容请结束后还是要执行一次。\r
+     * @return  返回值<0 表示失败 =>0表示成功\r
+     */\r
+    public static native int disableTemperature();\r
+\r
+    /***\r
+     * 执行温度校准操作,一版在整机生产时的恒温箱中执行\r
+     * @param refTemp  恒温箱的温度\r
+     * @return 返回值<0 表示失败 =>0表示成功\r
+     */\r
+    public static native int doTempCalibration(double refTemp);\r
+\r
+    /***\r
+     *  获取温度 校准后数据 单位摄氏度\r
+     * @return 返回值<=0 表示失败 >0表示成功\r
+     */\r
     public static native double getTemperature();\r
 \r
-    /*获取温度校准前*/\r
-    public static native double getTemperatureOrigin();\r
-\r
-    /*设置校准参数*/\r
-    public static native int setTemperatureAdjustValue(double value);\r
-\r
-    /*设置校准参数*/\r
-    public static native double getTemperatureAdjustValue();\r
-\r
-    /*设置当前温度标志位,实际上就是按照二进制位来定义的。\r
-    0、可以测温\r
-    第一位为1,0x1、充电超过2分钟或者充电超过2分钟后拔除5分钟内    0001\r
-    第二位为1,0x2、亮屏超过5分钟或者亮屏超过5分钟后灭屏5分钟内    0010\r
-    第三位为1,0x4、通话超过2分钟或者通话超过2分钟后挂断5分钟内    0100\r
-    所有大于0的都不能测温 */\r
+    /***\r
+     * 设置当前温度标志位,\r
+     * @param flag\r
+     * 实际上就是按照二进制位来定义的。\r
+     *     0、可以测温\r
+     *     第一位为1,0x1、充电超过2分钟或者充电超过2分钟后拔除5分钟内    0001\r
+     *     第二位为1,0x2、亮屏超过5分钟或者亮屏超过5分钟后灭屏5分钟内    0010\r
+     *     第三位为1,0x4、通话超过2分钟或者通话超过2分钟后挂断5分钟内    0100\r
+     *     所有大于0的都不能测温\r
+     * 注:暂时未启用,预留\r
+     * @return\r
+     */\r
     public static native int setTemperatureValidFlag(int flag);\r
 \r
-    /*此操作仅仅为了检查标志状态设置成功与否,标志已经在内部被使用*/\r
+     /***\r
+      * 此操作仅仅为了检查标志状态设置成功与否,标志已经在内部被使用\r
+      * 注:暂时未启用,预留\r
+     * @return\r
+      */\r
     public static native int getTemperatureValidFlag();\r
 \r
-    /*根据环境参考温度和腕温换算 体温*/\r
+    /***\r
+     * 根据环境参考温度和腕温换算 体温\r
+     * ic66可以直接输出体温,不需要这个公式。\r
+     * @param wrist_temp\r
+     * 腕温\r
+     * @param ref_temp\r
+     * 室外参考温度\r
+     * @return 返回值<=0 表示失败 >0表示成功\r
+     */\r
     public static native double getBodyTempFromWristTemp(double wrist_temp,double ref_temp);\r
 \r
-    /*有体温检测功能则返回1, 否则返回0 */\r
+     /***\r
+      * 有体温检测功能则返回 TempSensorType\r
+      * TempSensor_NONE 就表示没有体温检测功能,否则返回温度传感器类型\r
+     * @return\r
+      */\r
     public static native int isTemperatureDevAvailable();\r
 \r
+\r
+    /*获取温度校准前\r
+    * 为了兼容已经不用\r
+    * */\r
+    public static native double getTemperatureOrigin();\r
+\r
+    /*设置校准参数\r
+    *  * 为了兼容已经不用\r
+    * */\r
+    public static native int setTemperatureAdjustValue(double value);\r
+\r
+    /*设置校准参数\r
+    *  * 为了兼容已经不用\r
+    * */\r
+    public static native double getTemperatureAdjustValue();\r
 }\r