Hi Mo, No, sorry, there is no filtering mechanism. It's not just times_contacted. You will also get notifications when somebody's gtalk status changes etc. This notifications are only intended to serve as a ping - basically telling observers that something changed. You cannot use the notifications themselves to drive the application logic.
Cheers, - Dmitri On Fri, Dec 11, 2009 at 11:44 AM, Mo <[email protected]> wrote: > Thanks for the quick response Dimitri, > But as I mentioned that in the DB there is a field for "contacted" (I > guess how many times a contact is called" and "time contacted" (I am > guessing the time stamp in msec when the contact was called). This > would mean that my change observer would be called any time the user > calls any of its contact. > Is there a way in which I can filter only the events I am interested > in namely on add/delete contact or contact name change. > > Mo > > On Dec 11, 1:38 pm, Dmitri Plotnikov <[email protected]> wrote: >> Formally speaking, it is not really broken. The registerObserver API >> only says that the notification will be delivered when the data >> changes. It does not say that the notification will NOT be delivered >> when data does NOT change. >> >> In the new ContactsProvider we chose to keep the notification delivery >> logic simple for now and send authority-level notifications only, so >> it will send more notifications than strictly necessary. This >> behavior may change in the future. >> >> The good news is that we are NOT sending a notification for every >> minor change. We are sending one notification per transaction. So >> for instance, when a sync adapter adds 20 contacts in a batch, you >> only get one notification. The built-in Contacts app gives you an >> example of an application that listens to notifications and refreshes >> on every one. Open Contacts.app during a sync. You will see how >> contacts show up in batches - one batch per notification. This should >> not present a major problem unless you are running very expensive >> queries. >> >> I hope this helps, >> - Dmitri >> >> On Fri, Dec 11, 2009 at 11:02 AM, Mo <[email protected]> wrote: >> > Hi Dimitry, >> > Can you shed some light on this? >> >> > BR >> >> > On Dec 10, 9:00 pm, Mo <[email protected]> wrote: >> >> Hi, >> >> I was trying to register for any changes to the Contact.People DB as >> >> follows: >> >> registerContentObserver(Contacts.People.CONTENT_URI, true, co); >> >> And in my ContentObserver class I had the following: >> >> public void onChange(boolean change) { >> >> Log.v( " Contact List updated" ); >> >> } >> >> >> This use to work in Cupcake and I use to get the call to "onChange" >> >> only when a new contact was added, a contact was deleted or an >> >> existing contact was modified. But in Eclair I keep on receiving >> >> 'onChange" even after a call has been made to an existing contact (I >> >> guess because of the "last_time_contacted " field in the DB). >> >> >> I tried registering for other DB (like "Data" and "Raw_Contacts") also >> >> but experienced same issue. >> >> >> My question was that for Eclair is there a DB that I can register for >> >> which will only be triggered if a new contact was added or old contact >> >> was deleted or the contact name was modified? >> >> Thanks >> >> > -- >> > You received this message because you are subscribed to the Google >> > Groups "Android Developers" group. >> > To post to this group, send email to [email protected] >> > To unsubscribe from this group, send email to >> > [email protected] >> > For more options, visit this group at >> >http://groups.google.com/group/android-developers?hl=en >> >> > > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

