1 /* 2 * Copyright (C) 2021 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package android.car.builtin.util; 18 19 import android.annotation.Nullable; 20 import android.annotation.RequiresApi; 21 import android.annotation.SystemApi; 22 import android.car.builtin.annotation.AddedIn; 23 import android.car.builtin.annotation.PlatformVersion; 24 import android.os.Build; 25 import android.util.EventLog; 26 27 /** 28 * Helper for {@link EventLog} 29 * 30 * @hide 31 */ 32 @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) 33 public final class EventLogHelper { 34 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarHelperStart()35 public static void writeCarHelperStart() { 36 EventLog.writeEvent(EventLogTags.CAR_HELPER_START); 37 } 38 39 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarHelperBootPhase(int phase)40 public static void writeCarHelperBootPhase(int phase) { 41 EventLog.writeEvent(EventLogTags.CAR_HELPER_BOOT_PHASE, phase); 42 } 43 44 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarHelperUserStarting(int userId)45 public static void writeCarHelperUserStarting(int userId) { 46 EventLog.writeEvent(EventLogTags.CAR_HELPER_USER_STARTING, userId); 47 } 48 49 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarHelperUserSwitching(int fromUserId, int toUserId)50 public static void writeCarHelperUserSwitching(int fromUserId, int toUserId) { 51 EventLog.writeEvent(EventLogTags.CAR_HELPER_USER_SWITCHING, fromUserId, toUserId); 52 } 53 54 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarHelperUserUnlocking(int userId)55 public static void writeCarHelperUserUnlocking(int userId) { 56 EventLog.writeEvent(EventLogTags.CAR_HELPER_USER_UNLOCKING, userId); 57 } 58 59 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarHelperUserUnlocked(int userId)60 public static void writeCarHelperUserUnlocked(int userId) { 61 EventLog.writeEvent(EventLogTags.CAR_HELPER_USER_UNLOCKED, userId); 62 } 63 64 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarHelperUserStopping(int userId)65 public static void writeCarHelperUserStopping(int userId) { 66 EventLog.writeEvent(EventLogTags.CAR_HELPER_USER_STOPPING, userId); 67 } 68 69 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarHelperUserStopped(int userId)70 public static void writeCarHelperUserStopped(int userId) { 71 EventLog.writeEvent(EventLogTags.CAR_HELPER_USER_STOPPED, userId); 72 } 73 74 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarHelperServiceConnected()75 public static void writeCarHelperServiceConnected() { 76 EventLog.writeEvent(EventLogTags.CAR_HELPER_SVC_CONNECTED); 77 } 78 79 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarServiceInit(int numberServices)80 public static void writeCarServiceInit(int numberServices) { 81 EventLog.writeEvent(EventLogTags.CAR_SERVICE_INIT, numberServices); 82 } 83 84 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarServiceVhalReconnected(int numberServices)85 public static void writeCarServiceVhalReconnected(int numberServices) { 86 EventLog.writeEvent(EventLogTags.CAR_SERVICE_VHAL_RECONNECTED, numberServices); 87 } 88 89 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarServiceSetCarServiceHelper(int pid)90 public static void writeCarServiceSetCarServiceHelper(int pid) { 91 EventLog.writeEvent(EventLogTags.CAR_SERVICE_SET_CAR_SERVICE_HELPER, pid); 92 } 93 94 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarServiceOnUserLifecycle(int type, int fromUserId, int toUserId)95 public static void writeCarServiceOnUserLifecycle(int type, int fromUserId, int toUserId) { 96 EventLog.writeEvent(EventLogTags.CAR_SERVICE_ON_USER_LIFECYCLE, type, fromUserId, toUserId); 97 } 98 99 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarServiceCreate(boolean hasVhal)100 public static void writeCarServiceCreate(boolean hasVhal) { 101 EventLog.writeEvent(EventLogTags.CAR_SERVICE_CREATE, hasVhal ? 1 : 0); 102 } 103 104 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarServiceConnected(@ullable String interfaceName)105 public static void writeCarServiceConnected(@Nullable String interfaceName) { 106 EventLog.writeEvent(EventLogTags.CAR_SERVICE_CONNECTED, interfaceName); 107 } 108 109 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarServiceDestroy(boolean hasVhal)110 public static void writeCarServiceDestroy(boolean hasVhal) { 111 EventLog.writeEvent(EventLogTags.CAR_SERVICE_DESTROY, hasVhal ? 1 : 0); 112 } 113 114 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarServiceVhalDied(long cookie)115 public static void writeCarServiceVhalDied(long cookie) { 116 EventLog.writeEvent(EventLogTags.CAR_SERVICE_VHAL_DIED, cookie); 117 } 118 119 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarServiceInitBootUser()120 public static void writeCarServiceInitBootUser() { 121 EventLog.writeEvent(EventLogTags.CAR_SERVICE_INIT_BOOT_USER); 122 } 123 124 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarServiceOnUserRemoved(int userId)125 public static void writeCarServiceOnUserRemoved(int userId) { 126 EventLog.writeEvent(EventLogTags.CAR_SERVICE_ON_USER_REMOVED, userId); 127 } 128 129 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceInitialUserInfoReq(int requestType, int timeout, int currentUserId, int currentUserFlags, int numberExistingUsers)130 public static void writeCarUserServiceInitialUserInfoReq(int requestType, int timeout, 131 int currentUserId, int currentUserFlags, int numberExistingUsers) { 132 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_INITIAL_USER_INFO_REQ, requestType, timeout, 133 currentUserId, currentUserFlags, numberExistingUsers); 134 } 135 136 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceInitialUserInfoResp(int status, int action, int userId, int flags, @Nullable String safeName, @Nullable String userLocales)137 public static void writeCarUserServiceInitialUserInfoResp(int status, int action, int userId, 138 int flags, @Nullable String safeName, @Nullable String userLocales) { 139 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_INITIAL_USER_INFO_RESP, status, action, 140 userId, flags, safeName, userLocales); 141 } 142 143 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceSetInitialUser(int userId)144 public static void writeCarUserServiceSetInitialUser(int userId) { 145 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_SET_INITIAL_USER, userId); 146 } 147 148 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceSetLifecycleListener(int uid, @Nullable String packageName)149 public static void writeCarUserServiceSetLifecycleListener(int uid, 150 @Nullable String packageName) { 151 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_SET_LIFECYCLE_LISTENER, uid, packageName); 152 } 153 154 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceResetLifecycleListener(int uid, @Nullable String packageName)155 public static void writeCarUserServiceResetLifecycleListener(int uid, 156 @Nullable String packageName) { 157 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_RESET_LIFECYCLE_LISTENER, uid, packageName); 158 } 159 160 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceSwitchUserReq(int userId, int timeout)161 public static void writeCarUserServiceSwitchUserReq(int userId, int timeout) { 162 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_SWITCH_USER_REQ, userId, timeout); 163 } 164 165 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceSwitchUserResp(int halCallbackStatus, int userSwitchStatus, @Nullable String errorMessage)166 public static void writeCarUserServiceSwitchUserResp(int halCallbackStatus, 167 int userSwitchStatus, @Nullable String errorMessage) { 168 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_SWITCH_USER_RESP, halCallbackStatus, 169 userSwitchStatus, errorMessage); 170 } 171 172 /** 173 * Logs a {@code EventLogTags.CAR_USER_SVC_LOGOUT_USER_REQ} event. 174 */ 175 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceLogoutUserReq(int userId, int timeout)176 public static void writeCarUserServiceLogoutUserReq(int userId, int timeout) { 177 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_LOGOUT_USER_REQ, userId, timeout); 178 } 179 180 /** 181 * Logs a {@code EventLogTags.CAR_USER_SVC_LOGOUT_USER_RESP} event. 182 */ 183 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceLogoutUserResp(int halCallbackStatus, int userSwitchStatus, @Nullable String errorMessage)184 public static void writeCarUserServiceLogoutUserResp(int halCallbackStatus, 185 int userSwitchStatus, @Nullable String errorMessage) { 186 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_LOGOUT_USER_RESP, halCallbackStatus, 187 userSwitchStatus, errorMessage); 188 } 189 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServicePostSwitchUserReq(int targetUserId, int currentUserId)190 public static void writeCarUserServicePostSwitchUserReq(int targetUserId, int currentUserId) { 191 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_POST_SWITCH_USER_REQ, targetUserId, 192 currentUserId); 193 } 194 195 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceGetUserAuthReq(int uid, int userId, int numberTypes)196 public static void writeCarUserServiceGetUserAuthReq(int uid, int userId, int numberTypes) { 197 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_GET_USER_AUTH_REQ, uid, userId, numberTypes); 198 } 199 200 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceGetUserAuthResp(int numberValues)201 public static void writeCarUserServiceGetUserAuthResp(int numberValues) { 202 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_GET_USER_AUTH_RESP, numberValues); 203 } 204 205 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceSwitchUserUiReq(int userId)206 public static void writeCarUserServiceSwitchUserUiReq(int userId) { 207 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_SWITCH_USER_UI_REQ, userId); 208 } 209 210 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceSwitchUserFromHalReq(int requestId, int uid)211 public static void writeCarUserServiceSwitchUserFromHalReq(int requestId, int uid) { 212 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_SWITCH_USER_FROM_HAL_REQ, requestId, uid); 213 } 214 215 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceSetUserAuthReq(int uid, int userId, int numberAssociations)216 public static void writeCarUserServiceSetUserAuthReq(int uid, int userId, 217 int numberAssociations) { 218 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_SET_USER_AUTH_REQ, uid, userId, 219 numberAssociations); 220 } 221 222 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceSetUserAuthResp(int numberValues, @Nullable String errorMessage)223 public static void writeCarUserServiceSetUserAuthResp(int numberValues, 224 @Nullable String errorMessage) { 225 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_SET_USER_AUTH_RESP, numberValues, 226 errorMessage); 227 } 228 229 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceCreateUserReq(@ullable String safeName, @Nullable String userType, int flags, int timeout, int hasCallerRestrictions)230 public static void writeCarUserServiceCreateUserReq(@Nullable String safeName, 231 @Nullable String userType, int flags, int timeout, int hasCallerRestrictions) { 232 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_CREATE_USER_REQ, safeName, userType, flags, 233 timeout, hasCallerRestrictions); 234 } 235 236 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceCreateUserResp(int status, int result, @Nullable String errorMessage)237 public static void writeCarUserServiceCreateUserResp(int status, int result, 238 @Nullable String errorMessage) { 239 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_CREATE_USER_RESP, status, result, 240 errorMessage); 241 } 242 243 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceCreateUserUserCreated(int userId, @Nullable String safeName, @Nullable String userType, int flags)244 public static void writeCarUserServiceCreateUserUserCreated(int userId, 245 @Nullable String safeName, @Nullable String userType, int flags) { 246 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_CREATE_USER_USER_CREATED, userId, safeName, 247 userType, flags); 248 } 249 250 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceCreateUserUserRemoved(int userId, @Nullable String reason)251 public static void writeCarUserServiceCreateUserUserRemoved(int userId, 252 @Nullable String reason) { 253 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_CREATE_USER_USER_REMOVED, userId, reason); 254 } 255 256 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceRemoveUserReq(int userId, int hascallerrestrictions)257 public static void writeCarUserServiceRemoveUserReq(int userId, int hascallerrestrictions) { 258 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_REMOVE_USER_REQ, userId, 259 hascallerrestrictions); 260 } 261 262 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceRemoveUserResp(int userId, int result)263 public static void writeCarUserServiceRemoveUserResp(int userId, int result) { 264 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_REMOVE_USER_RESP, userId, result); 265 } 266 267 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceNotifyAppLifecycleListener(int uid, @Nullable String packageName, int eventType, int fromUserId, int toUserId)268 public static void writeCarUserServiceNotifyAppLifecycleListener(int uid, 269 @Nullable String packageName, int eventType, int fromUserId, int toUserId) { 270 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_NOTIFY_APP_LIFECYCLE_LISTENER, uid, 271 packageName, eventType, fromUserId, toUserId); 272 } 273 274 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceNotifyInternalLifecycleListener( @ullable String listenerName, int eventType, int fromUserId, int toUserId)275 public static void writeCarUserServiceNotifyInternalLifecycleListener( 276 @Nullable String listenerName, int eventType, int fromUserId, int toUserId) { 277 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_NOTIFY_INTERNAL_LIFECYCLE_LISTENER, 278 listenerName, eventType, fromUserId, toUserId); 279 } 280 281 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServicePreCreationRequested(int numberUsers, int numberGuests)282 public static void writeCarUserServicePreCreationRequested(int numberUsers, int numberGuests) { 283 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_PRE_CREATION_REQUESTED, numberUsers, 284 numberGuests); 285 } 286 287 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServicePreCreationStatus(int numberExistingUsers, int numberUsersToAdd, int numberUsersToRemove, int numberExistingGuests, int numberGuestsToAdd, int numberGuestsToRemove, int numberInvalidUsersToRemove)288 public static void writeCarUserServicePreCreationStatus(int numberExistingUsers, 289 int numberUsersToAdd, int numberUsersToRemove, int numberExistingGuests, 290 int numberGuestsToAdd, int numberGuestsToRemove, int numberInvalidUsersToRemove) { 291 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_PRE_CREATION_STATUS, numberExistingUsers, 292 numberUsersToAdd, numberUsersToRemove, numberExistingGuests, numberGuestsToAdd, 293 numberGuestsToRemove, numberInvalidUsersToRemove); 294 } 295 296 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceStartUserInBackgroundReq(int userId)297 public static void writeCarUserServiceStartUserInBackgroundReq(int userId) { 298 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_START_USER_IN_BACKGROUND_REQ, userId); 299 } 300 301 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceStartUserInBackgroundResp(int userId, int result)302 public static void writeCarUserServiceStartUserInBackgroundResp(int userId, int result) { 303 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_START_USER_IN_BACKGROUND_RESP, userId, 304 result); 305 } 306 307 /** Logs a {@code EventLogTags.CAR_USER_SVC_START_USER_VISIBLE_ON_DISPLAY_REQ} event. */ 308 @RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE) 309 @AddedIn(PlatformVersion.UPSIDE_DOWN_CAKE_0) writeCarUserServiceStartUserVisibleOnDisplayReq(int userId, int displayId)310 public static void writeCarUserServiceStartUserVisibleOnDisplayReq(int userId, int displayId) { 311 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_START_USER_VISIBLE_ON_DISPLAY_REQ, 312 userId, displayId); 313 } 314 315 /** Logs a {@code EventLogTags.CAR_USER_SVC_START_USER_VISIBLE_ON_DISPLAY_RESP} event. */ 316 @RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE) 317 @AddedIn(PlatformVersion.UPSIDE_DOWN_CAKE_0) writeCarUserServiceStartUserVisibleOnDisplayResp( int userId, int displayId, int result)318 public static void writeCarUserServiceStartUserVisibleOnDisplayResp( 319 int userId, int displayId, int result) { 320 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_START_USER_VISIBLE_ON_DISPLAY_RESP, 321 userId, displayId, result); 322 } 323 324 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceStopUserReq(int userId)325 public static void writeCarUserServiceStopUserReq(int userId) { 326 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_STOP_USER_REQ, userId); 327 } 328 329 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceStopUserResp(int userId, int result)330 public static void writeCarUserServiceStopUserResp(int userId, int result) { 331 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_STOP_USER_RESP, userId, result); 332 } 333 334 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserServiceInitialUserInfoReqComplete(int requestType)335 public static void writeCarUserServiceInitialUserInfoReqComplete(int requestType) { 336 EventLog.writeEvent(EventLogTags.CAR_USER_SVC_INITIAL_USER_INFO_REQ_COMPLETE, requestType); 337 } 338 339 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserHalInitialUserInfoReq(int requestId, int requestType, int timeout)340 public static void writeCarUserHalInitialUserInfoReq(int requestId, int requestType, 341 int timeout) { 342 EventLog.writeEvent(EventLogTags.CAR_USER_HAL_INITIAL_USER_INFO_REQ, requestId, requestType, 343 timeout); 344 } 345 346 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserHalInitialUserInfoResp(int requestId, int status, int action, int userId, int flags, @Nullable String safeName, @Nullable String userLocales)347 public static void writeCarUserHalInitialUserInfoResp(int requestId, int status, int action, 348 int userId, int flags, @Nullable String safeName, @Nullable String userLocales) { 349 EventLog.writeEvent(EventLogTags.CAR_USER_HAL_INITIAL_USER_INFO_RESP, requestId, status, 350 action, userId, flags, safeName, userLocales); 351 } 352 353 @RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE) 354 @AddedIn(PlatformVersion.UPSIDE_DOWN_CAKE_0) writeCarInitialUserStartFgUser(int userId)355 public static void writeCarInitialUserStartFgUser(int userId) { 356 EventLog.writeEvent(EventLogTags.CAR_INITIAL_USER_START_FG_USER, userId); 357 } 358 359 @RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE) 360 @AddedIn(PlatformVersion.UPSIDE_DOWN_CAKE_0) writeCarInitialUserInfo(int type, boolean replaceGuest, int switchUserId, @Nullable String newUserName, int newUserFlags, boolean supportsOverrideUserIdProperty, @Nullable String userLocales)361 public static void writeCarInitialUserInfo(int type, boolean replaceGuest, 362 int switchUserId, @Nullable String newUserName, int newUserFlags, 363 boolean supportsOverrideUserIdProperty, @Nullable String userLocales) { 364 EventLog.writeEvent(EventLogTags.CAR_INITIAL_USER_INFO, type, replaceGuest ? 1 : 0, 365 switchUserId, 366 newUserName, newUserFlags, supportsOverrideUserIdProperty ? 1 : 0, userLocales); 367 } 368 369 @RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE) 370 @AddedIn(PlatformVersion.UPSIDE_DOWN_CAKE_0) writeCarInitialUserFallbackDefaultBehavior(@ullable String reason)371 public static void writeCarInitialUserFallbackDefaultBehavior(@Nullable String reason) { 372 EventLog.writeEvent(EventLogTags.CAR_INITIAL_USER_FALLBACK_DEFAULT_BEHAVIOR, reason); 373 } 374 375 @RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE) 376 @AddedIn(PlatformVersion.UPSIDE_DOWN_CAKE_0) writeCarInitialUserReplaceGuest(int userId)377 public static void writeCarInitialUserReplaceGuest(int userId) { 378 EventLog.writeEvent(EventLogTags.CAR_INITIAL_USER_REPLACE_GUEST, userId); 379 } 380 381 @RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE) 382 @AddedIn(PlatformVersion.UPSIDE_DOWN_CAKE_0) writeCarInitialUserUnlockSystemUser()383 public static void writeCarInitialUserUnlockSystemUser() { 384 EventLog.writeEvent(EventLogTags.CAR_INITIAL_USER_UNLOCK_SYSTEM_USER); 385 } 386 387 @RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE) 388 @AddedIn(PlatformVersion.UPSIDE_DOWN_CAKE_0) writeCarInitialUserSetLastActive(int userId)389 public static void writeCarInitialUserSetLastActive(int userId) { 390 EventLog.writeEvent(EventLogTags.CAR_INITIAL_USER_SET_LAST_ACTIVE, userId); 391 } 392 393 @RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE) 394 @AddedIn(PlatformVersion.UPSIDE_DOWN_CAKE_0) writeCarInitialUserResetGlobalProperty(@ullable String name)395 public static void writeCarInitialUserResetGlobalProperty(@Nullable String name) { 396 EventLog.writeEvent(EventLogTags.CAR_INITIAL_USER_RESET_GLOBAL_PROPERTY, name); 397 } 398 399 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserHalSwitchUserReq(int requestId, int userId, int userFlags, int timeout)400 public static void writeCarUserHalSwitchUserReq(int requestId, int userId, int userFlags, 401 int timeout) { 402 EventLog.writeEvent(EventLogTags.CAR_USER_HAL_SWITCH_USER_REQ, requestId, userId, userFlags, 403 timeout); 404 } 405 406 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserHalSwitchUserResp(int requestId, int status, int result, @Nullable String errorMessage)407 public static void writeCarUserHalSwitchUserResp(int requestId, int status, int result, 408 @Nullable String errorMessage) { 409 EventLog.writeEvent(EventLogTags.CAR_USER_HAL_SWITCH_USER_RESP, requestId, status, result, 410 errorMessage); 411 } 412 413 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserHalPostSwitchUserReq(int requestId, int targetUserId, int currentUserId)414 public static void writeCarUserHalPostSwitchUserReq(int requestId, int targetUserId, 415 int currentUserId) { 416 EventLog.writeEvent(EventLogTags.CAR_USER_HAL_POST_SWITCH_USER_REQ, requestId, targetUserId, 417 currentUserId); 418 } 419 420 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserHalGetUserAuthReq(@ullable Object[] int32Values)421 public static void writeCarUserHalGetUserAuthReq(@Nullable Object[] int32Values) { 422 EventLog.writeEvent(EventLogTags.CAR_USER_HAL_GET_USER_AUTH_REQ, int32Values); 423 } 424 425 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserHalGetUserAuthResp(@ullable Object[] valuesAndError)426 public static void writeCarUserHalGetUserAuthResp(@Nullable Object[] valuesAndError) { 427 EventLog.writeEvent(EventLogTags.CAR_USER_HAL_GET_USER_AUTH_RESP, valuesAndError); 428 } 429 430 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserHalLegacySwitchUserReq(int requestId, int targetUserId, int currentUserId)431 public static void writeCarUserHalLegacySwitchUserReq(int requestId, int targetUserId, 432 int currentUserId) { 433 EventLog.writeEvent(EventLogTags.CAR_USER_HAL_LEGACY_SWITCH_USER_REQ, requestId, 434 targetUserId, currentUserId); 435 } 436 437 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserHalSetUserAuthReq(@ullable Object[] int32Values)438 public static void writeCarUserHalSetUserAuthReq(@Nullable Object[] int32Values) { 439 EventLog.writeEvent(EventLogTags.CAR_USER_HAL_SET_USER_AUTH_REQ, int32Values); 440 } 441 442 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserHalSetUserAuthResp(@ullable Object[] valuesAndError)443 public static void writeCarUserHalSetUserAuthResp(@Nullable Object[] valuesAndError) { 444 EventLog.writeEvent(EventLogTags.CAR_USER_HAL_SET_USER_AUTH_RESP, valuesAndError); 445 } 446 447 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserHalOemSwitchUserReq(int requestId, int targetUserId)448 public static void writeCarUserHalOemSwitchUserReq(int requestId, int targetUserId) { 449 EventLog.writeEvent(EventLogTags.CAR_USER_HAL_OEM_SWITCH_USER_REQ, requestId, targetUserId); 450 } 451 452 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserHalCreateUserReq(int requestId, @Nullable String safeName, int flags, int timeout)453 public static void writeCarUserHalCreateUserReq(int requestId, @Nullable String safeName, 454 int flags, int timeout) { 455 EventLog.writeEvent(EventLogTags.CAR_USER_HAL_CREATE_USER_REQ, requestId, safeName, flags, 456 timeout); 457 } 458 459 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserHalCreateUserResp(int requestId, int status, int result, @Nullable String errorMessage)460 public static void writeCarUserHalCreateUserResp(int requestId, int status, int result, 461 @Nullable String errorMessage) { 462 EventLog.writeEvent(EventLogTags.CAR_USER_HAL_CREATE_USER_RESP, requestId, status, result, 463 errorMessage); 464 } 465 466 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserHalRemoveUserReq(int targetUserId, int currentUserId)467 public static void writeCarUserHalRemoveUserReq(int targetUserId, int currentUserId) { 468 EventLog.writeEvent(EventLogTags.CAR_USER_HAL_REMOVE_USER_REQ, targetUserId, currentUserId); 469 } 470 471 /** Logs a {@code EventLogTags.CAR_USER_MGR_ADD_LISTENER} event. */ 472 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserManagerAddListener(int uid, @Nullable String packageName, boolean hasFilter)473 public static void writeCarUserManagerAddListener(int uid, @Nullable String packageName, 474 boolean hasFilter) { 475 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_ADD_LISTENER, uid, packageName, 476 hasFilter ? 1 : 0); 477 } 478 479 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserManagerRemoveListener(int uid, @Nullable String packageName)480 public static void writeCarUserManagerRemoveListener(int uid, @Nullable String packageName) { 481 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_REMOVE_LISTENER, uid, packageName); 482 } 483 484 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserManagerDisconnected(int uid)485 public static void writeCarUserManagerDisconnected(int uid) { 486 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_DISCONNECTED, uid); 487 } 488 489 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserManagerSwitchUserReq(int uid, int userId)490 public static void writeCarUserManagerSwitchUserReq(int uid, int userId) { 491 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_SWITCH_USER_REQ, uid, userId); 492 } 493 494 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserManagerSwitchUserResp(int uid, int status, @Nullable String errorMessage)495 public static void writeCarUserManagerSwitchUserResp(int uid, int status, 496 @Nullable String errorMessage) { 497 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_SWITCH_USER_RESP, uid, status, errorMessage); 498 } 499 500 /** 501 * Logs a {@code EventLogTags.CAR_USER_MGR_LOGOUT_USER_REQ} event. 502 */ 503 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserManagerLogoutUserReq(int uid)504 public static void writeCarUserManagerLogoutUserReq(int uid) { 505 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_LOGOUT_USER_REQ, uid); 506 } 507 508 /** 509 * Logs a {@code EventLogTags.CAR_USER_MGR_LOGOUT_USER_RESP} event. 510 */ 511 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserManagerLogoutUserResp(int uid, int status, @Nullable String errorMessage)512 public static void writeCarUserManagerLogoutUserResp(int uid, int status, 513 @Nullable String errorMessage) { 514 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_LOGOUT_USER_RESP, uid, status, errorMessage); 515 } 516 517 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserManagerGetUserAuthReq(@ullable Object[] types)518 public static void writeCarUserManagerGetUserAuthReq(@Nullable Object[] types) { 519 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_GET_USER_AUTH_REQ, types); 520 } 521 522 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserManagerGetUserAuthResp(@ullable Object[] values)523 public static void writeCarUserManagerGetUserAuthResp(@Nullable Object[] values) { 524 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_GET_USER_AUTH_RESP, values); 525 } 526 527 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserManagerSetUserAuthReq(@ullable Object[] typesAndValuesPairs)528 public static void writeCarUserManagerSetUserAuthReq(@Nullable Object[] typesAndValuesPairs) { 529 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_SET_USER_AUTH_REQ, typesAndValuesPairs); 530 } 531 532 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserManagerSetUserAuthResp(@ullable Object[] values)533 public static void writeCarUserManagerSetUserAuthResp(@Nullable Object[] values) { 534 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_SET_USER_AUTH_RESP, values); 535 } 536 537 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserManagerCreateUserReq(int uid, @Nullable String safeName, @Nullable String userType, int flags)538 public static void writeCarUserManagerCreateUserReq(int uid, @Nullable String safeName, 539 @Nullable String userType, int flags) { 540 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_CREATE_USER_REQ, uid, safeName, userType, 541 flags); 542 } 543 544 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserManagerCreateUserResp(int uid, int status, @Nullable String errorMessage)545 public static void writeCarUserManagerCreateUserResp(int uid, int status, 546 @Nullable String errorMessage) { 547 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_CREATE_USER_RESP, uid, status, errorMessage); 548 } 549 550 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserManagerRemoveUserReq(int uid, int userId)551 public static void writeCarUserManagerRemoveUserReq(int uid, int userId) { 552 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_REMOVE_USER_REQ, uid, userId); 553 } 554 555 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserManagerRemoveUserResp(int uid, int status)556 public static void writeCarUserManagerRemoveUserResp(int uid, int status) { 557 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_REMOVE_USER_RESP, uid, status); 558 } 559 560 /** Logs a {@code EventLogTags.CAR_USER_MGR_START_USER_REQ} event. */ 561 @AddedIn(PlatformVersion.UPSIDE_DOWN_CAKE_0) 562 @RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE) writeCarUserManagerStartUserReq(int uid, int userId, int displayId)563 public static void writeCarUserManagerStartUserReq(int uid, int userId, int displayId) { 564 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_START_USER_REQ, uid, userId, displayId); 565 } 566 567 /** Logs a {@code EventLogTags.CAR_USER_MGR_START_USER_RESP} event. */ 568 @AddedIn(PlatformVersion.UPSIDE_DOWN_CAKE_0) 569 @RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE) writeCarUserManagerStartUserResp( int uid, int userId, int displayId, int status)570 public static void writeCarUserManagerStartUserResp( 571 int uid, int userId, int displayId, int status) { 572 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_START_USER_RESP, 573 uid, userId, displayId, status); 574 } 575 576 /** Logs a {@code EventLogTags.CAR_USER_MGR_STOP_USER_REQ} event. */ 577 @AddedIn(PlatformVersion.UPSIDE_DOWN_CAKE_0) 578 @RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE) writeCarUserManagerStopUserReq(int uid, int userId)579 public static void writeCarUserManagerStopUserReq(int uid, int userId) { 580 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_STOP_USER_REQ, uid, userId); 581 } 582 583 /** Logs a {@code EventLogTags.CAR_USER_MGR_STOP_USER_RESP} event. */ 584 @AddedIn(PlatformVersion.UPSIDE_DOWN_CAKE_0) 585 @RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE) writeCarUserManagerStopUserResp(int uid, int userId, int status)586 public static void writeCarUserManagerStopUserResp(int uid, int userId, int status) { 587 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_STOP_USER_RESP, uid, userId, status); 588 } 589 590 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserManagerNotifyLifecycleListener(int numberListeners, int eventType, int fromUserId, int toUserId)591 public static void writeCarUserManagerNotifyLifecycleListener(int numberListeners, 592 int eventType, int fromUserId, int toUserId) { 593 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_NOTIFY_LIFECYCLE_LISTENER, numberListeners, 594 eventType, fromUserId, toUserId); 595 } 596 597 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarUserManagerPreCreateUserReq(int uid)598 public static void writeCarUserManagerPreCreateUserReq(int uid) { 599 EventLog.writeEvent(EventLogTags.CAR_USER_MGR_PRE_CREATE_USER_REQ, uid); 600 } 601 602 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarDevicePolicyManagerRemoveUserReq(int uid, int userId)603 public static void writeCarDevicePolicyManagerRemoveUserReq(int uid, int userId) { 604 EventLog.writeEvent(EventLogTags.CAR_DP_MGR_REMOVE_USER_REQ, uid, userId); 605 } 606 607 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarDevicePolicyManagerRemoveUserResp(int uid, int status)608 public static void writeCarDevicePolicyManagerRemoveUserResp(int uid, int status) { 609 EventLog.writeEvent(EventLogTags.CAR_DP_MGR_REMOVE_USER_RESP, uid, status); 610 } 611 612 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarDevicePolicyManagerCreateUserReq(int uid, @Nullable String safeName, int flags)613 public static void writeCarDevicePolicyManagerCreateUserReq(int uid, @Nullable String safeName, 614 int flags) { 615 EventLog.writeEvent(EventLogTags.CAR_DP_MGR_CREATE_USER_REQ, uid, safeName, flags); 616 } 617 618 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarDevicePolicyManagerCreateUserResp(int uid, int status)619 public static void writeCarDevicePolicyManagerCreateUserResp(int uid, int status) { 620 EventLog.writeEvent(EventLogTags.CAR_DP_MGR_CREATE_USER_RESP, uid, status); 621 } 622 623 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarDevicePolicyManagerStartUserInBackgroundReq(int uid, int userId)624 public static void writeCarDevicePolicyManagerStartUserInBackgroundReq(int uid, int userId) { 625 EventLog.writeEvent(EventLogTags.CAR_DP_MGR_START_USER_IN_BACKGROUND_REQ, uid, userId); 626 } 627 628 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarDevicePolicyManagerStartUserInBackgroundResp(int uid, int status)629 public static void writeCarDevicePolicyManagerStartUserInBackgroundResp(int uid, int status) { 630 EventLog.writeEvent(EventLogTags.CAR_DP_MGR_START_USER_IN_BACKGROUND_RESP, uid, status); 631 } 632 633 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarDevicePolicyManagerStopUserReq(int uid, int userId)634 public static void writeCarDevicePolicyManagerStopUserReq(int uid, int userId) { 635 EventLog.writeEvent(EventLogTags.CAR_DP_MGR_STOP_USER_REQ, uid, userId); 636 } 637 638 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarDevicePolicyManagerStopUserResp(int uid, int status)639 public static void writeCarDevicePolicyManagerStopUserResp(int uid, int status) { 640 EventLog.writeEvent(EventLogTags.CAR_DP_MGR_STOP_USER_RESP, uid, status); 641 } 642 643 @AddedIn(PlatformVersion.TIRAMISU_0) writePowerPolicyChange(String policy)644 public static void writePowerPolicyChange(String policy) { 645 EventLog.writeEvent(EventLogTags.CAR_PWR_MGR_PWR_POLICY_CHANGE, policy); 646 } 647 648 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarPowerManagerStateChange(int state)649 public static void writeCarPowerManagerStateChange(int state) { 650 EventLog.writeEvent(EventLogTags.CAR_PWR_MGR_STATE_CHANGE, state); 651 } 652 653 @AddedIn(PlatformVersion.TIRAMISU_0) writeCarPowerManagerStateRequest(int state, int param)654 public static void writeCarPowerManagerStateRequest(int state, int param) { 655 EventLog.writeEvent(EventLogTags.CAR_PWR_MGR_STATE_REQ, state, param); 656 } 657 658 @AddedIn(PlatformVersion.TIRAMISU_0) writeGarageModeEvent(int status)659 public static void writeGarageModeEvent(int status) { 660 EventLog.writeEvent(EventLogTags.CAR_PWR_MGR_GARAGE_MODE, status); 661 } 662 EventLogHelper()663 private EventLogHelper() { 664 throw new UnsupportedOperationException(); 665 } 666 } 667