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
d7b00f34
Commit
d7b00f34
authored
13 years ago
by
Tadashi G. Takaoka
Browse files
Options
Downloads
Patches
Plain Diff
The back button key event is delivered correctly
Bug: 5275063 Change-Id: I439ce18665e40dc8b2e40e923e5cabfcae7c81cf
parent
a35ea4cb
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
java/src/com/android/inputmethod/latin/MoreSuggestionsView.java
+1
-9
1 addition, 9 deletions
...rc/com/android/inputmethod/latin/MoreSuggestionsView.java
java/src/com/android/inputmethod/latin/SuggestionsView.java
+28
-7
28 additions, 7 deletions
java/src/com/android/inputmethod/latin/SuggestionsView.java
with
29 additions
and
16 deletions
java/src/com/android/inputmethod/latin/MoreSuggestionsView.java
+
1
−
9
View file @
d7b00f34
...
...
@@ -145,13 +145,6 @@ public class MoreSuggestionsView extends KeyboardView implements MoreKeysPanel {
// Nothing to do with.
}
private
final
View
.
OnTouchListener
mMotionEventDelegate
=
new
View
.
OnTouchListener
()
{
@Override
public
boolean
onTouch
(
View
view
,
MotionEvent
me
)
{
return
MoreSuggestionsView
.
this
.
dispatchTouchEvent
(
me
);
}
};
@Override
public
void
showMoreKeysPanel
(
View
parentView
,
Controller
controller
,
int
pointX
,
int
pointY
,
PopupWindow
window
,
KeyboardActionListener
listener
)
{
...
...
@@ -170,9 +163,7 @@ public class MoreSuggestionsView extends KeyboardView implements MoreKeysPanel {
-
(
container
.
getMeasuredHeight
()
-
container
.
getPaddingBottom
())
+
parentView
.
getPaddingTop
()
+
mCoordinates
[
1
];
container
.
setOnTouchListener
(
mMotionEventDelegate
);
window
.
setInputMethodMode
(
PopupWindow
.
INPUT_METHOD_NOT_NEEDED
);
window
.
setFocusable
(
true
);
window
.
setOutsideTouchable
(
true
);
window
.
setContentView
(
container
);
window
.
setWidth
(
container
.
getMeasuredWidth
());
...
...
@@ -193,6 +184,7 @@ public class MoreSuggestionsView extends KeyboardView implements MoreKeysPanel {
@Override
public
boolean
dismissMoreKeysPanel
()
{
if
(
mController
==
null
)
return
false
;
return
mController
.
dismissMoreKeysPanel
();
}
...
...
This diff is collapsed.
Click to expand it.
java/src/com/android/inputmethod/latin/SuggestionsView.java
+
28
−
7
View file @
d7b00f34
...
...
@@ -549,6 +549,21 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener,
R
.
dimen
.
more_suggestions_modal_tolerance
);
}
private
final
View
.
OnTouchListener
mMoreSuggestionsCanceller
=
new
View
.
OnTouchListener
()
{
@Override
public
boolean
onTouch
(
View
view
,
MotionEvent
me
)
{
if
(!
mMoreSuggestionsWindow
.
isShowing
())
return
false
;
switch
(
me
.
getAction
())
{
case
MotionEvent
.
ACTION_UP
:
case
MotionEvent
.
ACTION_POINTER_UP
:
return
mMoreSuggestionsView
.
dismissMoreKeysPanel
();
default
:
return
true
;
}
}
};
/**
* A connection back to the input method.
* @param listener
...
...
@@ -764,6 +779,7 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener,
if
(
mMoreSuggestionsWindow
.
isShowing
())
{
mMoreSuggestionsWindow
.
dismiss
();
mKeyboardView
.
dimEntireKeyboard
(
false
);
mKeyboardView
.
setOnTouchListener
(
null
);
return
true
;
}
return
false
;
...
...
@@ -795,18 +811,22 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener,
moreKeysPanel
.
showMoreKeysPanel
(
this
,
mMoreSuggestionsController
,
pointX
,
pointY
,
mMoreSuggestionsWindow
,
mMoreSuggestionsListener
);
m
CheckingIfModalOrSlidingMode
=
true
;
m
MoreSuggestionsMode
=
MORE_SUGGESTIONS_CHECKING_MODAL_OR_SLIDING
;
mOriginX
=
mLastX
;
mOriginY
=
mLastY
;
view
.
setPressed
(
false
);
mKeyboardView
.
dimEntireKeyboard
(
true
);
mKeyboardView
.
setOnTouchListener
(
mMoreSuggestionsCanceller
);
return
true
;
}
return
false
;
}
// Working variables for onLongClick and dispatchTouchEvent.
private
boolean
mCheckingIfModalOrSlidingMode
;
private
int
mMoreSuggestionsMode
=
MORE_SUGGESTIONS_IN_MODAL_MODE
;
private
static
final
int
MORE_SUGGESTIONS_IN_MODAL_MODE
=
0
;
private
static
final
int
MORE_SUGGESTIONS_CHECKING_MODAL_OR_SLIDING
=
1
;
private
static
final
int
MORE_SUGGESTIONS_IN_SLIDING_MODE
=
2
;
private
int
mLastX
;
private
int
mLastY
;
private
int
mOriginX
;
...
...
@@ -815,7 +835,8 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener,
@Override
public
boolean
dispatchTouchEvent
(
MotionEvent
me
)
{
if
(!
mMoreSuggestionsWindow
.
isShowing
())
{
if
(!
mMoreSuggestionsWindow
.
isShowing
()
||
mMoreSuggestionsMode
==
MORE_SUGGESTIONS_IN_MODAL_MODE
)
{
mLastX
=
(
int
)
me
.
getX
();
mLastY
=
(
int
)
me
.
getY
();
return
super
.
dispatchTouchEvent
(
me
);
...
...
@@ -832,22 +853,22 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener,
final
int
translatedX
=
moreKeysPanel
.
translateX
(
x
);
final
int
translatedY
=
moreKeysPanel
.
translateY
(
y
);
if
(
m
CheckingIfModalOrSlidingMode
)
{
if
(
m
MoreSuggestionsMode
==
MORE_SUGGESTIONS_CHECKING_MODAL_OR_SLIDING
)
{
if
(
Math
.
abs
(
x
-
mOriginX
)
>=
mMoreSuggestionsModalTolerance
||
mOriginY
-
y
>=
mMoreSuggestionsModalTolerance
)
{
// Decided to be in the sliding input mode only when the touch point has been moved
// upward.
m
CheckingIfModalOrSlidingMode
=
false
;
m
MoreSuggestionsMode
=
MORE_SUGGESTIONS_IN_SLIDING_MODE
;
tracker
.
onShowMoreKeysPanel
(
translatedX
,
translatedY
,
SystemClock
.
uptimeMillis
(),
moreKeysPanel
);
}
else
if
(
action
==
MotionEvent
.
ACTION_UP
||
action
==
MotionEvent
.
ACTION_POINTER_UP
)
{
// Decided to be in the modal input mode
m
CheckingIfModalOrSlidingMode
=
false
;
m
MoreSuggestionsMode
=
MORE_SUGGESTIONS_IN_MODAL_MODE
;
}
return
true
;
}
//
Process sliding motion events
//
MORE_SUGGESTIONS_IN_SLIDING_MODE
tracker
.
processMotionEvent
(
action
,
translatedX
,
translatedY
,
eventTime
,
moreKeysPanel
);
return
true
;
}
...
...
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