From 233ac9463be18ca8fef8f0443618c732d2785c21 Mon Sep 17 00:00:00 2001
From: Hansen Kurli <hkurli@google.com>
Date: Tue, 12 Sep 2023 13:35:25 +0800
Subject: [PATCH] Mock Vpn.setUnderlyingNetworks()

Override Vpn.setUnderlyingNetworks() to do a direct call on the
network agent instead of relying on the Vpn class.

Bug: 230548427
Test: atest FrameworksNetTests
Change-Id: Ib7883f8a81a22317616cae79ce57a30afdd2bed4
---
 .../java/com/android/server/ConnectivityServiceTest.java  | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/tests/unit/java/com/android/server/ConnectivityServiceTest.java b/tests/unit/java/com/android/server/ConnectivityServiceTest.java
index bc840c218f..4ddac85eef 100755
--- a/tests/unit/java/com/android/server/ConnectivityServiceTest.java
+++ b/tests/unit/java/com/android/server/ConnectivityServiceTest.java
@@ -1716,6 +1716,14 @@ public class ConnectivityServiceTest {
                 UnderlyingNetworkInfo underlyingNetworkInfo) {
             mUnderlyingNetworkInfo = underlyingNetworkInfo;
         }
+
+        @Override
+        public synchronized boolean setUnderlyingNetworks(@Nullable Network[] networks) {
+            if (!mAgentRegistered) return false;
+            mMockNetworkAgent.setUnderlyingNetworks(
+                    (networks == null) ? null : Arrays.asList(networks));
+            return true;
+        }
     }
 
     private UidRangeParcel[] toUidRangeStableParcels(final @NonNull Set<UidRange> ranges) {
-- 
GitLab