Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 700079e8 authored by John Reck's avatar John Reck
Browse files

Fix RenderThread setForLooper

RenderThread doesn't use ThreadBase::threadLoop
so it also needs to explicitly Looper::setForLooper

Fixes: 124467483
Test: hwuiunit
Change-Id: I3703b5d3dbbbaa68e88fc23756dfccacfce863cb
parent 3661808c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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",
+1 −0
Original line number Diff line number Diff line
@@ -346,6 +346,7 @@ void RenderThread::requestVsync() {

bool RenderThread::threadLoop() {
    setpriority(PRIO_PROCESS, 0, PRIORITY_DISPLAY);
    Looper::setForThread(mLooper);
    if (gOnStartHook) {
        gOnStartHook("RenderThread");
    }
+29 −0
Original line number Diff line number Diff line
/*
 * 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);
}