iex
04/22/2020, 9:22 AMvalue used in it should be publicly readable:
@Parcelize
data class UnixTime private constructor(value: Long) : Parcelable {
companion object {
fun fromValue(value: Long): UnixTime =
UnixTime(value)
fun minTimestamp(): UnixTime =
UnixTime(0)
fun now(): UnixTime =
UnixTime(Date().time / 1000)
}
}
fun UnixTime.debugString() =
"$value, ${toDate()}"
fun UnixTime.toDate() =
Date(value * 1000)
This doesn't compile, and has also a warning in private. How do I implement it correctly?diesieben07
04/22/2020, 9:25 AMcopy method. Why do you not want a public constructor, if all fromValue does is call it directly anyways?Kroppeb
04/22/2020, 9:30 AMdata and just implement equals and hashcodeiex
04/22/2020, 10:49 AMdiesieben07
04/22/2020, 10:50 AMdiesieben07
04/22/2020, 10:50 AMcopy method.iex
04/22/2020, 10:50 AMiex
04/22/2020, 10:50 AMdiesieben07
04/22/2020, 10:51 AMdiesieben07
04/22/2020, 10:51 AMdata class.iex
04/22/2020, 10:51 AMiex
04/22/2020, 10:51 AMdiesieben07
04/22/2020, 10:52 AMKroppeb
04/22/2020, 10:52 AMKroppeb
04/22/2020, 10:52 AMiex
04/22/2020, 10:52 AMKroppeb
04/22/2020, 10:52 AMiex
04/22/2020, 10:53 AMoverride fun equals(other: Any?): Boolean {
if (this === other) return true
if (javaClass != other?.javaClass) return false
other as UnixTime
if (value != other.value) return false
return true
}Kroppeb
04/22/2020, 10:53 AMdiesieben07
04/22/2020, 10:53 AMiex
04/22/2020, 10:54 AMvalue == (other as? UnixTime)?.valuediesieben07
04/22/2020, 10:55 AMreturn other is UnixTime && this.value == other.valueiex
04/22/2020, 10:55 AMdiesieben07
04/22/2020, 10:55 AMvalue is nullable.iex
04/22/2020, 10:56 AMtrue if value is null and other is null, right?diesieben07
04/22/2020, 10:57 AMiex
04/22/2020, 10:57 AMnull == null is true though)iex
04/22/2020, 10:57 AMdiesieben07
04/22/2020, 10:57 AMother is not an instance of UnixTimeiex
04/22/2020, 10:57 AMiex
04/22/2020, 10:58 AM