Commit Graph

8032 Commits

Author SHA1 Message Date
Matthew Xie
6e8f4d7820 am 3fe98084: am 58de1427: Merge "Implement enableNoAutoconnect()" into jb-mr1-dev
* commit '3fe98084e661f29c769664463f602a90a72c35c8':
  Implement enableNoAutoconnect()
2012-08-14 00:42:09 -07:00
Matthew Xie
58de1427c3 Merge "Implement enableNoAutoconnect()" into jb-mr1-dev 2012-08-14 00:37:01 -07:00
Ganesh Ganapathi Batta
fffa86ba83 Implement enableNoAutoconnect()
Adding enableNoAutoconnect() API support in Bluetooth service
 to let BT enable in quiet mode

Change-Id: I546f3ceb298082a9c9a698f406379470e3cc0d4f
2012-08-14 00:18:07 -07:00
Mike Lockwood
6e5a4946dd am c18184f1: am 510cff94: am f02354e2: am 9064a483: Merge "Added missing USB_DEVICE_ATTACHED broadcast to running Activity"
* commit 'c18184f14da6128db51b1343c6e466ac293a00e7':
  Added missing USB_DEVICE_ATTACHED broadcast to running Activity
2012-08-13 20:48:17 -07:00
Mike Lockwood
510cff9468 am f02354e2: am 9064a483: Merge "Added missing USB_DEVICE_ATTACHED broadcast to running Activity"
* commit 'f02354e208ec7b7e0dee68e12c0b5cde86a0f20a':
  Added missing USB_DEVICE_ATTACHED broadcast to running Activity
2012-08-13 20:45:04 -07:00
Mike Lockwood
f02354e208 am 9064a483: Merge "Added missing USB_DEVICE_ATTACHED broadcast to running Activity"
* commit '9064a48365c131ef5f64b26ab33dd40a7d1246a7':
  Added missing USB_DEVICE_ATTACHED broadcast to running Activity
2012-08-13 20:42:42 -07:00
Mike Lockwood
9064a48365 Merge "Added missing USB_DEVICE_ATTACHED broadcast to running Activity" 2012-08-13 19:59:38 -07:00
Christopher Tate
4c02cca213 am f5c0cf90: am bf7d2220: Merge "Don\'t back up / restore non-primary users\' data" into jb-mr1-dev
* commit 'f5c0cf90838ecb95893c9679fb5e352343fac12a':
  Don't back up / restore non-primary users' data
2012-08-13 18:02:52 -07:00
Christopher Tate
bf7d222011 Merge "Don't back up / restore non-primary users' data" into jb-mr1-dev 2012-08-13 17:58:40 -07:00
Christopher Tate
aac71ff465 Don't back up / restore non-primary users' data
For now only the device owner "user" gets cloud backups.  Also, only the
device owner account has access to local backup/restore.

Bug 6956438

Change-Id: I87d7ba5969e606c23f4214469f9bf2fd47a6c61b
2012-08-13 17:36:14 -07:00
Dianne Hackborn
8920f1cc73 am fd96eb05: am 1866f68d: Merge "Modify how the background process LRU list is handled." into jb-mr1-dev
* commit 'fd96eb05babf404e07366d09f71849c1aa0d20da':
  Modify how the background process LRU list is handled.
2012-08-13 17:19:27 -07:00
Dianne Hackborn
aa50ad3932 am dabd459f: am 87c42b99: Merge "Small service cleanup." into jb-mr1-dev
* commit 'dabd459f9083b4be22ae1f97517a5c2cb8010e5b':
  Small service cleanup.
2012-08-13 17:19:24 -07:00
Dianne Hackborn
1866f68dfe Merge "Modify how the background process LRU list is handled." into jb-mr1-dev 2012-08-13 17:15:04 -07:00
Dianne Hackborn
f88dd0b32e Small service cleanup.
Get rid of duplication between find/retrieve service funcs; when
a service in a persistent process crashes, restart it immediately
since the persistent process is going to be immediately restarted
anyway; when a new process is attaching, immediately restart any
services associated with it that are waiting to restart, since
it is weird to not let them run if the process comes back for some
other reason.

