Commit Graph

645 Commits

Author SHA1 Message Date
Adam Powell
f98d3e3047 am e8fa85d7: am 224ab9a5: Merge "Fix public bug http://code.google.com/p/android/issues/detail?id=10067" into gingerbread
Merge commit 'e8fa85d7a1a75d6894a75b1c25abf99bbff50085'

* commit 'e8fa85d7a1a75d6894a75b1c25abf99bbff50085':
  Fix public bug http://code.google.com/p/android/issues/detail?id=10067
2010-08-10 21:53:40 -07:00
Konstantin Lopyrev
ecb1d5ded9 resolved conflicts for merge of f00ee0f7 to master
Change-Id: I13b968bde37fad8fffdaa9bb94a0f1da9b2e6e0c
2010-08-10 21:47:34 -07:00
Adam Powell
224ab9a5c6 Merge "Fix public bug http://code.google.com/p/android/issues/detail?id=10067" into gingerbread 2010-08-10 17:52:15 -07:00
Adam Powell
9bccdb7d5c Fix public bug http://code.google.com/p/android/issues/detail?id=10067
Change-Id: I7b7a9a32e82fc7541beabe286b20b01f39406cc8
2010-08-10 17:50:11 -07:00
Konstantin Lopyrev
f39d5987b9 Merge "Categorizing exported view properties." into gingerbread 2010-08-10 17:48:27 -07:00
Konstantin Lopyrev
bea95162ca Categorizing exported view properties.
Change-Id: I79c42019836973d80662c21d195d088ae01537a0
2010-08-10 17:45:03 -07:00
Jeff Brown
ea48ff4ba4 am 95105f3c: am c3fc2d03: Fix safe mode and KeyEvent.getMaxKeyCode().
Merge commit '95105f3c25110f28b236cfa71e9ad74533eef854'

* commit '95105f3c25110f28b236cfa71e9ad74533eef854':
  Fix safe mode and KeyEvent.getMaxKeyCode().
2010-08-10 16:39:10 -07:00
Jeff Brown
fb8e05b154 am d3cf0544: am d98d0fc6: Merge "Optimize VelocityTracker to run in linear time." into gingerbread
Merge commit 'd3cf0544cc7eec8ace3dc3b7fc17b7dac69e0aab'

* commit 'd3cf0544cc7eec8ace3dc3b7fc17b7dac69e0aab':
  Optimize VelocityTracker to run in linear time.
2010-08-10 16:38:58 -07:00
Jeff Brown
c3fc2d03d5 Fix safe mode and KeyEvent.getMaxKeyCode().
Bug: 2901731
Change-Id: I78617c1b9dee3790fc590e5af4b5083368873184
2010-08-10 16:28:03 -07:00
Jeff Brown
d98d0fc6e9 Merge "Optimize VelocityTracker to run in linear time." into gingerbread 2010-08-10 16:26:56 -07:00
Romain Guy
a48a1a87ba Fast text selection drawing.
Change-Id: I93fb1312b47bc05345defa9b6cfe47c0658bb329
2010-08-10 14:59:15 -07:00
Romain Guy
61c8c9c5b2 Fix tons of bugs and add new text rendering support.
Change-Id: I326c66b10784006f6df2f12d38e120cef94cd0d7
2010-08-10 12:22:01 -07:00
Chet Haase
fd2b002bcf Add 3D rotation to View
Change-Id: I4aa2542eb821e82d44e13d69b0938de13ffd4f0d
2010-08-10 10:36:21 -07:00
Konstantin Lopyrev
6f4169cb28 am 75493be9: am 63cca691: Merge "Make sure profiling is done only for views that are actually measured, laid out and drawn." into gingerbread
Merge commit '75493be9c0b4dd24fc5cddce6ee993ce5f0b2887'

* commit '75493be9c0b4dd24fc5cddce6ee993ce5f0b2887':
  Make sure profiling is done only for views that are actually measured, laid out and drawn.
2010-08-09 20:00:44 -07:00
Jeff Brown
88cf2fca38 Optimize VelocityTracker to run in linear time.
Uses a linked list for efficient pointer addition and removal.
When possible, makes use of the fact that pointer ids are usually in
sorted order to avoid quadratic time lookups when adding new data.
Fixed an incorrect assumption that the pointer count would always change
when old pointers were removed.

