Просмотр исходного кода

always send PUSH_CODE_NEW_ADVERT when advert was not added to contacts[]

taco 6 месяцев назад
Родитель
Сommit
c61fde9328
2 измененных файлов с 2 добавлено и 3 удалено
  1. 1 1
      examples/companion_radio/MyMesh.cpp
  2. 1 2
      src/helpers/BaseChatMesh.cpp

+ 1 - 1
examples/companion_radio/MyMesh.cpp

@@ -323,7 +323,7 @@ void MyMesh::onContactsFull() {
 
 void MyMesh::onDiscoveredContact(ContactInfo &contact, bool is_new, uint8_t path_len, const uint8_t* path) {
   if (_serial->isConnected()) {
-    if (!shouldAutoAddContactType(contact.type) && is_new) {
+    if (is_new) {
       writeContactRespFrame(PUSH_CODE_NEW_ADVERT, contact);
     } else {
       out_frame[0] = PUSH_CODE_ADVERT;

+ 1 - 2
src/helpers/BaseChatMesh.cpp

@@ -133,7 +133,7 @@ void BaseChatMesh::onAdvertRecv(mesh::Packet* packet, const mesh::Identity& id,
   }
   putBlobByKey(id.pub_key, PUB_KEY_SIZE, temp_buf, plen);
 
-  bool is_new = false;
+  bool is_new = false; // true = not in contacts[], false = exists in contacts[]
   if (from == NULL) {
     if (!shouldAutoAddContactType(parser.getType())) {
       ContactInfo ci;
@@ -142,7 +142,6 @@ void BaseChatMesh::onAdvertRecv(mesh::Packet* packet, const mesh::Identity& id,
       return;
     }
 
-    is_new = true;
     from = allocateContactSlot();
     if (from == NULL) {
       ContactInfo ci;