Change-Id: Id087fe04ebf2b6a4bd00732796c8326364765ea7
2012-08-13 17:11:47 -07:00
Dianne Hackborn
ee7621c0f5 Modify how the background process LRU list is handled.
A long time ago, we had a concept of an "empty" process -- this was
a process that didn't have any interesting components in it, which
would be placed below everything else in the LRU list.

Empty processes didn't work out well, because you could get into
bad situations where you have filled your LRU list with things that
have hidden activities, pushing empty processes to the bottom and
being immediately killed as soon as they go into the list.  So this
was removed.

This change brings the concept back, but in a slightly different
form, to address a more specific problem: for people who are switching
between N different applications, we would like to try to keep those
activities available in RAM in a consistent manner.  Currently the
previous activities would be killed often quickly and suprisingly,
even on devices with lots of RAM.  This is for two reasons:

(1) As you sit in one application, other things going on in the
background will go to the top of the LRU list, pushing down the
previous apps you have visited, even though you aren't aware at all
of these other things executing.
(2) There is a hard limit on the number of background processes
(currently 16) after which they are killed regardless of the amount
of available RAM.  This is desireable because if there is lots of
RAM we can end up with tons and tons of processes sitting around,
not really serving any purpose, but using up resources.

To improve the situation, we have again a concept of "empty" processes
but now it means one with no activities.  Processes that aren't empty
but in the background list are called hidden.  We maintain these as
two parallel lists, each getting half of the process limit: so with
a 16 process limit, you can have at most 8 empty and 8 hidden processes.

This allows us to consistently keep up to 8 recent applications around
for fast app switching; we will also keep around 8 other processes to
make it more efficient for background work to execute again if it needs
to.

Change-Id: Iee06e45efc20787da6a1e50020e5421c28204bd7
2012-08-13 17:09:19 -07:00
John Spurlock
924a953271 am 1e33ce8b: am 460847c7: Merge "Stop screensaver on incoming phone call." into jb-mr1-dev
* commit '1e33ce8b434b8ce277ebe1e4e9e4f2b46dc29682':
  Stop screensaver on incoming phone call.
2012-08-13 14:39:34 -07:00
John Spurlock
7be1a3d67c Stop screensaver on incoming phone call.
Use notification manager as an indicator of when to stop the screensaver
due to immediately-needed user interaction.

Any notification with a fullScreenIntent will now exit the screensaver.

Bug: 6976796
Change-Id: Id91cd4c32f3fad018b56f4dfe24b37110bab32d8
2012-08-13 16:45:12 -04:00
Kenny Root
ece42ed2f9 am be62be01: am 38cc2a5a: am 3221bf27: am 438a0efc: Do not eject internal ASECs when storage unmounted
* commit 'be62be01abb5132deb901d4ac12692e56d76f97c':
  Do not eject internal ASECs when storage unmounted
2012-08-13 11:46:12 -07:00
Kenny Root
38cc2a5a3a am 3221bf27: am 438a0efc: Do not eject internal ASECs when storage unmounted
* commit '3221bf27ff6b8eebf360ed2496ad5c56b95fd689':
  Do not eject internal ASECs when storage unmounted
2012-08-13 11:42:20 -07:00
Kenny Root
3221bf27ff am 438a0efc: Do not eject internal ASECs when storage unmounted
* commit '438a0efcfbee5dc953e8e5bbdf4cb3dbe94b3f80':
  Do not eject internal ASECs when storage unmounted
2012-08-13 11:40:10 -07:00
Kenny Root
438a0efcfb Do not eject internal ASECs when storage unmounted
If the incoming request is to notify of storage unmounted, don't mess
with apps that are in internal ASECs.

