Copyright (c) 2014 FeedHenry Ltd, All Rights Reserved.
Please refer to your contract with FeedHenry for the software license agreement.
If you do not have a contract, you do not have a license to use...
If you think the Android project fh-android-sdk listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code
package com.loopj.android.http;
//fromwww.java2s.comimport java.lang.ref.WeakReference;
/**
* A Handle to an AsyncRequest which can be used to cancel a running request.
*/publicclass RequestHandle {
privatefinal WeakReference<AsyncHttpRequest> request;
public RequestHandle(AsyncHttpRequest request) {
this.request = new WeakReference(request);
}
/**
* Attempts to cancel this request. This attempt will fail if the request has already completed,
* has already been cancelled, or could not be cancelled for some other reason. If successful,
* and this request has not started when cancel is called, this request should never run. If the
* request has already started, then the mayInterruptIfRunning parameter determines whether the
* thread executing this request should be interrupted in an attempt to stop the request.
* <p> </p> After this method returns, subsequent calls to isDone() will always return
* true. Subsequent calls to isCancelled() will always return true if this method returned
* true.
*
* @param mayInterruptIfRunning true if the thread executing this request should be interrupted;
* otherwise, in-progress requests are allowed to complete
* @return false if the request could not be cancelled, typically because it has already
* completed normally; true otherwise
*/publicboolean cancel(boolean mayInterruptIfRunning) {
AsyncHttpRequest _request = request.get();
return _request == null || _request.cancel(mayInterruptIfRunning);
}
/**
* Returns true if this task completed. Completion may be due to normal termination, an
* exception, or cancellation -- in all of these cases, this method will return true.
*
* @return true if this task completed
*/publicboolean isFinished() {
AsyncHttpRequest _request = request.get();
return _request == null || _request.isDone();
}
/**
* Returns true if this task was cancelled before it completed normally.
*
* @return true if this task was cancelled before it completed
*/publicboolean isCancelled() {
AsyncHttpRequest _request = request.get();
return _request == null || _request.isCancelled();
}
publicboolean shouldBeGarbageCollected() {
boolean should = isCancelled() || isFinished();
if (should)
request.clear();
return should;
}
}