summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Kunal Malhotra <malhk@google.com> 2023-01-26 19:22:46 +0000
committer Kunal Malhotra <malhk@google.com> 2023-03-24 17:44:51 +0000
commit072721c6653be9e7d80cd352a526582e525415e1 (patch)
treec7a4055f5094a4e16c99424e64cfd6dff35d4155
parentfd605f80117c24617047ebbb1da93572b30264d8 (diff)
Adding in FGS metrics hook to CDM
Test: manual test on device Change-Id: I5118797fe8a64347f329dea9e9d60790339ce018 Bug: b/263304156
-rw-r--r--core/java/android/companion/CompanionDeviceManager.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/core/java/android/companion/CompanionDeviceManager.java b/core/java/android/companion/CompanionDeviceManager.java
index a522cc04eff1..af5c6dd8e977 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);
+ }
}
/**