Also fixed a bug in InputQueue FinishedCallback recycling.

Change-Id: Ie048d3bb022d39cf4185e2fe43923a861d94c4f3
2010-08-09 18:50:35 -07:00
Konstantin Lopyrev
63cca69157 Merge "Make sure profiling is done only for views that are actually measured, laid out and drawn." into gingerbread 2010-08-09 17:02:39 -07:00
Romain Guy
02890fd0f9 Replace Bitmap's finalizers with PhantomReferences.
This change also removes the use of SoftReferences for View's
drawing cache.

A bitmap now creates a PhantomReference enqueued in a reference
queue provided by the new Finalizers class. This queue is polled
from a thread started after forking zygote. That thread is in charge
of clearing the references after GC runs and of calling reclaim()
on them. The reclaim() method is now how finalizers are run.

Note that a PhantomReference cannot be kept in the instance it
refers to, which is why they are kept in a separate List.

Change-Id: If3c1a5e9dc23fa49e34857860d730f5cf5ad5926
2010-08-09 09:44:40 -07:00
Romain Guy
1639351139 Make libhwui entirely optional.
The makefile variable USE_OPENGL_RENDERER must be set to true to compile
libhwui and the related code in the JNI layer.

This change also removes obsolete APIs from Canvas that must not be used
and would be confusing if left in. These APIs were remnants of our first
attempt at an OpenGL renderer for the view hierarchy and had not been
taken out before Android 1.0 was released.

Change-Id: I2475ff1307212bab26c926724f3c508681c7dae1
2010-08-08 17:45:07 -07:00
Steve Howard
4938d79160 am d49d4031: am 9fbf00cb: Merge "Slight improvement (hopefully) to orientation sensing." into gingerbread
Merge commit 'd49d4031d654398904d5af30c488a3b32b176122'

* commit 'd49d4031d654398904d5af30c488a3b32b176122':
  Slight improvement (hopefully) to orientation sensing.
2010-08-06 19:06:48 -07:00
Konstantin Lopyrev
c6dc45700b Make sure profiling is done only for views that are actually measured, laid out and drawn.
Change-Id: I88c66e882be2781d079c51b6580a19c4e359c5b1
2010-08-06 15:41:33 -07:00
Steve Howard
5f531ae6b3 Slight improvement (hopefully) to orientation sensing.
Since orientation sensing has been an issue for numerous users, I
decided a spend a little time experimenting with some possible
improvements.  I've settled on a couple major changes:

* Perform all lowpass filtering in spherical coordinates, not
  cartesian.  Since the rotations are what we're really concerned
  with, this makes more sense and gives more consistent results.

* Introduce a system of tracking "distrust" in the current data, based
  on external acceleration and on tilt.  The basic idea is after a
  signal of unreliable data -- repeated acceleration or
  nearly-horizontal tilt -- we wait for things to "stabilize" for some
  number of ticks before we start trusting the data again.  This is an
  extension of the basic lowpass filtering.  One simple example is
  after the phone is picked up off a table, we ignore the first few
  readings.  Another example is while the phone is under external
  acceleration for a while (i.e. in a car mount on a rough road), if a
  single "good" reading comes in, we distrust it, under the assumption
  that it was probably just a lucky reading (i.e. the magnitude
  happened to be close to that of gravity by chance).

These changes have allowed me to relax other constraints, such as the
filtering time constants, the maximum deviation from gravity, and the
max tilt before we start distrusting data.

The net effect is that orientation changes happen more quickly and can
happen under a wider variety of conditions, but false changes due to
tilt and acceleration are still avoided well.  I think the improvement
is subtle, but it's the best I've come up with in my limited time.

I've also included some refactoring and additonal comments to try and
further clarify the (somewhat twisted) logic.

Change-Id: I34c7297bd2061fae8317ffefd32a85c7538a3efb
2010-08-05 18:26:03 -07:00
Romain Guy
7fbcc0492f Add support for paths.
Rendering is implementing by rasterizing the paths into A8 textures.
This cna be extremely inefficient if the path changes often.

