completed follow into db.
authorTrillGates <williamtrillgates@gmail.com>
Thu, 8 Apr 2021 03:54:51 +0000 (11:54 +0800)
committerTrillGates <williamtrillgates@gmail.com>
Thu, 8 Apr 2021 03:54:51 +0000 (11:54 +0800)
app/src/main/java/com/enqualcomm/support/provider/FZDDatabaseHelper.java
app/src/main/java/com/ic/protocols/protocol_fzd.java

index db78cb1..2bd6350 100644 (file)
@@ -73,6 +73,11 @@ public class FZDDatabaseHelper extends SQLiteOpenHelper {
     public static final String flCreateTime = "create_time";
     public static final String flUpdateTime = "update_time";
 
+    public interface FollowState {
+        int unread = 0;
+        int read = 1;
+    }
+
     @Override
     public void onCreate(SQLiteDatabase db) {
         //创建数据库
index c9b41e2..0bf981b 100644 (file)
@@ -29,6 +29,7 @@ import com.enqualcomm.support.bean.Runtime;
 import com.enqualcomm.support.bean.Silent;
 import com.enqualcomm.support.bean.StringMessage;
 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.service.HeartRateManager;
@@ -348,6 +349,7 @@ public class protocol_fzd {
         //链路保持数据
         rcapture,
         TKQ,//获取离线语音消息(微聊)
+        FLOWER,//小红花奖励
         RECORD,//拾音开关
         BLE,//上传蓝地址
         LK,//登录
@@ -412,6 +414,7 @@ public class protocol_fzd {
         cmdMap = new HashMap<>();
         cmdMap.put(CMD_TYPE.LK, "LK");
         cmdMap.put(CMD_TYPE.TKQ, "TKQ");
+        cmdMap.put(CMD_TYPE.FLOWER, "FLOWER");
         cmdMap.put(CMD_TYPE.RECORD, "RECORD");
         cmdMap.put(CMD_TYPE.BLE, "BLE");
         cmdMap.put(CMD_TYPE.PING, "PING");
@@ -952,6 +955,7 @@ public class protocol_fzd {
         return genFZDCMD(cmdMap.get(CMD_TYPE.LK));
     }
 
+
     /**
      * 绑定
      */
@@ -1567,11 +1571,41 @@ public class protocol_fzd {
                 //TODO:煌城的是重置机器
                 mConnection.DeliverCMDMessageToSystem("DLT", cmd);
                 break;
+            case FLOWER:
+                ICLogger.d("收到服务器发来的小红花");
+                handleFollow(data, mRuntime);
+                mConnection.DeliverCMDMessageToSystem("FLOWER", cmd);
+                break;
         }
         return ret;
 
     }
 
+    /**
+     * 处理小红花奖励,保存到数据库中,谁需要,谁读取,谁关心,谁观察。
+     *
+     * @param data
+     */
+    private void handleFollow(String data, Runtime runtime) {
+        //解析数据[XT*334588000000156*0008*FLOWER,5]
+        //数据入库
+        try {
+            ICLogger.d("follow data == > " + data);
+            int count = Integer.parseInt(data);
+            ContentValues contentValues = new ContentValues();
+            contentValues.put(FZDDatabaseHelper.flState, FZDDatabaseHelper.FollowState.unread);
+            contentValues.put(FZDDatabaseHelper.flCount, count);
+            contentValues.put(FZDDatabaseHelper.flCreateTime, System.currentTimeMillis());
+            contentValues.put(FZDDatabaseHelper.flUpdateTime, System.currentTimeMillis());
+            runtime.getContextProxy().getResolver().insert(
+                    Uri.parse(FZDFollowProvider.FOLLOW),
+                    contentValues
+            );
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
     /**
      * 监听,这里是拨号回主手机。
      */