Commit Graph

508 Commits

Author SHA1 Message Date
Soonil Nagarkar
597703c518 Merge "Expose NO_GPS_LOCATION APIs to system and test" 2019-10-11 20:32:45 +00:00
Wei Wang
9f52d55eb2 Add a Test API to verify if gmscore is the network location provider.
Bug:136079152
Test: adb shell am instrument -w -e class com.google.android.location.gts.LocationManagerTest com.google.android.location.gts/androidx.test.runner.AndroidJUnitRunner
Change-Id: Ibe8ffc6148ea22bef279f75275719075d26f346c
2019-10-11 13:18:53 -07:00
Soonil Nagarkar
79c47e27fe Expose NO_GPS_LOCATION APIs to system and test
These APIs are required for use by CTS tests and location providers.

Bug: 142481153
Test: manual
Change-Id: I09815477c2ac822a310b360145c8297170d24150
2019-10-11 11:30:45 -07:00
Soonil Nagarkar
0000e8acea LocationManager cleanups to make CTS tests easier
addTestProvider and removeTestProvider will now always succeed.

Test: n/a
Bug: 141887245
Change-Id: Ifcc687ffad0a803e5126285ba88bb8c97305b8a9
2019-10-08 18:58:02 -07:00
Soonil Nagarkar
f72128d49d Reuse transports if possible in LocationManager
Allow LocationManagerService to reuse the same listener transports, and
fix memory leak in event of RemoteException during registration.

Bug: 142024887
Test: manual
Change-Id: Ida25fe08c30e5936680c95c23cd03fbaf09ff574
2019-10-03 11:39:56 -07:00
Soonil Nagarkar
d4bbee27e7 Normalize JavaDocs and deprecate requestSingleUpdate
-Go through major javadocs for location APIs and update and normalize
them, inserting additional information where necessary.
-Deprecated requestSingleUpdate APIs as they are dangerous (may be
adding a more direct replacement getCurrentLocation() later in R).
-Drop support for GpsStatusListener APIs (deprecated many years ago) for
apps targeting R and above.
-Drop permissions check from location provider properties APIs, there
doesn't seem to be any reason for these to be secured.

Bug: 141774342
Test: manual
Change-Id: I847f395e1e869eec991613b9b1b7e94a655446cc
2019-10-01 10:29:01 -07:00
Soonil Nagarkar
958e8235dc Reorder LocationManager methods
Group LocationManager methods by function. No other changes beyond
copy/pasting methods (and fixing lint error).

Bug: 141644661
Test: builds
Change-Id: I95e1297e37aa862cb9ff8fad9052079f056a2973
2019-09-25 23:09:19 +00:00
Soonil Nagarkar
4551405b93 Add Executor APIs to LocationManager
Add executor support for all LM APIs and consolidate various GNSS
listeners. Also fixes some edge cases around multithreaded listener
callback delivery.

Bug: 136212299
Test: Manual
Change-Id: I2e863e41de846e739654362e859b58a5ed45c673
2019-09-25 20:56:48 +00:00
Soonil Nagarkar
fc9c7f8532 Remove all code dealing with obsolete location status
Test: manual
Change-Id: I0fde3dd9bdd418ab63c61c5afc093d8eef72e600
2019-09-13 13:03:14 -07:00
Aurimas Liutikas
4d1699da48 Add missing nullability annotations.
To prepare for enabling MissingNullability Metalava check this CL
works on adding missing nullability issues that metalava flags if
we tell it to flag new things since API 29.

This is not a complete CL, mostly addresses public api and
toString/equals for @SystemApi

Exempt-From-Owner-Approval: Large scale nullability clean up
Bug: 124515653
Test: make -j checkapi
Change-Id: I109260842cfc25f06e40694997fcbb4afa02c867
2019-08-29 17:15:44 -07:00
Aurimas Liutikas
00be951a08 Add missing nullability annotations.
To prepare for enabling MissingNullability Metalava check this CL
works on adding missing nullability issues that metalava flags if
we tell it to flag new things since API 29.

