Stop data loader on activity destroy.

Fixes this crash:

11-29 13:02:30.837 18338 18338 E AndroidRuntime:
java.lang.IllegalArgumentException: You cannot start a load for a
destroyed activity
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.bumptech.glide.manager.RequestManagerRetriever.assertNotDestroyed(RequestManagerRetriever.java:136)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:127)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:88)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.bumptech.glide.Glide.with(Glide.java:587)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.android.camera.data.LocalMediaData$PhotoData.loadUri(LocalMediaData.java:535)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.android.camera.data.LocalMediaData$PhotoData.loadImage(LocalMediaData.java:507)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.android.camera.data.LocalMediaData$PhotoData.fillImageView(LocalMediaData.java:485)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.android.camera.data.LocalMediaData.getView(LocalMediaData.java:232)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.android.camera.data.CameraDataAdapter.getView(CameraDataAdapter.java:101)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.android.camera.data.FixedFirstDataAdapter.getView(FixedFirstDataAdapter.java:117)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.android.camera.ui.FilmStripView.buildItemFromData(FilmStripView.java:928)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.android.camera.ui.FilmStripView.update(FilmStripView.java:2072)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.android.camera.ui.FilmStripView.-wrap12(FilmStripView.java)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.android.camera.ui.FilmStripView$4.onDataUpdated(FilmStripView.java:1803)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.android.camera.data.FixedFirstDataAdapter.onDataLoaded(FixedFirstDataAdapter.java:152)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.android.camera.data.CameraDataAdapter.replaceData(CameraDataAdapter.java:269)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.android.camera.data.CameraDataAdapter.-wrap1(CameraDataAdapter.java)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.android.camera.data.CameraDataAdapter$QueryTask.onPostExecute(CameraDataAdapter.java:359)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.android.camera.data.CameraDataAdapter$QueryTask.onPostExecute(CameraDataAdapter.java:358)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
android.os.AsyncTask.finish(AsyncTask.java:660)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
android.os.AsyncTask.-wrap1(AsyncTask.java)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:677)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
android.os.Handler.dispatchMessage(Handler.java:102)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
android.os.Looper.loop(Looper.java:154)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
android.app.ActivityThread.main(ActivityThread.java:6095)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
java.lang.reflect.Method.invoke(Native Method)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
11-29 13:02:30.837 18338 18338 E AndroidRuntime:        at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

Change-Id: I43c6eb85651e5ee69647114a5ec819ed98c61720
4 files changed