11 Commits

Author SHA1 Message Date
Baligh Uddin
50af6d7ae6 Remove deprecated locales - DO NOT MERGE
Change-Id: Iac5489639edae2373ed0ce92f7d0fe22629a249a
2014-07-19 13:05:12 -07:00
Baligh Uddin
0a24efd513 Import translations. DO NOT MERGE
Change-Id: I39f20de8a02ff8d825102a4a36570bcb6180f12e
Auto-generated-cl: translation import
2014-07-05 09:25:31 -07:00
Baligh Uddin
f8c5b40b6c Import translations. DO NOT MERGE
Change-Id: I1ce049ca89479b5d669f813661ce097d97e36629
Auto-generated-cl: translation import
2014-06-30 14:34:23 +00:00
Baligh Uddin
1de821cc85 Import translations. DO NOT MERGE
Change-Id: I70eb28f41b715d1843f3b90c95c0efa71f005e8a
Auto-generated-cl: translation import
2014-05-20 08:16:45 -07:00
Baligh Uddin
ed822f8a39 Import translations. DO NOT MERGE
Change-Id: I79945322799c86169e725cb3c67be0b8046f55fe
Auto-generated-cl: translation import
2013-11-11 08:10:44 -08:00
Baligh Uddin
ca6c7fc653 Import translations. DO NOT MERGE
Change-Id: Ie33acfe6f39d170f88a99ec57ee960dc62c84ee0
Auto-generated-cl: translation import
2013-11-06 11:52:19 -08:00
Baligh Uddin
2280aedc9f Import translations. DO NOT MERGE
Change-Id: I67083211b646acc186939e051ea5218fb00ed1c6
Auto-generated-cl: translation import
2013-10-16 14:39:18 -07:00
Baligh Uddin
11bb67d6c2 Import translations. DO NOT MERGE
Change-Id: Ib34e81399bfc7c5867fcc060af7d5487485a2855
Auto-generated-cl: translation import
2013-10-14 09:13:55 -07:00
Baligh Uddin
e9fe9d729e Import translations. DO NOT MERGE
Change-Id: I82d4f166b346b10babd67f89f3035426e74db7dd
Auto-generated-cl: translation import
2013-10-11 16:28:01 -07:00
Baligh Uddin
d053c98298 Import translations. DO NOT MERGE
Change-Id: I693a68b27aba9bcde0a4b4b79f8927483ca0fd2c
Auto-generated-cl: translation import
2013-10-10 17:46:04 -07:00
Nick Pelly
6fa9ad4afc Location overhaul, major commit.
Themes: Fused Location, Geofencing, LocationRequest.

API changes
o Fused location is always returned when asking for location by Criteria.
o Fused location is never returned as a LocationProvider object, nor returned
  as a provider String. This wouldn't make sense because the current API
  design assumes that LocationProvider's have fixed properties (accuracy, power
  etc).
o The fused location engine will tune itself based on the criteria passed
  by applications.
o Deprecate LocationProvider. Apps should use fused location (via Criteria
  class), instead of enumerating through LocationProvider objects. It is
  also over-engineered: designed for a world with a plethora of location
  providers that never materialized.
o The Criteria class is also over-engineered, with many methods that aren't
  currently used, but for now we won't deprecate them since they may have
  value in the future. It is now used to tune the fused location engine.
o Deprecate getBestProvider() and getProvider().
o Add getLastKnownLocation(Criteria), so we can return last known
  fused locations.
o Apps with only ACCESS_COARSE_LOCATION _can_ now use the GPS, but the location
  they receive will be fudged to a 1km radius. They can also use NETWORK
  and fused locatoins, which are fudged in the same way if necessary.
o Totally deprecate Criteria, in favor of LocationRequest.
  Criteria was designed to map QOS to a location provider. What we
  really need is to map QOS to _locations_.
  The death knell was the conflicting ACCURACY_ constants on
  Criteria, with values 1, 2, 3, 1, 2. Yes not a typo.
o Totally deprecate LocationProvider.
o Deprecate test/mock provider support. They require a named provider,
  which is a concept we are moving away from. We do not yet have a
  replacement, but I think its ok to deprecate since you also
  need to have 'allow mock locations' checked in developer settings.
  They will continue to work.
o Deprecate event codes associated with provider status. The fused
  provider is _always_ available.
o Introduce Geofence data object to provide an easier path fowards
  for polygons etc.

Implementation changes
o Fused implementation: incoming (GPS and NLP) location fixes are given
  a weight, that exponentially decays with respect to age and accuracy.
  The half-life of age is ~60 seconds, and the half-life of accuracy is
  ~20 meters. The fixes are weighted and combined to output a fused
  location.
o Move Fused Location impl into
  frameworks/base/packages/FusedLocation
o Refactor Fused Location behind the IProvider AIDL interface. This allow us
  to distribute newer versions of Fused Location in a new APK, at run-time.
o Introduce ServiceWatcher.java, to refactor code used for run-time upgrades of
  Fused Location, and the NLP.
o Fused Location is by default run in the system server (but can be moved to
  any process or pacakge, even at run-time).
o Plumb the Criteria requirements through to the Fused Location provider via
  ILocation.sendExtraCommand(). I re-used this interface to avoid modifying the
  ILocation interface, which would have broken run-time upgradability of the
  NLP.
o Switch the geofence manager to using fused location.
o Clean up 'adb shell dumpsys location' output.
o Introduce config_locationProviderPackageNames and
  config_overlay_locationProviderPackageNames to configure the default
  and overlay package names for Geocoder, NLP and FLP.
o Lots of misc cleanup.
o Improve location fudging. Apply random vector then quantize.
o Hide internal POJO's from clients of com.android.location.provider.jar
  (NLP and FLP). Introduce wrappers ProviderRequestUnbundled and
  ProviderPropertiesUnbundled.
o Introduce ProviderProperties to collapse all the provider accuracy/
  bearing/altitude/power plumbing (that is deprecated anyway).
o DELETE lots of code: DummyLocationProvider,
o Rename the (internal) LocationProvider to LocationProviderBase.
o Plumb pid, uid and packageName throughout
  LocationManagerService#Receiver to support future features.

TODO: The FLP and Geofencer have a lot of room to be more intelligent
TODO: Documentation
TODO: test test test

Change-Id: Iacefd2f176ed40ce1e23b090a164792aa8819c55
2012-08-10 14:57:09 -07:00