broadcast-hal: Fix mThread race condition

Currently mThread is started in initializer list, but
not in constructor, when the thread starts in initializer
list, not all class members are init yet (depends on the
order of class member declarations).
And mThread will use class members.

Putting mThread to starts in constructor ensures all
class member variables  are init before thread starts.

Bug: 231737939
Test: build
Change-Id: I4033efa9f13c2ece95c4b4f99f8c88b6d4816be1
diff --git a/broadcastradio/common/utils/WorkerThread.cpp b/broadcastradio/common/utils/WorkerThread.cpp
index 31f4d3f..dd87f53 100644
--- a/broadcastradio/common/utils/WorkerThread.cpp
+++ b/broadcastradio/common/utils/WorkerThread.cpp
@@ -31,7 +31,11 @@
     return lhs.when > rhs.when;
 }
 
-WorkerThread::WorkerThread() : mIsTerminating(false), mThread(&WorkerThread::threadLoop, this) {}
+WorkerThread::WorkerThread() : mIsTerminating(false) {
+    // putting mThread in constructor instead of initializer list
+    // to ensure all class members are init before mThread starts
+    mThread = std::thread(&WorkerThread::threadLoop, this);
+}
 
 WorkerThread::~WorkerThread() {
     {