Commit Graph

979 Commits

Author SHA1 Message Date
Jeff Brown
260b6d9319 am 03335af0: am 567c00a8: Merge "Fix NPE when handling certain kinds of ANRs." into gingerbread
Merge commit '03335af0dbf14d1eb4503be92a5b10199719898c'

* commit '03335af0dbf14d1eb4503be92a5b10199719898c':
  Fix NPE when handling certain kinds of ANRs.
2010-09-16 11:32:26 -07:00
Jeff Brown
40ad470643 Fix NPE when handling certain kinds of ANRs.
Change-Id: Iccef1852e52c84f6f49d30c491431460a10b33d3
2010-09-16 11:02:16 -07:00
Jeff Brown
02a71f7ab4 am 7642c82c: am f4d788c9: Merge "Make input dispatcher only ANR for foreground windows." into gingerbread
Merge commit '7642c82c291051919aad87c797e2dc1d77ed55e1'

* commit '7642c82c291051919aad87c797e2dc1d77ed55e1':
  Make input dispatcher only ANR for foreground windows.
2010-09-15 21:42:28 -07:00
Jeff Brown
53a415e6d1 Make input dispatcher only ANR for foreground windows.
Redesigned the input dispatcher's ANR timeout mechanism so it is much
closer to Froyo's policy.  ANR is only ever signalled if the dispatcher
is waiting on a window to finish processing its previous event(s) and
there is new pending input.

In the old code, we tracked the dispatch timeout separately for each
input channel.  This was somewhat complicated and also resulted in the
situation where applications could ANR long after the user had pushed
them into the background.

Change-Id: I666ecada0952d4b95f1d67b9f733842b745c7f4b
2010-09-15 18:52:08 -07:00
Jeff Brown
dc543aec70 am 14bc6b5d: am 09340a4b: Merge "Replace epoll() with poll() and rename PollLoop to Looper." into gingerbread
Merge commit '14bc6b5d0677e5c454a67775c852f90389bb4567'

* commit '14bc6b5d0677e5c454a67775c852f90389bb4567':
  Replace epoll() with poll() and rename PollLoop to Looper.
2010-09-15 12:32:29 -07:00
Mathias Agopian
c479e18db0 resolved conflicts for merge of 48a86240 to master
Change-Id: I2305fef9f4dd46183337217d822df3c675b6b6e5
2010-09-15 12:29:18 -07:00
Jeff Brown
b06cca6228 Merge "Replace epoll() with poll() and rename PollLoop to Looper." into gingerbread 2010-09-14 15:27:33 -07:00
Jeff Brown
59abe7e090 Replace epoll() with poll() and rename PollLoop to Looper.
As part of this change, consolidated and cleaned up the Looper API so
that there are fewer distinctions between the NDK and non-NDK declarations
(no need for two callback types, etc.).

Removed the dependence on specific constants from sys/poll.h such as
POLLIN.  Instead looper.h defines events like LOOPER_EVENT_INPUT for
the events that it supports.  That should help make any future
under-the-hood implementation changes easier.

Fixed a couple of compiler warnings along the way.

Change-Id: I449a7ec780bf061bdd325452f823673e2b39b6ae
2010-09-14 01:59:45 -07:00
Mathias Agopian
35b48d10bc Add logging of various important graphics events
There are 16 events logged in the event log:
SF_APP_DEQUEUE_BEFORE
SF_APP_DEQUEUE_AFTER
SF_APP_LOCK_BEFORE
SF_APP_LOCK_AFTER
SF_APP_QUEUE

SF_REPAINT
SF_COMPOSITION_COMPLETE
SF_UNLOCK_CLIENTS
SF_SWAP_BUFFERS
SF_REPAINT_DONE

SF_FB_POST_BEFORE
SF_FB_POST_AFTER
SF_FB_DEQUEUE_BEFORE
SF_FB_DEQUEUE_AFTER
SF_FB_LOCK_BEFORE
SF_FB_LOCK_AFTER

