Android 5.1.1 release 5
Don't access mRecentLoaderResults in background

Lists inside mRecentLoaderResults are cleared inside
Loader#onReset. Therefore, Retreiving items inside mRecentLoaderResults's
lists on a background thread can result in retreiving nulled out
ArrayList entries.

Fix:
* Only access mRecentLoaderResults on the main thread
* Don't crash when encountering null entries inside mRecentLoaderResults,
  in case I'm wrong about the reason these entries are null
  (although I can't see any other causes)
* make bindRecentData() sorting stable, since I'm already editing
  this code anyway

Bug: 19320314
Change-Id: Id871a8c0de3685baf07a6c4d65a4835380b1b99a
1 file changed