Bug: 6948035
Change-Id: I63ffb895c4d994ee03a5a9bd6bb23f69c88e2a87
2012-08-13 10:51:09 -07:00
Amith Yamasani
dda851ce9a am 7871b629: am f83d2d6f: Merge "User Manager service to manage users and query user details" into jb-mr1-dev
* commit '7871b629a63a542fb81179c9239c21255a7a42ad':
  User Manager service to manage users and query user details
2012-08-11 21:42:07 -07:00
Amith Yamasani
258848d2ae User Manager service to manage users and query user details
Moved a bunch of methods from PackageManager to UserManager.

Fix launching of activities from recents to correct user.

Guest creation APIs

Change-Id: I0733405e6eb2829675665e225c759d6baa2b708f
2012-08-11 18:24:07 -07:00
Nick Pelly
e2a0b87b31 am e80693f6: am 75f0fac9: Merge "Fix a couple of bugs from the location overhaul." into jb-mr1-dev
* commit 'e80693f6fc4efd7e852a252a612011f7ea1ee17b':
  Fix a couple of bugs from the location overhaul.
2012-08-10 17:24:54 -07:00
Nick Pelly
75f0fac91b Merge "Fix a couple of bugs from the location overhaul." into jb-mr1-dev 2012-08-10 17:19:09 -07:00
Nick Pelly
08ca1046fe 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
2012-08-10 17:17:32 -07:00
Ashish Sharma
f80f8a3ac9 am 35d875ad: am 77b25796: Merge "Setup idletimer for network interface." into jb-mr1-dev
* commit '35d875ade38abd8dba6b7756ca612167ce8bcad0':
  Setup idletimer for network interface.
2012-08-10 16:09:34 -07:00
Ashish Sharma
77b257967d Merge "Setup idletimer for network interface." into jb-mr1-dev 2012-08-10 16:04:07 -07:00
Haoyu Bai
0412423f06 Setup idletimer for network interface.
Cherry-picked from commit f71ca8a572 in
master. DO NOT MERGE

Change-Id: I6101c7ae041b4cc1237ce7a9983753dbdfa301d3
2012-08-10 15:58:34 -07:00
Nick Pelly
ecdf2be6fe am b6c703fd: am 6fa9ad4a: Location overhaul, major commit.
* commit 'b6c703fda4995ccd702d4af65e12309d71732594':
  Location overhaul, major commit.
2012-08-10 15:05:27 -07:00
Nick Pelly
6fa9ad4afc 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
2012-08-10 14:57:09 -07:00
Brian Muramatsu
b2a0ad4c2e am 84b3fccc: am 14262d79: Merge "Control GPS logging with property" into jb-mr1-dev
* commit '84b3fccc56a6c5929bfb3a50ebdd6b5503141cfc':
  Control GPS logging with property
2012-08-09 18:50:53 -07:00
Brian Muramatsu
14262d79c4 Merge "Control GPS logging with property" into jb-mr1-dev 2012-08-09 18:46:10 -07:00
Brian Muramatsu
1715cb36d9 Control GPS logging with property
This allows users of the PDK to debug GPS issues.

Change-Id: I4aff12e124f4264abd1a0be012df4c431044189c
2012-08-09 17:14:13 -07:00
John Spurlock
b59b8b46b9 am 4ba6f668: am c5bfe196: Merge "Fix screen timeout determination for starting dream." into jb-mr1-dev
* commit '4ba6f668f9db76cdaa9c407ab928901fe0647062':
  Fix screen timeout determination for starting dream.
2012-08-09 16:06:21 -07:00
John Spurlock
c5bfe19626 Merge "Fix screen timeout determination for starting dream." into jb-mr1-dev 2012-08-09 15:43:25 -07:00
Amith Yamasani
144b3d0a01 am 691ea437: am 2c02933b: Merge "Send BOOT_COMPLETED to all users." into jb-mr1-dev
* commit '691ea437dcdc20273acf2027a7daf5b22cd6e802':
  Send BOOT_COMPLETED to all users.