all events log the buffer conserned and a timestamp in microseconds.

by default the logging is not enabled, to turn it on:
adb shell service call SurfaceFlinger 1006 i31 1
adb shell setprop debug.graphic_log 1

The effect is immediate in SurfaceFlinger, but applications need to be
restarted.

Change-Id: Ifc2e31f7aed072d9a7dede20ff2ce59231edbec1
2010-09-13 23:16:58 -07:00
Jeff Brown
055a7926e6 am 0f0541e4: am b88102f5: Input dispatcher ANR handling enhancements.
Merge commit '0f0541e40cfef51eb5c3769e53c1aa853b53aaf6'

* commit '0f0541e40cfef51eb5c3769e53c1aa853b53aaf6':
  Input dispatcher ANR handling enhancements.
2010-09-12 17:15:19 -07:00
Jeff Brown
a665ca805c Input dispatcher ANR handling enhancements.
This change is essentially a rewrite of the main input dispatcher loop
with the target identification folded in.  Since the input dispatcher now
has all of the window state, it can make better decisions about
when to ANR.

Added a .5 second deadline for processing app switch keys.  This behavior
predates Gingerbread but had not previously been ported.

Fixed some timing inaccuracies in the ANR accounting that could cause
applications to ANR sooner than they should have.

Added a mechanism for tracking key and motion events that have been
dispatched to a window so that appropriate cancelation events can be
synthesized when recovering from ANR.  This change helps to keep
applications in sync so they don't end up with stuck buttons upon
recovery from ANRs.

Added more comments to describe the tricky parts of PollLoop.

Change-Id: I13dffca27acb436fc383980db536abc4d8b9e6f1
2010-09-12 16:52:03 -07:00
Dianne Hackborn
4181bd66fc am 510951e9: am a8512a71: Always set the scheduling group when starting a new thread.
Merge commit '510951e98bdb861130f38c087956cd05e0b41dcd'

* commit '510951e98bdb861130f38c087956cd05e0b41dcd':
  Always set the scheduling group when starting a new thread.
2010-09-09 23:11:22 -07:00
Dianne Hackborn
9c82c48d52 Always set the scheduling group when starting a new thread.
Change-Id: Ia33acf13fc3752707f3819928c36315e223fa1bd
2010-09-09 22:12:25 -07:00
Jeff Brown
e1e37e4c7b am 8723bb58: am b21fb104: Fix key repeat delay.
Merge commit '8723bb58b17a07b7ca036cc76d737c6c0f4b13c7'

* commit '8723bb58b17a07b7ca036cc76d737c6c0f4b13c7':
  Fix key repeat delay.
2010-09-08 14:38:09 -07:00
Jeff Brown
6240634883 resolved conflicts for merge of a05088c1 to master
Change-Id: I7973f9f28586dec9b9659f8f662f40db7997a521
2010-09-08 13:02:55 -07:00
Jeff Brown
61ce3982e1 Fix key repeat delay.
Change-Id: I6216e082324ee29bf50e37acc673350ca5417c4d
2010-09-08 12:28:43 -07:00
Jeff Brown
af30ff6020 Add support for secure views.
Added the MotionEvent.FLAG_WINDOW_IS_OBSCURED flag which is set by the
input manager whenever another visible window is partly or wholly obscured
the target of a touch event so that applications can filter touches
accordingly.

Added a "filterTouchesWhenObscured" attribute to View which can be used to
enable filtering of touches when the view's window is obscured.

Change-Id: I936d9c85013fd2d77fb296a600528d30a29027d2
2010-09-08 11:50:55 -07:00
Kenny Root
16ead4738c am 2a08e2a9: am a19ef306: Revert "Free created FileMap when uncompressing files"
Merge commit '2a08e2a9f881d06a03e36367585137e05706f592'

* commit '2a08e2a9f881d06a03e36367585137e05706f592':
  Revert "Free created FileMap when uncompressing files"
