setup alarm for ic db.
authorTrillGates <williamtrillgates@gmail.com>
Fri, 25 Jun 2021 08:47:46 +0000 (16:47 +0800)
committerTrillGates <williamtrillgates@gmail.com>
Fri, 25 Jun 2021 08:47:46 +0000 (16:47 +0800)
app/src/main/java/com/enqualcomm/support/bean/Alarm.java
app/src/main/java/com/enqualcomm/support/provider/FZDAlarmProvider.java
app/src/main/java/com/enqualcomm/support/service/SilentManager.java
app/src/main/java/com/enqualcomm/support/utils/DBHelper.java
app/version_code.properties

index 7491111..76e6b7f 100644 (file)
@@ -8,6 +8,11 @@ public class Alarm {
     //星期是1~7\r
     public String week;\r
     public String laterRing;\r
+    public String id;\r
+\r
+    public Alarm() {\r
+\r
+    }\r
 \r
     public Alarm(String _time, String _week, String _ring, String _status) {\r
         this.time = _time;\r
index 594f9b2..fce0328 100644 (file)
@@ -2,6 +2,7 @@ package com.enqualcomm.support.provider;
 
 import android.content.ContentProvider;
 import android.content.ContentValues;
+import android.content.Intent;
 import android.content.UriMatcher;
 import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
@@ -10,6 +11,8 @@ import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.text.TextUtils;
 
+import static com.enqualcomm.support.Constants.ACTION_ALARM_ALARM_CHANGE;
+
 public class FZDAlarmProvider extends ContentProvider {
 
     private static UriMatcher sUriMatcher;
@@ -84,7 +87,9 @@ public class FZDAlarmProvider extends ContentProvider {
                         });
             }
             long insert = writableDatabase.insert(FZDDatabaseHelper.tb_alarm, null, values);
+            //设置闹钟
             if (getContext() != null) {
+                getContext().sendBroadcast(new Intent(ACTION_ALARM_ALARM_CHANGE));
                 getContext().getContentResolver().notifyChange(uri, null);
             }
             return Uri.parse(AUTHORITY + "/" + PATH + "/" + insert);
@@ -101,7 +106,9 @@ public class FZDAlarmProvider extends ContentProvider {
         if (match == MATH_CODE_TABLE) {
             SQLiteDatabase writableDatabase = mDatabase.getWritableDatabase();
             int delete = writableDatabase.delete(FZDDatabaseHelper.tb_alarm, selection, selectionArgs);
+            //删除闹钟
             if (getContext() != null) {
+                getContext().sendBroadcast(new Intent(ACTION_ALARM_ALARM_CHANGE));
                 getContext().getContentResolver().notifyChange(uri, null);
             }
             return delete;
@@ -118,7 +125,9 @@ public class FZDAlarmProvider extends ContentProvider {
         if (match == MATH_CODE_TABLE) {
             SQLiteDatabase writableDatabase = mDatabase.getWritableDatabase();
             int update = writableDatabase.update(FZDDatabaseHelper.tb_alarm, values, selection, selectionArgs);
+            //更新闹钟
             if (getContext() != null) {
+                getContext().sendBroadcast(new Intent(ACTION_ALARM_ALARM_CHANGE));
                 getContext().getContentResolver().notifyChange(uri, null);
             }
             return update;
index 28e349c..10fe971 100644 (file)
@@ -629,6 +629,27 @@ public class SilentManager extends AbstractInvokeHandlerService {
 
     }
 
+    /**
+     * 这个是设置闹钟的,数据库是英卡的库,不是EQC的
+     *
+     * @return
+     */
+    private List<Alarm> updateIcAlarm() {
+        List<Alarm> alarmList = this.mDbHelper.queryAlarm();
+        if (!this.mInSilent) {
+            if (this.alarms != null) {
+                this.cancelAlarm(this.alarms);
+            }
+            try {
+                this.setNewAlarm(alarmList);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return alarmList;
+    }
+
+
     private List<Alarm> queryAlarm() {
         List<Alarm> alarmList = this.mDbHelper.queryAlarm();
         if (!this.mInSilent) {
@@ -906,7 +927,12 @@ public class SilentManager extends AbstractInvokeHandlerService {
             if (ACTION_NOTICE_ALARM_CHANGE.equals(action)) {
                 SilentManager.this.voiceNotice = SilentManager.this.queryNotice();
             } else if (ACTION_ALARM_ALARM_CHANGE.equals(action)) {
-                SilentManager.this.alarms = SilentManager.this.queryAlarm();
+                //这是英卡的闹钟库
+                List<Alarm> alarms = updateIcAlarm();
+                if (alarms.size() == 0) {
+                    //这是EQC的
+                    SilentManager.this.alarms = queryAlarm();
+                }
             } else if ("com.enqualcomm.support.STHEART_RATE_ALARM_CHANGE".equals(action)) {
                 SilentManager.this.stheartRateList = SilentManager.this.queryStheartRate();
                 SilentManager.this.getStartAndEndStheartRateTime();
index d183565..0bf3b04 100644 (file)
@@ -16,7 +16,6 @@ import android.provider.ContactsContract.Data;
 import android.provider.ContactsContract.RawContacts;
 
 import com.enqualcomm.support.Config;
-import com.enqualcomm.support.provider.ICContentProvider;
 import com.enqualcomm.support.bean.Alarm;
 import com.enqualcomm.support.bean.Antioff;
 import com.enqualcomm.support.bean.Contact;
@@ -30,10 +29,13 @@ import com.enqualcomm.support.bean.SleepRecord;
 import com.enqualcomm.support.bean.StheartRate;
 import com.enqualcomm.support.bean.StringMessage;
 import com.enqualcomm.support.bean.Weather;
+import com.enqualcomm.support.provider.FZDAlarmProvider;
+import com.enqualcomm.support.provider.ICContentProvider;
 import com.ic.protocols.protocolAPIHelper;
 
 import java.util.ArrayList;
 import java.util.Iterator;
+import java.util.List;
 
 import static com.enqualcomm.support.Constants.ACTION_ALARM_ALARM_CHANGE;
 import static com.enqualcomm.support.Constants.ACTION_ANTIOFF_ALARM_CHANGE;
@@ -462,9 +464,41 @@ public class DBHelper {
 
     }
 
+    public List<Alarm> queryIcAlarm() {
+        ArrayList<Alarm> alarms = new ArrayList<>();
+        Cursor query = this.cr.query(Uri.parse(FZDAlarmProvider.ALARMS), null, null, null, null);
+        if (query != null) {
+            while (query.moveToNext()) {
+                Alarm item = new Alarm();
+                String id = query.getString(0);
+                String time = query.getString(1);
+                String week = query.getString(2);
+                String ring = query.getString(3);
+                String status = query.getString(4);
+                String name = query.getString(5);
+                String notifyLager = query.getString(6);
+                item.id = id;
+                item.time = time;
+                item.week = week;
+                item.ring = ring;
+                item.status = status;
+                item.name = name;
+                item.laterRing = notifyLager;
+                alarms.add(item);
+                ICLogger.d("alarm is == > " + item);
+            }
+            query.close();
+        }
+        return alarms;
+    }
+
     public ArrayList<Alarm> queryAlarm() {
         ArrayList var1 = new ArrayList();
-        Cursor cursor = this.cr.query(ICContentProvider.ALARM_URI, (String[]) null, (String) null, (String[]) null, (String) null);
+        Cursor cursor = this.cr.query(ICContentProvider.ALARM_URI,
+                null,
+                null,
+                null,
+                null);
         if (cursor != null) {
             while (true) {
                 if (!cursor.moveToNext()) {
index 2d557e0..5b266e7 100644 (file)
@@ -1,5 +1,5 @@
-#Fri Jun 25 15:34:00 CST 2021
+#Fri Jun 25 16:45:34 CST 2021
 >>>>>>>=b405d1184f3616d4e894d199cee0eb91613a68db
-VERSION_CODE=854
-<<<<<<<=HEAD
+VERSION_CODE=855
 =\=\=\=\=\=\=
+<<<<<<<=HEAD