diff options
author | Laurent Tu <laurentt@google.com> | 2012-12-11 15:45:09 -0800 |
---|---|---|
committer | Laurent Tu <laurentt@google.com> | 2012-12-11 15:45:09 -0800 |
commit | ccb4c318aa5150ba49b7e7878d20b4787d6bf723 (patch) | |
tree | ccbdee2e4cbd12352ede3277da99c6b57cb87c43 /location/lib/README.txt | |
parent | bbb970386026ec16b3cff1be280d0b9160cacad4 (diff) | |
download | frameworks_base-ccb4c318aa5150ba49b7e7878d20b4787d6bf723.zip frameworks_base-ccb4c318aa5150ba49b7e7878d20b4787d6bf723.tar.gz frameworks_base-ccb4c318aa5150ba49b7e7878d20b4787d6bf723.tar.bz2 |
Revert "Move location provider lib to frameworks/ex - 1"
This reverts commit 578081f9da7ddb056b9b98524c639acd9194ecb6.
Diffstat (limited to 'location/lib/README.txt')
-rw-r--r-- | location/lib/README.txt | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/location/lib/README.txt b/location/lib/README.txt new file mode 100644 index 0000000..400a7dd --- /dev/null +++ b/location/lib/README.txt @@ -0,0 +1,30 @@ +This library (com.android.location.provider.jar) is a shared java library +containing classes required by unbundled location providers. + +--- Rules of this library --- +o This library is effectively a PUBLIC API for unbundled location providers + that may be distributed outside the system image. So it MUST BE API STABLE. + You can add but not remove. The rules are the same as for the + public platform SDK API. +o This library can see and instantiate internal platform classes (such as + ProviderRequest.java), but it must not expose them in any public method + (or by extending them via inheritance). This would break clients of the + library because they cannot see the internal platform classes. + +This library is distributed in the system image, and loaded as +a shared library. So you can change the implementation, but not +the interface. In this way it is like framework.jar. + +--- Why does this library exists? --- + +Unbundled location providers (such as the NetworkLocationProvider) +can not use internal platform classes. + +So ideally all of these classes would be part of the public platform SDK API, +but that doesn't seem like a great idea when only applications with a special +signature can implement this API. + +The compromise is this library. + +It wraps internal platform classes (like ProviderRequest) with a stable +API that does not leak the internal classes. |