Log the CameraCompatControlEventReported atom. am: 4e5bb88605

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16510181

Change-Id: I3b384463073bcb7350f8045336e9e667f4b182a6
This commit is contained in:
tomnatan
2021-12-23 17:21:04 +00:00
committed by Automerger Merge Worker
2 changed files with 76 additions and 0 deletions

View File

@@ -61,6 +61,11 @@ import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.TYPE_T
import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.TYPE_TRANSITION_WARM_LAUNCH;
import static com.android.internal.util.FrameworkStatsLog.APP_COMPAT_STATE_CHANGED__STATE__NOT_LETTERBOXED;
import static com.android.internal.util.FrameworkStatsLog.APP_COMPAT_STATE_CHANGED__STATE__NOT_VISIBLE;
import static com.android.internal.util.FrameworkStatsLog.CAMERA_COMPAT_CONTROL_EVENT_REPORTED__EVENT__APPEARED_APPLY_TREATMENT;
import static com.android.internal.util.FrameworkStatsLog.CAMERA_COMPAT_CONTROL_EVENT_REPORTED__EVENT__APPEARED_REVERT_TREATMENT;
import static com.android.internal.util.FrameworkStatsLog.CAMERA_COMPAT_CONTROL_EVENT_REPORTED__EVENT__CLICKED_APPLY_TREATMENT;
import static com.android.internal.util.FrameworkStatsLog.CAMERA_COMPAT_CONTROL_EVENT_REPORTED__EVENT__CLICKED_DISMISS;
import static com.android.internal.util.FrameworkStatsLog.CAMERA_COMPAT_CONTROL_EVENT_REPORTED__EVENT__CLICKED_REVERT_TREATMENT;
import static com.android.server.am.MemoryStatUtil.MemoryStat;
import static com.android.server.am.MemoryStatUtil.readMemoryStatFromFilesystem;
import static com.android.server.wm.ActivityTaskManagerDebugConfig.DEBUG_METRICS;
@@ -73,6 +78,8 @@ import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.ActivityOptions;
import android.app.ActivityOptions.SourceInfo;
import android.app.TaskInfo;
import android.app.TaskInfo.CameraCompatControlState;
import android.app.WaitResult;
import android.app.WindowConfiguration.WindowingMode;
import android.content.ComponentName;
@@ -1377,6 +1384,71 @@ class ActivityMetricsLogger {
}
}
/**
* Logs the Camera Compat Control appeared event that corresponds to the given {@code state}
* with the given {@code packageUid}.
*/
void logCameraCompatControlAppearedEventReported(@CameraCompatControlState int state,
int packageUid) {
switch (state) {
case TaskInfo.CAMERA_COMPAT_CONTROL_TREATMENT_SUGGESTED:
logCameraCompatControlEventReported(
CAMERA_COMPAT_CONTROL_EVENT_REPORTED__EVENT__APPEARED_APPLY_TREATMENT,
packageUid);
break;
case TaskInfo.CAMERA_COMPAT_CONTROL_TREATMENT_APPLIED:
logCameraCompatControlEventReported(
CAMERA_COMPAT_CONTROL_EVENT_REPORTED__EVENT__APPEARED_REVERT_TREATMENT,
packageUid);
break;
case TaskInfo.CAMERA_COMPAT_CONTROL_HIDDEN:
// Nothing to log.
break;
default:
Slog.w(TAG, "Unexpected state in logCameraCompatControlAppearedEventReported: "
+ state);
break;
}
}
/**
* Logs the Camera Compat Control clicked event that corresponds to the given {@code state}
* with the given {@code packageUid}.
*/
void logCameraCompatControlClickedEventReported(@CameraCompatControlState int state,
int packageUid) {
switch (state) {
case TaskInfo.CAMERA_COMPAT_CONTROL_TREATMENT_APPLIED:
logCameraCompatControlEventReported(
CAMERA_COMPAT_CONTROL_EVENT_REPORTED__EVENT__CLICKED_APPLY_TREATMENT,
packageUid);
break;
case TaskInfo.CAMERA_COMPAT_CONTROL_TREATMENT_SUGGESTED:
logCameraCompatControlEventReported(
CAMERA_COMPAT_CONTROL_EVENT_REPORTED__EVENT__CLICKED_REVERT_TREATMENT,
packageUid);
break;
case TaskInfo.CAMERA_COMPAT_CONTROL_DISMISSED:
logCameraCompatControlEventReported(
CAMERA_COMPAT_CONTROL_EVENT_REPORTED__EVENT__CLICKED_DISMISS,
packageUid);
break;
default:
Slog.w(TAG, "Unexpected state in logCameraCompatControlAppearedEventReported: "
+ state);
break;
}
}
private void logCameraCompatControlEventReported(int event, int packageUid) {
FrameworkStatsLog.write(FrameworkStatsLog.CAMERA_COMPAT_CONTROL_EVENT_REPORTED, packageUid,
event);
if (DEBUG_METRICS) {
Slog.i(TAG, String.format("CAMERA_COMPAT_CONTROL_EVENT_REPORTED(%s, %s)", packageUid,
event));
}
}
private ArtManagerInternal getArtManagerInternal() {
if (mArtManagerInternal == null) {
// Note that this may be null.

View File

@@ -1626,6 +1626,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
if (!changed) {
return;
}
mTaskSupervisor.getActivityMetricsLogger().logCameraCompatControlAppearedEventReported(
newCameraCompatControlState, info.applicationInfo.uid);
if (newCameraCompatControlState == TaskInfo.CAMERA_COMPAT_CONTROL_HIDDEN) {
mCameraCompatControlClickedByUser = false;
mCompatCameraControlCallback = null;
@@ -1648,6 +1650,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
if (!changed) {
return;
}
mTaskSupervisor.getActivityMetricsLogger().logCameraCompatControlClickedEventReported(
state, info.applicationInfo.uid);
if (state == TaskInfo.CAMERA_COMPAT_CONTROL_DISMISSED) {
mCompatCameraControlCallback = null;
return;