Commit Graph

337 Commits

Author SHA1 Message Date
Jeff Brown
e981c883d5 am b1efc3f6: am 7fbdc84e: More native input event dispatching.
Merge commit 'b1efc3f68277a8c38c21e2d2e8ce05287118ecfe'

* commit 'b1efc3f68277a8c38c21e2d2e8ce05287118ecfe':
  More native input event dispatching.
2010-06-23 10:17:22 -07:00
Jeff Brown
7fbdc84e87 More native input event dispatching.
Added ANRs handling.
Added event injection.
Fixed a NPE ActivityManagerServer writing ANRs to the drop box.
Fixed HOME key interception.
Fixed trackball reporting.
Fixed pointer rotation in landscape mode.

Change-Id: I50340f559f22899ab924e220a78119ffc79469b7
2010-06-21 13:59:34 -07:00
Dianne Hackborn
e2e97ce116 am 9a1034aa: am 6b7b4845: Various improvements to battery stats collection
Merge commit '9a1034aa9746b94ecb659ea849765a160bdf747e'

* commit '9a1034aa9746b94ecb659ea849765a160bdf747e':
  Various improvements to battery stats collection
2010-06-16 19:55:12 -07:00
Dianne Hackborn
6b7b484521 Various improvements to battery stats collection
We now clear the battery stats when unplugging after the
battery is full.  This allows us to use the "total" stats as
a new "since last charged" stat.  Total is gone.  I never used
it, it was worthless.  Since last charged is a lot more
interesting.

The battery history now collects a lot more stats, and keeps
control over how much it can collect.  Printing is now more
descriptive.

The kinds of stats have been renamed to SINCE_UNPLUGGED and
SINCE_DISCHARGED.  The other two stats are still there, but
no longer printed; a future change will eliminate them
completely along with all of their state.

Change-Id: I4e9fcfcf8c30510092c76a8594f6021e9502fbc1
2010-06-16 18:31:42 -07:00
Dmitri Plotnikov
bef9c7a59d Preventing cursor leaks when a query is interrupted
Re-ran runtest cts-os

Change-Id: I518a2a4f842b01d082078e16643aa377a4575237
2010-06-16 15:38:07 -07:00
Brad Fitzpatrick
4ed8e42c50 am 92dd85d0: am 742b282e: Merge "StrictMode: implement the log-to-DropBox option" into gingerbread
Merge commit '92dd85d02af60b001f1ae6919eeb11bcf38e64c8'

* commit '92dd85d02af60b001f1ae6919eeb11bcf38e64c8':
  StrictMode: implement the log-to-DropBox option
2010-06-14 15:25:09 -07:00
Brad Fitzpatrick
742b282e11 Merge "StrictMode: implement the log-to-DropBox option" into gingerbread 2010-06-14 15:19:51 -07:00
Dianne Hackborn
c465f9c400 am 13792057: am 7e900cbf: Merge "Update build version information." into gingerbread
Merge commit '13792057e4fef30c9b6fe2b8249b246841508164'

* commit '13792057e4fef30c9b6fe2b8249b246841508164':
  Update build version information.
2010-06-14 14:44:17 -07:00
Dianne Hackborn
7e900cbf1d Merge "Update build version information." into gingerbread 2010-06-14 14:10:43 -07:00
Dianne Hackborn
3e03cfa3af Update build version information.
Change-Id: If53f16d494255230859a30f561e9a78ec49c6c10
2010-06-14 14:08:20 -07:00
Brad Fitzpatrick
143666f0ca StrictMode: implement the log-to-DropBox option
Change-Id: I51d12e264155078f953028241f8c5cbdc47262e8
2010-06-14 13:38:01 -07:00
Brad Fitzpatrick
26b327c80b am 6b9b8806: am 60e8c33d: Merge "Dropbox: remove redundant Entry construction." into gingerbread
Merge commit '6b9b8806afb06e393203450bda8a53af08952590'

* commit '6b9b8806afb06e393203450bda8a53af08952590':
  Dropbox: remove redundant Entry construction.
2010-06-14 09:36:12 -07:00
Brad Fitzpatrick
14418945bd Dropbox: remove redundant Entry construction.
Change-Id: I55d8da82acea7f1cf0a69912fe5d4d46d704b570
2010-06-14 08:58:26 -07:00
Jeff Brown
8e03b7566c resolved conflicts for merge of 9e660c82 to master
Change-Id: Ic4bd85cbaa5b9a10dcb474a0dad46490bf967e43
2010-06-13 19:16:55 -07:00
Jeff Brown
7c8aa44f32 am 46b9ac0a: Native input dispatch rewrite work in progress.
Merge commit '46b9ac0ae2162309774a7478cd9d4e578747bfc2' into gingerbread

