b30f38383e4691bf23311f62649aa504832731db |
|
13-Oct-2013 |
Victoria Lease <violets@google.com> |
do not request location from unavailable providers This commit prevents a system_server crash when applications attempt to use the fused location provider on systems that do not have a network location provider available. Bug: 10845061 Change-Id: I85b33806e05566e8b68ee2ccc401b1c565fd7b9a
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
9bb0ee9131b0fa8cf2720f200575ba2ede48a65c |
|
22-Sep-2013 |
Dianne Hackborn <hackbod@google.com> |
Issue #10461551: KLP API Review: AppOpsManager Changed public constants from integers to strings. Internally everything is still integers, since we want that more efficient representation for most things. Changed the Callback interface to OnOpChangedListener. We also have a private versin that again takes an int, and tricks to make both work. Reworked the class documentation to be appropriate to the SDK (as much as it can be); most of the existing documentation is moved to the private implementation. Also added documentation of the MODE constants. Change-Id: I4f7e73cc99fe66beff9194e960e072e2aa9458f8
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
6e65cb47dc21b2e68313e83c88a30992405f31eb |
|
20-Sep-2013 |
Ed Heyl <edheyl@google.com> |
fix typo Change-Id: I97df15ea7d349e0224e1830d7327dde87e840a51
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
d5759437eeb3137e4a05471ff0f4681c0254e81a |
|
11-Sep-2013 |
Tom O'Neill <tomo@google.com> |
Improve some javadoc related to isProviderEnabled() apis - LocationManager.isProviderEnabled() no longer throws SecurityException: the caller could already circumvent the permission check by calling Secure.isLocationProviderEnabled() Change-Id: I5abd04264299671ed35ce4594b5be46d86378767
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
40a86c24d2601df4966c57573a5bf58b30a41990 |
|
04-Sep-2013 |
Tom O'Neill <tomo@google.com> |
Add LocationManager.MODE_CHANGED_ACTION broadcast - Currently redundant with PROVIDERS_CHANGED_ACTION, but that may change in the future - Part of fix for b/10409275 Change-Id: I12daaf20e6546fd9e9dc71c599967fa0ad95e27f
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
e55c9686a180cc81e8aac1eeadad12271d8e41ca |
|
22-Aug-2013 |
David Christie <dnchrist@google.com> |
Ensure WorkSource for location blaming has names (b/10378815) Change-Id: Ic201f7112dd9c746fe71995fcc1a533ff4a582f2
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
b5eaf2662c174a7f5844bc62eba4f09dd64877f7 |
|
14-Aug-2013 |
David Christie <dnchrist@google.com> |
Merge "Update location AppOp monitoring to respect settings. If a provider is disabled, we don't mark an app as actively using location just because it's requested that provider. Also updates the concept of high power to support third party custom providers (doesn't hard code gps but looks at the provider's actual stated power requirement)." into klp-dev
|
15b3191f913091e686e9e1f3708b7f8240a07e8b |
|
14-Aug-2013 |
David Christie <dnchrist@google.com> |
Update location AppOp monitoring to respect settings. If a provider is disabled, we don't mark an app as actively using location just because it's requested that provider. Also updates the concept of high power to support third party custom providers (doesn't hard code gps but looks at the provider's actual stated power requirement). Change-Id: Ie01243bf04d7301962ea9cdb25fb7d8d97566e02
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
0682809ad08db284d7110aab44108d5e9c310e6b |
|
13-Aug-2013 |
destradaa <destradaa@google.com> |
Add support in the platform for Flp Geofencing. Change-Id: I0fb0e276d3a06322697bb5d46323779aca1f78c5
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
64be0c617f902398cbbcc2b145c86a8fbfc2feac |
|
10-Aug-2013 |
destradaa <destradaa@google.com> |
Address Robin's code review comments in initial FlpHal submission. Change-Id: I50889599fdc5938a19b8bff4f11e64f44bcebdbf
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
1af4b0280af406cfc7eb46810f6b76e57b983e11 |
|
13-Jul-2013 |
destradaa <destradaa@google.com> |
Add FlpHal layer to support Location Batching. Change-Id: Ia3a57d869dfb3f067a1b95fa66d54f311ddcfdc3
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
c750c1fb83fbdec895e236dda7207db4da14ec49 |
|
08-Aug-2013 |
David Christie <dnchrist@google.com> |
Update gps status icon to be a "high power" location icon. Move icon to right side of the screen and synchronize status with AppOpsManager.OP_MONITOR_HIGH_POWER_LOCATION. Change-Id: Iea2570501cb18be0489669fd4ea240dc63f9567a
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
40e5782f5c79ea660b98b8875086f592367bc1d2 |
|
30-Jul-2013 |
David Christie <dnchrist@google.com> |
Allow a particular LocationRequest to be excluded from AppOps monitoring as long as the client as the appropriate permission (UPDATE_DEVICE_STATS). Change-Id: I7223a53bc1551e6498302a22eb310c8c5b5684b0
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
0b8374501975aecd7a628336e2f7e53c272ebeea |
|
30-Jul-2013 |
David Christie <dnchrist@google.com> |
Add new app op to monitor high power location requests. This is a new op parallel to the existing OP_MONITOR_LOCATION but only tracks those requests deemed to be above a power threshold. Change-Id: I76fe4d9d2e550293b9da6d5cf902a5b4dd499f0f
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
3de52c67e5fa0f2cc8ddfb4d0ab4f206274e0054 |
|
24-Jul-2013 |
David Christie <dnchrist@google.com> |
Merge "Add WorkSource capability to LocationManager"
|
82edc9b3482307a8e93655aadabb4f9ad24efe46 |
|
19-Jul-2013 |
David Christie <dnchrist@google.com> |
Add WorkSource capability to LocationManager Change-Id: I0fbbad0879b87ecc75a503bf7963356595bf4b96
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
39062ddff24ce2a3e3a61ba1a087363842f9d1ae |
|
22-Jul-2013 |
Stan Chesnutt <chesnutt@google.com> |
switch to v3 for NetworkLocator overlay, compatible with gcore FINN http://b/8245654 Change-Id: I2ff95b3b9e138b57bc630f760476bbb7d748342a
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
a00271533f639c8ed36429c663889ac9f654bc72 |
|
25-Jun-2013 |
Svetoslav Ganov <svetoslavganov@google.com> |
Refactoring of the print sub-system and API clean up. 1. Now a user state has ins own spooler since the spooler app is running per user. The user state registers an observer for the state of the spooler to get information needed to orchestrate unbinding from print serivces that have no work and eventually unbinding from the spooler when all no service has any work. 2. Abstracted a remote print service from the perspective of the system in a class that is transparently managing binding and unbinding to the remote instance. 3. Abstracted the remote print spooler to transparently manage binding and unbinding to the remote instance when there is work and when there is no work, respectively. 4. Cleaned up the print document adapter (ex-PrintAdapter) APIs to enable implementing the all callbacks on a thread of choice. If the document is really small, using the main thread makes sense. Now if an app that does not need the UI state to layout the printed content, it can schedule all the work for allocating resources, laying out, writing, and releasing resources on a dedicated thread. 5. Added info class for the printed document that is now propagated the the print services. A print service gets an instance of a new document class that encapsulates the document info and a method to access the document's data. 6. Added APIs for describing the type of a document to the new document info class. This allows a print service to do smarts based on the doc type. For now we have only photo and document types. 7. Renamed the systemReady method for system services that implement it with different semantics to systemRunning. Such methods assume the the service can run third-party code which is not the same as systemReady. 8. Cleaned up the print job configuration activity. 9. Sigh... code clean up here and there. Factoring out classes to improve readability. Change-Id: I637ba28412793166cbf519273fdf022241159a92
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
1304f4ae32cf7121fe11e95f2a7151ea208b6cca |
|
10-Jul-2013 |
Dianne Hackborn <hackbod@google.com> |
Add new location monitoring op, make some of app ops public. The new location monitoring op is to tell us when an application is monitoring for any location changes. It may be useful information in addition to the more explicitly information about when location data actually goes to the app. Also make parts of AppOpsManager public for use by gcore. It is not available to third party apps. Change-Id: Ib639f704258ffdd7f3acd7567350ed2539da628a
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
fa52a4aa31f2da55c6f79b2093dd3f6153a08236 |
|
06-Jun-2013 |
Dianne Hackborn <hackbod@google.com> |
am a79aaeae: am 8c1d1b3e: Merge "Maybe fix issue #9296868: Crash in system process" into jb-mr2-dev * commit 'a79aaeae551b6ae9d94437505d88bfe3f1bf56ec': Maybe fix issue #9296868: Crash in system process
|
f5fdca9dc1528a7f5acec04c2f2a1b99e8f4b338 |
|
05-Jun-2013 |
Dianne Hackborn <hackbod@google.com> |
Maybe fix issue #9296868: Crash in system process There were some paths in LocationManagerService where mRecivers was being accessed/modified without the lock held. Update method names to indicate they need to be called with lock held to make it more clear in the future when such a problem may happen. Change-Id: Ie2a9d019155ac7cedd1db298caca75b8fe382ca7
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
a9770e4f062226821c9f66b86128f208b91e2d50 |
|
30-May-2013 |
Victoria Lease <violets@google.com> |
break up LocationManagerService's WakeLock This commit splits LocationManagerService's monolithic WakeLock into per-LocationManagerService.Receiver WakeLocks, for better WorkSource accounting. This should make it easier to debug location-related power issues. Change-Id: I0d2897c305a38099f9663dc1bc9354ce4bbe1077 (cherry picked from commit 0aa28602d51bf41e46d18ffefe724ebc3ff7a704)
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
0aa28602d51bf41e46d18ffefe724ebc3ff7a704 |
|
30-May-2013 |
Victoria Lease <violets@google.com> |
break up LocationManagerService's WakeLock This commit splits LocationManagerService's monolithic WakeLock into per-LocationManagerService.Receiver WakeLocks, for better WorkSource accounting. This should make it easier to debug location-related power issues. Change-Id: I0d2897c305a38099f9663dc1bc9354ce4bbe1077
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
d9ba79ed7c898aa60ee3c5196439d9bac6cbbb59 |
|
07-May-2013 |
Victoria Lease <violets@google.com> |
OO NOT MERGE allow connected location providers location access Cherry-pick of I0c383eb82ed041e57a7d32321df2d67b462d4e21 from master Oops, it seems the fused location provider was being denied access to locations when any user other than the primary device owner is logged in. This was breaking the fused location provider entirely for all secondary users of a given device. Bug: 8766225 Change-Id: Ic0db5f2094828c897a405abb0dca6ac39a2ca526
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
2f5b97c518f6b6ab89e19d3a335c148400f03268 |
|
07-May-2013 |
Victoria Lease <violets@google.com> |
allow connected location providers location access Oops, it seems the fused location provider was being denied access to locations when any user other than the primary device owner is logged in. This was breaking the fused location provider entirely for all secondary users of a given device. Bug: 8766225 Change-Id: I0c383eb82ed041e57a7d32321df2d67b462d4e21
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
8d044e8bc287c1a567d82aedbe30085b011544c3 |
|
01-May-2013 |
Dianne Hackborn <hackbod@google.com> |
Start combining threads in system process. This introduces four generic thread that services can use in the system process: - Background: part of the framework for all processes, for work that is purely background (no timing constraint). - UI: for time-critical display of UI. - Foreground: normal foreground work. - IO: performing IO operations. I went through and moved services into these threads in the places I felt relatively comfortable about understanding what they are doing. There are still a bunch more we need to look at -- lots of networking stuff left, 3 or so different native daemon connectors which I didn't know how much would block, audio stuff, etc. Also updated Watchdog to be aware of and check these new threads, with a new API for other threads to also participate in this checking. Change-Id: Ie2f11061cebde5f018d7383b3a910fbbd11d5e11
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
c5fc9988f11acc58229fb6ae80d346277318ada4 |
|
18-Apr-2013 |
Zhentao Sun <robinvane@google.com> |
Made it easier to disable overlay mechanism of location components. Fixed b/8276827 Vendor might want to provide their own implementation of "network location", "fused location" and "geocoder" service. Location manager now allows those service to be replaced by packages that have the same signature as one of the packages in config_locationProviderPackageNames. Such behavior might not be desirable on some devices. This change make this behavior configurable by 3 boolean flags. Details: - Added three boolean flags in core/res/res/values/config.xml to enable or disable NLP/FLP/Geocoder overlay - Added 3 package name for the stock NLP/FLP/Geocoder. They are needed only when overlay is disabled because LocationManagerService need to know which package is preferred when searching for NLP/FLP/Geocoder service. - Made ServiceWatcher able to handle non-overlayable services. - Fixed an NPE isue in ServiceWatcher. mPm.queryIntentServicesAsUser might return null. - Fixed an bug: justCheckThisPackage in bindBestPackageLocked is always ignored. Change-Id: Id221961ac7c3aa8ad44b894f9523f04f770ae237
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
1b9b7b1f1b4479cc1c7003c75f9c05dfba8c56ac |
|
16-Apr-2013 |
David Christie <dnchrist@google.com> |
Fix security issues with LocationManager where apps with coarse permissions can get location updates too frequently by repeatedly calling getLastKnownLocation or by registering/unregistering location updates frequently. Change-Id: Ibd9ce28b0401372b995a0dbfb2f0a984dd11c0b1
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
8ce470dd4ba0608abb6b5eae117cefca927af96b |
|
03-Apr-2013 |
Jaikumar Ganesh <jaikumar@google.com> |
GPS Hardware geofencing. Add support for doing geofencing in hardware. Change-Id: I6d5015190e8d84e1f4beb1010ed977a71c1622d0
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
64d41d7391e57886978e94e86cf01a167226dbfe |
|
07-Feb-2013 |
Dianne Hackborn <hackbod@google.com> |
Fix build, conflict with another change. Change-Id: If4d7b6c814d946806838cee7dcaccba4c65c3d0f
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
34e0b05e28b25dbe20c819ad4fa923c716c37e5f |
|
07-Feb-2013 |
Dianne Hackborn <hackbod@google.com> |
Merge "App ops: track system windows, monitoring changes."
|
c2293025a25e04b26bf53713d71f85fd9ca5e8e9 |
|
07-Feb-2013 |
Dianne Hackborn <hackbod@google.com> |
App ops: track system windows, monitoring changes. Change-Id: I273e82bdad66ada3bf0f7ec9176bc304b9ee1ee8
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
f21f175369783d9a77f1e580b42ef9b3e918c2af |
|
06-Feb-2013 |
Victoria Lease <violets@google.com> |
Merge "refactor isAllowedBySettingsLocked()"
|
91641ec5538aa3b9872f24c43f811bffbcd12368 |
|
06-Feb-2013 |
Victoria Lease <violets@google.com> |
Merge "Fix addGpsStatusListener"
|
3d5173deea9d74b0476739c7108f9b77bcd8a495 |
|
06-Feb-2013 |
Victoria Lease <violets@google.com> |
Fix addGpsStatusListener .detrevni saw tset ()sseccAnoitacoLkcehc eht smees tI Bug: 8131283 Change-Id: I91ded29338c93aa7ab35d849fc5338b3f6d6590b
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
a61bb2375c4133852ade5774c5c1e7bd39cc1407 |
|
05-Feb-2013 |
JP Abgrall <jpa@google.com> |
Merge "LocationManagerService: Add debug flag lookup from properties"
|
09eeaecf7440ff63c937337bb2f50079ebbbf9a2 |
|
05-Feb-2013 |
Victoria Lease <violets@google.com> |
refactor isAllowedBySettingsLocked() This commit splits LocationManagerService.isAllowedBySettingsLocked() into isAllowedByUserSettingsRogkei(), which takes a UID argument, and isAllowedByCurrentUserSettingsLocked(), which does not. This removes the need to generate synthetic UIDs with arbitrary application IDs and makes more explicit when LocationManagerService is acting on behalf of a caller and when it is acting on behalf of the device's current active user. Change-Id: I2cb8fb52687d2629848e5a4b66a4bda8f0f66fe1
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
f79811e7b9611066b3ca2df3ceea07bdd99597e9 |
|
02-Feb-2013 |
JP Abgrall <jpa@google.com> |
LocationManagerService: Add debug flag lookup from properties Instead of hardcoding true/false in the code: setprop log.LocationManagerService DEBUG works just fine. Or the reboot-proof version in userdebug/eng builds: cat > /data/local.prop <<eof log.tag.LocationManagerService=DEBUG eof Change-Id: If4efad1c3adc401c0cb5d1a3cc449b53224ead08
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
03cdd3d275499df3ef1059905899dcc5aaf2ab01 |
|
02-Feb-2013 |
Victoria Lease <violets@google.com> |
dual-mode switching single/multiuser ServiceWatcher This changelist revises LocationManager's previous multiuser system. Location provider services that are not multiuser-aware continue to run as before: ServiceWatcher binds to location provider services as the current active user. When the device switches from one user to another, ServiceWatcher unbinds from the old user's location provider service and binds to the new user's instance. Now, location provider services that are multiuser-aware or user-agnostic can declare "serviceIsMultiuser" metadata in their AndroidManifest.xml to prevent ServiceWatcher from performing this switching. These services will run as singleton services and will be expected to handle user switches on their own. With this feature in, I was able to switch FusedLocationProvider to run in multiuser mode, sharing the system_server process instead of running in its own process. The NetworkLocationProvider is unchanged, still running in singleuser mode, cheerfully oblivious to the possibility that there might be any user on the device besides the one it services. Bug: 8028045 Change-Id: I1a5bd032918419bab6edb46c62ff8c6811170654
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
de07d41f6396f9f040fed2b6780932d8e5dbb482 |
|
28-Jan-2013 |
Victoria Lease <violets@google.com> |
Merge "Annotate Locations coming from mock providers"
|
5e45ee6752528791deb66b83d76250685de15d47 |
|
25-Jan-2013 |
Dianne Hackborn <hackbod@google.com> |
App ops: you can now turn off operations. Also add new ops for calendar and wi-fi scans, finish implementing rejection of content provider calls, fix issues with rejecting location calls, fix bug in the new pm call to retrieve apps with permissions. Change-Id: I29d9f8600bfbbf6561abf6d491907e2bbf6af417
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
54ca7aef2e12b240caa6fb1a1e65abd234bea337 |
|
08-Jan-2013 |
Victoria Lease <violets@google.com> |
Annotate Locations coming from mock providers LocationManagerService now annotates incoming Location objects that have come from mock location providers. The new isFromMockProvider() method can be called on any Location to determine whether the provider that supplied the Location was a mock location provider. Bug: 6813235 Change-Id: Ib5140e93ea427f2e0b0036151047f87a02b4d23a
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
35654b61e8fe7bc85afcb076ddbb590d51c5865f |
|
15-Jan-2013 |
Dianne Hackborn <hackbod@google.com> |
More work on App Ops service. Implemented reading and writing state to retain information across boots, API to retrieve state from it, improved location manager interaction to monitor both coarse and fine access and only note operations when location data is being delivered back to app (not when it is just registering to get the data at some time in the future). Also implement tracking of read/write ops on contacts and the call log. This involved tweaking the content provider protocol to pass over the name of the calling package, and some infrastructure in the ContentProvider transport to note incoming calls with the app ops service. The contacts provider and call log provider turn this on for themselves. This also implements some of the mechanics of being able to ignore incoming provider calls... all that is left are some new APIs for the real content provider implementation to be involved with providing the correct behavior for query() (return an empty cursor with the right columns) and insert() (need to figure out what URI to return). Change-Id: I36ebbcd63dee58264a480f3d3786891ca7cbdb4c
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
002a54e2291eeb3a3fd0b6b3f9dbc96a7c805062 |
|
11-Jan-2013 |
Dianne Hackborn <hackbod@google.com> |
WorkSource can now track package names. Use this to track the package name of applications accessing GPS. And now the app ops service can enforce that callers must provide valid package names. Change-Id: I842a0abe236ea85f77926d708547f0f95c24bd49
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
a06de0f29b58df9246779cc4bfd8f06f7205ddb6 |
|
12-Dec-2012 |
Dianne Hackborn <hackbod@google.com> |
New "app ops" service. Initial implementation, tracking use of the vibrator, GPS, and location reports. Also includes an update to battery stats to also keep track of vibrator usage (since I had to be in the vibrator code anyway to instrument it). The service itself is only half-done. Currently no API to retrieve the data (which once there will allow us to show you which apps are currently causing the GPS to run and who has recently accessed your location), it doesn't persist its data like it should, and no way to tell it to reject app requests for various operations. But hey, it's a start! Change-Id: I05b8d76cc4a4f7f37bc758c1701f51f9e0550e15
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
5cd731a2333479d85b1bdf6dbf8a185df2877146 |
|
20-Dec-2012 |
Victoria Lease <violets@google.com> |
prevent concurrency issues during LocationManager init systemReady() was returning before the LocationManagerService was actually ready. Applications making LocationManager transactions during their startup could possibly hit a race condition with the yet-uninitialised LocationManagerService. To guarantee that LocationManagerService is actually ready before returning from systemReady(), we simply do the startup work on the thread that called systemReady(), rather than spin up a secondary thread to do the work asynchronously. LocationWorkerHandler still needs a thread to do its work on, so rather than have it run on the secondary thread that was previously used for systemReady()'s work, we create a HandlerThread for it. Additionally, LocationManagerService.init() really needed to grab lock for some of the things it was doing. I moved all of the code that could benefit from mutex protection to a single section of systemReady() and wrapped it up with a lock while I was at it. Bug: 7723944 Change-Id: I51d480e2781622c3a14769c3a2019a2407dcfd8a
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
0a19ad089ad93740debc52c122726507e4517ccb |
|
05-Dec-2012 |
Victoria Lease <violets@google.com> |
Adjust update interval when expiring location requests. This is a more complete solution for this issue that disables location providers when expiring their last request *and* adjusts update intervals when expiring any request. This should help further limit battery drain when a high-frequency-update app exits, as it allows the system to throttle the update interval back down to something appropriate for the remaining listeners. Bug: 7611837 Change-Id: I88b419c92940b7e536d48b26e5fc0f72f3c9e73d
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
8b38b29b5213c429d1e9802d02549b5638f40706 |
|
05-Dec-2012 |
Victoria Lease <violets@google.com> |
Notify provider when disposing last UpdateRecord Location providers were not being notified of the change in status when the last UpdateRecord was removed due to numUpdates exhaustion or request expiry. Oops! Enjoy some free battery life! Bug: 7611837 Change-Id: Id48151eb7de40164258cde7da220a4d6bb34b89a
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
a6d0b6f8518c7ee110c907166d53a8d46ead97f1 |
|
27-Oct-2012 |
You Kim <you.kim72@gmail.com> |
Fix Wrong parameter in HashMap.remove Change-Id: Ibf93833697c865904f29821e5778853127e5fb00 Signed-off-by: You Kim <you.kim72@gmail.com> Conflicts: services/java/com/android/server/LocationManagerService.java
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
6c5406acd72eed31f2b4e12f5eddc0e2d2a951e2 |
|
30-Nov-2012 |
Dianne Hackborn <hackbod@google.com> |
Maybe fix issue #7596986: Frequent runtime restarts; IAE at... ...android.os.Parcel.nativeAppendFrom(Native Method) The failing stack trace is: 11-20 20:29:04.365 19154 19170 E AndroidRuntime: java.lang.IllegalArgumentException 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at android.os.Parcel.nativeAppendFrom(Native Method) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at android.os.Parcel.appendFrom(Parcel.java:428) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at android.os.Bundle.writeToParcel(Bundle.java:1613) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at android.os.Parcel.writeBundle(Parcel.java:605) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at android.location.Location.writeToParcel(Location.java:903) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at android.os.Parcel.writeParcelable(Parcel.java:1254) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at android.os.Parcel.writeValue(Parcel.java:1173) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at android.os.Parcel.writeMapInternal(Parcel.java:591) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at android.os.Bundle.writeToParcel(Bundle.java:1619) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at android.os.Parcel.writeBundle(Parcel.java:605) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at android.location.Location.writeToParcel(Location.java:903) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at android.os.Parcel.writeParcelable(Parcel.java:1254) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at android.os.Parcel.writeValue(Parcel.java:1173) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at android.os.Parcel.writeMapInternal(Parcel.java:591) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at android.os.Bundle.writeToParcel(Bundle.java:1619) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at android.os.Parcel.writeBundle(Parcel.java:605) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at android.content.Intent.writeToParcel(Intent.java:6660) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at android.app.ApplicationThreadProxy.scheduleReceiver(ApplicationThreadNative.java:763) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at com.android.server.am.BroadcastQueue.processCurBroadcastLocked(BroadcastQueue.java:230) 11-20 20:29:04.365 19154 19170 E AndroidRuntime: at com.android.server.am.BroadcastQueue.processNextBroadcast(BroadcastQueue.java:777) This is odd because where we do Bundle.writeToParcel(), we are just writing the Parcel we have with its current length. There is no way this should be able to fail like this... unless the Bundle is changed while we are running? Hm. It looks like the location manager is holding on to Location objects which have a Bundle of extras. It is that Bundle of extras that the crash is happening on. And the bundle extras can be changed as it operates. And there are places where the raw Location object is returned from the location manager, which means the caller can be olding on to a Location object whose extras can be changed at any time by other threads in the location manager. So that seem suspicious. This change should take care of all these places in the location manager, by making sure to copy the location object before it goes out of the location manager. In addition, add some code to the activity manager to not bring down the entire system if there is a problem trying to send one of these broadcasts. There is no need, we can just skip the broadcast as bad. Change-Id: I3043c1e06f9d2931a367f831b6a970d71b0d0621
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
61ecb02f544d9abd098506afb50cb514818f4eb4 |
|
14-Nov-2012 |
Victoria Lease <violets@google.com> |
Resolve LocationManager + ActivityManager conflict LocationManagerService was serially stuffing the same Location into multiple Intents, which it would immediately hand off to ActivityManagerService, running as a different thread in the same process. LocationManager would continue to work with that Location while ActivityManagerService worked with a Parceled version of it. However, Location.mExtras is also a Bundle, and both ActivityManagerService and LocationManagerService ended up working with references to the same Bundle. ActivityManagerService needs it in Parceled form (ie mParceledData != null), but LocationManagerService was triggering Bundle.unparcel() when referencing the data contained within. As a result, LocationManagerService was able to trigger NPE (or worse) in ActivityManagerService by manipulating the mExtras member of a Location that was in the process of being reported to listeners. To resolve this issue, I copy-construct a new Location to report to each listener. This should prevent ActivityManagerService and LocationManagerService from referencing the same Bundle data, as Location's copy constructor also copyconstructs the mExtras member, rather than simply share references. Bug: 7518371 Change-Id: I1a92615cba361831494447d5de085a8d910b6b2c
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
7ff30113de68539ec840c524b8f1561f938f96c5 |
|
08-Nov-2012 |
Dianne Hackborn <hackbod@google.com> |
Remove extraneous logs. Change-Id: I4c47d36748de91bd6fddc419afbf59552bf63e9a
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
56e675b3a1c351de34de68a149762d3ad1b308c5 |
|
06-Nov-2012 |
Victoria Lease <violets@google.com> |
disable geofences for secondary users Geofences are broken in multiuser, and need to be fixed before reenabling the feature for secondary users. Change-Id: Ief3008a294deed47760ee25efcf1cdef5371b038
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
75defb6f8840dcd2aaf866a5df9d689413fbe433 |
|
02-Nov-2012 |
Laurent Tu <laurentt@google.com> |
Decrement number of updates in LocationRequest Decrement the number of updates after a location fix has been sent to a a listener. This is necessary for respecting calls such as requestSingleUpdate(). Bug: 7460868 Change-Id: Iea207ab494b93b936ca434d59652bb2cb6404cef
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
269518e83efc01b387235d6194dcf93726e384ff |
|
29-Oct-2012 |
Victoria Lease <violets@google.com> |
Revert "make FLP play nicely with multiuser" This reverts commit e5601ce9bfa4effbddb84186f0fe1bfe4ad50301 Change-Id: Icd12f2d2c18f2eeeb2c367a885fb6d170ce426ae
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
e5601ce9bfa4effbddb84186f0fe1bfe4ad50301 |
|
26-Oct-2012 |
Victoria Lease <violets@google.com> |
make FLP play nicely with multiuser Frameworks' FusedLocationProvider runs as a specific user so that it can join a specific process. The solution that works for NLP, run one copy per user as that user, does not work for FLP. To make FLP play nicely with multiuser, I've allowed SYSTEM_UID to operate in the background and included a hardcoded exception to prevent ServiceWatcher from trying to launch one FLP per user. Bug: 7279799 Change-Id: I573ea5226d8d00777421b39c5c3fb0899bf09b4d
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
e09aed49e3498c9e0f3545ab97f816233d5eac66 |
|
18-Oct-2012 |
Jeff Hamilton <jham@android.com> |
Merge "Changes to support updating location providers." into jb-mr1-dev
|
37425c3475877f2fdadb78f669ec57fecf82dca7 |
|
17-Oct-2012 |
Victoria Lease <violets@google.com> |
LocationManager permissions cleanup This commit is the result of a comprehensive permissions review for MR1 release. It addresses a number of deviations from spec and from MR0's behavior, bringing MR1 into sync with both. It also cleans up the concept of "location resolution permission", representing it internally as an enumerated access level to reduce reliance on cumbersome string manipulation. There's a function to convert the enum int into a permission string where needed, too. Additionally, this confines caller-identity-sensitive calls to the hopefully-obviously-named "getCallerAllowedResolutionLevel()". This should make it much easier to prove correctness with respect to accidentally calling functions that depend upon the caller's identity after identity has already been shed by Binder.clearCallingIdentity(). Change-Id: I446169aee8fb2fde26ac6d04b479b40253782acb
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
fbadb69978be578cea9d2bf038de7c79b0787e4f |
|
05-Oct-2012 |
Jeff Hamilton <jham@android.com> |
Changes to support updating location providers. This reverts commit 20de160ca32a8f2936a80ffd70551a22e2371d25. Bug: 7242814 Change-Id: I9ec49a14feb835b6683186fc6da4a74ae19fbae2
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
b7f9d254978b285bf04613f6e69a1afa89240ca9 |
|
16-Oct-2012 |
Laurent Tu <laurentt@google.com> |
Handle unknown case in LocationManager.getProvider If a provider is unknown, return null in LocationManagerService.getProviderProperties() instead of throwing a security exception, so that LocationManager.getProvider() returns null in this case, as specified by the javadoc. Bug: 7359960 Change-Id: I1b8b74745f66717a3439a1d353a46a23272cc313
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
da479c5f8c9675dc11b3d6c4024749064d54bb67 |
|
16-Oct-2012 |
Victoria Lease <violets@google.com> |
fix crashing apps Bug: 7349330 Change-Id: Iea61bce23cb197c7a28d574098253823df73a99b
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
a8a6b0848d1c11c3ed0fcb846e3d6c39b91536a0 |
|
10-Oct-2012 |
Kenny Root <kroot@google.com> |
Merge "Add fused location provider to real provider list" into jb-mr1-dev
|
c3575188c2f2ad27b1f03b9b9c0705a686a5e42f |
|
09-Oct-2012 |
Kenny Root <kroot@google.com> |
Add fused location provider to real provider list During testing it's possible to mock a location provider, but the fused location provider wasn't being inserted into the "mRealProviders" map so when the fused location provider was unmocked, it would disappear permanently from the list until the next reboot. Bug: 6949478 Change-Id: I4993aa7fbbd21cea16bdbf2722d637c909b1cd73
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
c0c0c0e612e1ccf1e55eb2a9338ddfff40d8d7f2 |
|
09-Oct-2012 |
Victoria Lease <violets@google.com> |
Merge "Multiuser love for LocationManager" into jb-mr1-dev
|
b711d57ca4e2c6a1befbfa1a41f4b8094755a93f |
|
02-Oct-2012 |
Victoria Lease <violets@google.com> |
Multiuser love for LocationManager LocationManagerService now keeps track of the current user ID and denies location requests made by all but the foreground user. Additionally, location settings are now user-specific, rather than global to the device. Location provider services now run as specific users, and when the device's foreground user changes, we rebind to appropriately-owned providers. Bug: 6926385 Bug: 7247203 Change-Id: I346074959e96e52bcc77eeb188dffe322b690879
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
20de160ca32a8f2936a80ffd70551a22e2371d25 |
|
05-Oct-2012 |
Jeff Hamilton <jham@android.com> |
Revert "Changes to support updating location providers." This reverts commit c19efc204aee1f0f3164dc21bd2ef3fdd4259c71.
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
82b946496e2a503b5b21af318af5be828a223a44 |
|
05-Oct-2012 |
Jeff Hamilton <jham@android.com> |
Merge "Changes to support updating location providers." into jb-mr1-dev
|
60ec50a850ac7265b662df3c872583b6ef581ef8 |
|
05-Oct-2012 |
Laurent Tu <laurentt@google.com> |
Last position improvements for GeofenceManager Use LocationManager.getLastPosition() in GeofenceManager instead of keeping track of it manually. Keeping track of it in GeofenceManager doesn't handle the case where we install a fence, and cross it just after that based on the last position before we installed the fence. Also shuffle around some code in LocationManagerService to remember the last position even if there are no UpdateRecords. This is useful in the GeofenceManager for example. Bug: 7047435 Change-Id: Ia8acc32e357ecc2e1bd689432a5beb1ea7dcd1c7
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
dfc8e799ed7500c1a07d4ba1f72e77d3de0f803a |
|
05-Oct-2012 |
Victoria Lease <violets@google.com> |
Merge "Handle other providers in isAllowedProviderSafe()" into jb-mr1-dev
|
a9afaccf303da2b57a47ad16cca559e87e649d15 |
|
05-Oct-2012 |
Victoria Lease <violets@google.com> |
Merge "multiuser support for LocationBlacklist" into jb-mr1-dev
|
941221c1577a34c922c03b30be7ef0a4afda4278 |
|
04-Oct-2012 |
Laurent Tu <laurentt@google.com> |
Handle other providers in isAllowedProviderSafe() Add a case for isAllowedProviderSafe() to handle providers that are not GPS/Passive/Network/Fused. For example, this is useful for mock providers. Bug: 7047435 Change-Id: If4799aa90a5338889c47582d45cbfc25772c9c53
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
18c2b6e730f6d639421e45328f4fb2514683efe5 |
|
04-Oct-2012 |
Victoria Lease <violets@google.com> |
Merge "throw SecurityException in isProviderEnabled()" into jb-mr1-dev
|
83762d22c9bde92d412cf5a263a228d705606721 |
|
03-Oct-2012 |
Victoria Lease <violets@google.com> |
multiuser support for LocationBlacklist This allows primary/secondary users to have different "Google Location Services" preferences. It also reenables LocationBlacklist, which is fixed elsewhere. Bug: 7213502 Bug: 7248239 Change-Id: I94837682f95920c225c00b7da2de6dd1418a673e
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
c19efc204aee1f0f3164dc21bd2ef3fdd4259c71 |
|
03-Oct-2012 |
Jeff Hamilton <jham@android.com> |
Changes to support updating location providers. There is now only a single config value pointing at a list of packages to get certs from. The old system was a bit confusing. The fused location provider also now builds against SDK 17, and the meta data service version tag was renamed from the overly generic "version" to "serviceVersion". Bug: 7242814 Change-Id: I00d27c9cbd5cc31a37bb4a98160435d15a72e19e
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
f429921e3a8b171771e268f23fc3fa909d791441 |
|
04-Oct-2012 |
Victoria Lease <violets@google.com> |
throw SecurityException in isProviderEnabled() In MR0, we did not allow applications to query enabled status of location providers they did not have permission to use. Some applications counted on this behavior, using the thrown SecurityException to determine whether or not they have permission to use the specified provider. Reverting to this behavior fixes the regressions seen in those applications. Bug: 7251459 Change-Id: I8b0cfd5862c80f0c831a4ab544c3fa7408bc84a0
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
0d21e2161f8542db0a54bf80b74b7fd33afef6f6 |
|
03-Oct-2012 |
Laurent Tu <laurentt@google.com> |
Remove checkPermission() call in getAllProviders(). getAllProviders() should return all locators, including those not allowed or not enabled (according to the existing javadoc, at least). The checkPermission() call prevented this behavior by throwing a security exception. We restore the previous behavior by removing the call. Bug: 6950369 Change-Id: I0c6bc676d4c4db482bb68f1ab7fa5c93675118b4
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
3750db176adbaf3f9779df5eadf335f673b2ac4f |
|
02-Oct-2012 |
Victoria Lease <violets@google.com> |
Merge "Route GPS notifications to all users." into jb-mr1-dev
|
5c24fd03426db58b63e1a792c2595447cb722d46 |
|
01-Oct-2012 |
Victoria Lease <violets@google.com> |
Avoid NPE in GpsLocationProvider Oops, looks like we were spinning up a secondary thread to run some tasks that will just happen on the main thread regardless. Removed the secondary thread and fixed up initialisation order regarding mHandler and things that post to it. Also reordered GPS and PASSIVE provider initialisation order since GPS depends on PASSIVE. This should be both safer and easier to read. Bug: 7248029 Change-Id: I8630caf0a7bd1b2c401603075676f13dda5be4fa
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
38389b6cf7bd2ef49d2bd20ff1bca8677596590e |
|
30-Sep-2012 |
Victoria Lease <violets@google.com> |
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
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
4118012da9a22694b3353040a485f8cdc27e2f17 |
|
26-Sep-2012 |
Philip Milne <pmilne@google.com> |
Fix for bug: #7173350. elapsedRealtimeNano() -> elapsedRealtimeNanos() Change-Id: Ie38952bbaace080e81e41e61350cda172951d548
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
72a374705d32cf715443aa203f75c159e1bc9bd5 |
|
26-Sep-2012 |
Victoria Lease <violets@google.com> |
Merge "getBestProvider() prefers GPS over NLP" into jb-mr1-dev
|
1925e290e7ac2801311cb4e732d1bc5a5f3e0c44 |
|
25-Sep-2012 |
Victoria Lease <violets@google.com> |
getBestProvider() prefers GPS over NLP Preferring the GPS location provider over NLP should produce better average and worst-case results than NLP, which is very accurate in certain conditions and completely useless in others. Bug: 7182301 Change-Id: If7d50f0d3ac663cbfd84b7033adc204c11bcaca4
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
8658e1aa1fb0905852c4b0f5ae1d96cd2d56b6cf |
|
24-Sep-2012 |
Victoria Lease <violets@google.com> |
Merge "Allow apps to getProviders() without location permissions." into jb-mr1-dev
|
8dbb63419bef8678cf92ebae1d43f549f50987c7 |
|
22-Sep-2012 |
Victoria Lease <violets@google.com> |
Allow apps to getProviders() without location permissions. This restores MR0's behavior in this regard - apps calling LocationManager.getProviders() or LocationManager.getBestProvider() will no longer receive a SecurityException if they do not have any location permissions. Instead, as was the behavior in MR0, they only receive providers that their permissions grant them access to, including an empty list if they have no permission whatsoever. Bug: 7207864 Change-Id: I027df425e258d436c4821c34a25bc46a2a292824
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
09016ab4dd056a16809419d612cb865a14980880 |
|
16-Sep-2012 |
Victoria Lease <violets@google.com> |
Do not use passive GPS data for COARSE only apps. FusionEngine now attaches a secondary location that has never seen GPS data to its result. LocationFudger uses the GPS-less location so that COARSE apps never see data from the GPS provider. When the previous location is updated, the previous GPS-less location is carried over if the location update was GPS-only. Additionally, apps without FINE permission are not notified when GPS location changes, and any attempt to use GPS_PROVIDER without FINE permission is met by a stern SecurityException. Bug: 7153659 Change-Id: I12f26725782892038ce1133561e1908d91378a4a
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
4fab68b5324e1f9b6765cdc33e66d1f074623dc2 |
|
13-Sep-2012 |
Victoria Lease <violets@google.com> |
Require ACCESS_FINE_LOCATION for Geofence use. Bug: 7153226 Change-Id: I49236379e739fcda66bbc9a31cfdca9a87122aec
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
df9ec6171f6b7f3075d7f8174e9ae6ecf080c917 |
|
12-Sep-2012 |
Victoria Lease <violets@google.com> |
Secure setting for LocationFudger's accuracy This replaces the ACCURACY_METERS constant and all derived values with a secure setting. This value defaults to 2km and has a hardcoded floor of 500m. Bug: 6982024 Change-Id: Ibf97ab57145abf28c4a9747444f40250adddf23c
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
bb95cb9f997afc34d54f3d5bcb247c44f368b62b |
|
29-Aug-2012 |
Brian Muramatsu <btmura@google.com> |
Fix GPS settings change listener in LocManager Bug 7051185 - Register a ContentObserver to track settings changes rather than opening up a Cursor with a ContentQueryMap. - Move updateProvidersLocked into init to assure that the ContentObserver does not miss any changes. - Move blacklist and fudger creation before loadProvidersLocked to improve code readability. Change-Id: I4d3e19fa33401c384bc2b00658d4336ea119e0e5
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
5ac72a29593ab9a20337a2225df52bdf4754be02 |
|
30-Aug-2012 |
Dianne Hackborn <hackbod@google.com> |
Improve multi-user broadcasts. You can now use ALL and CURRENT when sending broadcasts, to specify where the broadcast goes. Sticky broadcasts are now correctly separated per user, and registered receivers are filtered based on the requested target user. New Context APIs for more kinds of sending broadcasts as users. Updating a bunch of system code that sends broadcasts to explicitly specify which user the broadcast goes to. Made a single version of the code for interpreting the requested target user ID that all entries to activity manager (start activity, send broadcast, start service) use. Change-Id: Ie29f02dd5242ef8c8fa56c54593a315cd2574e1c
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
595dda6d47a4eeeffc32abbfbc55edfba588d846 |
|
24-Aug-2012 |
Brian Muramatsu <btmura@google.com> |
Remove unused IntentFilter in LocationManager This intent filter isn't used anymore, since GpsLocationProvider handles the CONNECTIVITY_ACTION broadcasts now.. Change-Id: I593a9916aa6f8086b4d684cc3e25286c1cb137cc
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
1332b53522e281012fefb34bfbcc68a03028f516 |
|
22-Aug-2012 |
Nick Pelly <npelly@google.com> |
Fix some location issues exposed by CTS. Change-Id: I5859ee2c9db5745b0a3bc8abfa8f08728fb25059
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
2b7a0d00426218523629e4e8dd2e9197d445c09b |
|
18-Aug-2012 |
Nick Pelly <npelly@google.com> |
Fix addGeofence() and addProximityAlert(). Need to clear the callers identity before calling into geofence manager because it in turn calls fused location API's. Change-Id: I7993b0b8b2a947ff93c37a7c9d29ca0e7c95f9a8
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
4035f5a7c191a68bc9a5912ce44c43c82e9e5dbf |
|
17-Aug-2012 |
Nick Pelly <npelly@google.com> |
Port location blacklist code to MR1. I had to re-do this change for MR1 because LocationManagerService changed so much. Here is the original change description: Add package-name-prefix blacklist for location updates. The Settings.Secure value locationPackagePrefixBlacklist and locationPackagePrefixWhitelist contains comma seperated package-name prefixes. Location & geo-fence updates are silently dropped if the receiving package name has a prefix on the blacklist. Status updates are not affected. All other API's work as before. A content observer is used so run-time updates to the blacklist apply immediately. There is both a blacklist and a whitelist. The blacklist applies first, and then exemptions are allowed from the whitelist. In other words, if your package name prefix matches both the black AND white list, then it is allowed. Bug: 6986553 Change-Id: I1e151e08bd7143e47db005bc3fe9795076398df7
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
4e31c4fffbc42b4c2b5dca6431cfeef9e078f5b4 |
|
14-Aug-2012 |
Nick Pelly <npelly@google.com> |
Add javadoc for new location API's. Change-Id: If15024ee88421c07ba3a174747774fc451fd002e
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
74fa7eabda3d0c1a85e0b568e3fc4230ed4fe7a4 |
|
14-Aug-2012 |
Nick Pelly <npelly@google.com> |
Improve coarse locations. Fix a couple of bugs, and modify the behavior of the random offset. The random offset now slowly changes over time, to mitigate against applications averaging out the offset over time while at a grid boundary. Change-Id: Iecffff29145b8c2b30d1eca1662cf9d3e8cff756
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
08ca1046fe4f1890f91241f8d082a024ef6cfd93 |
|
11-Aug-2012 |
Nick Pelly <npelly@google.com> |
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
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
6fa9ad4afcd762aea519ff61811386c23d18ddb2 |
|
16-Jul-2012 |
Nick Pelly <npelly@google.com> |
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
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
821bd8081a3a02de946af7a5c2ab52cdc3e48c4e |
|
03-Aug-2012 |
Jeff Sharkey <jsharkey@android.com> |
Pass changed NetworkInfo to LocationProvider. LocationProviders often rely on non-default networks, so pass the network that actually changed, instead of the default. Bug: 6929692 Change-Id: I31d9eec792e07259282aa1bb57ec66c01962df64
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
2eeeec248a38ff33999c83f4b8d5bab7d50e79d2 |
|
18-Jul-2012 |
Nick Pelly <npelly@google.com> |
Improve Location object. Add getElapsedRealtimeNano(): Currently Location just has getTime() and setTime() based on UTC time. This is entirely unreliable since it is not guaranteed monotonic. There is a lot of code that compares fix age based on deltas - and it is all broken in the case of a system clock change. System clock can change when switching cellular networks (and in some cases when switching towers). Document the meaning of getAccuracy(): It is the horizontal, 95% confidence radius. Make some fields mandatory if they are reported by a LocationProvider: All Locations returned by a LocationProvider must include at the minimum a lat, long, timestamps, and accuracy. This is necessary to perform fused location. There are no public API's for applications to feed locations into a location provider so this should not cause any breakage. If a LocationProvider does not fill in enough fields on a Location object then it is dropped, and logged. Bug: 4305998 Change-Id: I7df77125d8a64e174d7bc8c2708661b4f33461ea
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
e0fd693c6098f59004f9e96ad75c058e26c337b0 |
|
11-Jul-2012 |
Nick Pelly <npelly@google.com> |
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
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
01ed75c82f29b883144d498b4a6a1414d4227a31 |
|
14-Jun-2012 |
Nick Pelly <npelly@google.com> |
Fix NPE when public API removeProximityAlert() used before addProximityAlert(). Bug: 6313992 Change-Id: I905ad9ea771286727ce4a3a2334f2a0dac967c3d
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
00355d5a592533a3ecb0a5a74aef8e69dd16902a |
|
28-May-2012 |
Nick Pelly <npelly@google.com> |
Make location providers upgradeable. Use config_netowrkLocationProviderPackageName and config_geocodeProviderPackageName as intial packages. If another package exists (or is later installed) that also implements a provider, and has the same signatures as the original providers, and has a hgiher version number, then use that instead. The old code used a funky fix of package name substring checks and service checks that was broken and not upgradeable. Bug: 6499445 Change-Id: Ic58f09cf85d31d9abf47707093e22f31dda25cf0
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
f1be6861daea57ba0a1595739a899d05229d6d15 |
|
15-May-2012 |
Nick Pelly <npelly@google.com> |
Enforce the minTime parameter in LocationManager#requestLocationUpdates There is a long history in Android, on both GED and non GED devices of GPS providers ignoring the minTime parameter making location updates every second. The problem is usually poor GPS drivers that claim to do scheduling but then do not. By making the minTime parameter strict (instead of a hint) we can add a CTS test to ensure that udpates to not occur too frequently. I believe this is the desired behavior from apps. If apps want to take advantage of more frequent updates when another application asks for those updates then it can use the passive provider. The CTS test for GPS has already been submitted (as part of CTS Verifier). Bug: 6424983 Change-Id: I163b9e44ea7ab71530b86fc2282614e0150e90f1
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
6e4cb6a93b1a1b6970862d21769d14c9e583dd59 |
|
04-May-2012 |
Nick Pelly <npelly@google.com> |
Log PID of apps requesting location updates. BUG=6444765 Change-Id: Ib948b8fddb99f95f63486fbc096a26609c1a6c21
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
d0d7503fd3e941113094532f28986f49b11b5fdb |
|
20-Apr-2012 |
Dianne Hackborn <hackbod@google.com> |
Move handling of package changes to a background thread. Helps get rid of some jank when installing applications. Change-Id: I97d0022f82d67796e334d37086e5911dd6ca6b62
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
5e61331da59921413a8e2a144146a8451a054020 |
|
30-Jan-2012 |
Jeff Sharkey <jsharkey@android.com> |
Move away from deprecated NetworkInfo extra. Because the NetworkInfo included in CONNECTIVITY_ACTION broadcast extra does not reflect the state applicable to the calling UID, and the last sticky broadcast may have stale state, transition to calling ConnectivityManager.getActiveNetworkInfo() directly. Change-Id: I86b316fbedd0273585ad5f1248b091bc3a3a5520
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
6c418d585e0a91054b168fde3130188afd006c98 |
|
29-Jun-2011 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #4902856: Don't let apps register non-explicit PendingIntents Location manager now checks for such intents, and logs a warning when they are given to it. Nothing thrown yet, it needs to check the targetSdkVersion of the caller somehow. When sending the pending intent, we require that the recipient hold the appropriate permission. This should pretty much close the security hole. Includes a bunch of infrastructure in the activity manager needed to support all this. Change-Id: I4dba7a98a7b8bbb9e347666451aa9cb1efad1848
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
1ebe049acc50c291729148e66438ba53e7bf951a |
|
26-Oct-2010 |
Mike Lockwood <lockwood@android.com> |
am 1b571bd3: am 1d28a840: Merge "Location Manager: Fix LocationManager.getBestProvider filtering." into gingerbread
|
9e3191d16c025b44fb4a614b13e1c5b8488eb574 |
|
26-Oct-2010 |
Mike Lockwood <lockwood@android.com> |
Location Manager: Fix LocationManager.getBestProvider filtering. getBestProvider should only return location providers that the client has permission to use. BUG: 3124614 Change-Id: I065091d0445092563bc53fb4f7d93a1ab6bebb9a Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
8fa50d4f2ddec9bd22436e41eb1dd8dd83a2a039 |
|
25-Oct-2010 |
Mike Lockwood <lockwood@android.com> |
am 6c8d8d89: am 8c32bddf: Merge "GPS: Disable verbose logging" into gingerbread Merge commit '6c8d8d8927373fdb9ad1c853396b5dbc8295f996' * commit '6c8d8d8927373fdb9ad1c853396b5dbc8295f996': GPS: Disable verbose logging
|
4a7b65e0d544ef1feff8e1e5789f469f89ebb85c |
|
25-Oct-2010 |
Mike Lockwood <lockwood@android.com> |
GPS: Disable verbose logging BUG: 3127049 Change-Id: I9efd9eb7ff69724b133f3b70c52e173f49ddfbc5 Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
dd074306e1a3847416fdb284bcf8ae7ba92aaf7e |
|
19-Oct-2010 |
Mike Lockwood <lockwood@google.com> |
am 11eada78: am ba2ec2b4: Merge "Enable framework GPS and location manager logging" into gingerbread Merge commit '11eada780dc82fcac2a1dad4e2dde1d310b4231c' * commit '11eada780dc82fcac2a1dad4e2dde1d310b4231c': Enable framework GPS and location manager logging
|
2d4d1bf14b531de9d4238b1e41b53c77f8976405 |
|
18-Oct-2010 |
Mike Lockwood <lockwood@google.com> |
Enable framework GPS and location manager logging Change-Id: Id54fc01e7288e7d90d7b76824b708bcb2ee88333 Signed-off-by: Mike Lockwood <lockwood@google.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
ca936f1661a1cd3ccf45343e0453bc942fb94aeb |
|
11-Oct-2010 |
Mike Lockwood <lockwood@google.com> |
am 98e1f384: am aecab79b: Merge "Remove races in Geocoder/LocationProvider Proxy" into gingerbread Merge commit '98e1f3840f06d3dfea987154da25d5351460d080' * commit '98e1f3840f06d3dfea987154da25d5351460d080': Remove races in Geocoder/LocationProvider Proxy
|
8863c43d9efda108c880814b0a18688b75d70153 |
|
04-Oct-2010 |
Mark Vandevoorde <mtv@google.com> |
Remove races in Geocoder/LocationProvider Proxy The proxy must ensure that enable/disable calls are not reordered when proxied; this change adds synchronization to prevent such reordering that could happen following an onServiceConnected() callback, and to ensure cross-thread visibility of writes. Also, when the package is updated, the old service instance must be unbound and the new one bound. This changes uses a separate Connection object per service instance (package version) to avoid confusing the binder objects. Change-Id: I0907f7eed211b97ccfffa395754f1eb8ea8d8fec
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
5972e52e15e075e40dfcdc3ffaed1b7c4e2afac1 |
|
01-Oct-2010 |
Mike Lockwood <lockwood@android.com> |
resolved conflicts for merge of 53b07027 to master Change-Id: Ia5ce86d84454a4be76e71aeb77942ba8d88d2700
|
e97ae40dffe7d7f8917c51c4f3f6c1b18c238565 |
|
29-Sep-2010 |
Mike Lockwood <lockwood@android.com> |
location: rebind to network location and geocoder services after package update Change-Id: I2d7db3512b9edd7e0ba27d97442967fc2278e3b9 Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
537ce32c71284f7bef40371778926f34d41f277e |
|
21-Sep-2010 |
Mike Lockwood <lockwood@android.com> |
am 24956d36: am 307aef01: Merge "LocationManager: Hide location provider and geocode provider APIs." into gingerbread Merge commit '24956d36f46dd7be0b029a7b2b43c1020ae8a4c5' * commit '24956d36f46dd7be0b029a7b2b43c1020ae8a4c5': LocationManager: Hide location provider and geocode provider APIs.
|
e15735a9e0c0b1448b68f2d6b3247404fc1df417 |
|
20-Sep-2010 |
Mike Lockwood <lockwood@android.com> |
LocationManager: Hide location provider and geocode provider APIs. Also rename Geocoder.isImplemented() to Geocoder.isPresent() BUG: 3000738 BUG: 3001413 Change-Id: I56bb4e9a9c59f8b79de585eeb168f74c3ff1a853 Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
e746f03c6c8b8d0897d322ab524d545ace200fcd |
|
14-Sep-2010 |
Dianne Hackborn <hackbod@google.com> |
resolved conflicts for merge of 53686433 to master Change-Id: I27004dc464f5771d3205ae5757c6eccc5b16854d
|
7e9f4eb2608148436cef36c9969bf8a599b39e72 |
|
11-Sep-2010 |
Dianne Hackborn <hackbod@google.com> |
Track client requests through location manager. This fixes a problem where applications could ask the location manager to do very heavy-weight things (like... say... update location every minute), which would get accounted against the system instead of the application because ultimately it is the system making the heavy calls (wake locks, etc). To solve this, we introduce a new class WorkSource representing the source of some work. Wake locks and Wifi locks allow you to set the source to use (but only if you are system code and thus can get the permission to do so), which is what will be reported to the battery stats until the actual caller. For the initial implementation, the location manager keeps track of all clients requesting periodic updates, and tells its providers about them as a WorkSource param when setting their min update time. The network location provider uses this to set the source on the wake and wifi locks it acquires, when doing work because of the update period. This should also be used elsewhere, such as in the GPS provider, but this is a good start. Change-Id: I2b6ffafad9e90ecf15d7c502e2db675fd52ae3cf
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
59e61354801b378c074b85f0dea0da62481298c9 |
|
28-Aug-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
am d71021cb: am 0c731f99: Merge "Send broadcast intent when configured location providers change." into gingerbread Merge commit 'd71021cb30bd20dabd6783f4235d5f245a7bd1a3' * commit 'd71021cb30bd20dabd6783f4235d5f245a7bd1a3': Send broadcast intent when configured location providers change.
|
0c5a04014d3833c9a82772a832d3bc6410fc52ac |
|
27-Aug-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
Send broadcast intent when configured location providers change. See e.g. http://code.google.com/p/android/issues/detail?id=10042 This is also needed by the power control widget, which has no reliable way otherwise of staying in-sync. Change-Id: I8f2b6b79b1843329bae952a25ea56f15e3cf92aa
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
6181f39257ecd8a93b1c43ddef771734dfef8f49 |
|
19-Jul-2010 |
Adam Bliss <abliss@google.com> |
am 27ef0f73: am 9714d2c4: Merge "Don\'t throw an exception from isProviderEnabled and getLastKnownLocation" into gingerbread Merge commit '27ef0f732c5a97ba88a699b7490045e5370cf51f' * commit '27ef0f732c5a97ba88a699b7490045e5370cf51f': Don't throw an exception from isProviderEnabled and getLastKnownLocation
|
f4d207b1c2212d6e9adc3e7954a8d14c6b9abc51 |
|
17-Jul-2010 |
Mike Lockwood <lockwood@android.com> |
Don't throw an exception from isProviderEnabled and getLastKnownLocation if the location provider does not exist. Instead use the same behavior as if the provider were disabled in settings (return false for isProviderEnabled and null from getLastKnownLocation). This eliminates for a lot of exception handling around some simple queries to the location manager. BUG: 2841014 Change-Id: I4fbe0c088e915c90969e13083201dd3e7f4029cb Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
2b4140ef1b68a074611bfd33ac9d2ec2c2a1064a |
|
24-May-2010 |
Mark Vandevoorde <mtv@google.com> |
am a5437f2d: am 88437284: Fix build error (Boolean -> boolean)
|
884372842bac11f854aa42a9c4de05a3a22cb11f |
|
24-May-2010 |
Mark Vandevoorde <mtv@google.com> |
Fix build error (Boolean -> boolean) Change-Id: I2f337e23f4b092de41523f1195546e9d65851c84
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
7df535b976226efdb1fa13a12bf6edcb96ee56e2 |
|
24-May-2010 |
Mike Lockwood <lockwood@google.com> |
am 749afee8: am 1e11e95f: Merge "Add Geocorder.isImplemented()" into kraken
|
01ac80b715881db22bde8b31633dd8a4dc375389 |
|
22-May-2010 |
Mark Vandevoorde <mtv@google.com> |
Add Geocorder.isImplemented() The Geocorder interface is not part of the Android core. It requires a backend service which may or may not be available on a device. The new isImplemented static method allows apps to discover whether the Geocorder is in fact available on the device. Change-Id: I2b5cf7bcc9cce4766bcbb156e91edf34b01f9296
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
4d252c484c62c685068b94278cbb68d8c5c8003f |
|
21-May-2010 |
Mike Lockwood <lockwood@android.com> |
am dc0ca1d5: am 88262733: Merge "New Location Manager APIs for Criteria based requests and single shot mode." into kraken
|
03ca216ac19ea4e7afcb183c20c7c780f0d97756 |
|
01-Apr-2010 |
Mike Lockwood <lockwood@android.com> |
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>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
105384e3603e5d324c5b74e1d2ec836f817fdc25 |
|
12-May-2010 |
Mike Lockwood <lockwood@android.com> |
am 4d0c3083: am c7c856fb: am d2084bb6: am e1d7dca6: Merge "LocationManagerService: Call updateNetworkState on providers that are disabled." into froyo
|
c7c856fb855cdf233077857b995594770515cf1b |
|
12-May-2010 |
Mike Lockwood <lockwood@android.com> |
am d2084bb6: am e1d7dca6: Merge "LocationManagerService: Call updateNetworkState on providers that are disabled." into froyo Merge commit 'd2084bb689bb680eb886d5cfbd27adc6f2e9da1c' into kraken * commit 'd2084bb689bb680eb886d5cfbd27adc6f2e9da1c': LocationManagerService: Call updateNetworkState on providers that are disabled.
|
f19a785e15d9ffa1c1e56c254af082fc87aa1f3c |
|
11-May-2010 |
Mike Lockwood <lockwood@android.com> |
LocationManagerService: Call updateNetworkState on providers that are disabled. Fixes a problem with Network Location not working after SetupWizard until the network state changes. Change-Id: Ief81b76beb5cc90b2ca7d8aa2d4c99221898f01d BUG: 2671347 Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
00b74270c9f136a8727c5f6cda0997a3a905f385 |
|
26-Mar-2010 |
Mike Lockwood <lockwood@android.com> |
Move files internal to LocationManagerService from framework.jar to services.jar Change-Id: Iebbfc49b8300ab59730733efdf489ec87ea45a25 Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
a03b19272bfcfc2bd161cb20d13b3bb65d5378c9 |
|
19-Mar-2010 |
Mike Lockwood <lockwood@android.com> |
Preflight before attempting to start network location and geocoder services Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
43e33f28721e4759d4edb0fad08d330bba74f25e |
|
26-Mar-2010 |
Mike Lockwood <lockwood@android.com> |
Move files internal to LocationManagerService from framework.jar to services.jar Change-Id: I3dbb40210d87708e0bff46729f707d4ab8e29e42 Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
223e84d7336db189060f3f766a66037af8690496 |
|
12-Mar-2010 |
Mike Lockwood <lockwood@android.com> |
Fix LocationManager.getProvider() API breakage. getProvider() needs to work for providers that are disabled. It should only return null if the provider does not exist. Change-Id: Ieb9fbd8965a10329377bc8ac9d8061cebe519ab5 Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
3c8fbdf5dd19fad0b3006557716ee1026d7d5899 |
|
04-Jan-2010 |
Fred Fettinger <fred.fettinger@motorola.com> |
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>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
8fff6451476334fbef30a080f46f37d552257e9a |
|
04-Mar-2010 |
Sean Foy <sean.foy@gmail.com> |
Remove the ProximityAlerts update Receiver when the last ProximityAlert expires. Fixes issue 6900. Change-Id: Ifcd3fa9c34cfca02ed5e7a94aded33984ac81c60 Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
3b9ef08bbbdc95a609fa7883d6fff4b4fd22e33c |
|
02-Mar-2010 |
Mike Lockwood <lockwood@android.com> |
Don't eat IllegalArgumentExceptions in LocationManagerService. The exeptions should be returned to the Binder client instead. Change-Id: I8ab36880622bf8b4fdf28407dec50652c48b6712 Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
8a9b22056b13477f59df934928c00c58b5871c95 |
|
27-Feb-2010 |
Joe Onorato <joeo@android.com> |
Switch the services library to using the new Slog
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
46db504de583d7d644a28a4e7adae43eed5df1ba |
|
22-Feb-2010 |
Mike Lockwood <lockwood@android.com> |
Don't start location providers until the system is ready. Change-Id: Id545e95705e59ffbaaab8a679a1b7df488813101 BUG: 2461320 Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
21f1bd17b2dfe361acbb28453b3f3b1a110932fa |
|
20-Feb-2010 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #2438980: Implement package watcher for voice recognizer service setting I am getting tired of writing package monitor code, realized this is missing in a number of places, and at this point it has gotten complicated enough that I don't think anyone actually does it 100% right so: Introducing PackageMonitor. Yes there are no Java docs. I am still playing around with just what this thing is to figure out what makes sense and how people will use it. It is being used to fix this bug for monitoring voice recognizers (integrating the code from the settings provider for setting an initial value), to replace the existing code for monitoring input methods (and fix the bug where we wouldn't remove an input method from the enabled list when it got uninstalled), to now monitor live wallpaper package changes (now allowing us to avoid reverting back to the default live wallpaper when the current one is updated!), and to monitor device admin changes. Also includes a fix so you can't uninstall an .apk that is currently enabled as a device admin. Also includes a fix where the default time zone was not initialized early enough which should fix issue #2455507 (Observed Google services frame work crash). In addition, this finally introduces a mechanism to determine if the "force stop" button should be enabled, with convenience in PackageMonitor for system services to handle it. All services have been updated to support this. There is also new infrastructure for reporting battery usage as an applicatin error report.
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
43cc4696bfa7c3839931f3360c9660a9e41050b3 |
|
18-Feb-2010 |
Bryan Mawhinney <bryanmawhinney@google.com> |
Don't return passive location provider unless app has fine permissions.
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
a4903f254b4711c8fc0ac5f7e3d605f4dce34f35 |
|
17-Feb-2010 |
Mike Lockwood <lockwood@android.com> |
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>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
d03ff94fe58045b5bd1dd783fb98026778a4265d |
|
09-Feb-2010 |
Mike Lockwood <lockwood@android.com> |
Clean up interface between LocationManagerService and the location providers: LocationManagerService now uses new Java interface LocationProviderInterface rather than LocationProviderProxy to refer to location providers internally. LocationProviderProxy and the ILocationProvider binder interface are only used for location providers implemented as services (NetworkLocationProvider) Built-in location providers (GpsLocationProvider and mock providers) now just implement LocationProviderInterface rather than using a Binder interface and proxy object. Delete obsolete and unused TestLocationProvider class. Change-Id: Id800e7c1864f7c666f8e37125c05896493b9c8c4 Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
628fd6d9c11ed9806abebf34bc986247c106328f |
|
26-Jan-2010 |
Mike Lockwood <lockwood@android.com> |
Network Location unbundling: The network location and geocode provider services are now started on demand and their interfaces are now retrieved via bindService(). Remove obsolete LocationManager installLocationProvider() and installGeocodeProvider() methods. Add abstract class android.location.provider.GeocodeProvider to provide a public wrapper to the IGeocodeProvider Binder interface. Replaces the LocationManager.GeocodeProvider interface. Rename LocationProviderImpl to android.location.provider.LocationProvider. Move LocationManager.reportLocation() to android.location.provider.LocationProvider, so all methods related to external location providers are now all in one class. Avoid calling from the Location Manager Service into providers that are disabled so we do not start the network location service unnecessarily. Change-Id: If3ed2d5d62b83ba508006711d575cad09f4a0007 Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
b56ae20b22fd7283df32072a431ab6d4965f3c1b |
|
05-Feb-2010 |
Suchi Amalapurapu <asuchitra@google.com> |
Rename media resource broadcasts Add checks for fwdlocked and updated system apps add more tests remove duplicate adds
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
08675a3376819a82aa5ab344bc3e7b1635c30b05 |
|
28-Jan-2010 |
Suchi Amalapurapu <asuchitra@google.com> |
Apps on sdcard: Add new broadcasts Add new broadcasts ACTION_MEDIA_RESOURCES_AVAILABLE and ACTION_MEDIA_RESOURCES_UNAVAILABLE that get broadcast by PackageManagerService when sdcard gets mounted/unmounted by MountService so that packages on sdcard get recognized by various system services as being installed/available or removed/unavailable by the system. The broadcasts are sent before the actual package cleanup which includes mounting/unmounting the packages and we force a gc right after so that any lingering file references to resources on sdcard get released.
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
0dac8c0f7ec00d94b09f92823fa238142163aba8 |
|
19-Jan-2010 |
Mike Lockwood <lockwood@android.com> |
LocationManagerService: Fix bug removing proximity alerts. Alerts were not being removed from the mProximitiesEntered array. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
34901409a404c8c66914c5a8ad0f29b1bcde0e78 |
|
04-Jan-2010 |
Mike Lockwood <lockwood@android.com> |
Cleanup and add public wrapper for IGeocodeProvider interface to prepare for network location unbundling. Change-Id: I6523d115b56dbf450121e73d48e151f200827eb4 Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
8eb3ea659761edc2cd5db3acf448059f19389e5e |
|
29-Dec-2009 |
Brad Larson <brad.larson@garmin.com> |
Use isLocationProviderEnabled to test for enabled providers LocationManagerService was just checking if the string of (comma-separated) Location Providers contained the provider we were interested in. This works fine in normal cases, but breaks if we add a provider such as test_network. Enabling test_network causes LocationManagerService to think that the network provider is also enabled. The code in Settings.Secure.isLocationProviderEnabled() checks for the commas in the string as well, to make sure that a provider name which is a substring of another provider name won't cause problems. It also centralizes the code which reads the string. Signed-off-by: Brad Larson <brad.larson@garmin.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
7e2b4f602a1a876475da2756c5b92297552e0bc8 |
|
11-Nov-2009 |
Jean-Baptiste Queru <jbq@google.com> |
merge from open-source master
|
f2db9fb0f877057a9ef56908d54f3c95fc3fd552 |
|
31-Aug-2009 |
Alexey Tarasov <tarasov@dodologics.com> |
Typo fix in javadoc @throw -> @throws @Deprecated -> @deprecated
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
86328a99bd55532e318441d48ee9eb96cdc42403 |
|
23-Oct-2009 |
Mike Lockwood <lockwood@android.com> |
LocationManagerService: clear calling identity in mock provider calls. Fixes bug b/2198028 (testDirectionsFromScratchByTyping fails because of android.permission.ACCESS_WIFI_STATE) Change-Id: I44e95981d805189ed6d906d388c5189ee788802f Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
03d246779ea65fc2bd10d0b4f32620f45211133a |
|
08-Oct-2009 |
Mike Lockwood <lockwood@android.com> |
GPS: Fix problem with SUPL when SUPL APN is already active. Use ConnectivityManager.CONNECTIVITY_ACTION broadcast in LocationManagerService to notify GPS when SUPL connection is ready instead of TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED, which is not sent in all cases. Expand LocationProvider.updateNetworkState() to include NetworkInfo object. Fixes bug b/2155661 Change-Id: Iee227ace7d536b36cf7973e3e6a8b7a621ce6565 Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
080b61ba17014b8c93914f642ccbe05c76dc611d |
|
05-Oct-2009 |
Joshua Bartel <joshua.bartel@gmail.com> |
LocationManagerService: Fix race when removing LocationListener In LocationManagerService if a LocationListener is removed while it has a pending broadcast the wake lock held while pending broadcasts are outstanding do not get cleared properly. There are 2 cases of this race that are fixed: 1. locationCallbackFinished was changed to check the mReceivers HashMap directly instead of calling getReceiver. getReceiver would add the ILocationListener as a new Receiver if it did not exist which caused a receiver that was removed when it still had a broadcast pending to be added back in a bad state when the pending broadcast completed. 2. removeUpdatesLocked was changed to decrement the pending broadcasts when a Receiver is removed that has pending broadcasts. Fixes bug b/2163871 Change-Id: I50a321c9b3359bf69845236dc4a4b9e38e847335 Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
9ff67a5f9b0bca15ad6933eac90a65b11b29eb2e |
|
05-Oct-2009 |
Joshua Bartel <joshua.bartel@gmail.com> |
LocationManagerService: Fix race when removing LocationListener In LocationManagerService if a LocationListener is removed while it has a pending broadcast the wake lock held while pending broadcasts are outstanding do not get cleared properly. There are 2 cases of this race that are fixed: 1. locationCallbackFinished was changed to check the mReceivers HashMap directly instead of calling getReceiver. getReceiver would add the ILocationListener as a new Receiver if it did not exist which caused a receiver that was removed when it still had a broadcast pending to be added back in a bad state when the pending broadcast completed. 2. removeUpdatesLocked was changed to decrement the pending broadcasts when a Receiver is removed that has pending broadcasts.
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
5550ef48739a7bb16f80aa6b10e9c151b1438163 |
|
15-Jul-2009 |
Yusuf T. Mobile <yusuf.saib@T-Mobile.com> |
Fixed Android issue #2002: "Proximity alert detection logic is broken" http://code.google.com/p/android/issues/detail?id=2002
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
2d2078aa1d6e31063f565a20b717f3b8908fff02 |
|
15-Jul-2009 |
Yusuf T. Mobile <yusuf.saib@T-Mobile.com> |
LocationManagerService: Take fix accuracy into account in proximity zone logic. Fixes http://code.google.com/p/android/issues/detail?id=2002 Change-Id: If2b0665c556269279c5813f2254f9624a556bd92 Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
9aa1fa2d3612d1d8ffeae6552d65669f4ca194d9 |
|
01-Sep-2009 |
Mike Lockwood <lockwood@android.com> |
LocationManagerService: Remove caching of last known locations to flash. Change-Id: Ibbab20a7c48823fb74c2e175824f55248f25bf8a Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
3a76fd627945c1df59aa0318867401e0e53da022 |
|
01-Sep-2009 |
Mike Lockwood <lockwood@android.com> |
LocationManagerService: Add null pointer check and remove useless finalize() method. Change-Id: I4017d38a1bea7564a85575486a7c2aef569dfe5d Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
72b1f379d5c97c8ff31d2201e78215af777d6bda |
|
31-Aug-2009 |
Jean-Baptiste Queru <jbq@google.com> |
donut snapshot
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
18ad9f657bda79069233c0b8e1476888ffd894d4 |
|
27-Aug-2009 |
Mike Lockwood <lockwood@android.com> |
Only allow system code to call LocationManager.sendNiResponse() Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
22d1f9fb23015471de6af1a70e40fb5c82ecb665 |
|
19-Aug-2009 |
Danke Xie <dankex@qualcomm.com> |
gps: Network initiated SUPL Initial contribution from Qualcomm. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
49c22570bb8717bb678dbd8bae6692bb585370fc |
|
27-Aug-2009 |
Mike Lockwood <lockwood@android.com> |
am 7566c1de: LocationManager: Fix problem replacing GPS and network providers with a mock provider. Merge commit '7566c1debebe072af76411e11d96810fd1409482' into eclair * commit '7566c1debebe072af76411e11d96810fd1409482': LocationManager: Fix problem replacing GPS and network providers with a mock provider.
|
7566c1debebe072af76411e11d96810fd1409482 |
|
25-Aug-2009 |
Mike Lockwood <lockwood@android.com> |
LocationManager: Fix problem replacing GPS and network providers with a mock provider. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
c6cc836f88349e871c2aa7579223c9220e95e5b0 |
|
17-Aug-2009 |
Mike Lockwood <lockwood@android.com> |
LocationManagerService: Add NullPointerException to avoid change in behavior. After fixing a null pointer check we were no longer throwing NullPointerExceptions which caused a CTS test to fail. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
6ba7ae1e4c3c04f6a71380b913ad79f83b00a628 |
|
17-Aug-2009 |
Mike Lockwood <lockwood@android.com> |
LocationManagerService: Fix null pointer check in sendExtraCommand(). Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
cf4550c3198d6b3d92cdc52707fe70d7cc0caa9f |
|
21-Jul-2009 |
Jean-Baptiste Queru <jbq@google.com> |
donut snapshot
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
b7e9922722f50dbf1911eb12e3ee8023c1450086 |
|
07-Jul-2009 |
Mike Lockwood <lockwood@android.com> |
LocationManagerService: Use Context.checkCallingOrSelfPermission for permission checks so other services running in the system process can use the location manager. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
fff2fda0199dedbf1079454dca98a81190dce765 |
|
01-Jul-2009 |
Suchi Amalapurapu <asuchitra@google.com> |
Fix memory leaks in system_server unlink DeathRecipients in a whole bunch of places to avoid memory leaks
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
4686657cee6411eb00235d49b4a8663a96361a00 |
|
10-Jun-2009 |
Simon Schoar <schoar@googlemail.com> |
LocationManagerService: Fix logic error removing multiple dead receivers. If multiple receivers are dead, only the first one will be added. found in http://code.google.com/p/android/issues/detail?id=2651 Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
6ba283f726aaedd9a7c963d6b0514d4443c4a572 |
|
08-Jun-2009 |
Mike Lockwood <lockwood@android.com> |
LocationManagerService: Remove some unneeded imports. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
fd6e5f0dda50e113db4ccc55338b6c4f09da37a4 |
|
21-May-2009 |
Mike Lockwood <lockwood@android.com> |
location: Replace ILocationCollector interface with new ILocationProvider method This change replaces ILocationCollector with a more general mechanism that passes locations received from a provider to all other providers. The network location provider now uses this to implement the location collector. In the future, this could be used to inject network locations to the GPS as aiding data. This change also removes the now obsolete permission INSTALL_LOCATION_COLLECTOR. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
843ef36f7b96cc19ea7d2996b7c8661b41ec3452 |
|
20-May-2009 |
Jean-Baptiste Queru <jbq@google.com> |
donut snapshot
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
3681f2614fa8c10560c790f6b4287f65d6fd2663 |
|
12-May-2009 |
Mike Lockwood <lockwood@android.com> |
LocationManager: Recover if process containing NetworkLocation provider crashes Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
95427cdbd802f7cb529d62bb79953c45b36a8fcf |
|
07-May-2009 |
Mike Lockwood <lockwood@android.com> |
location: Fix mock provider support Allow mock providers to be used for proximity alerts. Clear calling identity so mock provider support does not fail due to lack of INSTALL_LOCATION_PROVIDER permission. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
8dfe5d8c6ba9cb165994f09843abaa6302d63c1d |
|
07-May-2009 |
Mike Lockwood <lockwood@android.com> |
location: Remove two unnecessary variables. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
0528b9b26a9d64ba43acd0e334638303d514b8eb |
|
07-May-2009 |
Mike Lockwood <lockwood@android.com> |
location: Location Manager wakelock cleanup Location Providers are now responsible for their own wakelocks and scheduling. Also fixed a deadlock in LocationManagerService in the code for releasing wakelocks after client notifications have been received. The fix is to use the Receiver object and mWakeLock for synchronization instead of the global mLock lock. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
275555c8eb3fb5df6e7320873b88b77cdde85a9e |
|
01-May-2009 |
Mike Lockwood <lockwood@android.com> |
location: Add support for location providers outside of the system process. Also added new permissions android.permission.INSTALL_LOCATION_PROVIDER and android.permission.INSTALL_LOCATION_COLLECTOR to the public API. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
15e3d0f082d551f8819fbe4b0d502cc108627876 |
|
01-May-2009 |
Mike Lockwood <lockwood@android.com> |
location: Use ILocationProvider Binder interface for all location providers. This change eliminates the LocationProviderImpl class which had been used for location providers running in the system process. Now the LocationProvider base class is only used to implement the LocationManager.createProvider() method for retrieving provider information. Added a new IGpsStatusProvider interface for providers that serve GPS status. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
662ea09a71ab241774456f7bd4791a3532904da3 |
|
28-Apr-2009 |
Mike Lockwood <lockwood@android.com> |
location: Optimize use of mProviders ArrayList. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
b8adcad61d9225ecdabde1a01b73455f484cbed7 |
|
28-Apr-2009 |
Mike Lockwood <lockwood@android.com> |
location: Remove obsolete fake provider support. Now that we have GPS support in the emulator and public APIs for mock providers, the fake provider support is no longer needed. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
79762a3ee34eb8be5549bcb183af844b6f19c266 |
|
28-Apr-2009 |
Mike Lockwood <lockwood@android.com> |
location: Move DummyLocationProvider.java and LocationProviderImpl.java to the internal package. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
3d12b51ee38537f6760a833618948f936e75561d |
|
22-Apr-2009 |
Mike Lockwood <lockwood@android.com> |
location: Run LocationManagerService in a separate thread. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
48f17518223a2917fd82195004fbb206cb9a05a3 |
|
23-Apr-2009 |
Mike Lockwood <lockwood@android.com> |
location: Location Manager wakelock cleanup, phase 2 Remove two second timeout for wakelock when broadcasting events to location listeners. Instead, hold wakelock until receipt of the event is acknowledged, either via a Binder call or the PendingIntent.OnFinished interface. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
a0e3cd3853da1d14da4918c49d25128622cf0610 |
|
22-Apr-2009 |
Mike Lockwood <lockwood@android.com> |
Fix timing problem that was introduced when we removed location provider polling The wake lock was not being held until after we enabled location tracking, so the check to see if the wake lock was held before propogating a new location prevented us from receiving a network location as soon as we enabled the provider. This check is not necessary anyway, so this change removes it. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
9ce7217c8eb4141bda68b85641814958da58a7ab |
|
22-Apr-2009 |
Mike Lockwood <lockwood@android.com> |
location: Remove support for a message that never actually gets sent. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
61fc286e8f7e33d0dd2a1e72ae9ef73ed3f42a00 |
|
22-Apr-2009 |
Mike Lockwood <lockwood@android.com> |
location: Remove unnecessary code that monitors the screen on/off state. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
6de3154674a268b0e109990a1f4c2742dfdc9c66 |
|
21-Apr-2009 |
Mike Lockwood <lockwood@android.com> |
location: Add some null pointer checks. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
e2b44c5aaff312fbb00e66dd42b8444938017672 |
|
21-Apr-2009 |
Mike Lockwood <lockwood@android.com> |
location: Location Manager wakelock cleanup, phase 1 Move cell and wifi lock from LocationManagerService to NetworkLocationProvider Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
98cb66797422c4ccdee6f1a07636146d784a471b |
|
18-Apr-2009 |
Mike Lockwood <lockwood@android.com> |
More Location Manager cleanup: Move LocationCollector support out of GpsLocationProvider. Don't disable GPS when screen is off. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
2f82c4eb0b4d315481ad79725ad6f52c5ec69685 |
|
17-Apr-2009 |
Mike Lockwood <lockwood@android.com> |
location: Generalize support for location provider usage tracking. This replaces two different mechanisms that were used for GPS and Netork location provider tracking. Move BatteryStats logging of GPS usage from LocationManagerService to GpsLocationProvider. Clean up tracking of location listeners in LocationManagerService and remove some HashMaps that are no longer needed. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
a55c321329ae52a2db7a4f2bd36673a20b8f271d |
|
15-Apr-2009 |
Mike Lockwood <lockwood@android.com> |
location: Move geocoding support from ILocationProvider to a new interface. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
e932f7f2a47b770c636443d411436bd29cc4bb43 |
|
06-Apr-2009 |
Mike Lockwood <> |
AI 144663: Use Binder interfaces between NetworkLocationManager and LocationManagerService. This fixes a hack that was added when NetworkLocationManager was moved out of the framework. This also lays the groundwork for supporting location providers outside of the system process. BUG=1729031 Automated import of CL 144663
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
f113fbe67b878b356fba11873276d7633ec1af22 |
|
06-Apr-2009 |
Mike Lockwood <> |
AI 144620: Clean up interface between NetworkLocationProvider and LocationManagerService (part 1) Move broadcast receivers for wifi scan results and battery status from LocationManagerService to NetworkLocationProvider Add a Service for the NetworkLocationProvider, so we can install it from its own thread rather than from BOOT_COMPLETED or callback from LocationManagerService. (this Service was also required for receiving Intents in NetworkLocationProvider) BUG=1729031 Automated import of CL 144620
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
66eb4acb89a5e54bdb5b9973e9a1c1b9853d154d |
|
05-Apr-2009 |
Mike Lockwood <> |
AI 144599: Location Manager cleanup: Move PhoneStateListener for listening to cell location changes from LocationManagerService to the NetworkLocationProvider. Move CellState class out of the core framework to the NetworkLocationProvider service. NetworkLocationManager now notifies the collector of its state, rather than LocationManagerService. BUG=1729031 Automated import of CL 144599
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
4e50b78bda9cd58be61581d2886c88ff6348a1c1 |
|
03-Apr-2009 |
Mike Lockwood <> |
AI 144452: More Location Manager cleanup: Remove 1 Hz "heartbeat" polling of location providers from LocationManagerService. Now location providers report their location to LocationManagerService via LocationManager.setLocation() rather than waiting to be polled. This reduces GPS fix latency by up to one second. Remove LocationProvderImpl.getLocation(). Since we are no longer polling, this method is no longer necessary. BUG=1729031 Automated import of CL 144452
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
9637d474899d9725da8a41fdf92b9bd1a15d301e |
|
03-Apr-2009 |
Mike Lockwood <> |
AI 144372: Cleanup Settings support for enabling and disabling location providers: LocationManagerService now listens for changes to settings, making LocationManager.updateProviders() unnecessary. Removed LocationManager.updateProviders() Added Settings.Secure.setLocationProviderEnabled(), which is a thread-safe way of enabling or disabling a single location provider. This is safer than reading, modifying and writing the LOCATION_PROVIDERS_ALLOWED directly. BUG=1729031 Automated import of CL 144372
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
e1ccba2113910acc95284abc1f1a0a477b8af36f |
|
02-Apr-2009 |
Amith Yamasani <> |
AI 144257: am: CL 144256 Need to show opt-in screen for location collection. Added a screen to the setup wizard, after login, to ask user to opt-in for location collection. Added a dialog to Settings when user turns on Network location. Fixed a security permission issue in LocationManagerService related to this change. Original author: yamasani Merged from: //branches/cupcake/... Automated import of CL 144257
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
29c1c42e18a72a3c5760a9fb741031877293d5aa |
|
02-Apr-2009 |
Amith Yamasani <> |
AI 144256: Need to show opt-in screen for location collection. Added a screen to the setup wizard, after login, to ask user to opt-in for location collection. Added a dialog to Settings when user turns on Network location. Fixed a security permission issue in LocationManagerService related to this change. BUG=1752566 Automated import of CL 144256
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
7ec434e2e179776d75c8a4da66dcfd2ee630c5d8 |
|
27-Mar-2009 |
Mike Lockwood <> |
AI 143095: Location Manager cleanup: move MockProvider to a separate file. BUG=1729031 Automated import of CL 143095
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
105925376f8d0f6b318c9938c7b83ef7fef094da |
|
19-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake_rel/...@140373
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
4df2423a947bcd3f024cc3d3a1a315a8dc428598 |
|
05-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@136594
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
076357b8567458d4b6dfdcf839ef751634cd2bfb |
|
03-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@132589
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
3dec7d563a2f3e1eb967ce2054a00b6620e3558c |
|
03-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@137055
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
3001a035439d8134a7d70d796376d1dfbff3cdcd |
|
19-Feb-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@132276
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
da996f390e17e16f2dfa60e972e7ebc4f868f37e |
|
13-Feb-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@131421
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
d24b8183b93e781080b2c16c487e60d51c12da31 |
|
11-Feb-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@130745
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
b798689749c64baba81f02e10cf2157c747d6b46 |
|
10-Jan-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@125939
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
f013e1afd1e68af5e3b868c26a653bbfb39538f8 |
|
18-Dec-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Code drop from //branches/cupcake/...@124589
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|
54b6cfa9a9e5b861a9930af873580d6dc20f773c |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/frameworks/base/services/java/com/android/server/LocationManagerService.java
|