Static library support version of the framework's CursorLoader.
Used to write apps that run on platforms prior to Android 3.0. When running
on Android 3.0 or above, this implementation is still used; it does not try
to switch to the framework's implementation. See the framework SDK
documentation for a class overview.
Called on the main thread to abort a load in progress.
Override this method to abort the current invocation of loadInBackground()
that is running in the background on a worker thread.
This method should do nothing if loadInBackground() has not started
running or if it has already finished.
Called on a worker thread to perform the actual load and to return
the result of the load operation.
Implementations should not deliver the result directly, but should return them
from this method, which will eventually end up calling deliverResult(D) on
the UI thread. If implementations need to process the results on the UI thread
they may override deliverResult(D) and do so there.
To support cancellation, this method should periodically check the value of
isLoadInBackgroundCanceled() and terminate when it returns true.
Subclasses may also override cancelLoadInBackground() to interrupt the load
directly instead of polling isLoadInBackgroundCanceled().
When the load is canceled, this method may either return normally or throw
OperationCanceledException. In either case, the Loader will
call onCanceled(D) to perform post-cancellation cleanup and to dispose of the
result object, if any.
Subclasses must implement this to take care of resetting their loader,
as per reset(). This is not called by clients directly,
but as a result of a call to reset().
This will always be called from the process's main thread.
Starts an asynchronous load of the contacts list data. When the result is ready the callbacks
will be called on the UI thread. If a previous load has been completed and is still valid
the result may be passed to the callbacks immediately.
Must be called from the UI thread