Open tcqq opened 4 years ago
Turning Profile
into Kotlin will solve this issue.
@Parcelize
data class Profile(
val id: Int,
val avatarUri: String?,
val avatarRes: Int,
val backgroundUri: String?,
val backgroundRes: Int,
val username: String?,
val email: String?
) : Parcelable {
private constructor(builder: Builder) : this(
builder.id,
builder.avatarUri,
builder.avatarRes,
builder.backgroundUri,
builder.backgroundRes,
builder.username,
builder.email
)
companion object {
inline fun build(block: Builder.() -> Unit) = Builder().apply(block).build()
}
class Builder {
var id: Int = 0
var avatarUri: String? = null
var avatarRes: Int = 0
var backgroundUri: String? = null
var backgroundRes: Int = 0
var username: String? = null
var email: String? = null
fun build() = Profile(this)
}
}
val profile = Profile.build {
id = 2
username = "Raphaël Bussa"
email = "raphaelbussa@gmail.com"
avatarUri = "https://github.com/rebus007.png?size=512"
backgroundUri = "https://images.unsplash.com/photo-1473220464492-452fb02e6221?dpr=2&auto=format&fit=crop&w=767&h=512&q=80&cs=tinysrgb&crop="
}
@raphaelbussa When the Activity is recycled HeaderView will get an error.
Turn this option on under the developer option to test.