Index: chrome/android/java/src/org/chromium/chrome/browser/physicalweb/UrlManager.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/UrlManager.java b/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/UrlManager.java |
index 45924a7f66a3fb2697139fb5dd3efa85d86f0691..683234c934e1410ad3ce1c9610d06ded597c8343 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/UrlManager.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/UrlManager.java |
@@ -5,6 +5,7 @@ |
package org.chromium.chrome.browser.physicalweb; |
import android.app.Notification; |
+import android.app.NotificationManager; |
import android.app.PendingIntent; |
import android.content.Context; |
import android.content.Intent; |
@@ -14,11 +15,13 @@ import android.graphics.Bitmap; |
import android.graphics.BitmapFactory; |
import android.os.SystemClock; |
import android.support.v4.app.NotificationCompat; |
-import android.support.v4.app.NotificationManagerCompat; |
import org.chromium.base.Log; |
+import org.chromium.base.VisibleForTesting; |
import org.chromium.chrome.R; |
import org.chromium.chrome.browser.notifications.NotificationConstants; |
+import org.chromium.chrome.browser.notifications.NotificationManagerProxy; |
+import org.chromium.chrome.browser.notifications.NotificationManagerProxyImpl; |
import java.util.Arrays; |
import java.util.Collection; |
@@ -48,8 +51,8 @@ class UrlManager { |
private static final int PREFS_VERSION = 2; |
private static UrlManager sInstance = null; |
private final Context mContext; |
- private final NotificationManagerCompat mNotificationManager; |
- private final PwsClient mPwsClient; |
+ private NotificationManagerProxy mNotificationManager; |
+ private PwsClient mPwsClient; |
/** |
* Construct the UrlManager. |
@@ -57,8 +60,9 @@ class UrlManager { |
*/ |
public UrlManager(Context context) { |
mContext = context; |
- mNotificationManager = NotificationManagerCompat.from(context); |
- mPwsClient = new PwsClient(); |
+ mNotificationManager = new NotificationManagerProxyImpl( |
+ (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE)); |
+ mPwsClient = new PwsClientImpl(); |
initSharedPreferences(); |
} |
@@ -79,6 +83,7 @@ class UrlManager { |
* This method additionally updates the Physical Web notification. |
* @param url The URL to add. |
*/ |
+ @VisibleForTesting |
public void addUrl(String url) { |
Log.d(TAG, "URL found: " + url); |
boolean isOnboarding = PhysicalWeb.isOnboarding(mContext); |
@@ -342,4 +347,15 @@ class UrlManager { |
private void clearNotification() { |
mNotificationManager.cancel(NotificationConstants.NOTIFICATION_ID_PHYSICAL_WEB); |
} |
+ |
+ @VisibleForTesting |
+ void overridePwsClientForTesting(PwsClient pwsClient) { |
+ mPwsClient = pwsClient; |
+ } |
+ |
+ @VisibleForTesting |
+ void overrideNotificationManagerForTesting( |
+ NotificationManagerProxy notificationManager) { |
+ mNotificationManager = notificationManager; |
+ } |
} |