Merge "Remove underlying network caps" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
c52419c68a
@@ -166,9 +166,6 @@ public final class VcnGatewayConnectionConfig {
|
|||||||
private static final String EXPOSED_CAPABILITIES_KEY = "mExposedCapabilities";
|
private static final String EXPOSED_CAPABILITIES_KEY = "mExposedCapabilities";
|
||||||
@NonNull private final SortedSet<Integer> mExposedCapabilities;
|
@NonNull private final SortedSet<Integer> mExposedCapabilities;
|
||||||
|
|
||||||
private static final String UNDERLYING_CAPABILITIES_KEY = "mUnderlyingCapabilities";
|
|
||||||
@NonNull private final SortedSet<Integer> mUnderlyingCapabilities;
|
|
||||||
|
|
||||||
private static final String MAX_MTU_KEY = "mMaxMtu";
|
private static final String MAX_MTU_KEY = "mMaxMtu";
|
||||||
private final int mMaxMtu;
|
private final int mMaxMtu;
|
||||||
|
|
||||||
@@ -180,13 +177,11 @@ public final class VcnGatewayConnectionConfig {
|
|||||||
@NonNull String gatewayConnectionName,
|
@NonNull String gatewayConnectionName,
|
||||||
@NonNull IkeTunnelConnectionParams tunnelConnectionParams,
|
@NonNull IkeTunnelConnectionParams tunnelConnectionParams,
|
||||||
@NonNull Set<Integer> exposedCapabilities,
|
@NonNull Set<Integer> exposedCapabilities,
|
||||||
@NonNull Set<Integer> underlyingCapabilities,
|
|
||||||
@NonNull long[] retryIntervalsMs,
|
@NonNull long[] retryIntervalsMs,
|
||||||
@IntRange(from = MIN_MTU_V6) int maxMtu) {
|
@IntRange(from = MIN_MTU_V6) int maxMtu) {
|
||||||
mGatewayConnectionName = gatewayConnectionName;
|
mGatewayConnectionName = gatewayConnectionName;
|
||||||
mTunnelConnectionParams = tunnelConnectionParams;
|
mTunnelConnectionParams = tunnelConnectionParams;
|
||||||
mExposedCapabilities = new TreeSet(exposedCapabilities);
|
mExposedCapabilities = new TreeSet(exposedCapabilities);
|
||||||
mUnderlyingCapabilities = new TreeSet(underlyingCapabilities);
|
|
||||||
mRetryIntervalsMs = retryIntervalsMs;
|
mRetryIntervalsMs = retryIntervalsMs;
|
||||||
mMaxMtu = maxMtu;
|
mMaxMtu = maxMtu;
|
||||||
|
|
||||||
@@ -203,16 +198,12 @@ public final class VcnGatewayConnectionConfig {
|
|||||||
|
|
||||||
final PersistableBundle exposedCapsBundle =
|
final PersistableBundle exposedCapsBundle =
|
||||||
in.getPersistableBundle(EXPOSED_CAPABILITIES_KEY);
|
in.getPersistableBundle(EXPOSED_CAPABILITIES_KEY);
|
||||||
final PersistableBundle underlyingCapsBundle =
|
|
||||||
in.getPersistableBundle(UNDERLYING_CAPABILITIES_KEY);
|
|
||||||
|
|
||||||
mGatewayConnectionName = in.getString(GATEWAY_CONNECTION_NAME_KEY);
|
mGatewayConnectionName = in.getString(GATEWAY_CONNECTION_NAME_KEY);
|
||||||
mTunnelConnectionParams =
|
mTunnelConnectionParams =
|
||||||
TunnelConnectionParamsUtils.fromPersistableBundle(tunnelConnectionParamsBundle);
|
TunnelConnectionParamsUtils.fromPersistableBundle(tunnelConnectionParamsBundle);
|
||||||
mExposedCapabilities = new TreeSet<>(PersistableBundleUtils.toList(
|
mExposedCapabilities = new TreeSet<>(PersistableBundleUtils.toList(
|
||||||
exposedCapsBundle, PersistableBundleUtils.INTEGER_DESERIALIZER));
|
exposedCapsBundle, PersistableBundleUtils.INTEGER_DESERIALIZER));
|
||||||
mUnderlyingCapabilities = new TreeSet<>(PersistableBundleUtils.toList(
|
|
||||||
underlyingCapsBundle, PersistableBundleUtils.INTEGER_DESERIALIZER));
|
|
||||||
mRetryIntervalsMs = in.getLongArray(RETRY_INTERVAL_MS_KEY);
|
mRetryIntervalsMs = in.getLongArray(RETRY_INTERVAL_MS_KEY);
|
||||||
mMaxMtu = in.getInt(MAX_MTU_KEY);
|
mMaxMtu = in.getInt(MAX_MTU_KEY);
|
||||||
|
|
||||||
@@ -311,36 +302,6 @@ public final class VcnGatewayConnectionConfig {
|
|||||||
return Collections.unmodifiableSet(mExposedCapabilities);
|
return Collections.unmodifiableSet(mExposedCapabilities);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns all capabilities required of underlying networks.
|
|
||||||
*
|
|
||||||
* <p>The returned integer-value capabilities will be sorted in ascending numerical order.
|
|
||||||
*
|
|
||||||
* @see Builder#addRequiredUnderlyingCapability(int)
|
|
||||||
* @see Builder#removeRequiredUnderlyingCapability(int)
|
|
||||||
* @hide
|
|
||||||
*/
|
|
||||||
// TODO(b/182219992): Remove, and add when per-transport capabilities are supported
|
|
||||||
@NonNull
|
|
||||||
public int[] getRequiredUnderlyingCapabilities() {
|
|
||||||
// Sorted set guarantees ordering
|
|
||||||
return ArrayUtils.convertToIntArray(new ArrayList<>(mUnderlyingCapabilities));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns all capabilities required of underlying networks.
|
|
||||||
*
|
|
||||||
* <p>Left to prevent the need to make major changes while changes are actively in flight.
|
|
||||||
*
|
|
||||||
* @deprecated use getRequiredUnderlyingCapabilities() instead
|
|
||||||
* @hide
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@NonNull
|
|
||||||
public Set<Integer> getAllUnderlyingCapabilities() {
|
|
||||||
return Collections.unmodifiableSet(mUnderlyingCapabilities);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves the configured retry intervals.
|
* Retrieves the configured retry intervals.
|
||||||
*
|
*
|
||||||
@@ -377,15 +338,10 @@ public final class VcnGatewayConnectionConfig {
|
|||||||
PersistableBundleUtils.fromList(
|
PersistableBundleUtils.fromList(
|
||||||
new ArrayList<>(mExposedCapabilities),
|
new ArrayList<>(mExposedCapabilities),
|
||||||
PersistableBundleUtils.INTEGER_SERIALIZER);
|
PersistableBundleUtils.INTEGER_SERIALIZER);
|
||||||
final PersistableBundle underlyingCapsBundle =
|
|
||||||
PersistableBundleUtils.fromList(
|
|
||||||
new ArrayList<>(mUnderlyingCapabilities),
|
|
||||||
PersistableBundleUtils.INTEGER_SERIALIZER);
|
|
||||||
|
|
||||||
result.putString(GATEWAY_CONNECTION_NAME_KEY, mGatewayConnectionName);
|
result.putString(GATEWAY_CONNECTION_NAME_KEY, mGatewayConnectionName);
|
||||||
result.putPersistableBundle(TUNNEL_CONNECTION_PARAMS_KEY, tunnelConnectionParamsBundle);
|
result.putPersistableBundle(TUNNEL_CONNECTION_PARAMS_KEY, tunnelConnectionParamsBundle);
|
||||||
result.putPersistableBundle(EXPOSED_CAPABILITIES_KEY, exposedCapsBundle);
|
result.putPersistableBundle(EXPOSED_CAPABILITIES_KEY, exposedCapsBundle);
|
||||||
result.putPersistableBundle(UNDERLYING_CAPABILITIES_KEY, underlyingCapsBundle);
|
|
||||||
result.putLongArray(RETRY_INTERVAL_MS_KEY, mRetryIntervalsMs);
|
result.putLongArray(RETRY_INTERVAL_MS_KEY, mRetryIntervalsMs);
|
||||||
result.putInt(MAX_MTU_KEY, mMaxMtu);
|
result.putInt(MAX_MTU_KEY, mMaxMtu);
|
||||||
|
|
||||||
@@ -397,7 +353,6 @@ public final class VcnGatewayConnectionConfig {
|
|||||||
return Objects.hash(
|
return Objects.hash(
|
||||||
mGatewayConnectionName,
|
mGatewayConnectionName,
|
||||||
mExposedCapabilities,
|
mExposedCapabilities,
|
||||||
mUnderlyingCapabilities,
|
|
||||||
Arrays.hashCode(mRetryIntervalsMs),
|
Arrays.hashCode(mRetryIntervalsMs),
|
||||||
mMaxMtu);
|
mMaxMtu);
|
||||||
}
|
}
|
||||||
@@ -411,7 +366,6 @@ public final class VcnGatewayConnectionConfig {
|
|||||||
final VcnGatewayConnectionConfig rhs = (VcnGatewayConnectionConfig) other;
|
final VcnGatewayConnectionConfig rhs = (VcnGatewayConnectionConfig) other;
|
||||||
return mGatewayConnectionName.equals(rhs.mGatewayConnectionName)
|
return mGatewayConnectionName.equals(rhs.mGatewayConnectionName)
|
||||||
&& mExposedCapabilities.equals(rhs.mExposedCapabilities)
|
&& mExposedCapabilities.equals(rhs.mExposedCapabilities)
|
||||||
&& mUnderlyingCapabilities.equals(rhs.mUnderlyingCapabilities)
|
|
||||||
&& Arrays.equals(mRetryIntervalsMs, rhs.mRetryIntervalsMs)
|
&& Arrays.equals(mRetryIntervalsMs, rhs.mRetryIntervalsMs)
|
||||||
&& mMaxMtu == rhs.mMaxMtu;
|
&& mMaxMtu == rhs.mMaxMtu;
|
||||||
}
|
}
|
||||||
@@ -423,7 +377,6 @@ public final class VcnGatewayConnectionConfig {
|
|||||||
@NonNull private final String mGatewayConnectionName;
|
@NonNull private final String mGatewayConnectionName;
|
||||||
@NonNull private final IkeTunnelConnectionParams mTunnelConnectionParams;
|
@NonNull private final IkeTunnelConnectionParams mTunnelConnectionParams;
|
||||||
@NonNull private final Set<Integer> mExposedCapabilities = new ArraySet();
|
@NonNull private final Set<Integer> mExposedCapabilities = new ArraySet();
|
||||||
@NonNull private final Set<Integer> mUnderlyingCapabilities = new ArraySet();
|
|
||||||
@NonNull private long[] mRetryIntervalsMs = DEFAULT_RETRY_INTERVALS_MS;
|
@NonNull private long[] mRetryIntervalsMs = DEFAULT_RETRY_INTERVALS_MS;
|
||||||
private int mMaxMtu = DEFAULT_MAX_MTU;
|
private int mMaxMtu = DEFAULT_MAX_MTU;
|
||||||
|
|
||||||
@@ -494,51 +447,6 @@ public final class VcnGatewayConnectionConfig {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Require a capability for Networks underlying this VCN Gateway Connection.
|
|
||||||
*
|
|
||||||
* @param underlyingCapability the capability that a network MUST have in order to be an
|
|
||||||
* underlying network for this VCN Gateway Connection.
|
|
||||||
* @return this {@link Builder} instance, for chaining
|
|
||||||
* @see VcnGatewayConnectionConfig for a list of capabilities may be required of underlying
|
|
||||||
* networks
|
|
||||||
* @hide
|
|
||||||
*/
|
|
||||||
// TODO(b/182219992): Remove, and add when per-transport capabilities are supported
|
|
||||||
@NonNull
|
|
||||||
public Builder addRequiredUnderlyingCapability(
|
|
||||||
@VcnSupportedCapability int underlyingCapability) {
|
|
||||||
checkValidCapability(underlyingCapability);
|
|
||||||
|
|
||||||
mUnderlyingCapabilities.add(underlyingCapability);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove a requirement of a capability for Networks underlying this VCN Gateway Connection.
|
|
||||||
*
|
|
||||||
* <p>Calling this method will allow Networks that do NOT have this capability to be
|
|
||||||
* selected as an underlying network for this VCN Gateway Connection. However, underlying
|
|
||||||
* networks MAY still have the removed capability.
|
|
||||||
*
|
|
||||||
* @param underlyingCapability the capability that a network DOES NOT need to have in order
|
|
||||||
* to be an underlying network for this VCN Gateway Connection.
|
|
||||||
* @return this {@link Builder} instance, for chaining
|
|
||||||
* @see VcnGatewayConnectionConfig for a list of capabilities may be required of underlying
|
|
||||||
* networks
|
|
||||||
* @hide
|
|
||||||
*/
|
|
||||||
// TODO(b/182219992): Remove, and add when per-transport capabilities are supported
|
|
||||||
@NonNull
|
|
||||||
@SuppressLint("BuilderSetStyle") // For consistency with NetCaps.Builder add/removeCap
|
|
||||||
public Builder removeRequiredUnderlyingCapability(
|
|
||||||
@VcnSupportedCapability int underlyingCapability) {
|
|
||||||
checkValidCapability(underlyingCapability);
|
|
||||||
|
|
||||||
mUnderlyingCapabilities.remove(underlyingCapability);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the retry interval between VCN establishment attempts upon successive failures.
|
* Set the retry interval between VCN establishment attempts upon successive failures.
|
||||||
*
|
*
|
||||||
@@ -603,7 +511,6 @@ public final class VcnGatewayConnectionConfig {
|
|||||||
mGatewayConnectionName,
|
mGatewayConnectionName,
|
||||||
mTunnelConnectionParams,
|
mTunnelConnectionParams,
|
||||||
mExposedCapabilities,
|
mExposedCapabilities,
|
||||||
mUnderlyingCapabilities,
|
|
||||||
mRetryIntervalsMs,
|
mRetryIntervalsMs,
|
||||||
mMaxMtu);
|
mMaxMtu);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -122,7 +122,6 @@ public class UnderlyingNetworkTracker {
|
|||||||
|
|
||||||
@NonNull private final VcnContext mVcnContext;
|
@NonNull private final VcnContext mVcnContext;
|
||||||
@NonNull private final ParcelUuid mSubscriptionGroup;
|
@NonNull private final ParcelUuid mSubscriptionGroup;
|
||||||
@NonNull private final Set<Integer> mRequiredUnderlyingNetworkCapabilities;
|
|
||||||
@NonNull private final UnderlyingNetworkTrackerCallback mCb;
|
@NonNull private final UnderlyingNetworkTrackerCallback mCb;
|
||||||
@NonNull private final Dependencies mDeps;
|
@NonNull private final Dependencies mDeps;
|
||||||
@NonNull private final Handler mHandler;
|
@NonNull private final Handler mHandler;
|
||||||
@@ -147,13 +146,11 @@ public class UnderlyingNetworkTracker {
|
|||||||
@NonNull VcnContext vcnContext,
|
@NonNull VcnContext vcnContext,
|
||||||
@NonNull ParcelUuid subscriptionGroup,
|
@NonNull ParcelUuid subscriptionGroup,
|
||||||
@NonNull TelephonySubscriptionSnapshot snapshot,
|
@NonNull TelephonySubscriptionSnapshot snapshot,
|
||||||
@NonNull Set<Integer> requiredUnderlyingNetworkCapabilities,
|
|
||||||
@NonNull UnderlyingNetworkTrackerCallback cb) {
|
@NonNull UnderlyingNetworkTrackerCallback cb) {
|
||||||
this(
|
this(
|
||||||
vcnContext,
|
vcnContext,
|
||||||
subscriptionGroup,
|
subscriptionGroup,
|
||||||
snapshot,
|
snapshot,
|
||||||
requiredUnderlyingNetworkCapabilities,
|
|
||||||
cb,
|
cb,
|
||||||
new Dependencies());
|
new Dependencies());
|
||||||
}
|
}
|
||||||
@@ -162,16 +159,11 @@ public class UnderlyingNetworkTracker {
|
|||||||
@NonNull VcnContext vcnContext,
|
@NonNull VcnContext vcnContext,
|
||||||
@NonNull ParcelUuid subscriptionGroup,
|
@NonNull ParcelUuid subscriptionGroup,
|
||||||
@NonNull TelephonySubscriptionSnapshot snapshot,
|
@NonNull TelephonySubscriptionSnapshot snapshot,
|
||||||
@NonNull Set<Integer> requiredUnderlyingNetworkCapabilities,
|
|
||||||
@NonNull UnderlyingNetworkTrackerCallback cb,
|
@NonNull UnderlyingNetworkTrackerCallback cb,
|
||||||
@NonNull Dependencies deps) {
|
@NonNull Dependencies deps) {
|
||||||
mVcnContext = Objects.requireNonNull(vcnContext, "Missing vcnContext");
|
mVcnContext = Objects.requireNonNull(vcnContext, "Missing vcnContext");
|
||||||
mSubscriptionGroup = Objects.requireNonNull(subscriptionGroup, "Missing subscriptionGroup");
|
mSubscriptionGroup = Objects.requireNonNull(subscriptionGroup, "Missing subscriptionGroup");
|
||||||
mLastSnapshot = Objects.requireNonNull(snapshot, "Missing snapshot");
|
mLastSnapshot = Objects.requireNonNull(snapshot, "Missing snapshot");
|
||||||
mRequiredUnderlyingNetworkCapabilities =
|
|
||||||
Objects.requireNonNull(
|
|
||||||
requiredUnderlyingNetworkCapabilities,
|
|
||||||
"Missing requiredUnderlyingNetworkCapabilities");
|
|
||||||
mCb = Objects.requireNonNull(cb, "Missing cb");
|
mCb = Objects.requireNonNull(cb, "Missing cb");
|
||||||
mDeps = Objects.requireNonNull(deps, "Missing deps");
|
mDeps = Objects.requireNonNull(deps, "Missing deps");
|
||||||
|
|
||||||
|
|||||||
@@ -674,7 +674,6 @@ public class VcnGatewayConnection extends StateMachine {
|
|||||||
mVcnContext,
|
mVcnContext,
|
||||||
subscriptionGroup,
|
subscriptionGroup,
|
||||||
mLastSnapshot,
|
mLastSnapshot,
|
||||||
mConnectionConfig.getAllUnderlyingCapabilities(),
|
|
||||||
mUnderlyingNetworkTrackerCallback);
|
mUnderlyingNetworkTrackerCallback);
|
||||||
mIpSecManager = mVcnContext.getContext().getSystemService(IpSecManager.class);
|
mIpSecManager = mVcnContext.getContext().getSystemService(IpSecManager.class);
|
||||||
|
|
||||||
@@ -2295,13 +2294,11 @@ public class VcnGatewayConnection extends StateMachine {
|
|||||||
VcnContext vcnContext,
|
VcnContext vcnContext,
|
||||||
ParcelUuid subscriptionGroup,
|
ParcelUuid subscriptionGroup,
|
||||||
TelephonySubscriptionSnapshot snapshot,
|
TelephonySubscriptionSnapshot snapshot,
|
||||||
Set<Integer> requiredUnderlyingNetworkCapabilities,
|
|
||||||
UnderlyingNetworkTrackerCallback callback) {
|
UnderlyingNetworkTrackerCallback callback) {
|
||||||
return new UnderlyingNetworkTracker(
|
return new UnderlyingNetworkTracker(
|
||||||
vcnContext,
|
vcnContext,
|
||||||
subscriptionGroup,
|
subscriptionGroup,
|
||||||
snapshot,
|
snapshot,
|
||||||
requiredUnderlyingNetworkCapabilities,
|
|
||||||
callback);
|
callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -92,10 +92,6 @@ public class VcnGatewayConnectionConfigTest {
|
|||||||
builder.addExposedCapability(caps);
|
builder.addExposedCapability(caps);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int caps : UNDERLYING_CAPS) {
|
|
||||||
builder.addRequiredUnderlyingCapability(caps);
|
|
||||||
}
|
|
||||||
|
|
||||||
return builder.build();
|
return builder.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,9 +137,7 @@ public class VcnGatewayConnectionConfigTest {
|
|||||||
@Test
|
@Test
|
||||||
public void testBuilderRequiresNonEmptyExposedCaps() {
|
public void testBuilderRequiresNonEmptyExposedCaps() {
|
||||||
try {
|
try {
|
||||||
newBuilder()
|
newBuilder().build();
|
||||||
.addRequiredUnderlyingCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
|
|
||||||
.build();
|
|
||||||
|
|
||||||
fail("Expected exception due to invalid exposed capabilities");
|
fail("Expected exception due to invalid exposed capabilities");
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
@@ -187,10 +181,6 @@ public class VcnGatewayConnectionConfigTest {
|
|||||||
Arrays.sort(exposedCaps);
|
Arrays.sort(exposedCaps);
|
||||||
assertArrayEquals(EXPOSED_CAPS, exposedCaps);
|
assertArrayEquals(EXPOSED_CAPS, exposedCaps);
|
||||||
|
|
||||||
int[] underlyingCaps = config.getRequiredUnderlyingCapabilities();
|
|
||||||
Arrays.sort(underlyingCaps);
|
|
||||||
assertArrayEquals(UNDERLYING_CAPS, underlyingCaps);
|
|
||||||
|
|
||||||
assertEquals(TUNNEL_CONNECTION_PARAMS, config.getTunnelConnectionParams());
|
assertEquals(TUNNEL_CONNECTION_PARAMS, config.getTunnelConnectionParams());
|
||||||
|
|
||||||
assertArrayEquals(RETRY_INTERVALS_MS, config.getRetryIntervalsMillis());
|
assertArrayEquals(RETRY_INTERVALS_MS, config.getRetryIntervalsMillis());
|
||||||
|
|||||||
@@ -61,7 +61,6 @@ import org.mockito.Mock;
|
|||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@@ -146,7 +145,6 @@ public class UnderlyingNetworkTrackerTest {
|
|||||||
mVcnContext,
|
mVcnContext,
|
||||||
SUB_GROUP,
|
SUB_GROUP,
|
||||||
mSubscriptionSnapshot,
|
mSubscriptionSnapshot,
|
||||||
Collections.singleton(NetworkCapabilities.NET_CAPABILITY_INTERNET),
|
|
||||||
mNetworkTrackerCb);
|
mNetworkTrackerCb);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -187,7 +185,6 @@ public class UnderlyingNetworkTrackerTest {
|
|||||||
vcnContext,
|
vcnContext,
|
||||||
SUB_GROUP,
|
SUB_GROUP,
|
||||||
mSubscriptionSnapshot,
|
mSubscriptionSnapshot,
|
||||||
Collections.singleton(NetworkCapabilities.NET_CAPABILITY_INTERNET),
|
|
||||||
mNetworkTrackerCb);
|
mNetworkTrackerCb);
|
||||||
|
|
||||||
verify(cm)
|
verify(cm)
|
||||||
|
|||||||
@@ -177,7 +177,7 @@ public class VcnGatewayConnectionTestBase {
|
|||||||
|
|
||||||
doReturn(mUnderlyingNetworkTracker)
|
doReturn(mUnderlyingNetworkTracker)
|
||||||
.when(mDeps)
|
.when(mDeps)
|
||||||
.newUnderlyingNetworkTracker(any(), any(), any(), any(), any());
|
.newUnderlyingNetworkTracker(any(), any(), any(), any());
|
||||||
doReturn(mWakeLock)
|
doReturn(mWakeLock)
|
||||||
.when(mDeps)
|
.when(mDeps)
|
||||||
.newWakeLock(eq(mContext), eq(PowerManager.PARTIAL_WAKE_LOCK), any());
|
.newWakeLock(eq(mContext), eq(PowerManager.PARTIAL_WAKE_LOCK), any());
|
||||||
|
|||||||
Reference in New Issue
Block a user