Commit daf34b45 authored by ajith.v's avatar ajith.v Committed by Commit bot

Ensuring BACK key is getting passed to IMM before handling by Omnibox

Currently IMM is not getting BACK key event correctly, hence the IMM
behavior on back key is not getting executed. Now made it sure that
IMM will get the key event first before reaching to view.

BUG=470001

Review-Url: https://codereview.chromium.org/2108333003
Cr-Commit-Position: refs/heads/master@{#403221}
parent 522575f8
...@@ -23,6 +23,7 @@ import android.view.GestureDetector; ...@@ -23,6 +23,7 @@ import android.view.GestureDetector;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.view.View.OnKeyListener;
import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager; import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityNodeInfo; import android.view.accessibility.AccessibilityNodeInfo;
...@@ -51,7 +52,7 @@ import java.net.URL; ...@@ -51,7 +52,7 @@ import java.net.URL;
/** /**
* The URL text entry view for the Omnibox. * The URL text entry view for the Omnibox.
*/ */
public class UrlBar extends VerticallyFixedEditText { public class UrlBar extends VerticallyFixedEditText implements OnKeyListener {
private static final String TAG = "UrlBar"; private static final String TAG = "UrlBar";
// TextView becomes very slow on long strings, so we limit maximum length // TextView becomes very slow on long strings, so we limit maximum length
...@@ -224,6 +225,7 @@ public class UrlBar extends VerticallyFixedEditText { ...@@ -224,6 +225,7 @@ public class UrlBar extends VerticallyFixedEditText {
mAccessibilityManager = mAccessibilityManager =
(AccessibilityManager) context.getSystemService(Context.ACCESSIBILITY_SERVICE); (AccessibilityManager) context.getSystemService(Context.ACCESSIBILITY_SERVICE);
setOnKeyListener(this);
} }
/** /**
...@@ -507,10 +509,9 @@ public class UrlBar extends VerticallyFixedEditText { ...@@ -507,10 +509,9 @@ public class UrlBar extends VerticallyFixedEditText {
} }
@Override @Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) { public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) { if (keyCode == KeyEvent.KEYCODE_BACK) {
if (event.getAction() == KeyEvent.ACTION_DOWN if (event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0) {
&& event.getRepeatCount() == 0) {
// Tell the framework to start tracking this event. // Tell the framework to start tracking this event.
getKeyDispatcherState().startTracking(event, this); getKeyDispatcherState().startTracking(event, this);
return true; return true;
...@@ -522,7 +523,7 @@ public class UrlBar extends VerticallyFixedEditText { ...@@ -522,7 +523,7 @@ public class UrlBar extends VerticallyFixedEditText {
} }
} }
} }
return super.onKeyPreIme(keyCode, event); return false;
} }
@Override @Override
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment