diff options
author | Lajos Molnar <lajos@google.com> | 2014-05-28 18:37:33 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-05-28 18:37:33 +0000 |
commit | f5259a201dae2e25dffabbece3f66d931a7d8dd7 (patch) | |
tree | 417b302e62405d81ad517490e958433b2fdb9fe3 | |
parent | bad194ae05191ff6aba33f0bdfcca496c3960cf9 (diff) | |
parent | ea2b77c9522c074b7fc5ffa3b4067c31d065386e (diff) | |
download | cts-f5259a201dae2e25dffabbece3f66d931a7d8dd7.tar.gz |
Merge "Fix VirtualDisplayTest by putting image checking task to an non-UI thread"
-rw-r--r-- | tests/tests/display/src/android/display/cts/VirtualDisplayTest.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/tests/tests/display/src/android/display/cts/VirtualDisplayTest.java b/tests/tests/display/src/android/display/cts/VirtualDisplayTest.java index be4f0885a29..11bc15cf9b9 100644 --- a/tests/tests/display/src/android/display/cts/VirtualDisplayTest.java +++ b/tests/tests/display/src/android/display/cts/VirtualDisplayTest.java @@ -29,6 +29,7 @@ import android.media.ImageReader; import android.os.Bundle; import android.os.Handler; import android.os.Looper; +import android.os.HandlerThread; import android.os.SystemClock; import android.test.AndroidTestCase; import android.util.DisplayMetrics; @@ -72,6 +73,8 @@ public class VirtualDisplayTest extends AndroidTestCase { private ImageReader mImageReader; private Surface mSurface; private ImageListener mImageListener; + private HandlerThread mCheckThread; + private Handler mCheckHandler; @Override protected void setUp() throws Exception { @@ -80,11 +83,15 @@ public class VirtualDisplayTest extends AndroidTestCase { mDisplayManager = (DisplayManager)mContext.getSystemService(Context.DISPLAY_SERVICE); mHandler = new Handler(Looper.getMainLooper()); mImageListener = new ImageListener(); + // thread for image checking + mCheckThread = new HandlerThread("TestHandler"); + mCheckThread.start(); + mCheckHandler = new Handler(mCheckThread.getLooper()); mImageReaderLock.lock(); try { mImageReader = ImageReader.newInstance(WIDTH, HEIGHT, PixelFormat.RGBA_8888, 2); - mImageReader.setOnImageAvailableListener(mImageListener, mHandler); + mImageReader.setOnImageAvailableListener(mImageListener, mCheckHandler); mSurface = mImageReader.getSurface(); } finally { mImageReaderLock.unlock(); @@ -94,7 +101,6 @@ public class VirtualDisplayTest extends AndroidTestCase { @Override protected void tearDown() throws Exception { super.tearDown(); - mImageReaderLock.lock(); try { mImageReader.close(); @@ -103,6 +109,7 @@ public class VirtualDisplayTest extends AndroidTestCase { } finally { mImageReaderLock.unlock(); } + mCheckThread.quit(); } /** |