Commit Graph

477 Commits

Author SHA1 Message Date
Scott Main
e4bca7ee60 am 322e7e47: Merge "docs: fix markup error" into froyo
Merge commit '322e7e477d89aca18d65cbd289343e716c45a699' into gingerbread

* commit '322e7e477d89aca18d65cbd289343e716c45a699':
  docs: fix markup error
2010-06-15 10:42:52 -07:00
Mathias Agopian
2d468c5d73 Make sure SurfaceView use a 565 surface when requesting an OPAQUE format.
this is needed for backward compatibility with somewhat buggy applications.
not a big deal, since the app can request another format explicitely.

Change-Id: Ic73f8acedf94ffc0115637efac28fa8ffaa7e5a4
2010-06-14 21:56:34 -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
Scott Main
f10e6331e3 docs: fix markup error
Change-Id: Icea017095f58068c55dd3c1c18cecbdf06afb595
2010-06-11 09:03:22 -07:00
Romain Guy
804d04969d am 71d73a0d: Merge "Add a method to hide/show a SurfaceView\'s surface." into froyo
Merge commit '71d73a0dfc110d0bdfc1b7ba385db3e2cfe007e5' into kraken

* commit '71d73a0dfc110d0bdfc1b7ba385db3e2cfe007e5':
  Add a method to hide/show a SurfaceView's surface.
2010-06-08 13:00:30 -07:00
Romain Guy
afc3e11f10 Add a method to hide/show a SurfaceView's surface.
This can be used to move a surface offscreen to avoid the cost of compositing it.
This preserves the window and therefore the OpenGL context when used in h/w
accelerated apps.

Change-Id: I280295376601b17989d0fc8a271af66650016f09
2010-06-08 11:34:43 -07:00
Jeff Brown
d28f4be870 Fixed some minor bugs in MotionEvent recycling.
1. MotionEvent.recycle() never set mRecycled to true so it couldn't actually
   detect doubly-recycled events (unless the TRACK_RECYCLED_LOCATION debuging
   flag was enabled).

2. MotionEvent.obtain() did not set mNext to null before returning the event
   so it would unnecessarily retain a reference to other events in the
   recycled event linked list until recycled again.

Change-Id: I93709c402d260691875f632dfc080a355f85fbb0
2010-06-02 15:36:01 -07:00
Mathias Agopian
d6ddcb7f00 fix [2677468] some 3rd party GL ES apps get a 32-bits surface by default and fail
force all SurfaceView to 565

Change-Id: I8ebfa1239d8e4fa097c2e544677fb92fa20b39bd
2010-05-24 19:07:08 -07:00
Dianne Hackborn
dc8a7f69d7 Add new API to take over a window's Surface.
Change-Id: Iad6245faadc95f19ea63c8e229a1c02e9188f69e
2010-05-18 10:46:33 -07:00
The Android Open Source Project
e28776bbd7 am b1110149: merge from open-source master
Merge commit 'b1110149cccc3b99e59ead34ca46e5ac026f6db9' into kraken

* commit 'b1110149cccc3b99e59ead34ca46e5ac026f6db9':
  Use integer for loop counter instead of float
  New test in FrameworkTest for the VelocityTracker class
  Preserve '+' in phone numbers imported from SIM.
2010-05-13 14:56:02 -07:00
The Android Open Source Project
b1110149cc merge from open-source master
Change-Id: I88a580162b34a80d1e3e7987b7a301c253afa0e8
2010-05-13 14:50:16 -07:00
Kenny Root
b79781af1e Use integer for loop counter instead of float
Change-Id: Iafaccbb3a3a7cbe0d67ed6827906d713c37ce89b
2010-05-13 12:17:15 -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
The Android Open Source Project
579e08e657 am f7896449: merge from open-source master
Merge commit 'f78964490d8098387d51444c87bf520ad3f674e2' into kraken

* commit 'f78964490d8098387d51444c87bf520ad3f674e2':
  Add new keycodes for the convenience of Japanese IMEs
  Call register_localized_collators() with the current locale.
  Fixed deserialization problem in DatePicker.
  Fix for bug 2467152 files with spaces fail to open.
  Set alpha value for newly created dim surface.
  telephony: Fix CID when CID is unknown
