summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author John Reck <jreck@google.com> 2019-02-19 10:38:50 -0800
committer John Reck <jreck@google.com> 2019-02-19 10:38:50 -0800
commit700079e817a076f8e6d9c9b0257dc2d5525eefb1 (patch)
tree99c4e78b521034ef3e538f7e15f83a32f297e677
parent3661808cb75bfa1c6cb429994fbe91755f191e6f (diff)
Fix RenderThread setForLooper
RenderThread doesn't use ThreadBase::threadLoop so it also needs to explicitly Looper::setForLooper Fixes: 124467483 Test: hwuiunit Change-Id: I3703b5d3dbbbaa68e88fc23756dfccacfce863cb
-rw-r--r--libs/hwui/Android.bp1
-rw-r--r--libs/hwui/renderthread/RenderThread.cpp1
-rw-r--r--libs/hwui/tests/unit/RenderThreadTests.cpp29
3 files changed, 31 insertions, 0 deletions
diff --git a/libs/hwui/Android.bp b/libs/hwui/Android.bp
index 0335a7c6bd7d..793dd8d39376 100644
--- a/libs/hwui/Android.bp
+++ b/libs/hwui/Android.bp
@@ -318,6 +318,7 @@ cc_test {
"tests/unit/RenderNodeDrawableTests.cpp",
"tests/unit/RenderNodeTests.cpp",
"tests/unit/RenderPropertiesTests.cpp",
+ "tests/unit/RenderThreadTests.cpp",
"tests/unit/ShaderCacheTests.cpp",
"tests/unit/SkiaBehaviorTests.cpp",
"tests/unit/SkiaDisplayListTests.cpp",
diff --git a/libs/hwui/renderthread/RenderThread.cpp b/libs/hwui/renderthread/RenderThread.cpp
index fc63819120d6..bfae80f4698a 100644
--- a/libs/hwui/renderthread/RenderThread.cpp
+++ b/libs/hwui/renderthread/RenderThread.cpp
@@ -346,6 +346,7 @@ void RenderThread::requestVsync() {
bool RenderThread::threadLoop() {
setpriority(PRIO_PROCESS, 0, PRIORITY_DISPLAY);
+ Looper::setForThread(mLooper);
if (gOnStartHook) {
gOnStartHook("RenderThread");
}
diff --git a/libs/hwui/tests/unit/RenderThreadTests.cpp b/libs/hwui/tests/unit/RenderThreadTests.cpp
new file mode 100644
index 000000000000..af8ae7841af2
--- /dev/null
+++ b/libs/hwui/tests/unit/RenderThreadTests.cpp
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2019 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.
+ */
+
+#include <gtest/gtest.h>
+
+#include "tests/common/TestUtils.h"
+#include <utils/Looper.h>
+
+using namespace android;
+using namespace android::uirenderer;
+using namespace android::uirenderer::renderthread;
+
+RENDERTHREAD_TEST(RenderThread, isLooper) {
+ ASSERT_TRUE(Looper::getForThread() != nullptr);
+}
+