diff options
4 files changed, 7 insertions, 69 deletions
diff --git a/api/current.txt b/api/current.txt index 276871aceec3..94f79dfc6c14 100644 --- a/api/current.txt +++ b/api/current.txt @@ -22858,7 +22858,6 @@ package android.location { method public float getBearing(); method public float getBearingAccuracyDegrees(); method public long getElapsedRealtimeNanos(); - method public long getElapsedRealtimeUncertaintyNanos(); method public android.os.Bundle getExtras(); method public double getLatitude(); method public double getLongitude(); @@ -22871,7 +22870,6 @@ package android.location { method public boolean hasAltitude(); method public boolean hasBearing(); method public boolean hasBearingAccuracy(); - method public boolean hasElapsedRealtimeUncertaintyNanos(); method public boolean hasSpeed(); method public boolean hasSpeedAccuracy(); method public boolean hasVerticalAccuracy(); @@ -22887,7 +22885,6 @@ package android.location { method public void setBearing(float); method public void setBearingAccuracyDegrees(float); method public void setElapsedRealtimeNanos(long); - method public void setElapsedRealtimeUncertaintyNanos(long); method public void setExtras(android.os.Bundle); method public void setLatitude(double); method public void setLongitude(double); diff --git a/location/java/android/location/Location.java b/location/java/android/location/Location.java index ed74333da895..17e25097cef8 100644 --- a/location/java/android/location/Location.java +++ b/location/java/android/location/Location.java @@ -113,10 +113,6 @@ public class Location implements Parcelable { * Bit mask for mFieldsMask indicating the presence of mBearingAccuracy. */ private static final int HAS_BEARING_ACCURACY_MASK = 128; - /** - * Bit mask for mFieldsMask indicating the presence of mElapsedRealtimeUncertaintyNanos. - */ - private static final int HAS_ELAPSED_REALTIME_UNCERTAINTY_MASK = 256; // Cached data to make bearing/distance computations more efficient for the case // where distanceTo and bearingTo are called in sequence. Assume this typically happens @@ -134,9 +130,6 @@ public class Location implements Parcelable { private long mTime = 0; @UnsupportedAppUsage private long mElapsedRealtimeNanos = 0; - // Estimate of the relative precision of the alignment of this SystemClock - // timestamp, with the reported measurements in nanoseconds (68% confidence). - private long mElapsedRealtimeUncertaintyNanos = 0; private double mLatitude = 0.0; private double mLongitude = 0.0; private double mAltitude = 0.0f; @@ -178,7 +171,6 @@ public class Location implements Parcelable { mProvider = l.mProvider; mTime = l.mTime; mElapsedRealtimeNanos = l.mElapsedRealtimeNanos; - mElapsedRealtimeUncertaintyNanos = l.mElapsedRealtimeUncertaintyNanos; mFieldsMask = l.mFieldsMask; mLatitude = l.mLatitude; mLongitude = l.mLongitude; @@ -199,7 +191,6 @@ public class Location implements Parcelable { mProvider = null; mTime = 0; mElapsedRealtimeNanos = 0; - mElapsedRealtimeUncertaintyNanos = 0; mFieldsMask = 0; mLatitude = 0; mLongitude = 0; @@ -595,37 +586,6 @@ public class Location implements Parcelable { } /** - * Get estimate of the relative precision of the alignment of the - * ElapsedRealtimeNanos timestamp, with the reported measurements in - * nanoseconds (68% confidence). - * - * @return uncertainty of elapsed real-time of fix, in nanoseconds. - */ - public long getElapsedRealtimeUncertaintyNanos() { - return mElapsedRealtimeUncertaintyNanos; - } - - /** - * Set estimate of the relative precision of the alignment of the - * ElapsedRealtimeNanos timestamp, with the reported measurements in - * nanoseconds (68% confidence). - * - * @param time uncertainty of the elapsed real-time of fix, in nanoseconds. - */ - public void setElapsedRealtimeUncertaintyNanos(long time) { - mElapsedRealtimeUncertaintyNanos = time; - mFieldsMask |= HAS_ELAPSED_REALTIME_UNCERTAINTY_MASK; - } - - /** - * True if this location has a elapsed realtime accuracy. - */ - public boolean hasElapsedRealtimeUncertaintyNanos() { - return (mFieldsMask & HAS_ELAPSED_REALTIME_UNCERTAINTY_MASK) != 0; - } - - - /** * Get the latitude, in degrees. * * <p>All locations generated by the {@link LocationManager} @@ -1102,10 +1062,6 @@ public class Location implements Parcelable { s.append(" et="); TimeUtils.formatDuration(mElapsedRealtimeNanos / 1000000L, s); } - if (hasElapsedRealtimeUncertaintyNanos()) { - s.append(" etAcc="); - TimeUtils.formatDuration(mElapsedRealtimeUncertaintyNanos / 1000000L, s); - } if (hasAltitude()) s.append(" alt=").append(mAltitude); if (hasSpeed()) s.append(" vel=").append(mSpeed); if (hasBearing()) s.append(" bear=").append(mBearing); @@ -1136,7 +1092,6 @@ public class Location implements Parcelable { Location l = new Location(provider); l.mTime = in.readLong(); l.mElapsedRealtimeNanos = in.readLong(); - l.mElapsedRealtimeUncertaintyNanos = in.readLong(); l.mFieldsMask = in.readByte(); l.mLatitude = in.readDouble(); l.mLongitude = in.readDouble(); @@ -1167,7 +1122,6 @@ public class Location implements Parcelable { parcel.writeString(mProvider); parcel.writeLong(mTime); parcel.writeLong(mElapsedRealtimeNanos); - parcel.writeLong(mElapsedRealtimeUncertaintyNanos); parcel.writeByte(mFieldsMask); parcel.writeDouble(mLatitude); parcel.writeDouble(mLongitude); diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java index 9ab99753ed00..71ec5b00608e 100644 --- a/services/core/java/com/android/server/location/GnssLocationProvider.java +++ b/services/core/java/com/android/server/location/GnssLocationProvider.java @@ -142,7 +142,6 @@ public class GnssLocationProvider extends AbstractLocationProvider implements // these need to match ElapsedRealtimeFlags enum in types.hal private static final int ELAPSED_REALTIME_HAS_TIMESTAMP_NS = 1; - private static final int ELAPSED_REALTIME_HAS_TIME_UNCERTAINTY_NS = 2; // IMPORTANT - the GPS_DELETE_* symbols here must match GnssAidingData enum in IGnss.hal private static final int GPS_DELETE_EPHEMERIS = 0x0001; @@ -769,18 +768,15 @@ public class GnssLocationProvider extends AbstractLocationProvider implements float bearingAccuracyDegrees = location.getBearingAccuracyDegrees(); long timestamp = location.getTime(); - int elapsedRealtimeFlags = ELAPSED_REALTIME_HAS_TIMESTAMP_NS - | (location.hasElapsedRealtimeUncertaintyNanos() - ? ELAPSED_REALTIME_HAS_TIME_UNCERTAINTY_NS : 0); + int elapsedRealtimeFlags = ELAPSED_REALTIME_HAS_TIMESTAMP_NS; long elapsedRealtimeNanos = location.getElapsedRealtimeNanos(); - long elapsedRealtimeUncertaintyNanos = location.getElapsedRealtimeUncertaintyNanos(); native_inject_best_location( gnssLocationFlags, latitudeDegrees, longitudeDegrees, altitudeMeters, speedMetersPerSec, bearingDegrees, horizontalAccuracyMeters, verticalAccuracyMeters, speedAccuracyMetersPerSecond, bearingAccuracyDegrees, timestamp, - elapsedRealtimeFlags, elapsedRealtimeNanos, elapsedRealtimeUncertaintyNanos); + elapsedRealtimeFlags, elapsedRealtimeNanos); } /** Returns true if the location request is too frequent. */ @@ -2174,8 +2170,7 @@ public class GnssLocationProvider extends AbstractLocationProvider implements double altitudeMeters, float speedMetersPerSec, float bearingDegrees, float horizontalAccuracyMeters, float verticalAccuracyMeters, float speedAccuracyMetersPerSecond, float bearingAccuracyDegrees, - long timestamp, int elapsedRealtimeFlags, long elapsedRealtimeNanos, - long elapsedRealtimeUncertaintyNanos); + long timestamp, int elapsedRealtimeFlags, long elapsedRealtimeNanos); private native void native_inject_location(double latitude, double longitude, float accuracy); diff --git a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp index e8882ec12244..d39f20c0f214 100644 --- a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp +++ b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp @@ -491,10 +491,6 @@ static jobject translateGnssLocation(JNIEnv* env, SET(ElapsedRealtimeNanos, location.elapsedRealtime.timestampNs); } - if (flags & ElapsedRealtimeFlags::HAS_TIME_UNCERTAINTY_NS) { - SET(ElapsedUncertaintyRealtimeNanos, location.elapsedRealtime.timeUncertaintyNs); - } - return object.get(); } @@ -525,8 +521,7 @@ static GnssLocation_V2_0 createGnssLocation_V2_0( jdouble altitudeMeters, jfloat speedMetersPerSec, jfloat bearingDegrees, jfloat horizontalAccuracyMeters, jfloat verticalAccuracyMeters, jfloat speedAccuracyMetersPerSecond, jfloat bearingAccuracyDegrees, - jlong timestamp, jint elapsedRealtimeFlags, jlong elapsedRealtimeNanos, - jlong elapsedRealtimeUncertaintyNanos) { + jlong timestamp, jint elapsedRealtimeFlags, jlong elapsedRealtimeNanos) { GnssLocation_V2_0 location; location.v1_0 = createGnssLocation_V1_0( gnssLocationFlags, latitudeDegrees, longitudeDegrees, altitudeMeters, @@ -536,7 +531,6 @@ static GnssLocation_V2_0 createGnssLocation_V2_0( location.elapsedRealtime.flags = static_cast<uint16_t>(elapsedRealtimeFlags); location.elapsedRealtime.timestampNs = static_cast<uint64_t>(elapsedRealtimeNanos); - location.elapsedRealtime.timeUncertaintyNs = static_cast<uint64_t>(elapsedRealtimeUncertaintyNanos); return location; } @@ -1893,8 +1887,7 @@ static void android_location_GnssLocationProvider_inject_best_location( jfloat bearingAccuracyDegrees, jlong timestamp, jint elapsedRealtimeFlags, - jlong elapsedRealtimeNanos, - jlong elapsedRealtimeUncertaintyNanos) { + jlong elapsedRealtimeNanos) { if (gnssHal_V2_0 != nullptr) { GnssLocation_V2_0 location = createGnssLocation_V2_0( gnssLocationFlags, @@ -1909,8 +1902,7 @@ static void android_location_GnssLocationProvider_inject_best_location( bearingAccuracyDegrees, timestamp, elapsedRealtimeFlags, - elapsedRealtimeNanos, - elapsedRealtimeUncertaintyNanos); + elapsedRealtimeNanos); auto result = gnssHal_V2_0->injectBestLocation_2_0(location); if (!result.isOk() || !result) { @@ -2821,7 +2813,7 @@ static const JNINativeMethod sMethods[] = { android_location_GnssLocationProvider_read_nmea)}, {"native_inject_time", "(JJI)V", reinterpret_cast<void *>( android_location_GnssLocationProvider_inject_time)}, - {"native_inject_best_location", "(IDDDFFFFFFJIJJ)V", reinterpret_cast<void *>( + {"native_inject_best_location", "(IDDDFFFFFFJIJ)V", reinterpret_cast<void *>( android_location_GnssLocationProvider_inject_best_location)}, {"native_inject_location", "(DDF)V", reinterpret_cast<void *>( android_location_GnssLocationProvider_inject_location)}, |