2010-05-05 16:00:01 -07:00
The Android Open Source Project
f78964490d merge from open-source master
Change-Id: Ia9e1f4e049f5870386ea29ddb6e3ef028ea918da
2010-05-05 15:57:42 -07:00
mogimo
b032bc0373 Add new keycodes for the convenience of Japanese IMEs
Change-Id: Ibd308cef11261147856258595f6ca0137e03e05c
2010-05-05 13:37:21 -07:00
Jean-Michel Trivi
99fb50468c am fc12b5be: am b5fa4dff: Merge "Fix bug 2594126 Do not crash when ViewRoot is trying to play a UI sound. This CL doesn\'t fix why mView can be null in the first place, but prevents a crash when mView is null and a UI sound is to be played." into froyo
Merge commit 'fc12b5be2ee49ba2392274d413bd5d759c03c346' into kraken

* commit 'fc12b5be2ee49ba2392274d413bd5d759c03c346':
  Fix bug 2594126 Do not crash when ViewRoot is trying to play a UI
2010-05-05 12:06:12 -07:00
Jean-Michel Trivi
fc12b5be2e am b5fa4dff: Merge "Fix bug 2594126 Do not crash when ViewRoot is trying to play a UI sound. This CL doesn\'t fix why mView can be null in the first place, but prevents a crash when mView is null and a UI sound is to be played." into froyo
Merge commit 'b5fa4dff0c4756ef7868926d4f373645ac0b00a9' into froyo-plus-aosp

* commit 'b5fa4dff0c4756ef7868926d4f373645ac0b00a9':
  Fix bug 2594126 Do not crash when ViewRoot is trying to play a UI
2010-05-05 12:03:43 -07:00
Jean-Michel Trivi
13b18fd7f9 Fix bug 2594126 Do not crash when ViewRoot is trying to play a UI
sound.
This CL doesn't fix why mView can be null in the first place, but
prevents a crash when mView is null and a UI sound is to be played.

Change-Id: I74ea03567e8e6ebebb6c95c80a473abf11e1163d
2010-05-05 09:37:41 -07:00
Steve Howard
3fd6419fe5 am 3b20c9e8: am 81ac367b: Merge "Fix a minor bug in transitions to left-edge-up landscape." into froyo
Merge commit '3b20c9e80533401d8c423977ef86460d789d4e1e' into kraken

* commit '3b20c9e80533401d8c423977ef86460d789d4e1e':
  Fix a minor bug in transitions to left-edge-up landscape.
2010-04-28 16:07:18 -07:00
Steve Howard
3b20c9e805 am 81ac367b: Merge "Fix a minor bug in transitions to left-edge-up landscape." into froyo
Merge commit '81ac367be66905a5b53b8e7e98160546802bd98b' into froyo-plus-aosp

* commit '81ac367be66905a5b53b8e7e98160546802bd98b':
  Fix a minor bug in transitions to left-edge-up landscape.
2010-04-28 16:03:28 -07:00
Steve Howard
c64d537e9b Fix a minor bug in transitions to left-edge-up landscape.
Fix MAX_TRANSITION_TILT to remove the entry for upside-down
orientation, which should've been removed when that orientation itself
was removed.  This was causing the phone to require further vertical
tilt for transitions to left-edge-up landscape, as compared to
right-edge-up landscape or portait mode.

Bug: 2639310
Change-Id: I8fe2e2baecd6a9c2cecae95d316b0d4e2f8ee251
2010-04-28 15:08:45 -07:00
Marco Nelissen
55fb51aa41 resolved conflicts for merge of 86303198 to kraken
Change-Id: Idd921c7108e4c2cd4a861ee1fb8b43e5d56f8f2f
2010-04-26 17:42:07 -07:00
Marco Nelissen
863031983d am 8138cb49: Make Surface.toString() show more useful info to help debug bug 2594388.
Merge commit '8138cb49e47f9a9905a316a217757710185c66aa' into froyo-plus-aosp

* commit '8138cb49e47f9a9905a316a217757710185c66aa':
  Make Surface.toString() show more useful info to help debug bug 2594388.
2010-04-26 17:19:58 -07:00
Marco Nelissen
8138cb49e4 Make Surface.toString() show more useful info to help debug bug 2594388.
Change-Id: I005d3388503d8886e11a26fece30b87572934f15
2010-04-26 16:51:17 -07:00
Dianne Hackborn
dc14dc6d60 am bf73bbff: Merge "Some debugging help for issue #2594388" into froyo
Merge commit 'bf73bbffc18f5abb5350fa3a410830c05ad10206' into froyo-plus-aosp

