Add getters to UnderlyingNetworkInfo
Address API review feedback, add getters to UnderlyingNetworkInfo instead of exposing fields. Instead of wasting memory by converting this into an array, have migrateTun take a List<String>. In turn, tunAdjustmentInit should also take a List<String>. (cherry picked from ag/14211075) Bug: 183972554 Test: atest android.net.UnderlyingNetworkInfoTest Merged-In: Id59744097208d91298a25ef110ade91a9cf291a1 Change-Id: Id59744097208d91298a25ef110ade91a9cf291a1
This commit is contained in:
@@ -50,6 +50,7 @@ import com.google.android.collect.Sets;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
@@ -616,7 +617,7 @@ public class NetworkStatsTest {
|
||||
.insertEntry(underlyingIface, tunUid, SET_FOREGROUND, TAG_NONE, METERED_NO,
|
||||
ROAMING_NO, DEFAULT_NETWORK_NO, 0L, 0L, 0L, 0L, 0L);
|
||||
|
||||
delta.migrateTun(tunUid, tunIface, new String[]{underlyingIface});
|
||||
delta.migrateTun(tunUid, tunIface, Arrays.asList(underlyingIface));
|
||||
assertEquals(20, delta.size());
|
||||
|
||||
// tunIface and TEST_IFACE entries are not changed.
|
||||
@@ -697,7 +698,7 @@ public class NetworkStatsTest {
|
||||
.insertEntry(underlyingIface, tunUid, SET_DEFAULT, TAG_NONE, METERED_NO, ROAMING_NO,
|
||||
DEFAULT_NETWORK_NO, 75500L, 37L, 130000L, 70L, 0L);
|
||||
|
||||
delta.migrateTun(tunUid, tunIface, new String[]{underlyingIface});
|
||||
delta.migrateTun(tunUid, tunIface, Arrays.asList(underlyingIface));
|
||||
assertEquals(9, delta.size());
|
||||
|
||||
// tunIface entries should not be changed.
|
||||
|
||||
@@ -5818,10 +5818,10 @@ public class ConnectivityServiceTest {
|
||||
if (vpnUid != null) {
|
||||
assertEquals("Should have exactly one VPN:", 1, infos.length);
|
||||
UnderlyingNetworkInfo info = infos[0];
|
||||
assertEquals("Unexpected VPN owner:", (int) vpnUid, info.ownerUid);
|
||||
assertEquals("Unexpected VPN interface:", vpnIfname, info.iface);
|
||||
assertEquals("Unexpected VPN owner:", (int) vpnUid, info.getOwnerUid());
|
||||
assertEquals("Unexpected VPN interface:", vpnIfname, info.getIface());
|
||||
assertSameElementsNoDuplicates(underlyingIfaces,
|
||||
info.underlyingIfaces.toArray(new String[0]));
|
||||
info.getUnderlyingIfaces().toArray(new String[0]));
|
||||
} else {
|
||||
assertEquals(0, infos.length);
|
||||
return;
|
||||
@@ -5965,8 +5965,8 @@ public class ConnectivityServiceTest {
|
||||
// network for the VPN...
|
||||
verify(mStatsManager, never()).notifyNetworkStatus(any(List.class),
|
||||
any(List.class), any() /* anyString() doesn't match null */,
|
||||
argThat(infos -> infos.get(0).underlyingIfaces.size() == 1
|
||||
&& WIFI_IFNAME.equals(infos.get(0).underlyingIfaces.get(0))));
|
||||
argThat(infos -> infos.get(0).getUnderlyingIfaces().size() == 1
|
||||
&& WIFI_IFNAME.equals(infos.get(0).getUnderlyingIfaces().get(0))));
|
||||
verifyNoMoreInteractions(mStatsManager);
|
||||
reset(mStatsManager);
|
||||
|
||||
@@ -5979,8 +5979,8 @@ public class ConnectivityServiceTest {
|
||||
waitForIdle();
|
||||
verify(mStatsManager).notifyNetworkStatus(any(List.class),
|
||||
any(List.class), any() /* anyString() doesn't match null */,
|
||||
argThat(vpnInfos -> vpnInfos.get(0).underlyingIfaces.size() == 1
|
||||
&& WIFI_IFNAME.equals(vpnInfos.get(0).underlyingIfaces.get(0))));
|
||||
argThat(vpnInfos -> vpnInfos.get(0).getUnderlyingIfaces().size() == 1
|
||||
&& WIFI_IFNAME.equals(vpnInfos.get(0).getUnderlyingIfaces().get(0))));
|
||||
mEthernetNetworkAgent.disconnect();
|
||||
waitForIdle();
|
||||
reset(mStatsManager);
|
||||
|
||||
Reference in New Issue
Block a user