This is not a complete CL, mostly addresses public api and
toString/equals for @SystemApi

Exempt-From-Owner-Approval: Large scale nullability clean up
Bug: 124515653
Test: make -j checkapi
Merged-In: I109260842cfc25f06e40694997fcbb4afa02c867
Change-Id: I109260842cfc25f06e40694997fcbb4afa02c867
2019-08-30 00:14:44 +00:00
Soonil Nagarkar
fb6b187bfb Remove obsolete constants.
These constants are not in use anywhere.

Test: na
Bug: 137675020
Change-Id: I9f1b2101b75779ff2f9c5f9d945189eccff782ae
2019-07-19 02:09:11 +00:00
Soonil Nagarkar
ad6b61875e Pass binder identity through sendExtraCommand
Allow providers to see the identity of the caller of sendExtraCommand
and update documentation.

Bug: 116799964
Test: Presubmits
Change-Id: Ibb63dc3ce223bc1e3ae89e65cf2973a3619c057f
2019-07-02 09:36:11 -07:00
Soonil Nagarkar
a172288449 Merge "Restore GpsStatus listeners" into qt-dev am: beff33a3bd am: 5a57ce5366
am: 654d4d1c6f

Change-Id: I6cbef0e437351ba55a1f4ce8d93efffae52222ae
2019-05-24 17:46:27 -07:00
Soonil Nagarkar
fc7d3bc858 Restore GpsStatus listeners
BUG: 132249089
Test: CTS/manual
Change-Id: I5bd3356240aee07acced1c10e7c67fff35d67bbb
2019-05-22 15:22:20 -07:00
Soonil Nagarkar
514dff4f9b Guard isProviderPackage with permission
Add READ_DEVICE_CONFIG permission requirement for using
isProviderPackage(). Now with more correctness.

Bug: 126614252
Test: manual
Change-Id: I38108a971e0f1dadc8fca8373c80d5d38099f161
2019-04-30 12:04:28 -07:00
David Christie
3fcb6dfae8 Revert "Guard isProviderPackage with permission"
This reverts commit 24136098c0.

Reason for revert: b/131637158. For some reason the Android system doesn't seem to have this permission.

Bug: 131637158

Change-Id: I7fd1e25a1bbb57f98a6ee0d07b8954c1cbcf08c2
2019-04-30 01:19:55 +00:00
Soonil Nagarkar
24136098c0 Guard isProviderPackage with permission
Add READ_DEVICE_CONFIG permission requirement for using
isProviderPackage().

Bug: 126614252
Test: manual
Change-Id: Iba68994e0faecda075ad37db6e1b9fe457bbaaef
2019-04-25 15:32:43 -07:00
Anil Admal
d4203ddebf Merge "Add separate hasCapabilityName() methods in GnssCapabilities" into qt-dev 2019-04-23 15:32:05 +00:00
Anil Admal
3ba0fa9999 Add separate hasCapabilityName() methods in GnssCapabilities
Fixes: 130802613
Test: Verified on a Pixel device.
Change-Id: I00418f12004b28de666ec2a73203611f73af3e18
2019-04-19 18:26:46 -07:00
Anil Admal
ec6ec82ef5 Change getGnssCapabilites() return type to @NonNull
Fixes: 130802725
Test: Manual
Change-Id: I01c3f2aa593c3b5f08b57b77960afc21bb155da7
2019-04-19 15:24:16 -07:00
Yu-Han Yang
284234ea8c Log constellation types in GnssMetrics
Bug: 121157068
Test: on device
Change-Id: I9e2c1238e46422f9c11b748567c2741ed95aeaa0
2019-04-12 18:22:05 +00:00
TreeHugger Robot
433bb84545 Merge "Adding documentation to getElapsedRealtimeUncertaintyNanos following api council guidance." into qt-dev 2019-04-08 17:13:58 +00:00
Pierre Fite-Georgel
d017319f57 Adding documentation to getElapsedRealtimeUncertaintyNanos following api council guidance.
Test: N/A comment only
Bug: 129769397
Change-Id: I906494b0b72898149322959f5900626a12d6d86b
(cherry picked from commit d6d4d1efa2)
2019-04-06 00:44:46 +00:00
Yu-Han Yang
3cd9a8631c Change elapsedRealtimeUncertaintyNanos from long to double
Bug: 129166160
Fixes: 129166160

