summaryrefslogtreecommitdiffstats
path: root/tests/src/com/android/providers/downloads/FakeSystemFacade.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/com/android/providers/downloads/FakeSystemFacade.java')
-rw-r--r--tests/src/com/android/providers/downloads/FakeSystemFacade.java55
1 files changed, 36 insertions, 19 deletions
diff --git a/tests/src/com/android/providers/downloads/FakeSystemFacade.java b/tests/src/com/android/providers/downloads/FakeSystemFacade.java
index af5482e1..eaf5e43d 100644
--- a/tests/src/com/android/providers/downloads/FakeSystemFacade.java
+++ b/tests/src/com/android/providers/downloads/FakeSystemFacade.java
@@ -1,5 +1,9 @@
package com.android.providers.downloads;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
import android.content.Intent;
import android.content.pm.PackageManager.NameNotFoundException;
import android.net.ConnectivityManager;
@@ -7,16 +11,22 @@ import android.net.Network;
import android.net.NetworkInfo;
import android.net.NetworkInfo.DetailedState;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
+
public class FakeSystemFacade implements SystemFacade {
long mTimeMillis = 0;
- Network mActiveNetwork = null;
Integer mActiveNetworkType = ConnectivityManager.TYPE_WIFI;
boolean mIsRoaming = false;
boolean mIsMetered = false;
- Long mMaxBytesOverMobile = null;
- Long mRecommendedMaxBytesOverMobile = null;
+ long mMaxBytesOverMobile = Long.MAX_VALUE;
+ long mRecommendedMaxBytesOverMobile = Long.MAX_VALUE;
List<Intent> mBroadcastsSent = new ArrayList<Intent>();
boolean mCleartextTrafficPermitted = true;
private boolean mReturnActualTime = false;
@@ -26,8 +36,8 @@ public class FakeSystemFacade implements SystemFacade {
mActiveNetworkType = ConnectivityManager.TYPE_WIFI;
mIsRoaming = false;
mIsMetered = false;
- mMaxBytesOverMobile = null;
- mRecommendedMaxBytesOverMobile = null;
+ mMaxBytesOverMobile = Long.MAX_VALUE;
+ mRecommendedMaxBytesOverMobile = Long.MAX_VALUE;
mBroadcastsSent.clear();
mReturnActualTime = false;
}
@@ -46,37 +56,44 @@ public class FakeSystemFacade implements SystemFacade {
@Override
public Network getActiveNetwork(int uid) {
- return mActiveNetwork;
+ if (mActiveNetworkType == null) {
+ return null;
+ } else {
+ final Network network = mock(Network.class);
+ try {
+ when(network.openConnection(any())).then(new Answer<URLConnection>() {
+ @Override
+ public URLConnection answer(InvocationOnMock invocation) throws Throwable {
+ final URL url = (URL) invocation.getArguments()[0];
+ return url.openConnection();
+ }
+ });
+ } catch (IOException ignored) {
+ }
+ return network;
+ }
}
@Override
- public NetworkInfo getActiveNetworkInfo(int uid) {
+ public NetworkInfo getNetworkInfo(Network network) {
if (mActiveNetworkType == null) {
return null;
} else {
final NetworkInfo info = new NetworkInfo(mActiveNetworkType, 0, null, null);
info.setDetailedState(DetailedState.CONNECTED, null, null);
+ info.setRoaming(mIsRoaming);
+ info.setMetered(mIsMetered);
return info;
}
}
@Override
- public boolean isActiveNetworkMetered() {
- return mIsMetered;
- }
-
- @Override
- public boolean isNetworkRoaming() {
- return mIsRoaming;
- }
-
- @Override
- public Long getMaxBytesOverMobile() {
+ public long getMaxBytesOverMobile() {
return mMaxBytesOverMobile;
}
@Override
- public Long getRecommendedMaxBytesOverMobile() {
+ public long getRecommendedMaxBytesOverMobile() {
return mRecommendedMaxBytesOverMobile;
}