2010-09-07 19:41:00 -07:00
Kenny Root
dc2d840ff7 Revert "Free created FileMap when uncompressing files"
This reverts commit 52b8235238fb4d8cf141020cc1ae33880929dc3f.

munmap() on a region that overlaps something else (e.g, the ZIP Central
Directory in this case) unmaps those other regions as well making the
ZipFileRO class unhappy. Revert this for now until we can have FileMap
deal with this craziness.
2010-09-07 19:30:22 -07:00
Dianne Hackborn
c946422d58 am a1205f07: am 2d3739d4: Merge "Modify native ALooper to take an explicit ident." into gingerbread
Merge commit 'a1205f07a6f0c745e8f42f16fe38c06af04143c7'

* commit 'a1205f07a6f0c745e8f42f16fe38c06af04143c7':
  Modify native ALooper to take an explicit ident.
2010-09-07 18:52:06 -07:00
Dianne Hackborn
45e0acb41a Modify native ALooper to take an explicit ident.
The ALooper API now uses an explicit "identifier" for the integer
that is returned rather than implicitly using the fd.  This allows
the APIs that had the fd to be a little more sane.

Change-Id: I8507f535ad484c0bdc4a1bd016d87bb09acd7ff0
2010-09-07 15:46:55 -07:00
Dianne Hackborn
1cce37b477 am 05dff838: am 11bbe200: Hopefully fix the build.
Merge commit '05dff838946abb01caa3c3172cf0f367964a0b6d'

* commit '05dff838946abb01caa3c3172cf0f367964a0b6d':
  Hopefully fix the build.
2010-09-07 14:48:28 -07:00
Dianne Hackborn
3d2bca9abd am b8bcfed5: am f703b77c: Merge "Add system property to turn off scheduling groups." into gingerbread
Merge commit 'b8bcfed5524a37ee51e3f1129f1df91bc4a59cb4'

* commit 'b8bcfed5524a37ee51e3f1129f1df91bc4a59cb4':
  Add system property to turn off scheduling groups.
2010-09-07 14:47:51 -07:00
Dianne Hackborn
bb39b9f17b Hopefully fix the build.
Change-Id: Id8cd92c0895c9939e1386ef488bd1309a3be3568
2010-09-07 12:32:19 -07:00
Dianne Hackborn
7b0d45c346 Add system property to turn off scheduling groups.
Do this:

adb shell setprop debug.sys.noschedgroups 1

Change-Id: I6e06a74205fd45ee1526ce71fe33944465d39984
2010-09-07 11:19:11 -07:00
Kenny Root
757a86752f am 8d5250c6: am 2e246549: Merge "Add better debug output for ResourceType errors" into gingerbread
Merge commit '8d5250c601504da7a7fde3a3fd7b1c51335becdf'

* commit '8d5250c601504da7a7fde3a3fd7b1c51335becdf':
  Add better debug output for ResourceType errors
2010-09-02 15:53:26 -07:00
Kenny Root
45162448b3 Add better debug output for ResourceType errors
An error code is returned as -ESOMETHING, but the debug code was
printing out 0x%08x for these codes making -74 print out as 0xffffffb5
which is kind of silly.

Change-Id: I7d77fb3da2e146845949f121404f662b47288e61
2010-09-02 14:58:47 -07:00
Jeff Brown
9b83cce203 am df02df11: am 307ed31c: Merge "Remove incomplete input device enumeration NDK API." into gingerbread
Merge commit 'df02df115a594553b3ebaa95a0a7f7185a8787d3'

* commit 'df02df115a594553b3ebaa95a0a7f7185a8787d3':
  Remove incomplete input device enumeration NDK API.
2010-08-31 15:53:17 -07:00
Jeff Brown
774cf1baa1 Remove incomplete input device enumeration NDK API.
Change-Id: I32de74ff5fcf0e29179a2aee03ddabd22fa485bb
2010-08-31 15:24:55 -07:00
Brad Fitzpatrick
f3372f7ca3 am ae087369: am 63070856: Merge "Don\'t propagate StrictMode over one-way Binder calls." into gingerbread
Merge commit 'ae087369c56a270c33c1c1af5be7d3c5d7f94e80'

