package org.fitchfamily.android.gsmlocation.database;
import android.location.Location;
import android.os.Bundle;
import org.microg.nlp.api.LocationHelper;
public class LocationCalculator {
double lat, lng, rng;
int samples;
public LocationCalculator add(double lat, double lng, int samples, double rng) {
if(samples < 1) {
samples = 1;
}
this.lat += (lat * samples);
this.lng += (lng * samples);
this.rng = Math.max(this.rng, rng);
this.samples += samples;
return this;
}
public Location toLocation() {
return LocationHelper.create("gsm", (float) lat / samples, (float) lng / samples, (float) rng, new Bundle());
}
@Override
public String toString() {
return lat / samples + ", " + lng / samples + ", " + rng;
}
}