Change-Id: I609343f304ae38e0d319359403ee73b9b5b3c93a
2010-08-05 17:23:49 -07:00
Chet Haase
df030d2c16 View x/y properties now feed into matrix translation
Change-Id: I35d8953ab6c7a511cdf90f3f94a4a1b5ef549fc3
2010-08-04 12:01:51 -07:00
Chris Tate
5bac1cc0b8 am 9f6b16a2: am 5d46ce24: Merge "Enhanced VelocityTracker for > 5 pointers and fixed bugs." into gingerbread
Merge commit '9f6b16a29b62f29496bc652cfec7d6fe9f08c7f4'

* commit '9f6b16a29b62f29496bc652cfec7d6fe9f08c7f4':
  Enhanced VelocityTracker for > 5 pointers and fixed bugs.
2010-08-04 11:12:32 -07:00
Konstantin Lopyrev
bf0d12c2e2 am 77c444dd: am 6fcf3a51: Merge "Improving profiling of views." into gingerbread
Merge commit '77c444dd2bdc9bb2d54fc58420d263a83018190c'

* commit '77c444dd2bdc9bb2d54fc58420d263a83018190c':
  Improving profiling of views.
2010-08-04 11:12:19 -07:00
Romain Guy
529b60a3b1 Add android:hardwareAccelerated to Activity.
Hardware acceleration can now be enabled/disabled locally on each activity
declared in the manifest. It can also be enabled/disabled directly on a
window through the WindowManager.LayoutParams.

Change-Id: I91dd0b26c4e7eb8cd7288e523ed6b7bda6d0990b
2010-08-04 10:55:46 -07:00
Chris Tate
5d46ce24cc Merge "Enhanced VelocityTracker for > 5 pointers and fixed bugs." into gingerbread 2010-08-03 12:22:50 -07:00
Konstantin Lopyrev
f8e1219cf8 Improving profiling of views.
Change-Id: I1abb8c21f1769ad55416f37e7bfa1458b80ace63
2010-08-02 19:08:56 -07:00
Romain Guy
7768e02973 Merge "Add support for ColorFilters." 2010-08-02 18:50:28 -07:00
Romain Guy
db1938e0e6 Add support for ColorFilters.
Color filters are fully supported and can be used with shaders.

Change-Id: Id90ccf1c81cb462f2431f366f3f8f710d7971e04
2010-08-02 18:50:56 -07:00
Adam Powell
9168f0b170 Add ActionMode#getMenuInflater() for easier menu inflation in
ActionMode.Callback implementations

Change-Id: If9e7ab0d65598bab537add6c6a452a55c093064f
2010-08-02 16:02:24 -07:00
Jeff Brown
9e2ad36be8 Enhanced VelocityTracker for > 5 pointers and fixed bugs.
Improved PointerLocation tool to use VelocityTracker more efficiently
and correctly when multiple pointers are down.

Fixed a bug in TouchInputMapper where it was not correctly copying
the id to index map in the last touch data.  This could cause strange
behavior on secondary pointer up events.

Also added finished callback pooling in InputQueue.

Change-Id: Ia85e52ac2fb7350960ea1d7edfbe81a1b3e8267b
2010-07-30 20:08:29 -07:00
Romain Guy
eb4e0c3c1c Merge "Refactor Skia shaders handling." 2010-07-30 19:20:09 -07:00
Romain Guy
06f96e2652 Refactor Skia shaders handling.
With this change, Skia shaders can easily be applied to any mesh. This change also
supports ComposeShader. For instance, this can be used to blend a gradient and a
bitmap togehter and paint a string of text with the result.

Change-Id: I701c2f9cf7f89b2ff58005e8a1d0d80ccf4a4aea
2010-07-30 19:18:16 -07:00
Chet Haase
4de823a759 Merge "Fix problems with moving Views around (invalidation, conflict with layout)" 2010-07-30 17:14:29 -07:00
Chet Haase
8fbf8d2b08 Fix problems with moving Views around (invalidation, conflict with layout)
Change-Id: I38f8f8a4e8082854a53a2975da258b5d946ed525
2010-07-30 15:01:32 -07:00
Jeff Brown
6ec402b5ae DO NOT MERGE: Fix input event injection ANRs on UI thread.
Added a new asynchronous injection mode and made the existing
synchronization mechanism more robust.

