am eed8f06f: Merge "Fix for bug: #7173350. elapsedRealtimeNano() -> elapsedRealtimeNanos()" into jb-mr1-dev

* commit 'eed8f06f7f5d8f934ea99f16ef987a3ae1bd99b2':
  Fix for bug: #7173350. elapsedRealtimeNano() -> elapsedRealtimeNanos()
This commit is contained in:
Philip Milne
2012-09-26 17:34:04 -07:00
committed by Android Git Automerger
9 changed files with 31 additions and 38 deletions

View File

@@ -10665,7 +10665,7 @@ package android.location {
method public float getAccuracy(); method public float getAccuracy();
method public double getAltitude(); method public double getAltitude();
method public float getBearing(); method public float getBearing();
method public long getElapsedRealtimeNano(); method public long getElapsedRealtimeNanos();
method public android.os.Bundle getExtras(); method public android.os.Bundle getExtras();
method public double getLatitude(); method public double getLatitude();
method public double getLongitude(); method public double getLongitude();
@@ -10685,7 +10685,7 @@ package android.location {
method public void setAccuracy(float); method public void setAccuracy(float);
method public void setAltitude(double); method public void setAltitude(double);
method public void setBearing(float); method public void setBearing(float);
method public void setElapsedRealtimeNano(long); method public void setElapsedRealtimeNanos(long);
method public void setExtras(android.os.Bundle); method public void setExtras(android.os.Bundle);
method public void setLatitude(double); method public void setLatitude(double);
method public void setLongitude(double); method public void setLongitude(double);
@@ -16574,7 +16574,7 @@ package android.os {
public final class SystemClock { public final class SystemClock {
method public static long currentThreadTimeMillis(); method public static long currentThreadTimeMillis();
method public static long elapsedRealtime(); method public static long elapsedRealtime();
method public static long elapsedRealtimeNano(); method public static long elapsedRealtimeNanos();
method public static boolean setCurrentTimeMillis(long); method public static boolean setCurrentTimeMillis(long);
method public static void sleep(long); method public static void sleep(long);
method public static long uptimeMillis(); method public static long uptimeMillis();

View File

@@ -50,7 +50,7 @@ package android.os;
* interval does not span device sleep. Most methods that accept a * interval does not span device sleep. Most methods that accept a
* timestamp value currently expect the {@link #uptimeMillis} clock. * timestamp value currently expect the {@link #uptimeMillis} clock.
* *
* <li> <p> {@link #elapsedRealtime} and {@link #elapsedRealtimeNano} * <li> <p> {@link #elapsedRealtime} and {@link #elapsedRealtimeNanos}
* return the time since the system was booted, and include deep sleep. * return the time since the system was booted, and include deep sleep.
* This clock is guaranteed to be monotonic, and continues to tick even * This clock is guaranteed to be monotonic, and continues to tick even
* when the CPU is in power saving modes, so is the recommend basis * when the CPU is in power saving modes, so is the recommend basis
@@ -157,7 +157,7 @@ public final class SystemClock {
* *
* @return elapsed nanoseconds since boot. * @return elapsed nanoseconds since boot.
*/ */
public static native long elapsedRealtimeNano(); public static native long elapsedRealtimeNanos();
/** /**
* Returns milliseconds running in the current thread. * Returns milliseconds running in the current thread.

View File

@@ -71,7 +71,7 @@ public class Location implements Parcelable {
private String mProvider; private String mProvider;
private long mTime = 0; private long mTime = 0;
private long mElapsedRealtimeNano = 0; private long mElapsedRealtimeNanos = 0;
private double mLatitude = 0.0; private double mLatitude = 0.0;
private double mLongitude = 0.0; private double mLongitude = 0.0;
private boolean mHasAltitude = false; private boolean mHasAltitude = false;
@@ -120,7 +120,7 @@ public class Location implements Parcelable {
public void set(Location l) { public void set(Location l) {
mProvider = l.mProvider; mProvider = l.mProvider;
mTime = l.mTime; mTime = l.mTime;
mElapsedRealtimeNano = l.mElapsedRealtimeNano; mElapsedRealtimeNanos = l.mElapsedRealtimeNanos;
mLatitude = l.mLatitude; mLatitude = l.mLatitude;
mLongitude = l.mLongitude; mLongitude = l.mLongitude;
mHasAltitude = l.mHasAltitude; mHasAltitude = l.mHasAltitude;
@@ -140,7 +140,7 @@ public class Location implements Parcelable {
public void reset() { public void reset() {
mProvider = null; mProvider = null;
mTime = 0; mTime = 0;
mElapsedRealtimeNano = 0; mElapsedRealtimeNanos = 0;
mLatitude = 0; mLatitude = 0;
mLongitude = 0; mLongitude = 0;
mHasAltitude = false; mHasAltitude = false;
@@ -485,7 +485,7 @@ public class Location implements Parcelable {
* *
* <p>Note that the UTC time on a device is not monotonic: it * <p>Note that the UTC time on a device is not monotonic: it
* can jump forwards or backwards unpredictably. So always use * can jump forwards or backwards unpredictably. So always use
* {@link #getElapsedRealtimeNano} when calculating time deltas. * {@link #getElapsedRealtimeNanos} when calculating time deltas.
* *
* <p>On the other hand, {@link #getTime} is useful for presenting * <p>On the other hand, {@link #getTime} is useful for presenting
* a human readable time to the user, or for carefully comparing * a human readable time to the user, or for carefully comparing
@@ -515,7 +515,7 @@ public class Location implements Parcelable {
* Return the time of this fix, in elapsed real-time since system boot. * Return the time of this fix, in elapsed real-time since system boot.
* *
* <p>This value can be reliably compared to * <p>This value can be reliably compared to
* {@link android.os.SystemClock#elapsedRealtimeNano}, * {@link android.os.SystemClock#elapsedRealtimeNanos},
* to calculate the age of a fix and to compare Location fixes. This * to calculate the age of a fix and to compare Location fixes. This
* is reliable because elapsed real-time is guaranteed monotonic for * is reliable because elapsed real-time is guaranteed monotonic for
* each system boot and continues to increment even when the system * each system boot and continues to increment even when the system
@@ -526,8 +526,8 @@ public class Location implements Parcelable {
* *
* @return elapsed real-time of fix, in nanoseconds since system boot. * @return elapsed real-time of fix, in nanoseconds since system boot.
*/ */
public long getElapsedRealtimeNano() { public long getElapsedRealtimeNanos() {
return mElapsedRealtimeNano; return mElapsedRealtimeNanos;
} }
/** /**
@@ -535,8 +535,8 @@ public class Location implements Parcelable {
* *
* @param time elapsed real-time of fix, in nanoseconds since system boot. * @param time elapsed real-time of fix, in nanoseconds since system boot.
*/ */
public void setElapsedRealtimeNano(long time) { public void setElapsedRealtimeNanos(long time) {
mElapsedRealtimeNano = time; mElapsedRealtimeNanos = time;
} }
/** /**
@@ -772,7 +772,7 @@ public class Location implements Parcelable {
if (mProvider == null) return false; if (mProvider == null) return false;
if (!mHasAccuracy) return false; if (!mHasAccuracy) return false;
if (mTime == 0) return false; if (mTime == 0) return false;
if (mElapsedRealtimeNano == 0) return false; if (mElapsedRealtimeNanos == 0) return false;
return true; return true;
} }
@@ -792,7 +792,7 @@ public class Location implements Parcelable {
mAccuracy = 100.0f; mAccuracy = 100.0f;
} }
if (mTime == 0) mTime = System.currentTimeMillis(); if (mTime == 0) mTime = System.currentTimeMillis();
if (mElapsedRealtimeNano == 0) mElapsedRealtimeNano = SystemClock.elapsedRealtimeNano(); if (mElapsedRealtimeNanos == 0) mElapsedRealtimeNanos = SystemClock.elapsedRealtimeNanos();
} }
/** /**
@@ -832,11 +832,11 @@ public class Location implements Parcelable {
if (mTime == 0) { if (mTime == 0) {
s.append(" t=?!?"); s.append(" t=?!?");
} }
if (mElapsedRealtimeNano == 0) { if (mElapsedRealtimeNanos == 0) {
s.append(" et=?!?"); s.append(" et=?!?");
} else { } else {
s.append(" et="); s.append(" et=");
TimeUtils.formatDuration(mElapsedRealtimeNano / 1000000L, s); TimeUtils.formatDuration(mElapsedRealtimeNanos / 1000000L, s);
} }
if (mHasAltitude) s.append(" alt=").append(mAltitude); if (mHasAltitude) s.append(" alt=").append(mAltitude);
if (mHasSpeed) s.append(" vel=").append(mSpeed); if (mHasSpeed) s.append(" vel=").append(mSpeed);
@@ -860,7 +860,7 @@ public class Location implements Parcelable {
String provider = in.readString(); String provider = in.readString();
Location l = new Location(provider); Location l = new Location(provider);
l.mTime = in.readLong(); l.mTime = in.readLong();
l.mElapsedRealtimeNano = in.readLong(); l.mElapsedRealtimeNanos = in.readLong();
l.mLatitude = in.readDouble(); l.mLatitude = in.readDouble();
l.mLongitude = in.readDouble(); l.mLongitude = in.readDouble();
l.mHasAltitude = in.readInt() != 0; l.mHasAltitude = in.readInt() != 0;
@@ -890,7 +890,7 @@ public class Location implements Parcelable {
public void writeToParcel(Parcel parcel, int flags) { public void writeToParcel(Parcel parcel, int flags) {
parcel.writeString(mProvider); parcel.writeString(mProvider);
parcel.writeLong(mTime); parcel.writeLong(mTime);
parcel.writeLong(mElapsedRealtimeNano); parcel.writeLong(mElapsedRealtimeNanos);
parcel.writeDouble(mLatitude); parcel.writeDouble(mLatitude);
parcel.writeDouble(mLongitude); parcel.writeDouble(mLongitude);
parcel.writeInt(mHasAltitude ? 1 : 0); parcel.writeInt(mHasAltitude ? 1 : 0);

View File

@@ -1186,7 +1186,7 @@ public class LocationManager {
* Get the last known location. * Get the last known location.
* *
* <p>This location could be very old so use * <p>This location could be very old so use
* {@link Location#getElapsedRealtimeNano} to calculate its age. It can * {@link Location#getElapsedRealtimeNanos} to calculate its age. It can
* also return null if no previous location is available. * also return null if no previous location is available.
* *
* <p>Always returns immediately. * <p>Always returns immediately.

View File

@@ -215,7 +215,7 @@ public class FusionEngine implements LocationListener {
} }
private static double weighAge(Location loc) { private static double weighAge(Location loc) {
long ageSeconds = SystemClock.elapsedRealtimeNano() - loc.getElapsedRealtimeNano(); long ageSeconds = SystemClock.elapsedRealtimeNanos() - loc.getElapsedRealtimeNanos();
ageSeconds /= 1000000000L; ageSeconds /= 1000000000L;
if (ageSeconds < 0) ageSeconds = 0; if (ageSeconds < 0) ageSeconds = 0;
return Math.exp(-ageSeconds * AGE_DECAY_CONSTANT_S); return Math.exp(-ageSeconds * AGE_DECAY_CONSTANT_S);
@@ -266,7 +266,7 @@ public class FusionEngine implements LocationListener {
// fused time - now // fused time - now
fused.setTime(System.currentTimeMillis()); fused.setTime(System.currentTimeMillis());
fused.setElapsedRealtimeNano(SystemClock.elapsedRealtimeNano()); fused.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos());
// fuse altitude // fuse altitude
if (mGpsLocation.hasAltitude() && !mNetworkLocation.hasAltitude() && if (mGpsLocation.hasAltitude() && !mNetworkLocation.hasAltitude() &&

View File

@@ -17,17 +17,14 @@
package com.android.server; package com.android.server;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.content.ContentQueryMap;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Resources; import android.content.res.Resources;
import android.database.ContentObserver; import android.database.ContentObserver;
import android.database.Cursor;
import android.location.Address; import android.location.Address;
import android.location.Criteria; import android.location.Criteria;
import android.location.GeocoderParams; import android.location.GeocoderParams;
@@ -41,7 +38,6 @@ import android.location.Location;
import android.location.LocationManager; import android.location.LocationManager;
import android.location.LocationProvider; import android.location.LocationProvider;
import android.location.LocationRequest; import android.location.LocationRequest;
import android.net.ConnectivityManager;
import android.os.Binder; import android.os.Binder;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
@@ -55,7 +51,6 @@ import android.os.SystemClock;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.WorkSource; import android.os.WorkSource;
import android.provider.Settings; import android.provider.Settings;
import android.provider.Settings.NameValueTable;
import android.util.Log; import android.util.Log;
import android.util.Slog; import android.util.Slog;
@@ -80,8 +75,6 @@ import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Observable;
import java.util.Observer;
import java.util.Set; import java.util.Set;
/** /**
@@ -1343,7 +1336,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run
// Check whether sufficient time has passed // Check whether sufficient time has passed
long minTime = record.mRequest.getFastestInterval(); long minTime = record.mRequest.getFastestInterval();
long delta = (loc.getElapsedRealtimeNano() - lastLoc.getElapsedRealtimeNano()) / 1000000L; long delta = (loc.getElapsedRealtimeNanos() - lastLoc.getElapsedRealtimeNanos()) / 1000000L;
if (delta < minTime - MAX_PROVIDER_SCHEDULING_JITTER_MS) { if (delta < minTime - MAX_PROVIDER_SCHEDULING_JITTER_MS) {
return false; return false;
} }

View File

@@ -147,7 +147,7 @@ public final class TwilightService {
} }
// if new location is older than the current one, the device hasn't moved. // if new location is older than the current one, the device hasn't moved.
if (to.getElapsedRealtimeNano() < from.getElapsedRealtimeNano()) { if (to.getElapsedRealtimeNanos() < from.getElapsedRealtimeNanos()) {
return false; return false;
} }
@@ -428,8 +428,8 @@ public final class TwilightService {
mLocationManager.getLastKnownLocation(providers.next()); mLocationManager.getLastKnownLocation(providers.next());
// pick the most recent location // pick the most recent location
if (location == null || (lastKnownLocation != null && if (location == null || (lastKnownLocation != null &&
location.getElapsedRealtimeNano() < location.getElapsedRealtimeNanos() <
lastKnownLocation.getElapsedRealtimeNano())) { lastKnownLocation.getElapsedRealtimeNanos())) {
location = lastKnownLocation; location = lastKnownLocation;
} }
} }
@@ -447,7 +447,7 @@ public final class TwilightService {
location.setLatitude(0); location.setLatitude(0);
location.setAccuracy(417000.0f); location.setAccuracy(417000.0f);
location.setTime(System.currentTimeMillis()); location.setTime(System.currentTimeMillis());
location.setElapsedRealtimeNano(SystemClock.elapsedRealtimeNano()); location.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos());
if (DEBUG) { if (DEBUG) {
Slog.d(TAG, "Estimated location from timezone: " + location); Slog.d(TAG, "Estimated location from timezone: " + location);

View File

@@ -1029,7 +1029,7 @@ public class GpsLocationProvider implements LocationProviderInterface {
mLocation.setTime(timestamp); mLocation.setTime(timestamp);
// It would be nice to push the elapsed real-time timestamp // It would be nice to push the elapsed real-time timestamp
// further down the stack, but this is still useful // further down the stack, but this is still useful
mLocation.setElapsedRealtimeNano(SystemClock.elapsedRealtimeNano()); mLocation.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos());
} }
if ((flags & LOCATION_HAS_ALTITUDE) == LOCATION_HAS_ALTITUDE) { if ((flags & LOCATION_HAS_ALTITUDE) == LOCATION_HAS_ALTITUDE) {
mLocation.setAltitude(altitude); mLocation.setAltitude(altitude);

View File

@@ -115,8 +115,8 @@ public class LocationBasedCountryDetector extends CountryDetectorBase {
Location lastKnownLocation = mLocationManager.getLastKnownLocation(provider); Location lastKnownLocation = mLocationManager.getLastKnownLocation(provider);
if (lastKnownLocation != null) { if (lastKnownLocation != null) {
if (bestLocation == null || if (bestLocation == null ||
bestLocation.getElapsedRealtimeNano() < bestLocation.getElapsedRealtimeNanos() <
lastKnownLocation.getElapsedRealtimeNano()) { lastKnownLocation.getElapsedRealtimeNanos()) {
bestLocation = lastKnownLocation; bestLocation = lastKnownLocation;
} }
} }