Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2959)

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchInternalStateControllerWrapper.java

Issue 2703473002: [TTS] Extract tapped text before showing UI. (Closed)
Patch Set: Moved handleHideContextualSearch into hideContextualSearchUI, and updated comments in response to T… Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchInternalStateControllerWrapper.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchInternalStateControllerWrapper.java b/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchInternalStateControllerWrapper.java
new file mode 100644
index 0000000000000000000000000000000000000000..fb26d2c9937d0e66b34001d92f40f3decf254c57
--- /dev/null
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchInternalStateControllerWrapper.java
@@ -0,0 +1,77 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.contextualsearch;
+
+import org.chromium.base.CollectionUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Wraps the {@link ContextualSearchInternalStateController} and adds some simple instrumentation
+ * for testing.
+ */
+class ContextualSearchInternalStateControllerWrapper
+ extends ContextualSearchInternalStateController {
+ static final List<InternalState> EXPECTED_TAP_RESOLVE_SEQUENCE =
+ CollectionUtil.newArrayList(InternalState.SELECTION_CLEARED_RECOGNIZED,
+ InternalState.TAP_RECOGNIZED, InternalState.GATHERING_SURROUNDINGS,
+ InternalState.DECIDING_SUPPRESSION, InternalState.START_SHOWING_TAP_UI,
+ InternalState.SHOW_FULL_TAP_UI, InternalState.RESOLVING);
+ static final List<InternalState> EXPECTED_LONGPRESS_SEQUENCE =
+ CollectionUtil.newArrayList(InternalState.LONG_PRESS_RECOGNIZED,
+ InternalState.GATHERING_SURROUNDINGS, InternalState.SHOWING_LONGPRESS_SEARCH);
+
+ private List<InternalState> mStartedStates = new ArrayList<InternalState>();
+ private List<InternalState> mFinishedStates = new ArrayList<InternalState>();
+
+ /**
+ * Creates a wrapper around a {@link ContextualSearchInternalStateController} with the given
+ * parameters.
+ * @param policy The {@link ContextualSearchPolicy} to construct the controller with.
+ * @param handler The {@link ContextualSearchInternalStateHandler} to use for state transitions.
+ */
+ private ContextualSearchInternalStateControllerWrapper(
+ ContextualSearchPolicy policy, ContextualSearchInternalStateHandler handler) {
+ super(policy, handler);
+ }
+
+ @Override
+ void notifyStartingWorkOn(InternalState state) {
+ mStartedStates.add(state);
+ super.notifyStartingWorkOn(state);
+ }
+
+ @Override
+ void notifyFinishedWorkOn(InternalState state) {
+ mFinishedStates.add(state);
+ super.notifyFinishedWorkOn(state);
+ }
+
+ /**
+ * @return A {@link List} of all states that were started.
+ */
+ List<InternalState> getStartedStates() {
+ return mStartedStates;
+ }
+
+ /**
+ * @return A {@link List} of all states that were finished.
+ */
+ List<InternalState> getFinishedStates() {
+ return mFinishedStates;
+ }
+
+ /**
+ * @return A wrapper for a new {@link ContextualSearchInternalStateHandler} created using
+ * parameters from the given manager.
+ */
+ static ContextualSearchInternalStateControllerWrapper makeNewInternalStateControllerWrapper(
+ ContextualSearchManager manager) {
+ return new ContextualSearchInternalStateControllerWrapper(
+ manager.getContextualSearchPolicy(),
+ manager.getContextualSearchInternalStateHandler());
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698