summaryrefslogtreecommitdiff
path: root/location
AgeCommit message (Collapse)Author
2020-02-11Add equals/hashcode for GnssStatusSoonil Nagarkar
Will help substantially with testing. Test: presubmits Change-Id: If1e5a3214c17b75a4cd47de85cfc0af5e62f9866
2020-02-11Merge "Revert^2 "Add GnssAntennaInfo framework APIs" + added fixes"Sasha Kuznetsov
2020-02-11Fix work profile handling across locationSoonil Nagarkar
There were a couple problems with work profile state in location. First, we assumed that notifications sent to parent users would also be sent to profiles but this is not true. Second we had assumed location status in profiles was always identical to the parent user, but work profiles may have user restrictions applied which are not present on the parent user. The easiest way to handle these issues seems to be to expand LMS user handling to deal with all users, rather than making various assumptions which may or may not be true. This also means we need to store last locations on a per profile basis. Since we're refactoring how last location works completely, we also removed the special NO_GPS handling for last locations. With the new permission strings we now no longer have to exclude gnss based location from coarsening. This lets us: 1) deprecate and remove various constants and methods use for storing coarse locations tied to fine locations 2) substantially simplify code that calculated coarse location This also exposed numerous bugs in the location service where we were using the current user's state instead of the calling user's state, which could have exposed the current user's location to other users inappropriately. Bug: 148798374 Bug: 146071833 Test: presubmits + manual Change-Id: I2d3216a9fb58b73d0124d563b05de8870b70b716
2020-02-11Merge "Deprecate Gps* APIs"TreeHugger Robot
2020-02-11Revert^2 "Add GnssAntennaInfo framework APIs" + added fixesSasha Kuznetsov
fef9247572bdb84b91f469ed9b7cc3995bf41609 Test: End to end test: run "atest GnssAntennaInfoRegistrationTest" on cuttlefish and watch "adb logcat | grep -i GnssAntennaInfo". Other tests: atest GnssAntennaInfoTest, atest GnssAntennaInfoProviderTest, atest GnssManagerServiceTest, atest VtsHalGnssV2_1TargetTest, atest LocationManagerFineTest. Bug: 124556515 Change-Id: Ie1a8a60b9d7b9b95335bc84118639e33e0784ca1
2020-02-11Merge "Revert "Add GnssAntennaInfo framework APIs""Yu-Han Yang
2020-02-11Revert "Add GnssAntennaInfo framework APIs"Yu-Han Yang
Revert "Add GnssAntennaInfo tests" Revert submission 10111057-pco_pcv Reason for revert: Build breakage Reverted Changes: I70e4014dd:Add GnssAntennaInfo framework APIs I072958ecb:Add GnssAntennaInfo tests Ia63a1f502:Add GnssAntennaInfo to HAL Change-Id: I1934b1061737b417bb903f592c8f51cc65523747
2020-02-11Merge "Add GnssAntennaInfo framework APIs"Sasha Kuznetsov
2020-02-11Merge "LocationManager: move impl of setLocationEnabledForUser to server"TreeHugger Robot
2020-02-10Add GnssAntennaInfo framework APIsSasha Kuznetsov
Test: End to end test: run "atest GnssAntennaInfoRegistrationTest" on cuttlefish and watch "adb logcat | grep -i GnssAntennaInfo". Other tests: atest GnssAntennaInfoTest, atest GnssAntennaInfoProviderTest, atest GnssManagerServiceTest, atest VtsHalGnssV2_1TargetTest, atest LocationManagerFineTest. Bug:124556515 Change-Id: I70e4014dd3959b0570c35bd2aa8bb839ef167d70
2020-02-10Add fullTracking to registerGnssMeasurementsCallback (implementation)Yu-Han Yang
- Currently enableFullTracking has a toggle in Developer Option. This change adds a system API for the same functionality. - If at least one of <enableFullTracking in Developer Option> and <enableFullTracking from the system API> is true, full tracking is enabled when registering a GnssMeasurement callback. - For multiple GnssMeasurement callbacks, full tracking is enabled if *at least* one callback has fullTracking enabled. Removing a callback might trigger restarting the measurement collection if the aggregated requirement has changed. Bug: 147387008 Test: atest GnssMeasurementsProviderTest atest GnssManagerServiceTest atest GnssMeasurementRegistrationTest Change-Id: Iedf03edd7053aa0089cfea0d5c0357322f68d9c4
2020-02-08Merge "Add enableFullTracking to registerGnssMeasurementsCallback"TreeHugger Robot
2020-02-07Deprecate Gps* APIsYu-Han Yang
- should use Gnss* APIs instead Bug: 149111893 Test: annotation only and builds. Change-Id: Ida2c61a746731cf0aae84fb69718943fd82e4d51
2020-02-07Add enableFullTracking to registerGnssMeasurementsCallbackYu-Han Yang
- Internal implementation is in ag/10109000. Bug: 148284818 Bug: 147387008 Test: builds and existing tests pass. Change-Id: Ic276dcc8170a24d132770703b33bfc9762bf6b4f
2020-02-06Use compat framework for API behaviorSoonil Nagarkar
Check compat API behavior using new compat APIs, also use ActivityManager APIs to properly support user paramters on APIs. Bug: 145742912 Test: none Change-Id: Ic86052b59764ad79404b78ba148aaf3220b3c1e5
2020-02-05LocationManager: move impl of setLocationEnabledForUser to serverTim Murray
Makes caching significantly easier. Test: boots, works, gets location Bug: 140788621 Change-Id: Ief39b3a985deea93e0e5f126863a3df383be5fd4
2020-02-03Use FrameworkStatsLog instead of StatsLogMuhammad Qureshi
As part of statsd becoming a Mainline module in R, autogenerated StatsLog.write() calls are going away and replaced by *StatsLog.java that is autogenerated for each module. This CL replaces some usages of StatsLog with FrameworkStatsLog. Bug: 145952197 Test: m Change-Id: Iaa2db34a7be4c3215f62cc36661ba8ac81656baa
2020-02-01Merge "Remove setLocationExtra per API feedback"TreeHugger Robot
2020-01-29Create AppForegroundHelperSoonil Nagarkar
Create a new helper to deal with application foreground state changes. 1) Rename various Helpers. 2) Move GnssManagerService into location dir. 3) Use new AppForegroundHelper everywhere. 4) Move sendNiRequest to internal API 5) Some refactoring of NetInitiatedActivity Test: atest AppForegroundHelperTest Change-Id: Ifffe0e6a34452a18d017c6b190547b904d77b430
2020-01-25Merge "Update jni with measurement_corrections 1.1"Sasha Kuznetsov
2020-01-24Remove setLocationExtra per API feedbackSoonil Nagarkar
Bug: 142828735 Test: atest LocationManagerFineTest Change-Id: I73193dc2484a2b8051c5cff42cd3fcec9a44a015
2020-01-23Add DPM API to request location provider enableSoonil Nagarkar
DPM can currently control the master location toggle, but cannot influence the behavior of individual providers. This adds an API for DPM (or other privileged entities) to request a provider to turn itself on. Practically, this is necessary to allow DPM to control network location, which may be gated by additional consents. This change also renames some internal location code to make clearer the distinction between provider enabled and provider allowed: enabled = location on && allowed Bug: 136219903 Test: CTS tests to be added Change-Id: I05f03c976428f0f5a8a2cf627a84dc9e2baf3e67
2020-01-23Merge "Add inter-signal bias fields to GnssMeasurement and GnssClock"Yu-Han Yang
2020-01-23Merge "Add IRNSS svid range"TreeHugger Robot
2020-01-22Update jni with measurement_corrections 1.1Sasha Kuznetsov
Test: manually injected dummy measurement corrections in GnssLocationProvider and verified that cuttlefish implementation properly recieved them below the HAL Bug: 145963440 Change-Id: Id659b0fdddd7852012da1bab07d0f26a3abb29af
2020-01-23Merge "Fix parceling bug in ProviderRequest"TreeHugger Robot
2020-01-22Add inter-signal bias fields to GnssMeasurement and GnssClockYu-Han Yang
Bug: 147500886 Test: atest GnssMeasurementTest atest GnssClockTest Change-Id: I8adaf1c1b0f6478695ca9b4768568af0ebfb11d4
2020-01-22Fix parceling bug in ProviderRequestSoonil Nagarkar
Forgot to add worksource write in addition to worksource read. Bug: 148129736 Test: manual Change-Id: Idac06b9191ada54bed0c79e9c799d8cd1ab0ebac
2020-01-22Merge "Support SBAS, QZSS and NAVIC navigation messages"TreeHugger Robot
2020-01-22Support SBAS, QZSS and NAVIC navigation messagesYu-Han Yang
Bug: 147768625 Test: atest GnssNavigationMessageTest Change-Id: Icc788bd6762d3d8d75d7f92d3b233c05f329a104
2020-01-22Merge "Make cN0Db and basebandCn0Db ranges consistent with HAL"TreeHugger Robot
2020-01-22Overhaul FusedLocationProviderSoonil Nagarkar
Fix some minor bugs and ensure fused location provider correctly supports location bypass. This is especially important for when location bypass is invoked in direct boot. The added UPDATE_DEVICE_STATS permission is necessary for FusedLocation to correctly update WorkSources. FusedLocation receives work from LMS and then further delegates that work to other location providers. The other location providers should be informed of the correct applications for battery blame, and should not be blaming the FusedLocation package. 1) This is the minimally scoped permission necessary to battery blame correctly. 2) There is no way to attribute battery blame without this permission. 3) This is the correct permission - as required by LocationManager, and this permission will likely never be removed (FusedLocation will always need to battery blame). Test: atest FusedLocationTests Change-Id: If7126fffaae5577ddf8e366a0b5c17b3e5286582
2020-01-16Merge "Revert "GPS Atoms Addition""Blake Kragten
2020-01-15Revert "GPS Atoms Addition"Blake Kragten
Revert "CTS GPS test" Revert submission 9726785-1574459091307-c480d999 Reason for revert: Pushed atoms will be integrated into the new pulled atom. Reverted Changes: I9cbc8e41e: CTS GPS test If8aed8f47: GPS Atoms Addition Change-Id: I8d0a0b73d870a8d9fb02975df70f662de4fd1690
2020-01-14Add IRNSS svid rangeYu-Han Yang
Bug: 147675678 Test: doc only and it builds. Change-Id: I1c88475fd1673e173b3c62524b51ba566c08e85a
2020-01-09Refactor providers/managersSoonil Nagarkar
Refactor how providers/managers are implemented in LMS, substantially simplifying code, and opening up further simplification around permissions in the next change. Also, limit the number of additional packages providers can have, and merge WorkSource into ProviderRequest so that providers can pass just ProviderRequests around, not both. Test: presubmits Change-Id: Ic6fab46883cf53eb26368b54a824feac39c57a32
2020-01-08Make cN0Db and basebandCn0Db ranges consistent with HALYu-Han Yang
Bug: 136136192 Test: existing tests passing Change-Id: I7ffc40f7f00e3d5e141d10025de6fe7886c61ba7
2019-12-19Merge "Provide defaults and annotations for LocationListener"TreeHugger Robot
2019-12-18Use new UnsupportedAppUsage annotation.Artur Satayev
Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library. Bug: 145132366 Test: m && diff unsupportedappusage_index.csv Change-Id: I4bc8c9482e4bb1af21363f951affff7ee3fefeab
2019-12-16Provide defaults and annotations for LocationListenerSoonil Nagarkar
Providing defaults allows lambdas to be used with LocationListener. Bug: 146355527 Test: presubmits Change-Id: Ic7b9575c2788b7fcfef91293aa2371a32621f761
2019-12-10Merge "Remove logspam"Soonil Nagarkar
2019-12-10Remove logspamSoonil Nagarkar
Remove upgrade message for getGpsStatus() which is called at a much greater frequency than register/unregister. Bug: 146003205 Test: n/a Change-Id: I32adde8a8cffa649d373fb394b06ef294481c6cf
2019-12-10Merge "Expose FUSED_PROVIDER to test API."Wei Wang
2019-12-06Merge "L5 metrics are not getting reset"Blake Kragten
2019-12-06L5 metrics are not getting resetBlake Kragten
Bug: 145769788 Test: On Device Change-Id: If12dba3a75176ccb4c2bc25bbbbd003b19d92fb1
2019-12-05Update location broadcast behaviorSoonil Nagarkar
Updates location broadcast behavior in preparation for future changes that will remove writes to LOCATION_PROVIDERS_ALLOWED. These changes ensure that clients can properly listen for changes to provider enabled status without being reliant on the deprecated LOCATION_PROVIDERS_ALLOWED. Bug: 145752928 Test: presubmits Change-Id: I073749a895a6a206023290d83ea815a361353460
2019-12-04Merge "Add basebandCn0Dbhz to GnssMeasurement"TreeHugger Robot
2019-11-28Merge "Add basebandCn0DbHz to GnssStatus"TreeHugger Robot
2019-11-27Expose FUSED_PROVIDER to test API.Wei Wang
Test: it compiles Bug:136079152 Change-Id: I921ae9ed75f2f4d44fda892be4a70bf23f40845c
2019-11-26Add basebandCn0Dbhz to GnssMeasurementYu-Han Yang
The new basebandCn0DbHz is the carrier-to-noise density measured at the baseband. The old Cn0DbHz is measured at the attenna port. Adding the new field so that ecosystem will report both and avoid reporting inconsistent signal strengths in one field. See go/r-gnss-hal for detailed design. Bug: 136136192 Test: atest GnssMeasurementTest Change-Id: Ia8d3711e7422db5cae05d66138a3fae61bec0ae1