* commit '46b9ac0ae2162309774a7478cd9d4e578747bfc2':
  Native input dispatch rewrite work in progress.
2010-06-13 17:55:28 -07:00
Jeff Brown
46b9ac0ae2 Native input dispatch rewrite work in progress.
The old dispatch mechanism has been left in place and continues to
be used by default for now.  To enable native input dispatch,
edit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy.

Includes part of the new input event NDK API.  Some details TBD.

To wire up input dispatch, as the ViewRoot adds a window to the
window session it receives an InputChannel object as an output
argument.  The InputChannel encapsulates the file descriptors for a
shared memory region and two pipe end-points.  The ViewRoot then
provides the InputChannel to the InputQueue.  Behind the
scenes, InputQueue simply attaches handlers to the native PollLoop object
that underlies the MessageQueue.  This way MessageQueue doesn't need
to know anything about input dispatch per-se, it just exposes (in native
code) a PollLoop that other components can use to monitor file descriptor
state changes.

There can be zero or more targets for any given input event.  Each
input target is specified by its input channel and some parameters
including flags, an X/Y coordinate offset, and the dispatch timeout.
An input target can request either synchronous dispatch (for foreground apps)
or asynchronous dispatch (fire-and-forget for wallpapers and "outside"
targets).  Currently, finding the appropriate input targets for an event
requires a call back into the WindowManagerServer from native code.
In the future this will be refactored to avoid most of these callbacks
except as required to handle pending focus transitions.

End-to-end event dispatch mostly works!

To do: event injection, rate limiting, ANRs, testing, optimization, etc.

Change-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25
2010-06-13 17:42:16 -07:00
Brad Fitzpatrick
0c330e26e8 am 11bd9d1e: am 94f14aec: Merge "More StrictMode work, handling violations in ActivityManagerService." into gingerbread
Merge commit '11bd9d1ec20ce3bbd3791b537faad429a1ca87e7'

* commit '11bd9d1ec20ce3bbd3791b537faad429a1ca87e7':
  More StrictMode work, handling violations in ActivityManagerService.
2010-06-11 18:30:09 -07:00
Brad Fitzpatrick
46d4238746 More StrictMode work, handling violations in ActivityManagerService.
Also starts to do duplicate-suppression.

Change-Id: I0502f6ab6c45fa319298de4874ecfe44b7829d21
2010-06-11 16:11:26 -07:00
Dianne Hackborn
cf0a99910c am 4d4f265e: am 9f8cc518: Merge "Adjust activity manager process OOM adj." into kraken
Merge commit '4d4f265e6b6ccfc239150bd71aa2ce2b8de6237f'

* commit '4d4f265e6b6ccfc239150bd71aa2ce2b8de6237f':
  Adjust activity manager process OOM adj.
2010-06-11 11:00:53 -07:00
Dianne Hackborn
32907cfb38 Adjust activity manager process OOM adj.
Modify OOM adj classes a bit, to take into account the new
heavy weight app type, and give "foreground services" their
own category to have a bettery chance to manager them when
things go wrong.

Also add some new code to battery stats to keep a history
of changes to the battery level.

Change-Id: I29f5ab6938777e1a7eafd7d8c38b5e564cc9f96a
2010-06-11 10:39:11 -07:00
Brad Fitzpatrick
b60c941811 resolved conflicts for merge of f37cbe6b to master
Change-Id: I529b17e55b9668f900f685f92e9831e14a82db05
2010-06-10 15:58:22 -07:00
Brad Fitzpatrick
438d059512 Introduce "StrictMode"
This is a new public API for developers to opt-in to strict rules
about what they're allowed to do on certain threads.  (this is the
public face of the @hide dalvik.system.BlockGuard, added recently...)

In practice this will be used for developers to opt-in to declaring
that they don't want to be allowed to do various operations (such as
disk I/O or network operations) on their main UI threads.  (these
operations are often accidental, or even when they are fast come with
a good chance of being slow or very slow in some cases....)

Implementation wise, this is just a thread-local integer that has a
bitmask of the things that aren't allowed, and more bits for saying
what the violation penalty is.  The penalties, of which multiple can
be chosen, include:

  * logging
  * dropbox uploading for analysis/reporting
  * annoying dialog
  * full-on crashing

These are all only very roughly implemented at this point, but all
parts now minimally work end-to-end now, so this is a good checkpoint
commit before this gets too large.

Future CLs will polish all the above 4 penalties, including
checksumming of stacktraces and minimizing penalties for duplicate
violations.

Change-Id: Icbe61a2e950119519e7364030b10c3c28d243abe
2010-06-10 14:38:58 -07:00
Romain Guy
4aaf8ec9df Do not invoke onProgressUpdate if the task is canceled.
Bug #2734382

