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