From 955c845301ab11d20420ab7add3653a32695c9b2 Mon Sep 17 00:00:00 2001 From: Holly Sun Date: Thu, 10 Nov 2022 14:42:21 -0800 Subject: [PATCH] Add IPC latency in extras. Bug: 255527960 Test: build and flash to phone Change-Id: I5ad830d96e9aa2f3b285fd7ed59f67e0070c4dcf --- core/java/android/app/search/SearchSession.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/core/java/android/app/search/SearchSession.java b/core/java/android/app/search/SearchSession.java index 2cd1d96190b07..10db3376adc57 100644 --- a/core/java/android/app/search/SearchSession.java +++ b/core/java/android/app/search/SearchSession.java @@ -23,9 +23,11 @@ import android.app.search.ISearchCallback.Stub; import android.content.Context; import android.content.pm.ParceledListSlice; import android.os.Binder; +import android.os.Bundle; import android.os.IBinder; import android.os.RemoteException; import android.os.ServiceManager; +import android.os.SystemClock; import android.util.Log; import dalvik.system.CloseGuard; @@ -70,7 +72,7 @@ import java.util.function.Consumer; * @hide */ @SystemApi -public final class SearchSession implements AutoCloseable{ +public final class SearchSession implements AutoCloseable { private static final String TAG = SearchSession.class.getSimpleName(); private static final boolean DEBUG = false; @@ -229,7 +231,14 @@ public final class SearchSession implements AutoCloseable{ if (DEBUG) { Log.d(TAG, "CallbackWrapper.onResult result=" + result.getList()); } - mExecutor.execute(() -> mCallback.accept(result.getList())); + List list = result.getList(); + if (list.size() > 0) { + Bundle bundle = list.get(0).getExtras(); + if (bundle != null) { + bundle.putLong("key_ipc_start", SystemClock.elapsedRealtime()); + } + } + mExecutor.execute(() -> mCallback.accept(list)); } finally { Binder.restoreCallingIdentity(identity); }