Add kotlin-parcelize

pull/2271/head
Alex Baker 3 years ago
parent 70ab826598
commit 2848bd4f53

@ -11,6 +11,7 @@ plugins {
kotlin("kapt")
id("dagger.hilt.android.plugin")
id("com.google.android.gms.oss-licenses-plugin")
id("kotlin-parcelize")
}
repositories {

@ -1,16 +1,16 @@
package org.tasks.data
import android.os.Parcel
import android.os.Parcelable
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.Ignore
import androidx.room.PrimaryKey
import com.todoroo.andlib.data.Table
import com.todoroo.astrid.api.FilterListItem.NO_ORDER
import com.todoroo.astrid.data.Task
import kotlinx.parcelize.Parcelize
import org.tasks.themes.CustomIcons.LIST
@Parcelize
@Entity(tableName = "caldav_lists")
data class CaldavCalendar(
@PrimaryKey(autoGenerate = true)
@ -27,21 +27,6 @@ data class CaldavCalendar(
@ColumnInfo(name = "cdl_access") var access: Int = ACCESS_OWNER,
@ColumnInfo(name = "cdl_last_sync") val lastSync: Long = 0,
) : Parcelable {
@Ignore
constructor(source: Parcel): this(
id = source.readLong(),
account = source.readString(),
uuid = source.readString(),
name = source.readString(),
color = source.readInt(),
ctag = source.readString(),
url = source.readString(),
icon = source.readInt(),
order = source.readInt(),
access = source.readInt(),
lastSync = source.readLong(),
)
@Suppress("RedundantNullableReturnType")
fun getIcon(): Int? {
return (if (icon == null) LIST else icon!!)
@ -51,24 +36,6 @@ data class CaldavCalendar(
this.icon = icon
}
override fun describeContents() = 0
override fun writeToParcel(dest: Parcel, flags: Int) {
with(dest) {
writeLong(id)
writeString(account)
writeString(uuid)
writeString(name)
writeInt(color)
writeString(ctag)
writeString(url)
writeInt(getIcon()!!)
writeInt(order)
writeInt(access)
writeLong(lastSync)
}
}
companion object {
const val ACCESS_UNKNOWN = -1
const val ACCESS_OWNER = 0
@ -85,10 +52,5 @@ data class CaldavCalendar(
val ACCOUNT = TABLE.column("cdl_account")
val UUID = TABLE.column("cdl_uuid")
val NAME = TABLE.column("cdl_name")
@JvmField val CREATOR: Parcelable.Creator<CaldavCalendar> = object : Parcelable.Creator<CaldavCalendar> {
override fun createFromParcel(source: Parcel): CaldavCalendar = CaldavCalendar(source)
override fun newArray(size: Int): Array<CaldavCalendar?> = arrayOfNulls(size)
}
}
}

@ -1,6 +1,5 @@
package org.tasks.data
import android.os.Parcel
import android.os.Parcelable
import androidx.room.ColumnInfo
import androidx.room.Entity
@ -9,10 +8,12 @@ import androidx.room.Ignore
import androidx.room.PrimaryKey
import com.todoroo.andlib.data.Table
import com.todoroo.astrid.data.Task
import kotlinx.parcelize.Parcelize
import org.tasks.R
import org.tasks.preferences.Preferences
import java.io.Serializable
@Parcelize
@Entity(
tableName = Geofence.TABLE_NAME,
foreignKeys = [
@ -83,36 +84,10 @@ data class Geofence(
isDeparture = o.isDeparture,
)
@Ignore
constructor(parcel: Parcel): this(
id = parcel.readLong(),
task = parcel.readLong(),
place = parcel.readString(),
isArrival = parcel.readInt() == 1,
isDeparture = parcel.readInt() == 1,
)
override fun describeContents() = 0
override fun writeToParcel(out: Parcel, flags: Int) {
with(out) {
writeLong(id)
writeLong(task)
writeString(place)
writeInt(if (isArrival) 1 else 0)
writeInt(if (isDeparture) 1 else 0)
}
}
companion object {
const val TABLE_NAME = "geofences"
@JvmField val TABLE = Table(TABLE_NAME)
@JvmField val TASK = TABLE.column("task")
@JvmField val PLACE = TABLE.column("place")
@JvmField val CREATOR: Parcelable.Creator<Geofence> = object : Parcelable.Creator<Geofence> {
override fun createFromParcel(source: Parcel): Geofence = Geofence(source)
override fun newArray(size: Int): Array<Geofence?> = arrayOfNulls(size)
}
}
}

@ -3,7 +3,6 @@ package org.tasks.data
import android.content.Context
import android.location.Location
import android.net.Uri
import android.os.Parcel
import android.os.Parcelable
import androidx.room.ColumnInfo
import androidx.room.Entity
@ -13,6 +12,7 @@ import androidx.room.PrimaryKey
import com.todoroo.andlib.data.Table
import com.todoroo.astrid.api.FilterListItem.NO_ORDER
import com.todoroo.astrid.helper.UUIDHelper
import kotlinx.parcelize.Parcelize
import org.tasks.Strings
import org.tasks.extensions.Context.openUri
import org.tasks.location.MapPosition
@ -20,6 +20,7 @@ import java.io.Serializable
import java.util.regex.Pattern
import kotlin.math.abs
@Parcelize
@Entity(
tableName = Place.TABLE_NAME,
indices = [
@ -70,22 +71,6 @@ data class Place(
radius = o.radius,
)
@Ignore
constructor(parcel: Parcel): this(
id = parcel.readLong(),
uid = parcel.readString(),
name = parcel.readString(),
address = parcel.readString(),
phone = parcel.readString(),
url = parcel.readString(),
latitude = parcel.readDouble(),
longitude = parcel.readDouble(),
color = parcel.readInt(),
icon = parcel.readInt(),
order = parcel.readInt(),
radius = parcel.readInt(),
)
val displayName: String
get() {
if (!Strings.isNullOrEmpty(name) && !COORDS.matcher(name!!).matches()) {
@ -107,25 +92,6 @@ data class Place(
val mapPosition: MapPosition
get() = MapPosition(latitude, longitude)
override fun describeContents() = 0
override fun writeToParcel(out: Parcel, flags: Int) {
with(out) {
writeLong(id)
writeString(uid)
writeString(name)
writeString(address)
writeString(phone)
writeString(url)
writeDouble(latitude)
writeDouble(longitude)
writeInt(color)
writeInt(icon)
writeInt(order)
writeInt(radius)
}
}
companion object {
const val KEY = "place"
const val TABLE_NAME = "places"
@ -133,11 +99,6 @@ data class Place(
@JvmField val UID = TABLE.column("uid")
@JvmField val NAME = TABLE.column("name")
@JvmField val ADDRESS = TABLE.column("address")
@JvmField val CREATOR: Parcelable.Creator<Place> = object : Parcelable.Creator<Place> {
override fun createFromParcel(source: Parcel): Place = Place(source)
override fun newArray(size: Int): Array<Place?> = arrayOfNulls(size)
}
private val pattern = Pattern.compile("(\\d+):(\\d+):(\\d+\\.\\d+)")
private val COORDS = Pattern.compile("^\\d+°\\d+'\\d+\\.\\d+\"[NS] \\d+°\\d+'\\d+\\.\\d+\"[EW]$")
private fun formatCoordinate(coordinates: Double, latitude: Boolean): String {

@ -1,13 +1,13 @@
package org.tasks.data
import android.os.Parcel
import android.os.Parcelable
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.Ignore
import androidx.room.PrimaryKey
import com.todoroo.astrid.helper.UUIDHelper
import kotlinx.parcelize.Parcelize
@Parcelize
@Entity(tableName = "attachment_file")
data class TaskAttachment(
@PrimaryKey(autoGenerate = true)
@ -21,30 +21,8 @@ data class TaskAttachment(
@ColumnInfo(name = "uri")
val uri: String,
) : Parcelable {
@Ignore
constructor(parcel: Parcel) : this(
remoteId = parcel.readString()!!,
name = parcel.readString()!!,
uri = parcel.readString()!!,
)
override fun describeContents() = 0
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeString(remoteId)
parcel.writeString(name)
parcel.writeString(uri)
}
companion object {
const val KEY = "attachment"
const val FILES_DIRECTORY_DEFAULT = "attachments"
@JvmField
val CREATOR = object : Parcelable.Creator<TaskAttachment> {
override fun createFromParcel(parcel: Parcel) = TaskAttachment(parcel)
override fun newArray(size: Int): Array<TaskAttachment?> = arrayOfNulls(size)
}
}
}

@ -181,6 +181,10 @@
+| | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 (c)
+| +--- androidx.databinding:databinding-runtime:8.0.0 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10 -> 1.8.20 (*)
++--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.8.20
+| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 (*)
+| \--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.8.20
+| \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 (*)
++--- com.github.bitfireAT:dav4jvm:2.2.1
+| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.20 -> 1.8.20 (*)
+| +--- org.apache.commons:commons-lang3:3.8.1 -> 3.12.0

@ -465,6 +465,10 @@
+| +--- com.google.android.gms:play-services-base:17.0.0 -> 18.0.1 (*)
+| +--- com.google.android.gms:play-services-basement:17.0.0 -> 18.1.0 (*)
+| \--- com.google.android.gms:play-services-tasks:17.0.0 -> 18.0.2 (*)
++--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.8.20
+| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 (*)
+| \--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.8.20
+| \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 (*)
++--- com.github.bitfireAT:dav4jvm:2.2.1
+| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.20 -> 1.8.20 (*)
+| +--- org.apache.commons:commons-lang3:3.8.1 -> 3.12.0

Loading…
Cancel
Save