Commit Graph

54 Commits

Author SHA1 Message Date
Tor Norbye
80756e3888 Annotate ARGB integer parameters with @ColorInt
Change-Id: I307f72a382272cf18ddb6b07d9fcb81228568d9a
2015-03-05 16:34:12 -08:00
Tor Norbye
7b9c912f53 Add @ResourceInt annotations on APIs
Change-Id: I119cc059c2f8bd98fd585fc84ac2b1b7d5892a08
2015-02-18 07:49:03 -08:00
Neil Fuller
3b96bfb103 am 9b0109eb: am c7aa8fe6: Merge "Removing some more FloatMath references"
* commit '9b0109eb051fcf0a7ad801d03e73aa4e0bf2d7a7':
  Removing some more FloatMath references
2014-10-17 14:59:48 +00:00
Neil Fuller
6de42dac43 Removing some more FloatMath references
See frameworks/base commit 33253a4baa
for details.

Bug: https://code.google.com/p/android/issues/detail?id=36199
Change-Id: I46d4ee4c4be7972e3bcc6782fb50f024b6fff1ee
2014-10-15 11:45:45 +01:00
Neil Fuller
c2a0b4482d resolved conflicts for merge of ee665151 to lmp-mr1-dev-plus-aosp
Change-Id: I2588c65b7a9fa43f968151a206924a804f0595a7
2014-10-02 14:32:37 +01:00
Neil Fuller
33253a4baa Switch from FloatMath -> Math and Math.hypot where possible
The motivation is an API change: FloatMath is going to be
deprecated and/or removed. Performance is not the goal of
this change.

That said...

Math is faster than FloatMath with AOT compilation.

While making the change, occurances of:

{Float}Math.sqrt(x * x + y * y) and
{Float}Math.sqrt({Float}Math.pow(x, 2) + {Float}Math.pow(y, 2))

have been replaced with:

{(float)} Math.hypot(x, y)

Right now there is no runtime intrinsic for hypot so is not faster
in all cases for AOT compilation:

Math.sqrt(x * x + y * y) is faster than Math.hypot(x, y) with
AOT, but all other combinations of FloatMath, use of pow() etc.
are slower than hypot().

hypot() has the advantage of being self documenting and
could be optimized in future. None of the behavior differences
around NaN and rounding appear to be important for the cases
looked at: they all assume results and arguments are in range
and usually the results are cast to float.

Different implementations measured on hammerhead / L:

AOT compiled:

[FloatMath.hypot(x, y)]
benchmark=Hypot_FloatMathHypot} 633.85 ns; σ=0.32 ns @ 3 trials

[FloatMath.sqrt(x*x + y*y)]
benchmark=Hypot_FloatMathSqrtMult} 684.17 ns; σ=4.83 ns @ 3 trials

[FloatMath.sqrt(FloatMath.pow(x, 2) + FloatMath.pow(y, 2))]
benchmark=Hypot_FloatMathSqrtPow} 1270.65 ns; σ=12.20 ns @ 6 trials

[(float) Math.hypot(x, y)]
benchmark=Hypot_MathHypot} 96.80 ns; σ=0.05 ns @ 3 trials

[(float) Math.sqrt(x*x + y*y)]
benchmark=Hypot_MathSqrtMult} 23.97 ns; σ=0.01 ns @ 3 trials

[(float) Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2))]
benchmark=Hypot_MathSqrtPow} 156.19 ns; σ=0.12 ns @ 3 trials

Interpreter:

benchmark=Hypot_FloatMathHypot} 1180.54 ns; σ=5.13 ns @ 3 trials
benchmark=Hypot_FloatMathSqrtMult} 1121.05 ns; σ=3.80 ns @ 3 trials
benchmark=Hypot_FloatMathSqrtPow} 3327.14 ns; σ=7.33 ns @ 3 trials
benchmark=Hypot_MathHypot} 856.57 ns; σ=1.41 ns @ 3 trials
benchmark=Hypot_MathSqrtMult} 1028.92 ns; σ=9.11 ns @ 3 trials
benchmark=Hypot_MathSqrtPow} 2539.47 ns; σ=24.44 ns @ 3 trials

Bug: https://code.google.com/p/android/issues/detail?id=36199
Change-Id: I06c91f682095e627cb547d60d936ef87941be692
2014-10-01 14:04:15 +01:00
Alan Viverette
617feb99a0 Add View constructor that supplies a default style resource
Also updates the constructor of every class that extends View.

