forked from rilling/OpenTracks-Winter-SOEN-6431_2024
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2 from rilling/main
Pull from main
- Loading branch information
Showing
25 changed files
with
1,579 additions
and
202 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
85 changes: 85 additions & 0 deletions
85
src/main/java/de/dennisguse/opentracks/data/models/WeatherInformation.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
package de.dennisguse.opentracks.data.models; | ||
|
||
import android.os.Parcel; | ||
import android.os.Parcelable; | ||
|
||
import androidx.annotation.NonNull; | ||
import androidx.annotation.Nullable; | ||
|
||
public final class WeatherInformation implements Parcelable { | ||
|
||
private Track.Id id; | ||
private double temperature; | ||
|
||
// public WeatherInfo(double temperature) { | ||
// this.temperature = temperature; | ||
// } | ||
|
||
// protected WeatherInfo(Parcel in) { | ||
// temperature = in.readDouble(); | ||
// } | ||
|
||
// public static final Creator<WeatherInfo> CREATOR = new Creator<WeatherInfo>() { | ||
// @Override | ||
// public WeatherInfo createFromParcel(Parcel in) { | ||
// return new WeatherInfo(in); | ||
// } | ||
// | ||
// @Override | ||
// public WeatherInfo[] newArray(int size) { | ||
// return new WeatherInfo[size]; | ||
// } | ||
// }; | ||
|
||
protected WeatherInformation(Parcel in) { | ||
id = in.readParcelable(Track.Id.class.getClassLoader()); | ||
temperature = in.readDouble(); | ||
} | ||
|
||
public static final Creator<WeatherInformation> CREATOR = new Creator<WeatherInformation>() { | ||
@Override | ||
public WeatherInformation createFromParcel(Parcel in) { | ||
return new WeatherInformation(in); | ||
} | ||
|
||
@Override | ||
public WeatherInformation[] newArray(int size) { | ||
return new WeatherInformation[size]; | ||
} | ||
}; | ||
|
||
@Nullable | ||
public Track.Id getId() { | ||
return id; | ||
} | ||
|
||
public void setId(Track.Id id) { | ||
this.id = id; | ||
} | ||
|
||
public double getTemperature() { | ||
return temperature; | ||
} | ||
|
||
public void setTemperature(double temperature) { | ||
this.temperature = temperature; | ||
} | ||
|
||
@NonNull | ||
@Override | ||
public String toString() { | ||
return "WeatherInfo{" + | ||
"temperature=" + temperature + | ||
'}'; | ||
} | ||
|
||
@Override | ||
public int describeContents() { | ||
return 0; | ||
} | ||
|
||
@Override | ||
public void writeToParcel(Parcel parcel, int i) { | ||
parcel.writeDouble(temperature); | ||
} | ||
} |
97 changes: 97 additions & 0 deletions
97
src/main/java/de/dennisguse/opentracks/settings/CalorieUserDetail.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
package de.dennisguse.opentracks.settings; | ||
|
||
import java.time.Duration; | ||
import java.util.HashMap; | ||
import java.util.Map; | ||
|
||
import de.dennisguse.opentracks.data.models.ActivityType; | ||
import de.dennisguse.opentracks.data.models.HeartRate; | ||
import de.dennisguse.opentracks.data.models.Track; | ||
import de.dennisguse.opentracks.data.models.TrackPoint; | ||
import de.dennisguse.opentracks.stats.TrackStatistics; | ||
|
||
public class CalorieUserDetail { | ||
private int height; | ||
private int weight; | ||
private int age; | ||
private String sport; | ||
private int heartRate; | ||
|
||
Track track; | ||
public String getActivityType(){ | ||
return track.getActivityType().getId(); | ||
} | ||
|
||
TrackStatistics trackStatistics; | ||
|
||
public Duration getMovingTime(){ | ||
return trackStatistics.getMovingTime(); | ||
} | ||
|
||
public float getBPM(){ | ||
return trackStatistics.getAverageHeartRate().getBPM(); | ||
} | ||
|
||
// Constructor to initialize with dummy data | ||
public CalorieUserDetail() { | ||
this.height = 170; | ||
this.weight = 70; | ||
this.age = 30; | ||
this.sport = "Running"; | ||
this.heartRate = 75; | ||
} | ||
|
||
// Getters and setters for height | ||
public int getHeight() { | ||
return height; | ||
} | ||
|
||
public void setHeight(int height) { | ||
this.height = height; | ||
} | ||
|
||
// Getters and setters for weight | ||
public int getWeight() { | ||
return weight; | ||
} | ||
|
||
public void setWeight(int weight) { | ||
this.weight = weight; | ||
} | ||
|
||
// Getters and setters for age | ||
public int getAge() { | ||
return age; | ||
} | ||
|
||
public void setAge(int age) { | ||
this.age = age; | ||
} | ||
|
||
// Getters and setters for sport | ||
public String getSport() { | ||
return sport; | ||
} | ||
|
||
public void setSport(String sport) { | ||
this.sport = sport; | ||
} | ||
|
||
// Getters and setters for heart rate | ||
public int getHeartRate() { | ||
return heartRate; | ||
} | ||
|
||
public void setHeartRate(int heartRate) { | ||
this.heartRate = heartRate; | ||
} | ||
|
||
// Method to get data from GUI | ||
public void getDataFromGUI(Map<String, Object> guiData) { | ||
setHeight((int) guiData.getOrDefault("height", height)); | ||
setWeight((int) guiData.getOrDefault("weight", weight)); | ||
setAge((int) guiData.getOrDefault("age", age)); | ||
setSport((String) guiData.getOrDefault("sport", sport)); | ||
setHeartRate((int) guiData.getOrDefault("heartRate", heartRate)); | ||
} | ||
} |
69 changes: 69 additions & 0 deletions
69
src/main/java/de/dennisguse/opentracks/stats/EnhancedTrackStatistics.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
package de.dennisguse.opentracks.stats; | ||
|
||
import java.time.Duration; | ||
import java.time.Instant; | ||
import java.util.List; | ||
|
||
import de.dennisguse.opentracks.data.models.Speed; | ||
import de.dennisguse.opentracks.data.models.TrackPoint; | ||
import de.dennisguse.opentracks.stats.TrackStatistics; | ||
import de.dennisguse.opentracks.stats.TrackStatisticsUpdater; | ||
|
||
public class EnhancedTrackStatistics extends TrackStatistics { | ||
private double averageSlope; // In percentage | ||
private double topSpeed; // In meters/second | ||
private Speed averageSpeed; // In meters/second | ||
private long timeOnChairlift; // In milliseconds | ||
private long waitingTimeForChairlift; // In milliseconds | ||
|
||
// Constructor | ||
public EnhancedTrackStatistics() { | ||
super(); | ||
this.averageSlope = 0.0; | ||
this.topSpeed = 0.0; | ||
this.averageSpeed = Speed.of(0); | ||
this.timeOnChairlift = 0L; | ||
this.waitingTimeForChairlift = 0L; | ||
} | ||
|
||
// Getters and setters | ||
public double getAverageSlope() { | ||
return averageSlope; | ||
} | ||
|
||
public void setAverageSlope(double averageSlope) { | ||
this.averageSlope = averageSlope; | ||
} | ||
|
||
public double getTopSpeed() { | ||
return topSpeed; | ||
} | ||
|
||
public void setTopSpeed(double topSpeed) { | ||
this.topSpeed = topSpeed; | ||
} | ||
|
||
public Speed getAverageSpeed() { | ||
return averageSpeed; | ||
} | ||
|
||
public void setAverageSpeed(Speed averageSpeed) { | ||
this.averageSpeed = averageSpeed; | ||
} | ||
|
||
public long getTimeOnChairlift() { | ||
return timeOnChairlift; | ||
} | ||
|
||
public void setTimeOnChairlift(long timeOnChairlift) { | ||
this.timeOnChairlift = timeOnChairlift; | ||
} | ||
|
||
public long getWaitingTimeForChairlift() { | ||
return waitingTimeForChairlift; | ||
} | ||
|
||
public void setWaitingTimeForChairlift(long waitingTimeForChairlift) { | ||
this.waitingTimeForChairlift = waitingTimeForChairlift; | ||
} | ||
} |
Oops, something went wrong.