Commit Graph

148 Commits

Author SHA1 Message Date
Wyatt Riley
21c4a58435 Merge "DO NOT MERGE - SUPL ES Extension - Safer Init and Not After Boot" into oc-dev
am: 809231680f

Change-Id: If2f27dd775d4d5d543d23d10dcce10bc1bc4f51a
2019-03-04 06:56:23 -08:00
WyattRiley
a7cb82eb85 DO NOT MERGE - SUPL ES Extension - Safer Init and Not After Boot
Safe order of pointer setting and background thread start
Verifying mCallEndElapsedRealtimeMillis is not the initial value

Bug: 112159033
Bug: 115361555
Bug: 125124724
Test: Verified not-after-boot with test code b/115361555#comment14
Test: Reproed NPE with test thread sleep and verify fix
Change-Id: Icd2ea91d71da71c8fda109ceb70514733d35060b
2019-03-01 21:12:55 +00:00
WyattRiley
75c5850b4c Adding SUPL NI Emergency Extension Time
am: 1cd7883a76

Change-Id: I22286211589cbcc8739c5dfed3a839bada35646a
2018-12-20 17:23:22 -08:00
WyattRiley
1cd7883a76 Adding SUPL NI Emergency Extension Time
Configurable by carrier config.xml resource

Bug: 118839234
Bug: 115361555
Bug: 112159033
Test: On device, see b/115361555#comment14
Change-Id: I52e61656cca8b6fa6468d32d2e69bf60f4c83c61
Merged-In: I52e61656cca8b6fa6468d32d2e69bf60f4c83c61
2018-12-12 08:07:25 -08:00
Siddharth Ray
168f12a056 Average of top 4 CNO
Addition of average of top 4 CNO to GNSS metrics

BUG: 62727230
Change-Id: Icef0ff5c25596fc1ae787907c0aea305eaf156d6
2017-07-10 19:00:27 +00:00
Siddharth Ray
dff73b6a04 Merge "Added Channel for Network Initiated Notifications" into oc-dev am: 84ed81ed39
am: e24e12df35

Change-Id: Id050d77a7df66451311713cdd54209109cda9d7a
2017-05-02 23:27:43 +00:00
Siddharth Ray
1d35540315 Added Channel for Network Initiated Notifications
Bug=37659896

Change-Id: I1c04a9455c320330efbcb92c352fc31b16ed8378
2017-05-02 20:44:08 +00:00
Shuo Qian
cfe9e61ce4 ECBM SystemProperty cleanup
- Add getEmergencyCallbackMode() method in the TelephonyManager.java
to get the boolean value for ECBM callback mode from the phone through
ITelephony.aidl/java interface

- Use the added TelephonyManager Api to replace the 'get' of
PROPERTY_INECM_MODE system property in the framework/base

Change-Id: I83fbdeef5c0b43a8fc16ece044c9e191e9922bce
Test: manual
Bug: 30361624
2017-04-12 22:36:00 +00:00
Shuo Qian
c77146ceb1 Merge "ECBM SystemProperty cleanup" am: 4718606368 am: 40cde7b71f am: 36611a0958
am: 56d3af6680

Change-Id: Ida75e1835bc99a328baeee71b6838581800916b0
2017-04-12 22:11:17 +00:00
Shuo Qian
56d3af6680 Merge "ECBM SystemProperty cleanup" am: 4718606368 am: 40cde7b71f
am: 36611a0958

Change-Id: Ib68a4e3b34ad4d76e4b254350b523eaa424b30f9
2017-04-12 21:11:58 +00:00
shuoq
d199113e97 ECBM SystemProperty cleanup
- Add getEmergencyCallbackMode() method in the TelephonyManager.java
to get the boolean value for ECBM callback mode from the phone through
ITelephony.aidl/java interface

- Use the added TelephonyManager Api to replace the 'get' of
PROPERTY_INECM_MODE system property in the framework/base

Test: manual
Bug: 30361624

