Avi Drissman | 4e1b7bc3 | 2022-09-15 14:03:50 | [diff] [blame] | 1 | // Copyright 2017 The Chromium Authors |
boliu | 61687ec5 | 2017-03-29 20:09:34 | [diff] [blame] | 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
| 5 | #include "content/browser/android/launcher_thread.h" |
| 6 | |
Sean Maher | e672a66 | 2023-01-09 21:42:28 | [diff] [blame] | 7 | #include "base/task/single_thread_task_runner.h" |
Andrew Grieve | ecb885bb | 2024-05-29 18:14:19 | [diff] [blame] | 8 | |
| 9 | // Must come after all headers that specialize FromJniType() / ToJniType(). |
Mohamed Heikal | c09e101 | 2019-06-21 14:47:26 | [diff] [blame] | 10 | #include "content/public/android/content_jni_headers/LauncherThread_jni.h" |
boliu | 61687ec5 | 2017-03-29 20:09:34 | [diff] [blame] | 11 | |
| 12 | namespace content { |
| 13 | namespace android { |
| 14 | |
| 15 | namespace { |
Addison Luh | 07c0d6c | 2025-07-17 18:36:43 | [diff] [blame] | 16 | LauncherThread& GetInstance() { |
| 17 | static base::NoDestructor<LauncherThread> launcher_thread; |
| 18 | return *launcher_thread; |
| 19 | } |
boliu | 61687ec5 | 2017-03-29 20:09:34 | [diff] [blame] | 20 | } |
| 21 | |
Alex Clarke | e1cc1bb | 2019-06-06 17:24:25 | [diff] [blame] | 22 | scoped_refptr<base::SingleThreadTaskRunner> LauncherThread::GetTaskRunner() { |
Addison Luh | 07c0d6c | 2025-07-17 18:36:43 | [diff] [blame] | 23 | return GetInstance().java_handler_thread_.task_runner(); |
boliu | 61687ec5 | 2017-03-29 20:09:34 | [diff] [blame] | 24 | } |
| 25 | |
| 26 | LauncherThread::LauncherThread() |
Victor Miura | 29bb4ab | 2018-08-29 19:31:52 | [diff] [blame] | 27 | : java_handler_thread_(nullptr, |
| 28 | Java_LauncherThread_getHandlerThread( |
Sam Maier | 7fe12c1 | 2024-01-26 19:22:43 | [diff] [blame] | 29 | jni_zero::AttachCurrentThread())) { |
boliu | 311458d | 2017-04-13 18:01:37 | [diff] [blame] | 30 | java_handler_thread_.Start(); |
| 31 | } |
boliu | 61687ec5 | 2017-03-29 20:09:34 | [diff] [blame] | 32 | |
Addison Luh | 07c0d6c | 2025-07-17 18:36:43 | [diff] [blame] | 33 | LauncherThread::~LauncherThread() = default; |
boliu | 61687ec5 | 2017-03-29 20:09:34 | [diff] [blame] | 34 | |
| 35 | } // namespace android |
| 36 | } // namespace content |