@@ -18,15 +18,20 @@ import me.yifeiyuan.flap.delegate.AdapterDelegate
18
18
* @since 2021/12/27
19
19
* @since 3.0.0
20
20
*/
21
- class LoggingHook (private val enableLog : Boolean = true ) : AdapterHook {
21
+ class LoggingHook (private val enableLog : Boolean = true , private val printTrace : Boolean = false ) : AdapterHook {
22
22
23
23
companion object {
24
24
private const val TAG = " LoggingHook"
25
+
26
+ class TraceException : RuntimeException (" |只用于 LoggingHook 打印日志,不是真实异常|" )
25
27
}
26
28
27
29
override fun onCreateViewHolderStart (adapter : FlapAdapter , delegate : AdapterDelegate <* , * >, viewType : Int ) {
28
30
if (enableLog) {
29
31
FlapDebug .d(TAG , " onCreateViewHolderStart() called with: adapter = $adapter , delegate = $delegate , viewType = $viewType " )
32
+ if (printTrace) {
33
+ FlapDebug .e(TAG , " onCreateViewHolderStart: " , TraceException ())
34
+ }
30
35
}
31
36
}
32
37
@@ -39,6 +44,10 @@ class LoggingHook(private val enableLog: Boolean = true) : AdapterHook {
39
44
override fun onBindViewHolderStart (adapter : FlapAdapter , delegate : AdapterDelegate <* , * >, component : Component <* >, data : Any , position : Int , payloads : MutableList <Any >) {
40
45
if (enableLog) {
41
46
FlapDebug .d(TAG , " onBindViewHolderStart() called with: adapter = $adapter , delegate = $delegate , component = $component , data = $data , position = $position , payloads = $payloads " )
47
+
48
+ if (printTrace) {
49
+ FlapDebug .e(TAG , " onBindViewHolderStart: " , TraceException ())
50
+ }
42
51
}
43
52
}
44
53
@@ -55,12 +64,18 @@ class LoggingHook(private val enableLog: Boolean = true) : AdapterHook {
55
64
override fun onViewAttachedToWindow (adapter : FlapAdapter , delegate : AdapterDelegate <* , * >, component : Component <* >) {
56
65
if (enableLog) {
57
66
FlapDebug .d(TAG , " onViewAttachedToWindow() called with: adapter = $adapter , delegate = $delegate , component = $component " )
67
+ if (printTrace) {
68
+ FlapDebug .e(TAG , " onViewAttachedToWindow: " , TraceException ())
69
+ }
58
70
}
59
71
}
60
72
61
73
override fun onViewDetachedFromWindow (adapter : FlapAdapter , delegate : AdapterDelegate <* , * >, component : Component <* >) {
62
74
if (enableLog) {
63
75
FlapDebug .d(TAG , " onViewDetachedFromWindow() called with: adapter = $adapter , delegate = $delegate , component = $component " )
76
+ if (printTrace) {
77
+ FlapDebug .e(TAG , " onViewDetachedFromWindow: " , TraceException ())
78
+ }
64
79
}
65
80
}
66
81
0 commit comments