* commit 'bf73bbffc18f5abb5350fa3a410830c05ad10206':
  Some debugging help for issue #2594388
2010-04-23 13:02:29 -07:00
Dianne Hackborn
ba3e31d9ee Some debugging help for issue #2594388
WallpaperService doesn't always call onSurfaceDestroyed()

Just helps us see a little better what is going on.

Change-Id: Ibe8efd9e343e880ca31df446c8b36c7fa3722e87
2010-04-22 18:59:03 -07:00
Mathias Agopian
a62b09a121 fix [2615973] ViewRoot locks the Surface even when the dirty region is empty
Change-Id: I3041a57441bd9ee97f2cbc03ce42643175023c78
2010-04-21 18:40:05 -07:00
Adam Powell
8dc38941b4 am 7f30f8ab: am 93d35f77: Merge "Fix bug 2587373 - awaken scrollbars when a scrolling view becomes visible." into froyo
Merge commit '7f30f8abe3161ae912c3475aa89ad14388f576d7' into kraken

* commit '7f30f8abe3161ae912c3475aa89ad14388f576d7':
  Fix bug 2587373 - awaken scrollbars when a scrolling view becomes visible.
2010-04-19 15:41:05 -07:00
Adam Powell
7f30f8abe3 am 93d35f77: Merge "Fix bug 2587373 - awaken scrollbars when a scrolling view becomes visible." into froyo
Merge commit '93d35f77439f54cc55ff63b6e274dec0ac6c3c47' into froyo-plus-aosp

* commit '93d35f77439f54cc55ff63b6e274dec0ac6c3c47':
  Fix bug 2587373 - awaken scrollbars when a scrolling view becomes visible.
2010-04-19 15:38:11 -07:00
Adam Powell
8568c3a09b Fix bug 2587373 - awaken scrollbars when a scrolling view becomes visible.
Change-Id: I7eb38c53c3a03b23786b8b0c2d16139acd0eb38e
2010-04-19 15:26:15 -07:00
Mathias Agopian
8b138323d5 don't hardcode "mSurface" throughout our source code
this is used in a few places to get access to the android.view.Surface
native surface. use a macro instead. Also rename the field to mNativeSurface.

Change-Id: I1c6dea14abd6b8b1392c7f97b304115999355094
2010-04-12 16:29:36 -07:00
Romain Guy
376722fcdf am 4525c981: Merge "Fix regression introduced when fixing focus issue with ScrollView. Bug #2581646" into froyo
Merge commit '4525c98114c1e570ecef84521f66095e866af77d' into froyo-plus-aosp

* commit '4525c98114c1e570ecef84521f66095e866af77d':
  Fix regression introduced when fixing focus issue with ScrollView.
2010-04-10 11:41:54 -07:00
Romain Guy
2d4cff64b4 Fix regression introduced when fixing focus issue with ScrollView.
Bug #2581646

The correct fix is to make ScrollView ignore the BACK key instead of consuming it.

Change-Id: I5c029a5c60ae8e7791391f63672c44b5c96fec71
2010-04-09 15:39:00 -07:00
The Android Open Source Project
65369424cb merge from open-source master
Change-Id: I975030d9572463bc69245bcffa25c47d7acb2b51
2010-04-08 11:27:55 -07:00
Romain Guy
7b70f65892 Search for focusable views only after layout has happened when the window is first created.
Bug #2565564

Change-Id: I9eb58bbcba873ac1d6dc0b60b0de99e0e9979398
2010-04-07 10:15:18 -07:00
Daniel Sandler
c957ebef97 Merge "Add more WindowManager flags to ViewDebug." into froyo 2010-04-07 06:40:26 -07:00
Romain Guy
2e4f426bbc Correctly resize dialogs when measured in WRAP_CONTENT
Bug #2549649

If the window had a different size than its content but the content had already
been measured with the appropriate size, the window would not be resized. This
happens in wrap_content windows (dialogs.) This change simply adds a new codition
to window resizing: if the window is wrap_content, not as big as it can be and
not as big as its content, it gets resized.

