From 38e1c09b2402907f514d0f79d83448cb5a2ebadc Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Fri, 25 Nov 2022 00:28:02 -0600 Subject: [PATCH] Convert Location to data class --- app/src/main/java/org/tasks/data/Location.kt | 41 ++++--------------- .../org/tasks/dialogs/GeofenceDialog.java | 2 +- 2 files changed, 9 insertions(+), 34 deletions(-) diff --git a/app/src/main/java/org/tasks/data/Location.kt b/app/src/main/java/org/tasks/data/Location.kt index 6dc9f5d05..092a52d7c 100644 --- a/app/src/main/java/org/tasks/data/Location.kt +++ b/app/src/main/java/org/tasks/data/Location.kt @@ -7,23 +7,16 @@ import androidx.room.Embedded import androidx.room.Ignore import java.io.Serializable -class Location : Serializable, Parcelable { - @Embedded lateinit var geofence: Geofence - @Embedded lateinit var place: Place - - constructor() - - @Ignore - constructor(geofence: Geofence, place: Place) { - this.geofence = geofence - this.place = place - } +data class Location( + @Embedded val geofence: Geofence, + @Embedded val place: Place, +) : Serializable, Parcelable { @Ignore - private constructor(parcel: Parcel) { - geofence = parcel.readParcelable(Geofence::class.java.classLoader)!! - place = parcel.readParcelable(Place::class.java.classLoader)!! - } + private constructor(parcel: Parcel): this( + geofence = parcel.readParcelable(Geofence::class.java.classLoader)!!, + place = parcel.readParcelable(Place::class.java.classLoader)!!, + ) val task: Long get() = geofence.task @@ -66,24 +59,6 @@ class Location : Serializable, Parcelable { dest.writeParcelable(place, flags) } - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is Location) return false - - if (geofence != other.geofence) return false - if (place != other.place) return false - - return true - } - - override fun hashCode(): Int { - var result = geofence.hashCode() - result = 31 * result + place.hashCode() - return result - } - - override fun toString(): String = "Location(geofence=$geofence, place=$place)" - companion object { @JvmField val CREATOR: Parcelable.Creator = object : Parcelable.Creator { override fun createFromParcel(`in`: Parcel): Location = Location(`in`) diff --git a/app/src/main/java/org/tasks/dialogs/GeofenceDialog.java b/app/src/main/java/org/tasks/dialogs/GeofenceDialog.java index 58b866108..e78776af8 100644 --- a/app/src/main/java/org/tasks/dialogs/GeofenceDialog.java +++ b/app/src/main/java/org/tasks/dialogs/GeofenceDialog.java @@ -53,7 +53,7 @@ public class GeofenceDialog extends DialogFragment { Location original = getArguments().getParcelable(EXTRA_ORIGINAL); Geofence geofence = savedInstanceState == null - ? original.geofence + ? original.getGeofence() : savedInstanceState.getParcelable(EXTRA_GEOFENCE); LayoutInflater layoutInflater = LayoutInflater.from(context);