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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java

Issue 914403006: [App banners] Start adding unit tets (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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/banners/AppBannerManager.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java b/chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java
index bd2b66db6e8ab7b1b4891b3b74a78017a93e460f..e07c7881f4e5e2b650d40dad626200dd7d007fef 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java
@@ -9,6 +9,7 @@ import android.text.TextUtils;
import org.chromium.base.ApplicationStatus;
import org.chromium.base.CalledByNative;
import org.chromium.base.JNINamespace;
+import org.chromium.base.VisibleForTesting;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.EmptyTabObserver;
import org.chromium.chrome.browser.Tab;
@@ -32,6 +33,9 @@ public class AppBannerManager extends EmptyTabObserver {
/** Retrieves information about a given package. */
private static AppDetailsDelegate sAppDetailsDelegate;
+ /** Whether the banners are enabled. */
+ private static Boolean sIsEnabled;
+
/** Pointer to the native side AppBannerManager. */
private final long mNativePointer;
@@ -43,7 +47,8 @@ public class AppBannerManager extends EmptyTabObserver {
* @return True if banners are enabled, false otherwise.
*/
public static boolean isEnabled() {
- return nativeIsEnabled();
+ if (sIsEnabled == null) sIsEnabled = nativeIsEnabled();
+ return sIsEnabled;
}
/**
@@ -129,6 +134,24 @@ public class AppBannerManager extends EmptyTabObserver {
};
}
+ /** Enables the app banners for testing. */
+ @VisibleForTesting
+ static void setIsEnabledForTesting() {
+ sIsEnabled = true;
+ }
+
+ /** Sets a constant that gets added to the time when the current time is requested. */
Ted C 2015/02/17 18:12:20 I would add (in days) somewhere in the comment.
gone 2015/02/17 19:14:42 Done.
+ @VisibleForTesting
+ static void setTimeDeltaForTesting(int days) {
+ nativeSetTimeDeltaForTesting(days);
+ }
+
+ /** Records how many native BitmapFetchers are actively retrieving app icons. */
+ @VisibleForTesting
+ public int getNumActiveFetchersForTesting() {
+ return nativeGetNumActiveFetchers(mNativePointer);
+ }
+
private static native boolean nativeIsEnabled();
private native long nativeInit();
private native void nativeDestroy(long nativeAppBannerManager);
@@ -137,6 +160,10 @@ public class AppBannerManager extends EmptyTabObserver {
private native boolean nativeOnAppDetailsRetrieved(long nativeAppBannerManager, AppData data,
String title, String packageName, String imageUrl);
+ // Testing methods.
+ private static native void nativeSetTimeDeltaForTesting(int days);
+ private native int nativeGetNumActiveFetchers(long nativeAppBannerManager);
+
// UMA tracking.
private static native void nativeRecordDismissEvent(int metric);
private static native void nativeRecordInstallEvent(int metric);

Powered by Google App Engine
This is Rietveld 408576698