1 /* 2 * Copyright (C) 2024 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 com.android.systemui.statusbar.notification.row 18 19 import com.android.systemui.log.LogBuffer 20 import com.android.systemui.log.core.LogLevel 21 import com.android.systemui.log.dagger.NotifInflationLog 22 import com.android.systemui.statusbar.notification.collection.NotificationEntry 23 import com.android.systemui.statusbar.notification.logKey 24 import javax.inject.Inject 25 26 class RowInflaterTaskLogger @Inject constructor(@NotifInflationLog private val buffer: LogBuffer) { logInflateStartnull27 fun logInflateStart(entry: NotificationEntry) { 28 buffer.log( 29 TAG, 30 LogLevel.DEBUG, 31 { str1 = entry.logKey }, 32 { "started row inflation for $str1" } 33 ) 34 } 35 logCreatedRownull36 fun logCreatedRow(entry: NotificationEntry, elapsedMs: Long) { 37 buffer.log( 38 TAG, 39 LogLevel.DEBUG, 40 { 41 str1 = entry.logKey 42 long1 = elapsedMs 43 }, 44 { "created row in $long1 ms for $str1" } 45 ) 46 } 47 logInflateFinishnull48 fun logInflateFinish(entry: NotificationEntry, elapsedMs: Long, cancelled: Boolean) { 49 buffer.log( 50 TAG, 51 LogLevel.DEBUG, 52 { 53 str1 = entry.logKey 54 long1 = elapsedMs 55 bool1 = cancelled 56 }, 57 { "finished ${if (bool1) "cancelled " else ""}row inflation in $long1 ms for $str1" } 58 ) 59 } 60 } 61 62 private const val TAG = "RowInflaterTask" 63