summaryrefslogtreecommitdiff
path: root/location/java
AgeCommit message (Collapse)Author
2021-02-01API: Suppress existing NullableCollections lintsAdrian Roos
Bug: 152525509 Bug: 154763999 Test: make checkapi Change-Id: Iecd0927e6be5496b2fbd1a49396db5439257ffe4
2020-12-11Merge "Location OWNERS updates"Soonil Nagarkar
2020-12-09Location OWNERS updatesSoonil Nagarkar
Change-Id: I0c3debf00a28d4ca930582fb23bd34159ef1ddd4
2020-12-08Improve OWNERS coverage across frameworks/base/. am: fab0ab3c9cJeff Sharkey
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1519383 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I0211462ecbcd9ad66f66af87e31cf12e1582fc65
2020-12-08Improve OWNERS coverage across frameworks/base/.Jeff Sharkey
As general background, OWNERS files expedite code reviews by helping code authors quickly find relevant reviewers, and they also ensure that stakeholders are involved in code changes in their areas. Some teams under frameworks/base/ have been using OWNERS files successfully for many years, and we're ready to expand them to cover more areas. Here's the historical coverage statistics for the last two years of changes before these new OWNERS changes land: -- 56% of changes are fully covered by OWNERS -- 17% of changes are partially covered by OWNERS -- 25% of changes have no OWNERS coverage Working closely with team leads, we've now identified clear OWNERS on a per-package basis, and we're using "include" directives whenever possible to to simplify future maintenance. With this extensive effort, we've now improved our coverage as follows: -- 98% of changes are fully covered by OWNERS -- 1% of changes are partially covered by OWNERS -- 1% of changes have no OWNERS coverage This specific change is automatically generated by a script from detailed ownership information confirmed by team leads. Bug: 174932174 Test: manual Exempt-From-Owner-Approval: refactoring with team leads buy-in Merged-In: I9789c97c1de8e5d962b48c29c57d82fe83729eba Change-Id: I9789c97c1de8e5d962b48c29c57d82fe83729eba
2020-12-02Merge rvc-qpr-dev-plus-aosp-without-vendor@6881855Xin Li
Bug: 172690556 Merged-In: I78222391b83a4add8e964340ec08bb8a1306e1c6 Change-Id: I28bbf40820674675ccf765c912aa8140d3f74ab2
2020-11-04Add maxTargetSdk restriction to unused APIs.Mathew Inwood
These are APIs that have @UnsupportedAppUsage but for which we don't have any evidence of them currently being used, so should be safe to remove from the unsupported list. Bug: 170729553 Test: Treehugger Merged-In: I626caf7c1fe46c5ab1f39c2895b42a34319f771a Change-Id: I54e5ecd11e76ca1de3c5893e3a98b0108e735413
2020-10-19Remove @TestApi from @SystemApi symbolsAnton Hansson
I ran these commands: cd frameworks/base grep -rl '@TestApi' --include '*.java' | xargs perl -i -p0e \ 's/\@SystemApi[\s\n]+(\@\w+[\s\n]+)?\@TestApi/\@SystemApi\1/gs' grep -rl '@TestApi' --include '*.java' | xargs perl -i -p0e \ 's/\@TestApi[\s\n]+(\@\w+[\s\n]+)?\@SystemApi/\1\@SystemApi/gs' Bug: 171179806 Test: m checkapi Change-Id: I772790b783b0a8730b8bf680c9e569a886b8d789 Merged-In: I772790b783b0a8730b8bf680c9e569a886b8d789
2020-10-14Use TelephonyManager#isEmergencyNumber() insteadTaesu Lee
Replace deprecated PhoneNumberUtils#isLocalEmergencyNumber() and isEmergencyNumber() with TelephonyManager#isEmergencyNumber(). Test: Build Bug: 132703886 Signed-off-by: Taesu Lee <taesu82.lee@samsung.com> Change-Id: I232d7f7d23efd963b6d30938f0fa304c90fca8a8 Merged-In: I232d7f7d23efd963b6d30938f0fa304c90fca8a8
2020-09-24DO NOT MERGE Local timeout should cancel remote workSoonil Nagarkar
Ensure that when getCurrentLocation() times out locally, remote work in system server is also canceled. Bug: 168666216 Test: manual Change-Id: Idde2156323c3fca0ed94ff886a4277122c598753
2020-09-22DO NOT MERGE Fix bug in getCurrentLocation cancellationSoonil Nagarkar
Cancellation was not being propagated to the system server due to a misunderstanding on how CancellationSignal functions. There is no noticable impact for the user, as cancellation did properly prevent any further locations, however this would have resulted in extra power draw since the system server would not have canceled the associated provider location request. This would have left getCurrentLocation() as equivalent to requestSingleUpdate() where it was supposed to be an all-around improvement that could save power. Bug: 168666216 Test: manual + presubmits Change-Id: I5c77db4cc56cce1b984587f65d2bcfb488436bb8
2020-08-20DO NOT MERGE: Fix NPE bug in LocationManagerSoonil Nagarkar
Both null and non-null GnssRequest objects may be present in the list of requests to merge. Bug: 165375330 Test: presubmits Change-Id: I13284b1c32f1ad1fce39ad1ca2e4298194197015
2020-07-15DO NOT MERGE: Always return non null from getGpsStatusSoonil Nagarkar
Even though getGpsStatus is marked Nullable, some applications expect it to always return non-null. Bug: 161311411 Test: presubmits Change-Id: I8d58621588253af1dc917711e230cfd176afec37
2020-07-13Merge "docs: Fix link to loc. Google Play services API" into rvc-devKevin Hufnagle
2020-07-06DO NOT MERGE: Keep old callback threadSoonil Nagarkar
Discrepency between documented and delivered thread in prior versions got confused. Switching back to the main thread for delivery when not specified. Bug: 160565229 Test: presubmit only Change-Id: I6deaf08e2045771c120aa2eb35c64b392208bd58
2020-07-01docs: Fix link to loc. Google Play services APIKevin Hufnagle
The API reference is now on developers.google.com. Bug: 158305546 Change-Id: Ib116ae2e83fa9282a58b528773d52c5a048538d8 Test: none
2020-06-23DO NOT MERGE: Fix array casting bugSoonil Nagarkar
Bug: 159701638 Test: presubmits Change-Id: Ib11f899d9b612b6325fda53b61e165613c881972
2020-06-11Fix deadlock for system location clientsSoonil Nagarkar
Bug: 158637743 Test: manual Change-Id: I0fd2f2ac8cc4c81014e67d1115a2343b95b7cecf
2020-06-09Merge "Remove unused intent in NiNotification" into rvc-devTreeHugger Robot
2020-06-08Remove unused intent in NiNotificationYu-Han Yang
Bug: 154319182 Test: manual Change-Id: I5958a8fb442cf4506e1824243493f91aea34a7cc
2020-06-05Move GnssStats puller to binder threadRuchir Rastogi
Pass direct executor to setPullAtomCallback. This causes the puller to run directly on the binder thread, as opposed to the Background thread, which could be busy with other work. This change means that the puller can be executed concurrently. To properly handle that, the Statistics class is made thread-safe. Test: adb shell cmd stats pull-source 10074 Bug: 157186182 Change-Id: I6c0940fd4ed231f9d962981cc1f9e8c983c48f7f
2020-06-05Partial CP of ag/10846962Ruchir Rastogi
CP to rvc-dev to avoid automerger conflicts for ag/11727208. Test: m Bug: 157186182 Change-Id: I1b2dc636b90e6a643a2d5722022671563955f96a Merged-In: I1eb1dfb68190c68e896e87c5bea1f2ec44065e80
2020-05-05DO NOT MERGE Don't crash if already unregisteredSoonil Nagarkar
Bug: 155284432 Test: manual Change-Id: Id04ab9093b9cd4c837058442a8d0e04ff4dde051
2020-05-01Invoke GnssStatus listeners on caller's threadYu-Han Yang
Bug: 155440682 Test: tests passing Change-Id: Ic1655b17f17ce58540c651c0f4ffad1e7878e2c1 Merged-In: I7aaa2b8258204a11016756ffd733dcb986e8d862
2020-04-17Update javadoc of getCodeType to add BDS B1CYu-Han Yang
Bug: 154267746 Test: javadoc only Change-Id: I2a4391645c8c1315cfb9526ea796562422b3c03c
2020-04-14DO NOT MERGE Add utilities for creating AppOps listenerIdsSoonil Nagarkar
Use utilities to support location listenerIds. Bug: 153687899 Test: presubmits Change-Id: Ie138c98a5f864490c6560166b652ea9509fa8728
2020-04-08Fix initialization bug in LocationRequestSoonil Nagarkar
Bug: 153516795 Test: atest BatterySavingLocationTest && manual Change-Id: I32f7813b16ed747f1da8066714803e7f85ffb5b4
2020-04-07DO NOT MERGE Add listener ids for location listening operationsSoonil Nagarkar
Bug: 153257294 Test: presubmits Change-Id: I12654a3afac5362383caba3cea1c5e0a2b8ce1d9
2020-04-01Fix up LocationRequest and ProviderRequestSoonil Nagarkar
-Use more idiomatic and efficient parceling -Cleanup LocationRequest a bit Bug: 151026407 Test: presubmits Change-Id: I3865421a128417a5096e39ee110139a13ab9ab3b
2020-03-28DO NOT MERGE Refactor appops across locationSoonil Nagarkar
-Add a new app ops helper to make testing easier. -Consolidate app identity within CallerIdentity class. -Remove location age restriction for coarse locations, was a bit arbitrary. -Remove listener identifiers from LM. These were not being properly propagated and add a lot of binder overhead with what appears to be little benefit since we have featureIds, which contain much better information. -Remove appops checks from some GNSS APIs that shouldn't require it. -Move location fudger into location providers and reset them after mock providers are used so that offset information cannot be leaked. Bug: 149375028 Test: presubmits + manual (cherry picked from commit 6033344baaa8aa10b89a779864b7f5f82f4baf32) Change-Id: I18e2cf3c39836f31d28180e1a4613df4ad675ab7
2020-03-18DO NOT MERGE Don't lock listener deliverySoonil Nagarkar
Previous versions of GNSS listeners commited to not holding locks even when running directly unfortunately. We do some extra work to avoid holding locks while running listeners. Bug: 151291181 Test: manual Change-Id: I0b7f46c30df2f97ce11db45b69443a9994885309
2020-03-17Update inter-signal bias (framework)Yu-Han Yang
- Rename recieverInterSignalBiasNs into interSignalBiasNs, which refers to the sum of receiver ISB and satellite ISB. Bug: 150724332 Test: atest GnssMeasurementTest Change-Id: I322cbe42d24d1f0fe60351c47579323a8715d4d7
2020-03-12Rename featureId -> attributionTagPhilip P. Moltmann
In the core functionality this changes everything including aidl's and field names: - Context - ContentProvider - AppOps* - Package parsing For the rest, this is a shallow change to only change to the changed APIs. This keeps the change small-ish Exempt-From-Owner-Approval: Rename Fixes: 148792795 Test: TH Change-Id: I2a2245fe76e09e62cb13d5785d2efb4a304ba54a Merged-In: I2a2245fe76e09e62cb13d5785d2efb4a304ba54a
2020-03-09Restore legacy SecurityException behaviorSoonil Nagarkar
For apps that do not target R+, throw SecurityExceptions within getProvider(). Bug: 150935354 Test: na Change-Id: I37e9fc1cbcc1cb6ed941c3905ff253d798fc0ac8
2020-03-05Address Puller API FeedbackTej Singh
1. Rename registerPullAtomCallback to setPullAtomCallback 2. Rename unregisterPullAtomCallback to clearPullAtomCallback 3. Add getters to PullAtomMetadata 4. Change Ns to Millis (when I tried to make it Nanos, I received a built time error saying to prefer millis unless we need the precision. We do not need the precision, so I changed it). 5. Fix out of order params. I did not change usePooledBuffer to setPooledBuffer because I think use is more appropriate for our use case. Test: make Test: atest PullAtomMetadataTest Test: atest GtsStatsdHostTestCases Bug: 149475498 Change-Id: Ib07aa57a6e02c77917fe0e65a3d4a77c00ce8565
2020-03-02Quick fix for possible deadlock in LMSSoonil Nagarkar
LMS dispatches in-process location events while holding locks, which can lead to deadlock if combined with another lock. This went from a possibility to a definitive deadlock with the introduction of the getCurrentLocation cancel() API. This fix prevents that deadlock by not holding a lock while canceling. It is still technically possible for other components to introduce deadlock by using their own locks within the system process, but as there are very few location clients inside the system server, and none of them appear to be at risk right now, a complete fix is delayed until S. Bug: 149780283 Test: presubmits Change-Id: I9d202adc65380881969d276c470ef1bf52828e82
2020-02-28Add comments to messageId, subMessageId and dataYu-Han Yang
Bug: 147768625 Test: doc only and builds Change-Id: I4a75d0cb015c47caaeaf93acffbca34d9eaea523
2020-02-21Merge "GnssMetrics"Blake Kragten
2020-02-21Merge "LocationManager: cache isLocationEnabledForUser"Tim Murray
2020-02-20LocationManager: cache isLocationEnabledForUserTim Murray
This method is in the hot path for all location tasks but whether location is enabled for a particular user doesn't change that often. Cache the result and invalidate from system_server in order to reduce CPU consumption. Test: boots, works, gets location Bug: 140788621 Change-Id: I84ad2c570e7024187a728071dcbb6f72b177e17a
2020-02-19GnssMetricsBlake Kragten
These metrics will pull different metrics that tell the performance of the gnss subsystem. Metrics include: Location reports % of location failure Num times GPS had to first fix Mean time to first fix on signal Num position accuracy logs Mean position accuracy in meters Num top 4 Cn0 messages Mean top 4 average Cn0 (signal quality) Num L5 top 4 Cn0 messages Mean L5 top 4 average Cn0 (signal quality) Num Satellite status messages received Num of Satellites used in fix L5 Satellite status messages received L5 of Satellites used in fix metric_id: 1111 gauge_metrics { data { bucket_info { atom { gnss_stats { location_reports: 12 location_failure_reports: 3 time_to_first_fix_reports: 2 time_to_first_fix_milli_s: 43588 position_accuracy_reports: 9 position_accuracy_meters: 112 top_four_average_cn0_reports: 31 top_four_average_cn0_db_mhz: 734711 l5_top_four_average_cn0_reports: 1 l5_top_four_average_cn0_db_mhz: 21500 sv_status_reports: 1015 sv_status_reports_used_in_fix: 100 l5_sv_status_reports: 7 l5_sv_status_reports_used_in_fix: 0 } } elapsed_timestamp_nanos: 537249375445 start_bucket_elapsed_millis: 522186 end_bucket_elapsed_millis: 549283 } } } time_base_elapsed_nano_seconds: 9283624934 bucket_size_nano_seconds: 60000000000 is_active: true Bug: 147910698 Test: On Device using test script and gnsslogger.apk > make statsd_testdrive > ./out/host/linux-x86/bin/statsd_testdrive <ATOM_ID> Change-Id: I92461eb8533ec810bb67d76a25931295cfa1efbd
2020-02-19Revert requestSetProviderEnabled APISoonil Nagarkar
Bug: 144955780 Test: presubmits Change-Id: Iec8520acfd98b9d9d92a4876ebfa899ac2a0731e
2020-02-19Merge "Fixes to GnssAntennaInfo API"TreeHugger Robot
2020-02-18Fixes to GnssAntennaInfo APISasha Kuznetsov
Bug: 148284818 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. Change-Id: I3714ccaed632634c52b882479563593b0bde16fd
2020-02-14Merge "Clarify environment bearing docs in framework API"Sasha Kuznetsov
2020-02-13Clarify environment bearing docs in framework APISasha Kuznetsov
Bug: 149299473 Test: build cuttlefish Change-Id: Iab7ce87fb872ba4a356633cde3835aa41b29443c
2020-02-13Reduce allocations in hot pathsSoonil Nagarkar
Prevent lambda allocations in common paths in location. Test: presubmits Change-Id: Ia4fc7680e8e4304fcd6164a9aded56ed32492cbc
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