* commit 'ae087369c56a270c33c1c1af5be7d3c5d7f94e80':
  Don't propagate StrictMode over one-way Binder calls.
2010-08-31 15:06:24 -07:00
Brad Fitzpatrick
5273603e98 Don't propagate StrictMode over one-way Binder calls.
This was causing stack stitching problems where a one-way call with
violations followed by a two-way call without violations was getting
the previous one-way call's violation stack stitched on to the second
caller's stack.

The solution is a little more indirect than I would've liked
(preserving the binder's onTransact flags until enforceInterface) but
was seemingly necessary to work without changing the AIDL compiler.
It should also be sufficiently cheap, since no new calls to
thread-local IPCThreadState lookups were required.  The additional
work is just same-thread getter/setters on the existing
IPCThreadState.

Change-Id: I4b6db1d445c56e868e6d0d7be3ba6849f4ef23ae
2010-08-31 13:16:49 -07:00
Jeff Brown
d363aa2e41 am 36f0cb26: am 8d60866e: Input device calibration and capabilities.
Merge commit '36f0cb26cbb4ef62995ff2e5a540cf8814e7f030'

* commit '36f0cb26cbb4ef62995ff2e5a540cf8814e7f030':
  Input device calibration and capabilities.
2010-08-30 18:29:12 -07:00
Jeff Brown
38a7fabd96 Input device calibration and capabilities.
Finished the input device capability API.
Added a mechanism for calibrating touch devices to obtain more
accurate information about the touch contact area.
Improved pointer location to show new coordinates and capabilities.
Optimized pointer location display and formatting to avoid allocating large
numbers of temporary objects.  The GC churn was causing the application to
stutter very badly when more than a couple of fingers were down).
Added more diagnostics.

Change-Id: Ie25380278ed6f16c5b04cd9df848015850383498
2010-08-30 18:16:43 -07:00
Kenny Root
b940c7e901 am 8e724905: am ad6731b0: Merge "Add debugging to ZipFileRO" into gingerbread
Merge commit '8e724905261bf4913bac75adc64fb08ed5ba8b7d'

* commit '8e724905261bf4913bac75adc64fb08ed5ba8b7d':
  Add debugging to ZipFileRO
2010-08-27 16:18:44 -07:00
Mathias Agopian
2ac5b0d6de am d322d163: am ae66946b: Merge "fix a race in SF buffer management" into gingerbread
Merge commit 'd322d16323176ddd5fef3383798176f64d0078c8'

* commit 'd322d16323176ddd5fef3383798176f64d0078c8':
  fix a race in SF buffer management
2010-08-27 16:18:12 -07:00
Kenny Root
e96ad7bc45 Merge "Add debugging to ZipFileRO" into gingerbread 2010-08-27 12:58:00 -07:00
Kenny Root
e0573a4ad6 Add debugging to ZipFileRO
Some assets are failing to read from ZIP files. This adds a bit more
debugging to figure out what's going on.

Change-Id: Id90e10546c54c85069a34478fbc28bc2523bda5d
2010-08-27 12:47:34 -07:00
Mathias Agopian
0e7f4292c7 fix a race in SF buffer management
also remove some unused code.

Change-Id: Iae2c3309b7a08055f3e13a5b866c5c084993e352
2010-08-26 17:42:27 -07:00
Mathias Agopian
4ad298c12c am bc4389ed: am 8395b462: Merge "fix [2931513] Add support for setting the orientation of an ANativeWindow" into gingerbread
Merge commit 'bc4389edfbb5777aec1a9af7863b2ca3ade2fa64'

* commit 'bc4389edfbb5777aec1a9af7863b2ca3ade2fa64':
  fix [2931513] Add support for setting the orientation of an ANativeWindow
2010-08-24 17:56:40 -07:00
Mathias Agopian
b661d66013 fix [2931513] Add support for setting the orientation of an ANativeWindow
Also implement support for cropping.