Change-Id: I8d507ae72af2f6dfe66598fb9090872520111a6b
2010-06-03 10:56:41 -07:00
Dan Egnor
dd27f14da2 am b8dd6b19: am 1e1e292e: am 1f5e8473: am a80331c4: Merge "Comment-only change to add documentation for FileObserver" into froyo 2010-06-01 16:10:49 -07:00
Dan Egnor
1e1e292edc am 1f5e8473: am a80331c4: Merge "Comment-only change to add documentation for FileObserver" into froyo
Merge commit '1f5e847350ef1aece046666e20e7692a1651d9dc' into kraken

* commit '1f5e847350ef1aece046666e20e7692a1651d9dc':
  Comment-only change to add documentation for FileObserver
2010-06-01 14:44:35 -07:00
Dan Egnor
3dc1c7f5e8 Comment-only change to add documentation for FileObserver
Change-Id: Icd9bc65be020a23f78c8bcda78fc68e7d05c93b4
2010-05-31 12:17:12 -07:00
Mike Lockwood
a42f4c249f am 0b6e30d2: am c5859388: am 3e9e9696: am eb9cbb8f: Resurrect flashlight support in obsolete IHardwareService Binder API. 2010-05-17 15:08:48 -07:00
Mike Lockwood
c5859388bd am 3e9e9696: am eb9cbb8f: Resurrect flashlight support in obsolete IHardwareService Binder API.
Merge commit '3e9e9696f147c8df1236c1d7aa9496124864a81c' into kraken

* commit '3e9e9696f147c8df1236c1d7aa9496124864a81c':
  Resurrect flashlight support in obsolete IHardwareService Binder API.
2010-05-17 14:59:39 -07:00
Mike Lockwood
eb9cbb8fdd Resurrect flashlight support in obsolete IHardwareService Binder API.
This is to avoid flashlight apps that had been using reflection to access
this API after this class was removed after eclair.

Change-Id: I26ed929abad93345468eb33d4a15977a31ebea7e
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-05-17 17:47:20 -04:00
Dianne Hackborn
834910f51f am 217f2686: am 7d5cea98: am 7e76b6d1: am 6d00151c: Merge "Hopefully fix issue #2662536: Why is launcher being killed?" into froyo 2010-05-11 10:28:20 -07:00
Dianne Hackborn
7d5cea988b am 7e76b6d1: am 6d00151c: Merge "Hopefully fix issue #2662536: Why is launcher being killed?" into froyo
Merge commit '7e76b6d191e1173bd85337a2861d9914922f5a0d' into kraken

* commit '7e76b6d191e1173bd85337a2861d9914922f5a0d':
  Hopefully fix issue #2662536: Why is launcher being killed?
2010-05-11 10:23:56 -07:00
Dianne Hackborn
906497c574 Hopefully fix issue #2662536: Why is launcher being killed?
It looks like there was a subtle bug where Process.setOomAdj() could
return false just because the given process doesn't exist, even though
it is documented to only return false if OOM killing is not supported
at all.  This would cause the activity manager to fall into its code
path of trying to clean up processes itself, which it does a much
poorer problem at.  I am thinking we may be seeing this problem more
now that the activity manager is killing background processes itself
when there are too many of them.

In addition, this change cleans up and reduces some of the logging
around killing processes.

Finally, try to improve process LRU management a bit by taking
into account process dependencies.  Any dependent processes are
pulled up in the LRU list with the processes that is actually
moving.  Also, we bring a process up if someone accesses its content
provider.

Change-Id: I34ea161f839679345578ffe681e8d9c5d26ab948
2010-05-10 17:19:58 -07:00
Christopher Tate
10c40078d0 am 5cfec530: am fa9e7c05: Sketch of Native input for MessageQueue / Looper / ViewRoot 2010-05-06 17:10:40 -07:00
Christopher Tate
fa9e7c05c7 Sketch of Native input for MessageQueue / Looper / ViewRoot
MessageQueue now uses a socket for internal signalling, and is prepared
to also handle any number of event input pipes, once the plumbing is
set up with ViewRoot / Looper to tell it about them as appropriate.

Change-Id: If9eda174a6c26887dc51b12b14b390e724e73ab3
2010-05-06 17:00:54 -07:00
Dianne Hackborn
8640c1d0e5 am 14cee9f6: New xlarge screen size. 2010-04-28 16:58:05 -07:00
Dianne Hackborn
14cee9f688 New xlarge screen size.
Not complete, only for experimentation at this point.

This includes a reworking of how screen size configurations are matched,
so that if you are on a larger screen we can select configurations for
smaller screens if there aren't any exactly matching the current screen.