BUG: 10676369
Change-Id: Ifaf27bf82028d180afa4931c0e906df88d858ac3
2013-09-09 18:09:13 -07:00
Romain Guy
46bfc48110 Fix hardware layers lifecycle
Bug #10075732

Hardware layers could survive across EGL terminate events.

Change-Id: Ie8565d55cb29fe6625fa1584d695edfecd37ab5e
2013-08-16 18:38:29 -07:00
Kenny Root
3a084af2e9 Correct executable bit for source files
Many media files and source code files were marked as executable in Git.
Remove those.

Also a shell script and python script were not marked as executable.

Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
2012-11-07 10:27:31 -08:00
Romain Guy
02739a8eec Fix javadoc issues
Change-Id: Ife66a8664955ac1a79b6ffd0080000c820f24632
2011-05-16 11:53:31 -07:00
Kenny Root
ea46dea9da Prevent possible NPE in android.gesture.Learner
Change-Id: If9b0ac9a05b6736719d84c6b58be73e3f7771f07
2010-02-17 10:04:39 -08:00
Romain Guy
46c53129c6 Rename GestureUtilities to GestureUtils. 2010-02-04 14:27:00 -08:00
Yang Li
a54bec599a Added comments for GestureUtilities. 2010-01-25 17:59:15 -08:00
Yang Li
c7f930f5a9 Made GestureUtilities's several methods public; Changed GestureStroke's smoothening threshold. 2010-01-25 15:15:55 -08:00
Yang Li
ec837187df Added a method for spatial sampling. 2010-01-15 16:14:25 -08:00
Romain Guy
fe86b04531 Merge "Added clone to these three classes and added more comments." 2010-01-15 14:40:48 -08:00
Yang Li
6fc1f15134 Added clone to these three classes and added more comments. 2010-01-15 14:35:27 -08:00
Yang Li
55732c52ee Added non-uniform scaling for spatial sampling. 2010-01-15 12:15:40 -08:00
Yang Li
5c79dee64f Added non-uniform scaling for spatial sampling and converted double to float. 2010-01-14 17:07:38 -08:00
Yang Li
4758f1216b Added the Protractor algorithm for calculating the minimum cosine distance between gestures 2009-12-14 15:41:07 -08:00
Romain Guy
51099c5aa6 Add @Widget annotation to GestureOverlayView to make it usable in ADT.
Change-Id: I86251f0d35e38460f09779f047aabfa99d2e97ae
2009-09-11 14:29:15 -07:00
Dianne Hackborn
7f2054392e Updates from API review.
* AccessibilityService -- document onBind() to not be implemented.
    * GestureLibrary.getLearner() -- needs to be hidden.
    * IntentSender -- remove protected constructors, document that it is retrieved from a PendingIntent.
    * Hide permissions: SHUTDOWN, STOP_APP_SWITCHES.
    * Context -- hide BACKUP_SERVICE.
    * ContextWrapper -- hide getSharedPrefs bla h blah
    * Intent.parseUri() -- fix docs.
    * ApplicationInfo.FLAG_TEST_ONLY?!?
    * Hide MockContext.getSharedPrefs blah blah
2009-07-28 00:13:47 -07:00
Romain Guy
ef0e9ae0dd Fixes #1972421. Prevents crash in ScrollView/HorizontalScrollView.
Add several checks to make sure there's at least one child.
2009-07-10 14:11:26 -07:00
Romain Guy
423d679a47 Unhide android.gestures. 2009-07-09 11:46:39 -07:00
Romain Guy
e705f2c52e Make gestures visible again. 2009-06-16 17:07:21 -07:00
Romain Guy
b973eef289 Fixes #1899284 and #1899287. Give applications more control over the gesture's path.
This change adds new APIs to control the gesture's path by deciding whether the
path should be drawn and by getting the ability to get the Path itself and
draw it differently.
2009-06-16 15:53:27 -07:00
Romain Guy
763a572388 Hide gestures API. 2009-06-12 10:28:28 -07:00
Romain Guy
cfbe8cf878 Fix the way gestures are rasterized to bitmaps.
It was just not working with multiple strokes.
2009-06-10 01:21:20 -07:00
Romain Guy
0e1ca5749a Add support for gestures in Home.
Adds a new animation style for the gestures pad, and de-normalize
the scores in the recognition engine.
2009-06-09 22:58:46 -07:00
Romain Guy
27a2b50ded Add a hidden API to modify the paint used to draw gestures. 2009-06-09 04:36:14 -07:00
Romain Guy
03f0b21b5a Fix several issues in the gestures libraries.
This mostly fixes how gestures libraries are saved and loaded.
Saving a library twice in a row was erasing the entire library,
which was preventing the sketch test app from working propertly.
2009-06-09 04:15:22 -07:00
Android (Google) Code Review
2d2b23119f Merge change 3561 into donut
* changes:
  Fix multiple strokes support when fade is disabled. Multiple strokes would always be accepted after the first one.
