From 35b3057627387102496b647c90740af4dd6b833d Mon Sep 17 00:00:00 2001 From: Jan Althaus Date: Sat, 7 Apr 2018 09:37:36 +0200 Subject: [PATCH] Fixing broken logging of OTHER events This bug means we never received logs for events like 'Web Search' Bug: 77659305 Test: atest FrameworksCoreTests:SelectionEventTest Change-Id: I6f79897f548d0d19710578e309e0b645bb78e1e3 --- .../view/textclassifier/SelectionEvent.java | 3 ++- .../textclassifier/SelectionEventTest.java | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/core/java/android/view/textclassifier/SelectionEvent.java b/core/java/android/view/textclassifier/SelectionEvent.java index 1e978ccf53900..fc0cd8584a47c 100644 --- a/core/java/android/view/textclassifier/SelectionEvent.java +++ b/core/java/android/view/textclassifier/SelectionEvent.java @@ -362,6 +362,7 @@ public final class SelectionEvent implements Parcelable { case SelectionEvent.ACTION_ABANDON: // fall through case SelectionEvent.ACTION_SELECT_ALL: // fall through case SelectionEvent.ACTION_RESET: // fall through + case SelectionEvent.ACTION_OTHER: // fall through return; default: throw new IllegalArgumentException( @@ -667,4 +668,4 @@ public final class SelectionEvent implements Parcelable { return new SelectionEvent[size]; } }; -} \ No newline at end of file +} diff --git a/core/tests/coretests/src/android/view/textclassifier/SelectionEventTest.java b/core/tests/coretests/src/android/view/textclassifier/SelectionEventTest.java index 861a43ad346b6..a2592f65b88ab 100644 --- a/core/tests/coretests/src/android/view/textclassifier/SelectionEventTest.java +++ b/core/tests/coretests/src/android/view/textclassifier/SelectionEventTest.java @@ -30,6 +30,31 @@ import org.junit.runner.RunWith; @RunWith(AndroidJUnit4.class) public class SelectionEventTest { + @Test + public void testCreateSelectionActionEvent_valid() { + SelectionEvent.createSelectionActionEvent(0, 1, SelectionEvent.ACTION_OVERTYPE); + SelectionEvent.createSelectionActionEvent(0, 1, SelectionEvent.ACTION_COPY); + SelectionEvent.createSelectionActionEvent(0, 1, SelectionEvent.ACTION_PASTE); + SelectionEvent.createSelectionActionEvent(0, 1, SelectionEvent.ACTION_CUT); + SelectionEvent.createSelectionActionEvent(0, 1, SelectionEvent.ACTION_SHARE); + SelectionEvent.createSelectionActionEvent(0, 1, SelectionEvent.ACTION_SMART_SHARE); + SelectionEvent.createSelectionActionEvent(0, 1, SelectionEvent.ACTION_DRAG); + SelectionEvent.createSelectionActionEvent(0, 1, SelectionEvent.ACTION_ABANDON); + SelectionEvent.createSelectionActionEvent(0, 1, SelectionEvent.ACTION_OTHER); + SelectionEvent.createSelectionActionEvent(0, 1, SelectionEvent.ACTION_SELECT_ALL); + SelectionEvent.createSelectionActionEvent(0, 1, SelectionEvent.ACTION_RESET); + } + + @Test(expected = IllegalArgumentException.class) + public void testCreateSelectionActionEvent_badRange() { + SelectionEvent.createSelectionActionEvent(0, -1, SelectionEvent.ACTION_OVERTYPE); + } + + @Test(expected = IllegalArgumentException.class) + public void testCreateSelectionActionEvent_badAction() { + SelectionEvent.createSelectionActionEvent(0, 1, SelectionEvent.EVENT_SELECTION_STARTED); + } + @Test public void testParcel() { final SelectionEvent[] captured = new SelectionEvent[1];