update device states in podcast states only when necessary

this optimizes saving of User objects