diff options
| author | 2021-11-15 16:24:57 +0800 | |
|---|---|---|
| committer | 2021-11-15 14:06:38 +0000 | |
| commit | a1c7df76d3b03de85cbb7e2d16b2321d634e7eeb (patch) | |
| tree | e454f2b85111a8bb9b59352f421f6cafdde5107f | |
| parent | 5f91507b2b13c0132ad198d22db75c2b51a9a663 (diff) | |
profcollectd: Move threading from native side
Previously trace processing's threading is handled on the native side
while the report creation's threading is on the framework side. Move
them all to the frameworks side to reduce complexity.
Test: build
Bug: 183487233
Change-Id: I5dd405b7a73e5be9e0141c20c6c100acbc6defa9
| -rw-r--r-- | services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java b/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java index 4fb801e188d0..8369319ec55d 100644 --- a/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java +++ b/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java @@ -35,6 +35,7 @@ import android.provider.DeviceConfig; import android.util.Log; import com.android.internal.R; +import com.android.internal.os.BackgroundThread; import com.android.server.IoThread; import com.android.server.LocalServices; import com.android.server.SystemService; @@ -146,7 +147,7 @@ public final class ProfcollectForwardingService extends SystemService { connectNativeService(); break; default: - throw new AssertionError("Unknown message: " + message.toString()); + throw new AssertionError("Unknown message: " + message); } } } @@ -190,11 +191,14 @@ public final class ProfcollectForwardingService extends SystemService { Log.d(LOG_TAG, "Starting background process job"); } - try { - sSelfService.mIProfcollect.process(false); - } catch (RemoteException e) { - Log.e(LOG_TAG, e.getMessage()); - } + BackgroundThread.get().getThreadHandler().post( + () -> { + try { + sSelfService.mIProfcollect.process(); + } catch (RemoteException e) { + Log.e(LOG_TAG, e.getMessage()); + } + }); return true; } @@ -301,7 +305,7 @@ public final class ProfcollectForwardingService extends SystemService { } Context context = getContext(); - new Thread(() -> { + BackgroundThread.get().getThreadHandler().post(() -> { try { // Prepare profile report String reportName = mIProfcollect.report() + ".zip"; @@ -321,6 +325,6 @@ public final class ProfcollectForwardingService extends SystemService { } catch (RemoteException e) { Log.e(LOG_TAG, e.getMessage()); } - }).start(); + }); } } |