-
- Downloads
Prevent Person duplication from peer vCards
Due to the ability to receive vCards from other peers (during a Call or from a ContactRequest), there are many possibilities to create duplicate Person objects. This is because up until now we have been using the Person's UID as a unique identifier. However the UID has come from the vCard, and we cannot trust the vCards we receive from peers to have either unique UIDs when they are different contacts, nor the same UID if its the same contact. Thus in the case of received vCards, we identify whether or not a new Person should be created based on the ContactMethod. Note that this doesn't necessarily solve the issue in the case we have multiple ContactMethods with the same RingID (this may happen when we have multiple Accounts communicating with the same peer). However, this is a step in the right direction. Change-Id: I9c05fe00fc46ba0e26e8886cad33cf0fd4afeb81
Showing
- src/account.cpp 8 additions, 7 deletionssrc/account.cpp
- src/accountmodel.cpp 5 additions, 4 deletionssrc/accountmodel.cpp
- src/media/text.cpp 6 additions, 8 deletionssrc/media/text.cpp
- src/personmodel.cpp 15 additions, 4 deletionssrc/personmodel.cpp
- src/private/vcardutils.cpp 28 additions, 13 deletionssrc/private/vcardutils.cpp
- src/private/vcardutils.h 1 addition, 2 deletionssrc/private/vcardutils.h
Loading
Please register or sign in to comment