From 072721c6653be9e7d80cd352a526582e525415e1 Mon Sep 17 00:00:00 2001 From: Kunal Malhotra Date: Thu, 26 Jan 2023 19:22:46 +0000 Subject: [PATCH] Adding in FGS metrics hook to CDM Test: manual test on device Change-Id: I5118797fe8a64347f329dea9e9d60790339ce018 Bug: b/263304156 --- .../companion/CompanionDeviceManager.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/core/java/android/companion/CompanionDeviceManager.java b/core/java/android/companion/CompanionDeviceManager.java index a522cc04eff1e..af5c6dd8e977d 100644 --- a/core/java/android/companion/CompanionDeviceManager.java +++ b/core/java/android/companion/CompanionDeviceManager.java @@ -30,6 +30,8 @@ import android.annotation.SystemApi; import android.annotation.SystemService; import android.annotation.UserHandleAware; import android.app.Activity; +import android.app.ActivityManager; +import android.app.ActivityManagerInternal; import android.app.NotificationManager; import android.app.PendingIntent; import android.bluetooth.BluetoothAdapter; @@ -41,6 +43,7 @@ import android.content.Intent; import android.content.IntentSender; import android.content.pm.PackageManager; import android.net.MacAddress; +import android.os.Binder; import android.os.Handler; import android.os.OutcomeReceiver; import android.os.ParcelFileDescriptor; @@ -53,6 +56,7 @@ import android.util.SparseArray; import com.android.internal.annotations.GuardedBy; import com.android.internal.util.CollectionUtils; +import com.android.server.LocalServices; import libcore.io.IoUtils; @@ -989,6 +993,15 @@ public final class CompanionDeviceManager { ExceptionUtils.propagateIfInstanceOf(e.getCause(), DeviceNotAssociatedException.class); throw e.rethrowFromSystemServer(); } + int callingUid = Binder.getCallingUid(); + int callingPid = Binder.getCallingPid(); + ActivityManagerInternal managerInternal = + LocalServices.getService(ActivityManagerInternal.class); + if (managerInternal != null) { + managerInternal + .logFgsApiBegin(ActivityManager.FOREGROUND_SERVICE_API_TYPE_CDM, + callingUid, callingPid); + } } /** @@ -1021,6 +1034,15 @@ public final class CompanionDeviceManager { } catch (RemoteException e) { ExceptionUtils.propagateIfInstanceOf(e.getCause(), DeviceNotAssociatedException.class); } + int callingUid = Binder.getCallingUid(); + int callingPid = Binder.getCallingPid(); + ActivityManagerInternal managerInternal = + LocalServices.getService(ActivityManagerInternal.class); + if (managerInternal != null) { + managerInternal + .logFgsApiEnd(ActivityManager.FOREGROUND_SERVICE_API_TYPE_CDM, + callingUid, callingPid); + } } /**