Change-Id: I1d82d03af5a15c9ad8dffa0511d5f6d522578285
2010-04-06 11:07:52 -07:00
Chih-Wei Huang
4fedd80c1d Add keycodes PageUp and PageDown
This is useful for applications like web browser.

Change-Id: Ie9262d5b75de87ecd0971407a7c3ce9aa6e4998e
2010-04-02 14:39:20 -07:00
Daniel Sandler
20e9271cf2 Add more WindowManager flags to ViewDebug.
Bug: 2567955
Change-Id: Ia34aaa3cbf6e2bc2e59fe9ae83e4c8a6498612ca
2010-04-02 16:51:58 -04:00
Dirk Dougherty
3d5f648f8f doc change: cherry pick 75c66da209. (clarify fill_parent/match_parent transition in ViewGroup.LayoutParams and R.attr. Mention match_parent in dev guide "declaring layout" doc.)
Change-Id: I1d2b80b8dc3f8b2e3c1befcbb7c4c522d78a2db8
2010-04-01 09:16:08 -07:00
Dianne Hackborn
726426ee73 Fix issue #2529154 Found SurfaceFlinger timeout in logcat when wake up Camcorder
We need to make sure, if the window size changes, to have onSurfaceChanged()
called for the surface to be redrawn.

Change-Id: Iad518199fa400de8059a77ed34d50d6eb93a6aff
2010-03-31 22:55:26 -07:00
Adam Powell
9d32d24dbd Remove overscrolling
Change-Id: I7e9db8d8a9b8ef67f0c0c82bf57c9155b7ebabea
2010-03-29 20:46:45 -07:00
Steve Howard
8deb239169 Merge "Remove upside-down portrait orientation." into froyo 2010-03-29 16:05:35 -07:00
Steve Howard
1c310b9d2f Remove upside-down portrait orientation.
I also realized the ROTATION_NN constants were misdocumented, they
actually align the opposite direction from the "orientation" angle
computed in the code (i.e. orientation=90 is left side up, ROTATION_90
is right side up).  I just changed the comment here to keep the change
minimal; I'll update the code to be more consistent outside of this
release branch.

Bug: 2549875
Change-Id: I79c4286be582a21e730b25a8a24f2e1137c6e4cb
2010-03-29 14:43:46 -07:00
Romain Guy
6b1e696982 Rename tab widget attributes, remove scroll barrier constant.
Bug #2553515 #2553595

Change-Id: Id36280a57f00a1ee59251be6be1aae8df2189c09
2010-03-29 14:40:34 -07:00
Dianne Hackborn
d49258fed4 Fix issue #2544466: Car Home brightness icon comes and goes while phone is in car dock in FRE83
There was a really dumb bug that was causing us to not always apply
the new configuration.  As a result of fixing this, there were new
glithes in the transition between car and regular mode, so further
work here to fix that.  And since I was actually working during the
night and seeing night mode, I noticed how obnoxiously bright the
status bar is compared to the car home at night, so it now nicely
dims itself when we switch to the night config.  Oh and in doing
that I also found and fixed a bug in dispatching config changes to
a window (where they wouldn't get dispatched if the window didn't
resize).

FINALLY...  tweak the wallpaper enter/exit animations a bit to
make them a little smoother.

Change-Id: I4e062093cbcfbc919307799a794846db2920216f
2010-03-26 12:52:53 -07:00
Joe Onorato
8f2bd4328a Add window flags and window types to hierarchyviewer.
For debugging http://b/issue?id=2544870

Change-Id: I4b7775e6fd275bb7a9041bf5736e076122bfb5f1
2010-03-25 11:52:06 -07:00
Mathias Agopian
f5e32f33ed another small step towards fixing [2501808] sapphire: OOM in GPU Surface area
release the Surface in SurfaceView when it's not visible, after it comes back from relayout(),
it should not be holding buffers at this point, but it's cleaner to have it in the released state.

also log a warning in Surface.finalize() when there is work to do, as it means Surface.release() wasn't
called when it should have.

Change-Id: Id637d4ec2916d8fd800b0344d8dec6cecce02051
2010-03-23 17:51:59 -07:00
Dianne Hackborn
1c6a89491b Fix issue #2538211: system server crash
Change-Id: Ib440650129ca35e25c8c770113af21fef239178d
ClassCastException: com.android.internal.widget.PointerLocationView
2010-03-23 16:34:20 -07:00