save battery low alarm.
authorTrillGates <williamtrillgates@gmail.com>
Thu, 8 Apr 2021 08:33:19 +0000 (16:33 +0800)
committerTrillGates <williamtrillgates@gmail.com>
Thu, 8 Apr 2021 08:33:19 +0000 (16:33 +0800)
app/src/main/AndroidManifest.xml
app/src/main/java/com/enqualcomm/support/provider/FZDDatabaseHelper.java
app/src/main/java/com/enqualcomm/support/provider/FZDSettingsProvider.java
app/src/main/java/com/ic/protocols/protocol_fzd.java

index 2e6354c..9e71868 100644 (file)
             android:authorities="com.ic.fzd.follow"
             android:exported="true" />
 
+        <provider
+            android:name=".provider.FZDSettingsProvider"
+            android:authorities="com.ic.fzd.settings"
+            android:exported="true" />
+
     </application>
 
 </manifest>
\ No newline at end of file
index 1bca70c..e10695d 100644 (file)
@@ -143,8 +143,6 @@ public class FZDDatabaseHelper extends SQLiteOpenHelper {
                 " integer, " +
                 flCount +
                 " integer, " +
-                flState +
-                " integer, " +
                 flCreateTime +
                 " date, " +
                 flUpdateTime +
index d5b0eb6..b66a5e3 100644 (file)
@@ -10,6 +10,8 @@ import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.text.TextUtils;
 
+import com.enqualcomm.support.utils.ICLogger;
+
 /**
  * 防走丢设置的内容提供者
  * 保存数据keyValue的形式
@@ -65,8 +67,10 @@ public class FZDSettingsProvider extends ContentProvider {
     @Override
     public Uri insert(@NonNull Uri uri, @Nullable ContentValues values) {
         int match = sUriMatcher.match(uri);
+        ICLogger.d("match code == > " + match);
         if (match == MATH_CODE_TABLE && values != null) {
             String key = (String) values.get(FZDDatabaseHelper.sKey);
+            ICLogger.d("key == > " + key);
             SQLiteDatabase writableDatabase = mDatabase.getWritableDatabase();
             if (!TextUtils.isEmpty(key)) {
                 Cursor query = writableDatabase.query(FZDDatabaseHelper.tSettings,
@@ -74,12 +78,14 @@ public class FZDSettingsProvider extends ContentProvider {
                         null, null, null);
                 Uri targetUri;
                 if (query != null && query.moveToNext()) {
+                    ICLogger.d("do update == > " + key);
                     writableDatabase.update(FZDDatabaseHelper.tSettings,
                             values, FZDDatabaseHelper.sKey + "=?",
                             new String[]{key});
                     query.close();
                     targetUri = Uri.parse(SETTINGS + "/" + query.getInt(query.getColumnIndex(FZDDatabaseHelper.sId)));
                 } else {
+                    ICLogger.d("do insert == > " + key);
                     //为了确保key唯一,没有在sql上加约束,所以先查询一下吧。如果有就走更新
                     long rowId = writableDatabase.insert(FZDDatabaseHelper.tSettings,
                             null, values);
index 7b66897..dc249f6 100644 (file)
@@ -32,6 +32,7 @@ import com.enqualcomm.support.provider.FZDDatabaseHelper;
 import com.enqualcomm.support.provider.FZDFollowProvider;
 import com.enqualcomm.support.provider.FZDMembersProvider;
 import com.enqualcomm.support.provider.FZDMessageProvider;
+import com.enqualcomm.support.provider.FZDSettingsProvider;
 import com.enqualcomm.support.service.HeartRateManager;
 import com.enqualcomm.support.utils.CameraUtil;
 import com.enqualcomm.support.utils.Connection;
@@ -1585,7 +1586,7 @@ public class protocol_fzd {
                 break;
             case LOWBAT:
                 ICLogger.d("收到低电量警报的开关");
-                handleLOWBAT(data);
+                handleLOWBAT(data, mRuntime);
                 mConnection.DeliverCMDMessageToSystem("LOWBAT", cmd);
                 break;
         }
@@ -1597,11 +1598,16 @@ public class protocol_fzd {
      * 低电量警报开关
      *
      * @param data
+     * @param mRuntime
      */
-    private void handleLOWBAT(String data) {
+    private void handleLOWBAT(String data, Runtime mRuntime) {
         //修改配置文件
         ICLogger.d("low battery == > " + data);
-
+        ContentResolver resolver = mRuntime.getContextProxy().getResolver();
+        ContentValues contentValues = new ContentValues();
+        contentValues.put(FZDDatabaseHelper.sKey, cmdMap.get(CMD_TYPE.LOWBAT));
+        contentValues.put(FZDDatabaseHelper.sValue, data);
+        resolver.insert(Uri.parse(FZDSettingsProvider.SETTINGS), contentValues);
     }
 
     /**