Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
LatinIME
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
keyboard
LatinIME
Commits
ad205b2e
Commit
ad205b2e
authored
11 years ago
by
Tadashi G. Takaoka
Browse files
Options
Downloads
Patches
Plain Diff
Protect simultaneously modifying gesture preview data
Bug: 8556775 Change-Id: I83272e3adbfc0c9cc14f9e8b479e926aabf4fa2a
parent
262d5bd9
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
java/src/com/android/inputmethod/keyboard/internal/GesturePreviewTrail.java
+15
-1
15 additions, 1 deletion
...id/inputmethod/keyboard/internal/GesturePreviewTrail.java
with
15 additions
and
1 deletion
java/src/com/android/inputmethod/keyboard/internal/GesturePreviewTrail.java
+
15
−
1
View file @
ad205b2e
...
@@ -37,6 +37,7 @@ import com.android.inputmethod.latin.ResizableIntArray;
...
@@ -37,6 +37,7 @@ import com.android.inputmethod.latin.ResizableIntArray;
final
class
GesturePreviewTrail
{
final
class
GesturePreviewTrail
{
private
static
final
int
DEFAULT_CAPACITY
=
GestureStrokeWithPreviewPoints
.
PREVIEW_CAPACITY
;
private
static
final
int
DEFAULT_CAPACITY
=
GestureStrokeWithPreviewPoints
.
PREVIEW_CAPACITY
;
// These three {@link ResizableIntArray}s should be synchronized by {@link #mEventTimes}.
private
final
ResizableIntArray
mXCoordinates
=
new
ResizableIntArray
(
DEFAULT_CAPACITY
);
private
final
ResizableIntArray
mXCoordinates
=
new
ResizableIntArray
(
DEFAULT_CAPACITY
);
private
final
ResizableIntArray
mYCoordinates
=
new
ResizableIntArray
(
DEFAULT_CAPACITY
);
private
final
ResizableIntArray
mYCoordinates
=
new
ResizableIntArray
(
DEFAULT_CAPACITY
);
private
final
ResizableIntArray
mEventTimes
=
new
ResizableIntArray
(
DEFAULT_CAPACITY
);
private
final
ResizableIntArray
mEventTimes
=
new
ResizableIntArray
(
DEFAULT_CAPACITY
);
...
@@ -90,7 +91,13 @@ final class GesturePreviewTrail {
...
@@ -90,7 +91,13 @@ final class GesturePreviewTrail {
}
}
public
void
addStroke
(
final
GestureStrokeWithPreviewPoints
stroke
,
final
long
downTime
)
{
public
void
addStroke
(
final
GestureStrokeWithPreviewPoints
stroke
,
final
long
downTime
)
{
final
int
trailSize
=
mEventTimes
.
getLength
();
synchronized
(
mEventTimes
)
{
addStrokeLocked
(
stroke
,
downTime
);
}
}
private
void
addStrokeLocked
(
final
GestureStrokeWithPreviewPoints
stroke
,
final
long
downTime
)
{
final
int
trailSize
=
mEventTimes
.
getLength
();
stroke
.
appendPreviewStroke
(
mEventTimes
,
mXCoordinates
,
mYCoordinates
);
stroke
.
appendPreviewStroke
(
mEventTimes
,
mXCoordinates
,
mYCoordinates
);
if
(
mEventTimes
.
getLength
()
==
trailSize
)
{
if
(
mEventTimes
.
getLength
()
==
trailSize
)
{
return
;
return
;
...
@@ -169,6 +176,13 @@ final class GesturePreviewTrail {
...
@@ -169,6 +176,13 @@ final class GesturePreviewTrail {
*/
*/
public
boolean
drawGestureTrail
(
final
Canvas
canvas
,
final
Paint
paint
,
public
boolean
drawGestureTrail
(
final
Canvas
canvas
,
final
Paint
paint
,
final
Rect
outBoundsRect
,
final
Params
params
)
{
final
Rect
outBoundsRect
,
final
Params
params
)
{
synchronized
(
mEventTimes
)
{
return
drawGestureTrailLocked
(
canvas
,
paint
,
outBoundsRect
,
params
);
}
}
private
boolean
drawGestureTrailLocked
(
final
Canvas
canvas
,
final
Paint
paint
,
final
Rect
outBoundsRect
,
final
Params
params
)
{
// Initialize bounds rectangle.
// Initialize bounds rectangle.
outBoundsRect
.
setEmpty
();
outBoundsRect
.
setEmpty
();
final
int
trailSize
=
mEventTimes
.
getLength
();
final
int
trailSize
=
mEventTimes
.
getLength
();
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment