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

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

Issue 1337703002: [Contextual Search] Add support for crushed sprites and animate the search provider icon (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 3 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/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..70d23e0f83674563dfc645ac22dcbdd12c760dcd 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,38 @@ 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, except on ldpi devices.
+ *
+ * @param selectionType The type of selection made by the user.
+ * @param isShowing Whether the panel is showing.
+ * @param deviceDensity The logical density of the device's display.
+ * @return Whether the search provider icon should be animated.
+ */
+ boolean shouldAnimateSearchProviderIcon(SelectionType selectionType, boolean isShowing,
+ float deviceDensity) {
pedro (no code reviews) 2015/10/01 16:38:35 Nit: We could store the density from the context t
Theresa 2015/10/01 17:57:34 Done.
+ if (isShowing || deviceDensity < 1.f) {
+ return false;
+ }
+
+ if (selectionType == SelectionType.TAP) {
+ long currentTimeMillis = System.currentTimeMillis();
+ long lastAnimatedTimeMillis =
+ mPreferenceManager.getContextualSearchLastAnimationTime();
+ if (Math.abs(currentTimeMillis - lastAnimatedTimeMillis) > ONE_DAY_IN_MILLIS) {
+ mPreferenceManager.setContextualSearchLastAnimationTime(currentTimeMillis);
+ return true;
+ } else {
+ return false;
+ }
+ } else if (selectionType == SelectionType.LONG_PRESS) {
+ return DisableablePromoTapCounter.getInstance(mPreferenceManager).isEnabled();
+ }
+
+ return false;
+ }
+
// --------------------------------------------------------------------------------------------
// Testing support.
// --------------------------------------------------------------------------------------------

Powered by Google App Engine
This is Rietveld 408576698