summaryrefslogtreecommitdiffstats
path: root/core/java/android/os/HandlerThread.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/os/HandlerThread.java')
-rw-r--r--core/java/android/os/HandlerThread.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/core/java/android/os/HandlerThread.java b/core/java/android/os/HandlerThread.java
index 0ce86db..65301e4 100644
--- a/core/java/android/os/HandlerThread.java
+++ b/core/java/android/os/HandlerThread.java
@@ -64,7 +64,7 @@ public class HandlerThread extends Thread {
/**
* This method returns the Looper associated with this thread. If this thread not been started
* or for any reason is isAlive() returns false, this method will return null. If this thread
- * has been started, this method will blocked until the looper has been initialized.
+ * has been started, this method will block until the looper has been initialized.
* @return The looper.
*/
public Looper getLooper() {
@@ -85,6 +85,21 @@ public class HandlerThread extends Thread {
}
/**
+ * Ask the currently running looper to quit. If the thread has not
+ * been started or has finished (that is if {@link #getLooper} returns
+ * null), then false is returned. Otherwise the looper is asked to
+ * quit and true is returned.
+ */
+ public boolean quit() {
+ Looper looper = getLooper();
+ if (looper != null) {
+ looper.quit();
+ return true;
+ }
+ return false;
+ }
+
+ /**
* Returns the identifier of this thread. See Process.myTid().
*/
public int getThreadId() {