1 package leakcanary.internal 2 3 import android.content.Intent 4 import java.io.Serializable 5 6 /** 7 * Wraps an Intent to serialize it as its URI string. 8 */ 9 internal class SerializableIntent(intent: Intent) : Serializable { 10 11 private val uri = intent.toUri(0) 12 13 // Intent is not Serializable 14 @Transient 15 private var _intent: Intent? = intent 16 17 val intent: Intent <lambda>null18 get() = _intent.run { 19 this ?: Intent.parseUri(uri, 0) 20 .apply { _intent = this } 21 } 22 } 23