diff options
| author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:45 -0800 |
|---|---|---|
| committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:45 -0800 |
| commit | d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 (patch) | |
| tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /core/java/android/os/HandlerThread.java | |
| parent | 076357b8567458d4b6dfdcf839ef751634cd2bfb (diff) | |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'core/java/android/os/HandlerThread.java')
| -rw-r--r-- | core/java/android/os/HandlerThread.java | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/core/java/android/os/HandlerThread.java b/core/java/android/os/HandlerThread.java deleted file mode 100644 index 0ce86db972c3..000000000000 --- a/core/java/android/os/HandlerThread.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (C) 2006 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.os; - -/** - * Handy class for starting a new thread that has a looper. The looper can then be - * used to create handler classes. Note that start() must still be called. - */ -public class HandlerThread extends Thread { - private int mPriority; - private int mTid = -1; - private Looper mLooper; - - public HandlerThread(String name) { - super(name); - mPriority = Process.THREAD_PRIORITY_DEFAULT; - } - - /** - * Constructs a HandlerThread. - * @param name - * @param priority The priority to run the thread at. The value supplied must be from - * {@link android.os.Process} and not from java.lang.Thread. - */ - public HandlerThread(String name, int priority) { - super(name); - mPriority = priority; - } - - /** - * Call back method that can be explicitly over ridden if needed to execute some - * setup before Looper loops. - */ - protected void onLooperPrepared() { - } - - public void run() { - mTid = Process.myTid(); - Looper.prepare(); - synchronized (this) { - mLooper = Looper.myLooper(); - Process.setThreadPriority(mPriority); - notifyAll(); - } - onLooperPrepared(); - Looper.loop(); - mTid = -1; - } - - /** - * 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. - * @return The looper. - */ - public Looper getLooper() { - if (!isAlive()) { - return null; - } - - // If the thread has been started, wait until the looper has been created. - synchronized (this) { - while (isAlive() && mLooper == null) { - try { - wait(); - } catch (InterruptedException e) { - } - } - } - return mLooper; - } - - /** - * Returns the identifier of this thread. See Process.myTid(). - */ - public int getThreadId() { - return mTid; - } -} |