Change-Id: I355d69820b157f23e077a95a13f8509ee0fa5874
2017-04-11 14:59:29 -07:00
Siddharth Ray
bb608c8958 Addition of GNSS key performance indicator logs
Bug: 35963181
Test: Manual
Change-Id: Ibbc8986eb5c52b8e0065b5fd2fdb8579eda11949
2017-04-05 12:00:08 -07:00
Hridya Valsaraju
2ea296029f Modify GnssLocationProvider to use Treble Gnss HAL
Test: GPS functionality tested in binderized and pass-through modes on
Angler. All interfaces except AGnssRil, GnssNavigationMessage and
GnssNi. AGnssRil and AGnssNavigationMessage are not implemented by conventional
GPS HALs in Google devices that would be upgrading to O.

Change-Id: Ie4decb4c47892725c8c89bad3f48581550facff7
2016-11-23 17:16:59 -08:00
Lifu Tang
30f95a7d67 Supported GNSS multi-constellation in frameworks
Change-Id: I82574afd3697c47e806d2cfaedc33756d0353b73
2016-01-25 15:15:14 -08:00
Chris Wren
1ce4b6d3c6 remove usage of deprecated method setLatestEventInfo
Bug: 18510449
Change-Id: I56a77991c729990e501f402e007dfa79ee57621e
2015-06-12 10:16:04 -04:00
Alan Viverette
4a357cd2e5 Replace usages of deprecated Resources.getColor() and getColorStateList()
Change-Id: I8f64fe6c4c44a92ff6d07250223ba590a1d691b0
2015-03-18 18:37:18 -07:00
John Spurlock
08c7116ab9 Remove unused imports in frameworks/base.
Change-Id: I031443de83f93eb57a98863001826671b18f3b17
2015-02-28 14:47:49 -05:00
Tsuwei Chen
566ebfde2b Fix an incorrect behavior that failed AT&T privacy test.
Bug: 17278951

Change-Id: I8b8bf4ed19af8738e7cef3553c8a06f7e27c7264
2014-09-25 14:53:54 -07:00
Tsuwei Chen
7c485bf66a Handle user privacy properly during network initiated requests.
Bug: 16131208

Change-Id: Ic6f83fcf24eef9e0e26e303bb652651f0dc2970a
2014-09-12 14:56:00 -07:00
Tsuwei Chen
3324e95412 Manually merge QC's change for SUPL_ES.
Original CL: https://android-review.googlesource.com/#/c/105431

Emergency SUPL

Added emergency SUPL when UE is
in emergency mode.

Bug: 17118312


Change-Id: Id9b77add9bbab139b983a84d5a4c798c9c94df43
2014-09-08 07:11:02 +00:00
Selim Cinek
255dd04271 Added notification color to all system notifications
Bug: 17128331
Change-Id: I81a94510ef51b99916f314c0dd65852426a1fbeb
2014-08-20 14:25:18 +02:00
John Spurlock
6090995951 Remove unused imports from frameworks/base.
Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
2013-11-20 11:31:47 -05:00
Kenny Root
58ed5d748c am 768d9e1a: Merge "Correct executable bit for source files"
* commit '768d9e1a72ceee7d4a5f608776b87b62d6ce4a04':
  Correct executable bit for source files
2012-11-07 11:52:12 -08:00
Kenny Root
3a084af2e9 Correct executable bit for source files
Many media files and source code files were marked as executable in Git.
Remove those.

Also a shell script and python script were not marked as executable.

Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
2012-11-07 10:27:31 -08:00
Victoria Lease
38389b6cf7 Route GPS notifications to all users.
This takes the easy way around notifying the correct users
about GPS state transitions by notifying ALL the users(!).

I've also laid groundwork for proper multiuser support in
LocationManager and did a tiny bit of cleanup in
GpsNetInitiatedHandler while I was looking at notifications.

Bug: 7213552
Change-Id: I2d6dc65c459e55d110ac0f5f79ae7a87ad638ede
2012-10-01 09:09:25 -07:00
Nick Pelly
1332b53522 Fix some location issues exposed by CTS.
Change-Id: I5859ee2c9db5745b0a3bc8abfa8f08728fb25059
2012-08-21 16:26:26 -07:00
Nick Pelly
08ca1046fe Fix a couple of bugs from the location overhaul.
Marshall LocationRequest array correctly.

