From da9d0e669b90e5d5f0ef9be2effb4856386c99fb Mon Sep 17 00:00:00 2001 From: Yi Kong Date: Fri, 19 Nov 2021 16:23:37 +0800 Subject: profcollect: check hardware capability on a background thread This is a blocking event, needs to be moved off from the main thread. Also, don't schedule background processing service if the hardware has no tracing support. Test: manual Bug: 79161490 Bug: 206986559 Change-Id: I039211b26f25ead66cf125f152e794b0c08057ee --- .../server/profcollect/ProfcollectForwardingService.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java b/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java index fb7ef846f813..62a16f7f24fd 100644 --- a/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java +++ b/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java @@ -91,10 +91,12 @@ public final class ProfcollectForwardingService extends SystemService { if (mIProfcollect == null) { return; } - if (serviceHasSupportedTraceProvider()) { - registerObservers(); - } - ProfcollectBGJobService.schedule(getContext()); + BackgroundThread.get().getThreadHandler().post(() -> { + if (serviceHasSupportedTraceProvider()) { + registerObservers(); + ProfcollectBGJobService.schedule(getContext()); + } + }); } } -- cgit v1.2.3-59-g8ed1b