Test: builds and existing tests passed
Change-Id: I948382a9e486b8ddc1ba6a9fe0fd9bb88e9bfb71
2019-04-05 23:23:51 +00:00
Anil Admal
312fddb323 Update getGnssCapabilities() in LMS to include sub-HAL capabilities (part 2)
Implement the getGnssCapabilities() method in LocationManagerService
class to return the capabilities exposed through the GnssCapabilities
class. This part 2 is a follow up to CL ag/6776830.

Bug: 128913861
Test: Tested with cuttlefish and blueline device.
Change-Id: I766e8dc841b5f329d1773e5b37076ed99c55ebf6
2019-04-02 16:17:43 -07:00
Wei Wang
114922a8fa Address API council review comments.
Rename the setters and getter for location package extra. The getter is
not used by prebuilt apps, so they are renamed directly. The setter is
used by GmsCore, so mark as @removed for now.

Bug: 123587501
Test: Manual

Change-Id: Ia5167d20aff92242036e3642a176fe2ab03d8a52
2019-03-26 16:11:18 -07:00
TreeHugger Robot
c90040e0b3 Merge "Add elapasedRealtimeNanos and elapsedRealtimeUncertaintyNanos to GnssClock" 2019-03-22 18:04:53 +00:00
Yu-Han Yang
5d3dcd5625 Add elapasedRealtimeNanos and elapsedRealtimeUncertaintyNanos to GnssClock
Bug: 128713045
Test: atest GnssClockTest
Change-Id: I5950184202cfbb3b7a7a777b88045d0fb3ea98b1
2019-03-21 17:39:57 -07:00
Chad Brubaker
39392304c5 Merge "Add location backed system clock" 2019-03-21 16:23:31 +00:00
Yu-Han Yang
6b49665d79 Add CONSTELLATION_IRNSS constant in GnssStatus
Bug: 119270132
Test: builds and existing tests passed.
Change-Id: Ida9c33ddf87d799ff6e46dab7312d4e3dfc66d33
2019-03-20 17:47:22 -07:00
Chad Brubaker
f113333b98 Add location backed system clock
This provides a permissionless way to use the location (e.g. GNSS)
provided time data for more accurate time keeping.

Test: atest LocationManagerTest#testGnssProvidedClock
Bug: 123530510
Change-Id: Ifbc45997868040abbb3e1399a8649911afb0af05
2019-03-20 16:10:08 -07:00
Anil Admal
500b316a02 Merge "Update getGnssCapabilities() in LMS to include sub-HAL capabilities" 2019-03-20 23:05:12 +00:00
Anil Admal
993497864e Update getGnssCapabilities() in LMS to include sub-HAL capabilities
The GNSS capabilities in the gnss@2.0 HAL have been refactored
(b/128028791, b/127434062, b/128309220). The sub-HAL capabilities
in the top level IGnssCallback.hal have been moved into their
respective sub-HALs. Consequently, the getGnssCapabilities()
method in LocationManagerService is hereby modified to include
the capabilities from all sub-HALs and the top level HAL.

A new GnssCapabilities class needs to be added so that we don't
expose the implementation details of the capabilities (a Java
int bitmask of capability flags) to the LocationManager client.

Bug: 128913861
Test: TBD
Change-Id: I5ed90332c7c0e783de771f573a58f79d1d6d89ff
2019-03-20 09:51:39 -07:00
Soonil Nagarkar
eaffea6d57 Update API documentation
Add information on exact API level for intent extra.