The screen size at which we switch to xlarge has been arbitrarily
chosen; the compatibility behavior has not yet been defined.

Change-Id: I1a33b3818eeb51a68fb72397568c39ab040a07f5
2010-04-28 16:51:52 -07:00
Gilles Debunne
7f4b6842ce Changed steps names in documentation.
Change-Id: I0541709a719e35575bb2c42e6f2ea457d21c545b
2010-04-27 17:54:21 -07:00
Jeff Brown
aa7d09d456 am 52a28b25: am 6883c176: am 6c099149: am 37d2f5d1: Merge "Remove @link to hidden ACCESS_CACHE_FILESYSTEM permission." into froyo 2010-04-09 08:53:03 -07:00
Jeff Brown
6883c1769f am 6c099149: am 37d2f5d1: Merge "Remove @link to hidden ACCESS_CACHE_FILESYSTEM permission." into froyo
Merge commit '6c099149daff56ca04ab40a86950e7b61caf6505' into kraken

* commit '6c099149daff56ca04ab40a86950e7b61caf6505':
  Remove @link to hidden ACCESS_CACHE_FILESYSTEM permission.
2010-04-08 22:50:42 -07:00
Jeff Brown
64010e8350 Remove @link to hidden ACCESS_CACHE_FILESYSTEM permission.
Change-Id: I4be691f20f650b412beb22b199a4cbef879b2668
2010-04-08 16:52:18 -07:00
Dianne Hackborn
2e13f37347 am f0dc083d: am d49c455c: am 822a7e2d: am ce59fb8b: Fix issue #2578244: playing audio file downloaded by the browser... 2010-04-07 19:22:29 -07:00
Dianne Hackborn
d49c455cc9 am 822a7e2d: am ce59fb8b: Fix issue #2578244: playing audio file downloaded by the browser...
Merge commit '822a7e2defcfbd006a7840e1da19cf0827d46736' into kraken

* commit '822a7e2defcfbd006a7840e1da19cf0827d46736':
  Fix issue #2578244: playing audio file downloaded by the browser...
2010-04-07 19:13:22 -07:00
Dianne Hackborn
ce59fb8b68 Fix issue #2578244: playing audio file downloaded by the browser...
...shows an image downloaded by the browser

The downloads directory needs to be non-plural for backwards compatibility.

Change-Id: Ifb6ddf8ee980a57ad113a5fc8b51f5acd8df5955
2010-04-07 19:02:13 -07:00
San Mehat
a334389373 am cf1a7a77: am 12ebde61: am 692329cf: am fd998a0c: Merge "NetworkManagementService: Remove \'maxkbs\' parameter from throttle API" into froyo 2010-04-07 16:45:31 -07:00
San Mehat
12ebde61a5 am 692329cf: am fd998a0c: Merge "NetworkManagementService: Remove \'maxkbs\' parameter from throttle API" into froyo
Merge commit '692329cf3f1512b3f0475b619058f9a10d9950a8' into kraken

* commit '692329cf3f1512b3f0475b619058f9a10d9950a8':
  NetworkManagementService: Remove 'maxkbs' parameter from throttle API
2010-04-07 16:36:07 -07:00
San Mehat
f0db6e1853 NetworkManagementService: Remove 'maxkbs' parameter from throttle API
Change-Id: I1cfbdac7d06478243931c6acec462da8e257f42f
Signed-off-by: San Mehat <san@google.com>
2010-04-07 15:22:10 -07:00
San Mehat
8839544ebb am d32de7f3: am 9d782f62: am 73a8f26a: Merge "NetworkManagementService: Combine setInterfaceRx/Tx throttle and add max speed" into froyo 2010-04-05 10:53:58 -07:00
San Mehat
d32de7f38f am 9d782f62: am 73a8f26a: Merge "NetworkManagementService: Combine setInterfaceRx/Tx throttle and add max speed" into froyo
Merge commit '9d782f62defba898c3ebaa498ea1be9e5cb26ac7' into kraken

* commit '9d782f62defba898c3ebaa498ea1be9e5cb26ac7':
  NetworkManagementService: Combine setInterfaceRx/Tx throttle and add max speed
2010-04-05 10:44:45 -07:00
San Mehat
be23fba286 NetworkManagementService: Combine setInterfaceRx/Tx throttle and add max speed
Change-Id: I1d6816c9754801504a988802118a2167e0eb8690
Signed-off-by: San Mehat <san@google.com>
2010-04-02 11:50:27 -07:00
Robert Greenwalt
a6dfa15e64 am 4e925f8a: am cab133a7: am 33eb7767: Merge "NetworkManagementService: Add interface counters & throttle API" into froyo 2010-04-01 10:36:05 -07:00