Migrate pullNumBiometricsEnrolled
Test: adb shell cmd stats pull-source 10031 Test: adb shell cmd stats pull-source 10048 Change-Id: I35e366d6a53288afdbee7eb5462a5f15a4bd0dc8
This commit is contained in:
@@ -722,50 +722,6 @@ public class StatsCompanionService extends IStatsCompanionService.Stub {
|
||||
pulledData.add(e);
|
||||
}
|
||||
|
||||
private void pullNumBiometricsEnrolled(int modality, int tagId, long elapsedNanos,
|
||||
long wallClockNanos, List<StatsLogEventWrapper> pulledData) {
|
||||
final PackageManager pm = mContext.getPackageManager();
|
||||
FingerprintManager fingerprintManager = null;
|
||||
FaceManager faceManager = null;
|
||||
|
||||
if (pm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) {
|
||||
fingerprintManager = mContext.getSystemService(
|
||||
FingerprintManager.class);
|
||||
}
|
||||
if (pm.hasSystemFeature(PackageManager.FEATURE_FACE)) {
|
||||
faceManager = mContext.getSystemService(FaceManager.class);
|
||||
}
|
||||
|
||||
if (modality == BiometricsProtoEnums.MODALITY_FINGERPRINT && fingerprintManager == null) {
|
||||
return;
|
||||
}
|
||||
if (modality == BiometricsProtoEnums.MODALITY_FACE && faceManager == null) {
|
||||
return;
|
||||
}
|
||||
UserManager userManager = mContext.getSystemService(UserManager.class);
|
||||
if (userManager == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
final long token = Binder.clearCallingIdentity();
|
||||
for (UserInfo user : userManager.getUsers()) {
|
||||
final int userId = user.getUserHandle().getIdentifier();
|
||||
int numEnrolled = 0;
|
||||
if (modality == BiometricsProtoEnums.MODALITY_FINGERPRINT) {
|
||||
numEnrolled = fingerprintManager.getEnrolledFingerprints(userId).size();
|
||||
} else if (modality == BiometricsProtoEnums.MODALITY_FACE) {
|
||||
numEnrolled = faceManager.getEnrolledFaces(userId).size();
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
|
||||
e.writeInt(userId);
|
||||
e.writeInt(numEnrolled);
|
||||
pulledData.add(e);
|
||||
}
|
||||
Binder.restoreCallingIdentity(token);
|
||||
}
|
||||
|
||||
// read high watermark for section
|
||||
private long readProcStatsHighWaterMark(int section) {
|
||||
try {
|
||||
@@ -1372,18 +1328,6 @@ public class StatsCompanionService extends IStatsCompanionService.Stub {
|
||||
break;
|
||||
}
|
||||
|
||||
case StatsLog.NUM_FINGERPRINTS_ENROLLED: {
|
||||
pullNumBiometricsEnrolled(BiometricsProtoEnums.MODALITY_FINGERPRINT, tagId,
|
||||
elapsedNanos, wallClockNanos, ret);
|
||||
break;
|
||||
}
|
||||
|
||||
case StatsLog.NUM_FACES_ENROLLED: {
|
||||
pullNumBiometricsEnrolled(BiometricsProtoEnums.MODALITY_FACE, tagId, elapsedNanos,
|
||||
wallClockNanos, ret);
|
||||
break;
|
||||
}
|
||||
|
||||
case StatsLog.PROC_STATS: {
|
||||
pullProcessStats(ProcessStats.REPORT_ALL, tagId, elapsedNanos, wallClockNanos, ret);
|
||||
break;
|
||||
|
||||
@@ -95,14 +95,6 @@ std::map<PullerKey, PullAtomInfo> StatsPullerManager::kAllPullAtomInfo = {
|
||||
{{.atomTag = android::util::BATTERY_CYCLE_COUNT},
|
||||
{.puller = new ResourceHealthManagerPuller(android::util::BATTERY_CYCLE_COUNT)}},
|
||||
|
||||
// Number of fingerprints enrolled for each user.
|
||||
{{.atomTag = android::util::NUM_FINGERPRINTS_ENROLLED},
|
||||
{.puller = new StatsCompanionServicePuller(android::util::NUM_FINGERPRINTS_ENROLLED)}},
|
||||
|
||||
// Number of faces enrolled for each user.
|
||||
{{.atomTag = android::util::NUM_FACES_ENROLLED},
|
||||
{.puller = new StatsCompanionServicePuller(android::util::NUM_FACES_ENROLLED)}},
|
||||
|
||||
// ProcStats.
|
||||
{{.atomTag = android::util::PROC_STATS},
|
||||
{.puller = new StatsCompanionServicePuller(android::util::PROC_STATS)}},
|
||||
|
||||
@@ -1751,19 +1751,73 @@ public class StatsPullAtomService extends SystemService {
|
||||
}
|
||||
|
||||
private void registerNumFingerprintsEnrolled() {
|
||||
// No op.
|
||||
}
|
||||
|
||||
private void pullNumFingerprintsEnrolled() {
|
||||
// No op.
|
||||
int tagId = StatsLog.NUM_FINGERPRINTS_ENROLLED;
|
||||
mStatsManager.registerPullAtomCallback(
|
||||
tagId,
|
||||
null, // use default PullAtomMetadata values
|
||||
(atomTag, data) -> pullNumBiometricsEnrolled(
|
||||
BiometricsProtoEnums.MODALITY_FINGERPRINT, atomTag, data),
|
||||
BackgroundThread.getExecutor()
|
||||
);
|
||||
}
|
||||
|
||||
private void registerNumFacesEnrolled() {
|
||||
// No op.
|
||||
int tagId = StatsLog.NUM_FACES_ENROLLED;
|
||||
mStatsManager.registerPullAtomCallback(
|
||||
tagId,
|
||||
null, // use default PullAtomMetadata values
|
||||
(atomTag, data) -> pullNumBiometricsEnrolled(
|
||||
BiometricsProtoEnums.MODALITY_FACE, atomTag, data),
|
||||
BackgroundThread.getExecutor()
|
||||
);
|
||||
}
|
||||
|
||||
private void pullNumFacesEnrolled() {
|
||||
// No op.
|
||||
private int pullNumBiometricsEnrolled(int modality, int atomTag, List<StatsEvent> pulledData) {
|
||||
final PackageManager pm = mContext.getPackageManager();
|
||||
FingerprintManager fingerprintManager = null;
|
||||
FaceManager faceManager = null;
|
||||
|
||||
if (pm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) {
|
||||
fingerprintManager = mContext.getSystemService(FingerprintManager.class);
|
||||
}
|
||||
if (pm.hasSystemFeature(PackageManager.FEATURE_FACE)) {
|
||||
faceManager = mContext.getSystemService(FaceManager.class);
|
||||
}
|
||||
|
||||
if (modality == BiometricsProtoEnums.MODALITY_FINGERPRINT && fingerprintManager == null) {
|
||||
return StatsManager.PULL_SKIP;
|
||||
}
|
||||
if (modality == BiometricsProtoEnums.MODALITY_FACE && faceManager == null) {
|
||||
return StatsManager.PULL_SKIP;
|
||||
}
|
||||
UserManager userManager = mContext.getSystemService(UserManager.class);
|
||||
if (userManager == null) {
|
||||
return StatsManager.PULL_SKIP;
|
||||
}
|
||||
|
||||
final long token = Binder.clearCallingIdentity();
|
||||
try {
|
||||
for (UserInfo user : userManager.getUsers()) {
|
||||
final int userId = user.getUserHandle().getIdentifier();
|
||||
int numEnrolled = 0;
|
||||
if (modality == BiometricsProtoEnums.MODALITY_FINGERPRINT) {
|
||||
numEnrolled = fingerprintManager.getEnrolledFingerprints(userId).size();
|
||||
} else if (modality == BiometricsProtoEnums.MODALITY_FACE) {
|
||||
numEnrolled = faceManager.getEnrolledFaces(userId).size();
|
||||
} else {
|
||||
return StatsManager.PULL_SKIP;
|
||||
}
|
||||
StatsEvent e = StatsEvent.newBuilder()
|
||||
.setAtomId(atomTag)
|
||||
.writeInt(userId)
|
||||
.writeInt(numEnrolled)
|
||||
.build();
|
||||
pulledData.add(e);
|
||||
}
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(token);
|
||||
}
|
||||
return StatsManager.PULL_SUCCESS;
|
||||
}
|
||||
|
||||
private void registerProcStats() {
|
||||
|
||||
Reference in New Issue
Block a user