Bug: 128904083
Test: manual
Change-Id: Ie45feeea43b0fed72bee682b1c6a2076a2f85824
2019-03-19 12:31:28 -07:00
Soonil Nagarkar
3126c90786 Add PROVIDERS_CHANGED_ACTION extra for provider
Give clients a way to know which providers have changed state, useful
since LOCATION_PROVIDERS_ALLOWED will be removed in the future.

Bug: 127372321
Test: manual
Change-Id: I16c0acbaad97930bea23084b50193582cc918fa2
2019-03-18 12:00:44 -07:00
TreeHugger Robot
2df78c38f8 Merge "Address API review comments" 2019-03-16 18:56:36 +00:00
TreeHugger Robot
7475b9b7bf Merge "Change CodeType from enum to string (framework)" 2019-03-15 02:07:11 +00:00
Lifu Tang
0f69b15099 Address API review comments
- Add comment to clarify that onGetSummary() is only called on K and Q
- Annotate context parameter as @NonNull

Bug: 123222995
Test: Build and flash
Change-Id: I18ea3c80031a344be03307ca7fc26beb76288698
2019-03-14 12:35:42 -07:00
TreeHugger Robot
9c5458edb7 Merge "Remove deprecated Settings APIs." 2019-03-14 17:06:04 +00:00
Soonil Nagarkar
d55e1b1788 Merge "Revert removal of GpsStatus APIs" 2019-03-14 04:23:13 +00:00
Soonil Nagarkar
a491b7abb1 Revert removal of GpsStatus APIs
Bug: 126698813
Test: manual
Change-Id: I174d3f4cd21259e59381fc79990005c644380065
2019-03-13 17:36:44 -07:00
Yu-Han Yang
fbcc5cf0b7 Change CodeType from enum to string (framework)
Bug: 127464982
Fixes: 127464982

Test: atest GnssMeasurmeentTest
Change-Id: I127b33207712ea25780deb8bbb7c1155582508b0
2019-03-13 15:45:33 -07:00
Soonil Nagarkar
6dac9d1bf5 Remove deprecated Settings APIs.
Bug: 128348646
Test: manual
Change-Id: I40dbfc78ee983ffacc56a68d2c5ba2aefb16357f
2019-03-13 10:13:31 -07:00
Tyler Trephan
6c58d5b2df Fix bug setting the 9th bit of a mFieldsMask byte.
Fix: 127516341
Test: Passed LocationTest CTS test.
Change-Id: Ib56daccd33e6362434e466211236a5eb4d3a4610
2019-03-12 16:42:37 -07:00
Soonil Nagarkar
1cc1db0ab2 Merge "Remove unused broadcasts from GNSS" 2019-03-07 04:48:02 +00:00
Mohammed Khider
3b989d0f31 Merge "Bluesky: Handle null correction objects gracefully." 2019-03-06 23:02:56 +00:00
gomo
5716ab8855 Bluesky: Handle null correction objects gracefully.
Allow any correction elements to be null and handle that gracefully.

Test: Existing tests pass and as well tested GPS on device.
Bug: 111441283
Bug: 126699094
Bug: 126699206
Bug: 126699579
Change-Id: Idbab6eefae485f62b86570f54228d79e15b861cb
2019-03-06 02:55:57 -08:00
Soonil Nagarkar
00fe7e2d78 Remove deprecated GNSS APIs + add nullability
Cleans up location APIs by removing old deprecated APIs (deprecated
since API 24) and adding nullability annotations everywhere.

Bug:126698813,126701422,126702274
Test: built
Change-Id: I6caf7f9778100bb3eee53178c25ce1694fb2d395
2019-03-05 16:38:45 -08:00
Soonil Nagarkar
d08180c49f Remove unused broadcasts from GNSS
Test: manual
Change-Id: Iad78fac0071a443d75cfc1d57b25017db7f84de3
2019-03-05 16:04:18 -08:00