Change-Id: Iba5888dd242bf2feaac9e9ce26e404c1f404c280
2010-08-24 15:40:50 -07:00
Kenny Root
8d7fcccef6 am b90b9d54: am 6be23712: Merge "Free created FileMap when uncompressing files" into gingerbread
Merge commit 'b90b9d54eb6bbc3a4045ff0bf46d3366822e835e'

* commit 'b90b9d54eb6bbc3a4045ff0bf46d3366822e835e':
  Free created FileMap when uncompressing files
2010-08-24 09:02:28 -07:00
Jamie Gennis
89c2dd2cc2 Change the framework to use the new camera preview path.
This change makes the camera HAL interface take an ANativeWindow interface from
which all the camera preview buffers will be allocated.  The framework code
running in application processes now passes a Surface object rather than an
ISurface to the camera server via Binder when setting the preview surface.  The
camera server then forwards that Surface object (which implements the
ANativeWindow interface) to the camera HAL, which uses it to communicate with
SurfaceFlinger to allocate the camera preview buffers.

Change-Id: Ie438f721559cd7de5e4f848a26d96360dda07b5f
2010-08-23 14:31:30 -07:00
Mathias Agopian
f84f146159 am a90a1e55: am 545eab8a: Merge "remove unused pixel format" into gingerbread
Merge commit 'a90a1e55c60604b930eecff03fe25429205ec7df'

* commit 'a90a1e55c60604b930eecff03fe25429205ec7df':
  remove unused pixel format
2010-08-21 09:43:24 -07:00
Jeff Brown
37661c15e7 am d7d58be0: am 00144745: Merge "Make the throttling more sensitive to end-to-end latency." into gingerbread
Merge commit 'd7d58be0b8c1be69bfb774f38bf6d1410d87c4ce'

* commit 'd7d58be0b8c1be69bfb774f38bf6d1410d87c4ce':
  Make the throttling more sensitive to end-to-end latency.
2010-08-21 09:43:11 -07:00
Kenny Root
24b2aee9ca am 821afa9a: am 54d41379: Merge "Add OBB flags to support overlays" into gingerbread
Merge commit '821afa9aec8d3a4ffd2e72ce797d8097eaf13973'

* commit '821afa9aec8d3a4ffd2e72ce797d8097eaf13973':
  Add OBB flags to support overlays
2010-08-21 09:41:12 -07:00
Jeff Brown
e09c4c710e am d25f0aea: am 99401b29: Merge "Add support for throttling motion events." into gingerbread
Merge commit 'd25f0aea1cebe93aff55a75374e172f87115f1b3'

* commit 'd25f0aea1cebe93aff55a75374e172f87115f1b3':
  Add support for throttling motion events.
2010-08-21 09:35:13 -07:00
Kenny Root
e6d429c49b Merge "Free created FileMap when uncompressing files" into gingerbread 2010-08-20 13:16:20 -07:00
Jean-Baptiste Queru
b3635a449b am 6d5bb884: am aac6a748: Merge "Only monitor recognized uevent devices." into gingerbread
Merge commit '6d5bb88454db2fc798a07ec1085ef55572dbe670'

* commit '6d5bb88454db2fc798a07ec1085ef55572dbe670':
  Only monitor recognized uevent devices.
2010-08-20 06:27:55 -07:00
Jeff Brown
297f493405 am 33992d41: am 72e0b2ab: Merge "Fix some input device mapping bugs with certain drivers." into gingerbread
Merge commit '33992d4195fe55f42ba6919f5a07707a51a12d5d'

* commit '33992d4195fe55f42ba6919f5a07707a51a12d5d':
  Fix some input device mapping bugs with certain drivers.
2010-08-19 23:43:19 -07:00
Kenny Root
cd9ce313dd Free created FileMap when uncompressing files
Change-Id: Ice22c4ecb7c129b74bf60cd66ae79e110b017a4a
2010-08-19 18:39:58 -07:00