Observe reportLocation from FusionEngine.

Actually deliver the setRequest message to fusion engine.

Change-Id: Iff64596fdd42f9fb06e563591dda9fbe0241533a
2012-08-10 17:17:32 -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
Nick Pelly
e0fd693c60 Improve geofencing: throttle location updates with distance to fence.
Previously any geofence (proximity alert) would turn the GPS on at full rate.
Now, we modify the GPS interval with the distance to the nearest geofence.
A speed of 100m/s is assumed to calculate the next GPS update.

Also
o Major refactor of geofencing code, to make it easier to continue to improve.
o Discard proximity alerts when an app is removed.
o Misc cleanup of nearby code. There are other upcoming changes
  that make this a good time for some house-keeping.

TODO:
The new geofencing heuristics are much better than before, but still
relatively naive. The next steps could be:
- Improve boundary detection
- Improve update thottling for large geofences
- Consider velocity when throttling

Change-Id: Ie6e23d2cb2b931eba5d2a2fc759543bb96e2f7d0
2012-07-16 12:18:52 -07:00
Jesse Wilson
40c5ccfffe Acknowledge that the platform guarantees UTF-8 and UTF-16.
These log statements were dead code. That isn't much of a problem,
except that the 'e.getMessage()' that was being logged could be null,
and that would cause a real problem.

Change-Id: I8573bc687a7eda73782bd028e8ddc048a1954dc5
2011-07-19 12:10:07 -07:00
Anshuman Pandey
fad5445c66 Add FLAG_AUTO_CANCEL flag for multiple supl notifications.
Added FLAG_AUTO_CANCEL to notification flags in GpsNetInitiatedHandler.java.
This is done to clear consecutive notifications in UI

Change-Id: I84be36af0b556f43ffd7d51ac04ff12300090ca5
Signed-off-by: Anshuman Pandey <anshuman.pandey@stericsson.com>
Signed-off-by: Christian Bejram <christian.bejram@stericsson.com>
2011-06-15 14:49:53 +02:00
Hakan Gustavsson
6664d989c8 Fixed GSM encoded network initiated position request
GSM encoded network initiated position requests were previously
not correctly decoded. The GSM encoded string was decoded as
ASCII but not all characters are encoded in the same way for
GSM and ASCII. These characters was not displayed.

Besides that, when the number of characters was evenly divided
by 8 the last character was lost. This is also corrected.

Change-Id: Ic70b7c28bbba1f2936a9cc99e78f8002cc5c8761
2011-02-22 14:35:47 +01:00
Jean-Baptiste Queru
12902d687f resolved conflicts for merge of 78742e01 to stage-korg-master
Change-Id: I0ce429afeb26184f075b4ed326fc4e1c0833e905
2010-12-07 12:51:49 -08:00
Hakan Gustavsson
dea74b0285 Strings for NI position request are moved to resources
The strings used by the framework for network initiated position
requests are now string resources that can be properly localized.

Change-Id: If1cba89adb1bfcb9c8fdb59b9c5aa1107b11279e
2010-12-03 09:47:21 +01:00
Mike Lockwood
b445946dea GPS: Initialize XTRA support when GPS is enabled
BUG: 2923148

Change-Id: If9a643e385c6c567b30f47d4caa35fa812a2ba43
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-08-30 19:42:26 -04:00
Mike Lockwood
3e34d135f7 GPS: Don't set XTRA download pending flag at boot time.
XTRA data downloads are now strictly on demand from the GPS engine.
Also fix typo in handleDownloadXtraData()

Change-Id: Ied1a6e2e62134add4d965326aae909c86f834682
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-08-30 19:38:45 -04:00
Mike Lockwood
03ca216ac1 New Location Manager APIs for Criteria based requests and single shot mode.
Use MS-Assisted mode for single shot GPS fixes if it is supported.

Add finer grained control over accuracy to the android.location.Criteria class
and location criteria logic from LocationManager to LocationManagerService

