MeteoriteDB

Log | Files | Refs | README

commit 5d8498fc623be0f3c33e81b7f4ca96c87165f113
parent 5cfb3712bd70be8fddc7e4715d0c1645416876ed
Author: William Lindholm <a22willi@student.his.se>
Date:   Wed, 10 May 2023 10:09:30 +0200

Fixed bugs regarding sorting and filtering.

Diffstat:
Mapp/src/main/java/com/example/project_assignment/Meteorite.java | 22++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/app/src/main/java/com/example/project_assignment/Meteorite.java b/app/src/main/java/com/example/project_assignment/Meteorite.java @@ -30,7 +30,8 @@ public class Meteorite implements Parcelable { "and touched the surface of the earth at " + date + "\n\n" + "It landed at lat: " + latitude + - " long: " + longitude; + " long: " + longitude + + " Roughly " + Math.round(distance) + "km from your location"; } protected Meteorite(Parcel in) { name = in.readString(); @@ -39,6 +40,7 @@ public class Meteorite implements Parcelable { date = in.readString(); latitude = in.readString(); longitude = in.readString(); + distance = in.readDouble(); } public static final Creator<Meteorite> CREATOR = new Creator<Meteorite>() { @@ -68,6 +70,7 @@ public class Meteorite implements Parcelable { parcel.writeString(date); parcel.writeString(latitude); parcel.writeString(longitude); + parcel.writeDouble(distance); } public String getName() { @@ -121,7 +124,6 @@ public class Meteorite implements Parcelable { double distance = R * c * 1000; // convert to meters setDistance(Math.sqrt(distance)); - return this.distance; } @@ -137,25 +139,29 @@ public class Meteorite implements Parcelable { //filter mass if (mass != null) { double tempMass = Double.parseDouble(mass); - if (tempMass < minMass) { + if (tempMass < minMass && minMass != 0) { return false; } - if (tempMass > maxMass) { + if (tempMass > maxMass && maxMass != 0) { return false; } + } else { + return false; } //filter year the meteorite fell. if (date != null) { - int year = Integer.parseInt(date.substring(0, 3)); - if (year < minYear) { + int year = Integer.parseInt(date.substring(0, 4)); + if (year < minYear && minYear != 0) { return false; } - if (year > maxYear) { + if (year > maxYear && maxYear != 0) { return false; } + } else { + return false; } - if (distance < maxDistance) { + if (distance > maxDistance && maxDistance != 0) { return false; }