2009-06-09 03:19:07 -07:00
Romain Guy
73d2589d6d Fix multiple strokes support when fade is disabled.
Multiple strokes would always be accepted after the first one.
2009-06-09 03:18:10 -07:00
Romain Guy
7fe416e943 Fix bug in saving gestures stores. The outputstream was wrapping itself, thus causing huge problems. 2009-06-09 01:42:15 -07:00
Romain Guy
f642aa2a44 Removes gestures from ListView. 2009-06-08 23:24:18 -07:00
Romain Guy
834f0391b5 Fixes #1899273.
When a "ghost" stroke was showing, events would be intercepted in ListView. This patch modifies the logic used to detect when to still events: either the current stroke is a gesture, or the previous stroke was a gesture.
2009-06-05 11:24:09 -07:00
Romain Guy
9af0b4f7be Add new listener to GestureOverlayView. This listener fires whenever the overlay thinks the user is starting a new gesture. This allows Home to snap the workspace back to its original position during a gesture operation. 2009-06-02 21:59:42 -07:00
Romain Guy
8d78756c16 Fix the build. 2009-05-29 15:02:55 -07:00
Romain Guy
0a63716ed0 Modify the base gestures API to use streams instead of files. Adds new wrappers to easily load/save gestures from files, resources, etc. Do the same for the letters recognizer. 2009-05-29 14:43:54 -07:00
Android (Google) Code Review
7a8c437723 Merge change 2737 into donut
* changes:
  Fixes #1878499.
2009-05-29 13:54:39 -07:00
Romain Guy
d1c67d42ab Fixes #1878499.
Ignore touch up events that happen after a gesture was cancelled. This fix also improves performance by ignoring move events that are within the touch threshold.
2009-05-29 13:53:16 -07:00
Romain Guy
9ffe1ae56b Fix for #1878497.
Always pre-allocate a gesture's bounding box to avoid possible NPEs.
2009-05-29 12:28:23 -07:00
Yang Li
f3ede869b8 Converted the angle of OrientedBoundingBox to degrees 2009-05-28 18:00:50 -07:00
Android (Google) Code Review
401bbb0597 Merge change 2593 into donut
* changes:
  Bug fixes and performance improvements
2009-05-27 21:26:31 -07:00
Yang Li
58b359041a Bug fixes and performance improvements
- Added affine transform functions in GestureUtilities to remove Matrix
- Fixed a bug with Instance.createInstance
- Updated letter recognition file
2009-05-27 18:19:04 -07:00
Marco Nelissen
8ae3f61902 Fix another crash in Gestures, this one caused by the data file
having the wrong version. I made the loader print a message to
the log for this, and made the calling code disable gestures
for the listview instead of crashing.
2009-05-27 10:03:44 -07:00
Yang Li
b082ceefdc Removed Matrix from spatial sampling for GestureUtilities
- updated the letter training file
2009-05-26 14:30:34 -07:00
Romain Guy
9edc4e8930 GestureOverlayView was not invalidating itself when calling clear(false). Calling clear(true) was working properly. This change also makes clear(false) and clear(true) both behave similarly when fireActionPerformed == true. 2009-05-25 19:10:07 -07:00
Romain Guy
e7c36dda7a Add new orientation attribute to GestureOverlayView. This can be used to prevent the overlay from interfering with vertically/horizontally scrolling views underneath the overlay. 2009-05-25 13:51:00 -07:00
Romain Guy
ec25df9fbc Fix drawing bug: opaque invalidations should not be taken into account when the invalidated view is animating. Also add the ability to disable the auto-fade on the GestureOverlayView. 2009-05-25 04:39:37 -07:00