This change unregisters a list's data observer from the adapter when the list is detached from the window. The default data observer impl. is a non-static inner class with a synthesized pointer to the list. Thus if an app keeps the adapter around the list is also kept around. This can be a problem with dialogs in particular. Change-Id: Ia95a995d3f54b9caf1bbcd2c7239a0318511b08c