clear avatar cache when system name changes
This commit is contained in:
		
							parent
							
								
									5e367cb115
								
							
						
					
					
						commit
						6b81ff70e5
					
				| @ -255,8 +255,10 @@ public class Contact implements ListItem, Blockable { | |||||||
| 		this.serverName = serverName; | 		this.serverName = serverName; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	public void setSystemName(String systemName) { | 	public boolean setSystemName(String systemName) { | ||||||
|  | 		String old = this.systemName; | ||||||
| 		this.systemName = systemName; | 		this.systemName = systemName; | ||||||
|  | 		return (old == null && systemName != null) || (old != null && !old.equals(systemName)); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	public void setPresenceName(String presenceName) { | 	public void setPresenceName(String presenceName) { | ||||||
|  | |||||||
| @ -1518,16 +1518,18 @@ public class XmppConnectionService extends Service { | |||||||
| 										+ "#" | 										+ "#" | ||||||
| 										+ phoneContact.getString("lookup"); | 										+ phoneContact.getString("lookup"); | ||||||
| 								contact.setSystemAccount(systemAccount); | 								contact.setSystemAccount(systemAccount); | ||||||
| 								if (contact.setPhotoUri(phoneContact.getString("photouri"))) { | 								boolean needsCacheClean = contact.setPhotoUri(phoneContact.getString("photouri")); | ||||||
|  | 								needsCacheClean |= contact.setSystemName(phoneContact.getString("displayname")); | ||||||
|  | 								if (needsCacheClean) { | ||||||
| 									getAvatarService().clear(contact); | 									getAvatarService().clear(contact); | ||||||
| 								} | 								} | ||||||
| 								contact.setSystemName(phoneContact.getString("displayname")); |  | ||||||
| 								withSystemAccounts.remove(contact); | 								withSystemAccounts.remove(contact); | ||||||
| 							} | 							} | ||||||
| 							for (Contact contact : withSystemAccounts) { | 							for (Contact contact : withSystemAccounts) { | ||||||
| 								contact.setSystemAccount(null); | 								contact.setSystemAccount(null); | ||||||
| 								contact.setSystemName(null); | 								boolean needsCacheClean = contact.setPhotoUri(null); | ||||||
| 								if (contact.setPhotoUri(null)) { | 								needsCacheClean |= contact.setSystemName(null); | ||||||
|  | 								if (needsCacheClean) { | ||||||
| 									getAvatarService().clear(contact); | 									getAvatarService().clear(contact); | ||||||
| 								} | 								} | ||||||
| 							} | 							} | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Daniel Gultsch
						Daniel Gultsch