2012-08-09 11:50:26 -07:00
John Spurlock
b9ba2b6768 Fix screen timeout determination for starting dream.
It turns out OFF_BECAUSE_OF_TIMEOUT is not the best indicator
of actual screen timeout.

For example, it is the reason passed down when acquiring a wake lock.
This was causing us to launch Dreams in the wrong situations, and
deadlocking on calls to WindowManager.

This fix simply adds an additional check ensuring the intention is to
turn the screen off.

Change-Id: If8adff446b5b1fcb19424b45878b75bfd0552b90
2012-08-09 14:47:49 -04:00
Amith Yamasani
2c02933b13 Merge "Send BOOT_COMPLETED to all users." into jb-mr1-dev 2012-08-09 11:45:55 -07:00
John Spurlock
2b53b80ee7 am 9a67ad9f: am 7c46e438: Merge "Fix the dock-insertion Dream entry codepath." into jb-mr1-dev
* commit '9a67ad9f4cdbf3afe3df9af04b51090e6f849ca5':
  Fix the dock-insertion Dream entry codepath.
2012-08-09 08:21:48 -07:00
Daniel Sandler
015b9f45d4 Fix the dock-insertion Dream entry codepath.
Bug: 6956040
Change-Id: I663e13f8a28db13b94d0f5aa4dbcf0cd64ef22fe
2012-08-09 11:11:33 -04:00
Amith Yamasani
4860cfc684 Send BOOT_COMPLETED to all users.
At least until we have a concept of logged-in users.

Change-Id: I65e3bed2aeef9692dbc64169cf02a7451cfed1cd
2012-08-08 19:15:58 -07:00
Amith Yamasani
7f0e543de3 am 4fe1082e: am 8264408f: Start the correct settings from the status bar.
* commit '4fe1082ec60359baef1ccac2b3a74834fe862303':
  Start the correct settings from the status bar.
2012-08-08 16:57:19 -07:00
Amith Yamasani
8264408f59 Start the correct settings from the status bar.
Added a new method to Context: startActivityAsUser() requiring the
INTERACT_ACROSS_USERS_FULL permission.

Show the correct Recents list, based on current user.
Added a getRecentTasksForUser() in ActivityManager. Hidden and requires
the INTERACT_ACROSS_USERS_FULL permission.

Change-Id: If5b56465efdd3ead36601a3b51ed4af157bbf35c
2012-08-08 16:52:53 -07:00
Jeff Sharkey
57b7105835 resolved conflicts for merge of ab4e251a to master
Change-Id: I59ad9fe6e777c6677331f83d5e1de28b66f28af7
2012-08-08 16:39:00 -07:00
Jeff Sharkey
fb11ffa2a0 Merge "Isolate NetworkStateTracker creation, test." into jb-mr1-dev 2012-08-08 16:25:41 -07:00
Jeff Sharkey
e7f15b2286 am 6c73eb8a: am 82f479d0: Merge "Cleaner controls between Vpn and init services." into jb-mr1-dev
* commit '6c73eb8a73449ff87964936a1cc3e2d463fa7fab':
  Cleaner controls between Vpn and init services.
2012-08-08 16:25:34 -07:00
Jeff Sharkey
fb878b66b9 Isolate NetworkStateTracker creation, test.
Change ConnectivityService to use a factory when creating
NetworkStateTrackers, which gives us a good place to inject mocks
for testing.  Add initial tests to verify that network routes are
added and removed as networks changed.

Change-Id: I11cbc61a84c2ed4afa2670036295b1494eab26e1
2012-08-08 16:23:41 -07:00
Jeff Sharkey
82f479d064 Merge "Cleaner controls between Vpn and init services." into jb-mr1-dev 2012-08-08 16:22:23 -07:00
Rich Cannings
b38cb4da4a am 22c5c52d: am a56d9cec: Merge "Revert "Pass URLs to package verifiers"" into jb-mr1-dev
* commit '22c5c52d43d055db307e6a0136180e7995db49f1':
  Revert "Pass URLs to package verifiers"
2012-08-08 15:11:15 -07:00