Change-Id: I156b1f6c6a45d255c87ff917cf3e9726a6d7a75b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-05-21 11:47:19 -04:00
The Android Open Source Project
f4dffd8a45 merge from open-source master
Change-Id: I4c28751bd84b41259b12b0f3e3307e11234c8b64
2010-05-06 15:18:59 -07:00
Hakan Gustavsson
fa94ff074d GpsLocationProvider: Store new Location before onGpsStatusChanged is sent
In reportLocation() the new location is now stored before the callback
onGpsStatusChanged(GPS_EVENT_FIRST_FIX) is sent. This will prevent users
from getting a faulty location from LocationManager.getLastKnownLocation()
after receiving onGpsStatusChanged(GPS_EVENT_FIRST_FIX).

Change-Id: I6c654b2acbf2e216c99058a20f068bf4721a1c7a
2010-04-19 16:16:23 -07:00
Mike Lockwood
00b74270c9 Move files internal to LocationManagerService from framework.jar to services.jar
Change-Id: Iebbfc49b8300ab59730733efdf489ec87ea45a25
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-04-04 18:44:05 -04:00
Mike Lockwood
5b53244a4e GpsNetInitiatedHandler: whitespace cleanup
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-04-04 18:44:05 -04:00
Mike Lockwood
79e642e8ed Call LocationManager.sendNiResponse() instead of calling directly to GpsLocationProvider
Change-Id: I6a5b47abb0519f5228d29bc3340bb2490564803e
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-04-04 18:44:05 -04:00
Mike Lockwood
8909631710 Wait until GpsLocationProvider is fully initialized before returning from the constructor.
Otherwise we are left with a race condition that might result in the provider
being called before it is ready.

BUG: 2539392
Change-Id: I05f4a2501c43d5fa95c0e68f5a963015cf9c6e8f
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-03-24 12:38:42 -04:00
Mike Lockwood
62a8fc159a GpsLocationProvider: Do our work in a Handler running in a separate thread.
To avoid adding a new thread to the system, we take the functionality that was
in GpsNetworkThread for downloading NTP time and XTRA data and include this in
the new thread as well.

BUG: 2531728

Change-Id: I2a26b7f0aae0c60faceb36dc6bc29c915c039ae6
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-03-22 15:14:31 -04:00
Mike Lockwood
69d63446d8 Remove unused file NmeaParser.java
Change-Id: I8027b98ccf1271870243ced8a7ccc61d25a224b2
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-03-17 22:36:15 -04:00
Fred Fettinger
3c8fbdf5dd location: dump LocationProvider internal state
For each location provider, call getInternalState() to see if it has any
state information to include in a bugreport. If the returned string is not
null, then print a header with the provided name followed by the returned
string.

Change-Id: I0a388d7fba14ac8cadcb80eda0a0ceb95032410b
Signed-off-by: Fred Fettinger <fred.fettinger@motorola.com>
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-03-07 09:29:15 -05:00
Dianne Hackborn
2269d1572e Re-arrange android-common so framework no longer links with it.
This is the framework part, moving classes around so the framework
no longer needs to link to android-common.  Makes some APIs public,
others that didn't need to be public are private in the framework,
some small things are copied.
2010-02-25 11:39:33 -08:00
Mike Lockwood
b7be5447a0 GpsLocationProvider: Be less aggressive about getting fixes in bad conditions if we have a long fix interval.
Change-Id: I68bd884409ca15e584ab70e53cf142d60f318d9c
BUG: 2215714

Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-02-24 14:44:18 -05:00
Mike Lockwood
63598a0619 Fix broken location extras in GpsLocationProvider.
Fixes http://code.google.com/p/android/issues/detail?id=4151
(Satellite count not being provided by Location class any more. Location.getExtras() returns null.)

Change-Id: I4cf2922f4a5ed216541f8a8553523d1f6a1c1d0c
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-02-24 11:56:33 -05:00
Mike Lockwood
a4903f254b Add passive location provider.
The passive location provider allows receiving location updates without
actually triggering them.  This allows an application to receive location
updates that are being generated due to other clients of the location manager.

Change-Id: Ibf7a96b089c56875d4f62d3210252ae8d9f32768
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-02-17 18:36:40 -05:00