Merge "[MS32.2] Remove TetheringManager#ACTION_TETHER_STATE_CHANGED usage" am: 392161e651
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1935967 Change-Id: I50d2557ea2280947bdfaba097c68eefdcae767a9
This commit is contained in:
@@ -96,6 +96,7 @@ import android.net.NetworkStats;
|
|||||||
import android.net.NetworkStatsHistory;
|
import android.net.NetworkStatsHistory;
|
||||||
import android.net.NetworkTemplate;
|
import android.net.NetworkTemplate;
|
||||||
import android.net.TelephonyNetworkSpecifier;
|
import android.net.TelephonyNetworkSpecifier;
|
||||||
|
import android.net.TetheringManager;
|
||||||
import android.net.UnderlyingNetworkInfo;
|
import android.net.UnderlyingNetworkInfo;
|
||||||
import android.net.netstats.provider.INetworkStatsProviderCallback;
|
import android.net.netstats.provider.INetworkStatsProviderCallback;
|
||||||
import android.net.wifi.WifiInfo;
|
import android.net.wifi.WifiInfo;
|
||||||
@@ -184,6 +185,7 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
|
|||||||
private @Mock TelephonyManager mTelephonyManager;
|
private @Mock TelephonyManager mTelephonyManager;
|
||||||
private static @Mock WifiInfo sWifiInfo;
|
private static @Mock WifiInfo sWifiInfo;
|
||||||
private @Mock INetworkManagementService mNetManager;
|
private @Mock INetworkManagementService mNetManager;
|
||||||
|
private @Mock TetheringManager mTetheringManager;
|
||||||
private @Mock NetworkStatsFactory mStatsFactory;
|
private @Mock NetworkStatsFactory mStatsFactory;
|
||||||
private @Mock NetworkStatsSettings mSettings;
|
private @Mock NetworkStatsSettings mSettings;
|
||||||
private @Mock IBinder mBinder;
|
private @Mock IBinder mBinder;
|
||||||
@@ -197,6 +199,7 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
|
|||||||
private INetworkManagementEventObserver mNetworkObserver;
|
private INetworkManagementEventObserver mNetworkObserver;
|
||||||
private ContentObserver mContentObserver;
|
private ContentObserver mContentObserver;
|
||||||
private Handler mHandler;
|
private Handler mHandler;
|
||||||
|
private TetheringManager.TetheringEventCallback mTetheringEventCallback;
|
||||||
|
|
||||||
private class MockContext extends BroadcastInterceptingContext {
|
private class MockContext extends BroadcastInterceptingContext {
|
||||||
private final Context mBaseContext;
|
private final Context mBaseContext;
|
||||||
@@ -209,6 +212,7 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
|
|||||||
@Override
|
@Override
|
||||||
public Object getSystemService(String name) {
|
public Object getSystemService(String name) {
|
||||||
if (Context.TELEPHONY_SERVICE.equals(name)) return mTelephonyManager;
|
if (Context.TELEPHONY_SERVICE.equals(name)) return mTelephonyManager;
|
||||||
|
if (Context.TETHERING_SERVICE.equals(name)) return mTetheringManager;
|
||||||
return mBaseContext.getSystemService(name);
|
return mBaseContext.getSystemService(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -279,11 +283,18 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
|
|||||||
mSession = mService.openSession();
|
mSession = mService.openSession();
|
||||||
assertNotNull("openSession() failed", mSession);
|
assertNotNull("openSession() failed", mSession);
|
||||||
|
|
||||||
// catch INetworkManagementEventObserver during systemReady()
|
// Catch INetworkManagementEventObserver during systemReady().
|
||||||
ArgumentCaptor<INetworkManagementEventObserver> networkObserver =
|
ArgumentCaptor<INetworkManagementEventObserver> networkObserver =
|
||||||
ArgumentCaptor.forClass(INetworkManagementEventObserver.class);
|
ArgumentCaptor.forClass(INetworkManagementEventObserver.class);
|
||||||
verify(mNetManager).registerObserver(networkObserver.capture());
|
verify(mNetManager).registerObserver(networkObserver.capture());
|
||||||
mNetworkObserver = networkObserver.getValue();
|
mNetworkObserver = networkObserver.getValue();
|
||||||
|
|
||||||
|
// Catch TetheringEventCallback during systemReady().
|
||||||
|
ArgumentCaptor<TetheringManager.TetheringEventCallback> tetheringEventCbCaptor =
|
||||||
|
ArgumentCaptor.forClass(TetheringManager.TetheringEventCallback.class);
|
||||||
|
verify(mTetheringManager).registerTetheringEventCallback(
|
||||||
|
any(), tetheringEventCbCaptor.capture());
|
||||||
|
mTetheringEventCallback = tetheringEventCbCaptor.getValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@@ -1649,6 +1660,21 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
|
|||||||
DEFAULT_NETWORK_ALL, 0L, 0L, 0L, 0L, 2);
|
DEFAULT_NETWORK_ALL, 0L, 0L, 0L, 0L, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testTetheringEventCallback_onUpstreamChanged() throws Exception {
|
||||||
|
// Register custom provider and retrieve callback.
|
||||||
|
final TestableNetworkStatsProviderBinder provider =
|
||||||
|
new TestableNetworkStatsProviderBinder();
|
||||||
|
final INetworkStatsProviderCallback cb =
|
||||||
|
mService.registerNetworkStatsProvider("TEST-TETHERING-OFFLOAD", provider);
|
||||||
|
assertNotNull(cb);
|
||||||
|
provider.assertNoCallback();
|
||||||
|
|
||||||
|
// Post upstream changed event, verify the service will pull for stats.
|
||||||
|
mTetheringEventCallback.onUpstreamChanged(WIFI_NETWORK);
|
||||||
|
provider.expectOnRequestStatsUpdate(0 /* unused */);
|
||||||
|
}
|
||||||
|
|
||||||
private static File getBaseDir(File statsDir) {
|
private static File getBaseDir(File statsDir) {
|
||||||
File baseDir = new File(statsDir, "netstats");
|
File baseDir = new File(statsDir, "netstats");
|
||||||
baseDir.mkdirs();
|
baseDir.mkdirs();
|
||||||
|
|||||||
Reference in New Issue
Block a user