| Index: chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java
|
| index b7c134d46e2a60ac6ac9210c0d1b47f271e78aef..25d3986807cfecf3453c02a7bfd1941771ef6163 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java
|
| @@ -26,6 +26,7 @@ import javax.annotation.Nullable;
|
| class ContextualSearchPolicy {
|
| private static final Pattern CONTAINS_WHITESPACE_PATTERN = Pattern.compile("\\s");
|
| private static final int REMAINING_NOT_APPLICABLE = -1;
|
| + private static final int ONE_DAY_IN_MILLIS = 24 * 60 * 60 * 1000;
|
|
|
| private static ContextualSearchPolicy sInstance;
|
|
|
| @@ -269,6 +270,31 @@ class ContextualSearchPolicy {
|
| return !isUserUndecided();
|
| }
|
|
|
| + /**
|
| + * The search provider icon is animated every time on long press if the user has never opened
|
| + * the panel before and once a day on tap.
|
| + *
|
| + * @param selectionType The type of selection made by the user.
|
| + * @return Whether the search provider icon should be animated.
|
| + */
|
| + boolean shouldAnimateSearchProviderIcon(SelectionType selectionType) {
|
| + if (selectionType == SelectionType.TAP) {
|
| + long currentTimeMillis = System.currentTimeMillis();
|
| + long lastAnimatedTimeMillis =
|
| + mPreferenceManager.getContextualSearchLastAnimationOnTapTime();
|
| + if (Math.abs(currentTimeMillis - lastAnimatedTimeMillis) > ONE_DAY_IN_MILLIS) {
|
| + mPreferenceManager.setContextualSearchLastAnimationOnTapTime(currentTimeMillis);
|
| + return true;
|
| + } else {
|
| + return false;
|
| + }
|
| + } else if (selectionType == SelectionType.LONG_PRESS) {
|
| + return DisableablePromoTapCounter.getInstance(mPreferenceManager).isEnabled();
|
| + }
|
| +
|
| + return false;
|
| + }
|
| +
|
| // --------------------------------------------------------------------------------------------
|
| // Testing support.
|
| // --------------------------------------------------------------------------------------------
|
|
|