DO NOT MERGE: Use a weak pointer to deliver updates to AVRCP devices.
If a device disconnects right before a update message gets queued, the
device becomes null and there is a crash when the callback for the
update executes on the disconnected device. This patch switches the
device reference from being Unretained to using a weak pointer so that
the callback just doesn't execute if the device is disconnected.
Bug:
120431125
Bug:
120445479
Test: Use the same test as b/
120477414 as that bug causes a disconnect
at the same time as a media update.
Change-Id: I1dcc08e5c9866106e7ec0dad52505e34b42da600