Change-Id: Ia4aa04fd9b75ea2461a844c5b7933c831c1027e6
2010-07-29 12:54:27 -07:00
Jeff Brown
bbda99d208 Fixed StatusBar ANRs due to input event injection on UI thread.
Added a new asynchronous injection mode and made the existing
synchronization mechanism more robust.

Change-Id: I0464f70ff5cbd519dbb02686b2cb5d810fe7dbb2
2010-07-29 12:19:08 -07:00
Chet Haase
3b69b6f0be Make the new android.animation package public
Change-Id: Iff31676f25fc989707a1e17fb172296014a22c27
2010-07-29 09:09:05 -07:00
Chet Haase
f54a8d7c47 Adding xml declarations for new animation framework
Change-Id: Ic789e47790cf24d1c4b3bcbe9048b992ab93517b
2010-07-28 17:22:14 -07:00
Adam Powell
c9ae2a24dc Add support for setting action mode titles/subtitles by resource ID
Change-Id: Ia0d5234cc16f325eeb29127fb87e2616d67379ec
2010-07-28 17:00:02 -07:00
Gilles Debunne
f788a9fccd TextView with Selection Contextual Mode
Context menu entries have been moved to a contextual mode in the action bar.

Change Input Method has been removed and *should be added to the system bar instead*.

Add word to dictionnary has also been removed and should now be done using the suggestioni
bar "tap on word to add" feature.

Change-Id: I767373f53515b2d6a06500321b4b12ed0b05a9b6
2010-07-28 15:46:35 -07:00
Jeff Brown
2279971b6f am 9795a25d: am 6d0fec2d: Refactor input reader to support new device types more easily.
Merge commit '9795a25da060f9a7df87da8ab43fb1086d4322a5'

* commit '9795a25da060f9a7df87da8ab43fb1086d4322a5':
  Refactor input reader to support new device types more easily.
2010-07-28 14:27:55 -07:00
Jeff Brown
6d0fec2de3 Refactor input reader to support new device types more easily.
Refactored the input reader so that each raw input protocol is handled
by a separate subclass of the new InputMapper type.  This way, behaviors
pertaining to keyboard, trackballs, touchscreens, switches and other
devices are clearly distinguished for improved maintainability.

Added partial support for describing capabilities of input devices
(incomplete and untested for now, will be fleshed out in later commits).

Simplified EventHub interface somewhat since InputReader is taking over
more of the work.

Cleaned up some of the interactions between InputManager and
WindowManagerService related to reading input state.

Fixed swiping finger from screen edge into display area.

Added logging of device information to 'dumpsys window'.

Change-Id: I17faffc33e3aec3a0f33f0b37e81a70609378612
2010-07-28 14:16:15 -07:00
Adam Powell
5d27977f9d Action modes without action bar
Change-Id: I0367ab35e598a17980bd373b30828175f6283acc
2010-07-27 21:04:52 -07:00
Romain Guy
ac670c0433 Generate shaders to cover all possible cases.
With this change, all the vertex and fragment shaders used by the GL
renderer are now generated based on a program description supplied
by the caller. This allows the renderer to generate a large number
of shaders without having to write all the possible combinations by
hand. The generated shaders are stored in a program cache.

Change-Id: If54d286e77ae021c724d42090da476df12a18ebb
2010-07-27 19:52:29 -07:00
Adam Powell
6e34636749 Moved context modes into view, renamed to action modes
ContextualMode renamed to ActionMode. Adds a reference to the action
bar and reduces confusion around things named "Context".

Change-Id: Ia5098b1d0799a0ece0810c34e6696eda039fb005
2010-07-26 17:28:45 -07:00
Romain Guy
236d4ee896 Merge "Add text rendering." 2010-07-21 21:34:47 -07:00
Romain Guy
694b519ac6 Add text rendering.
Change-Id: Ibe5a9fa844d531b31b55e43de403a98d49f659b9
2010-07-21 21:33:20 -07:00
Chet Haase
46ea482884 Merge "Fix issue with touch MOVE events on transformed containers" 2010-07-21 13:34:23 -07:00