Replace the hidden API to public API or other alternatives
Some of connectivity related files are going to be a part of mainline module, so the external callers cannot call its hidden API. Replace the hidden API to public API or other alternatives from the callers side. Bug: 182859030 Test: 1. Remove "framework-connectivity.impl" 2. atest SettingsUnitTests:InternetUpdaterTest 3. atest SettingsUnitTests:ProviderModelSliceHelperTest 4. atest SettingsUnitTests:MobileNetworkUtilsTest 5. make RunSettingsRoboTests \ ROBOTEST_FILTER=AppDataUsagePreferenceControllerTest 6. make RunSettingsRoboTests \ ROBOTEST_FILTER=TetherPreferenceControllerTest 7. make RunSettingsRoboTests \ ROBOTEST_FILTER=WifiDetailPreferenceController2Test 8. make RunSettingsRoboTests \ ROBOTEST_FILTER=ContextualWifiSliceTest Change-Id: Idd1ca57d8f2790070e9c401936c5af2a05bcfe9d
This commit is contained in:
@@ -19,7 +19,6 @@ package com.android.settings.applications.appinfo;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.ArgumentMatchers.nullable;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
@@ -31,9 +30,11 @@ import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.loader.app.LoaderManager;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.datausage.AppDataUsage;
|
||||
import com.android.settingslib.applications.ApplicationsState.AppEntry;
|
||||
@@ -42,14 +43,10 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
|
||||
import androidx.loader.app.LoaderManager;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class AppDataUsagePreferenceControllerTest {
|
||||
|
||||
@@ -98,10 +95,6 @@ public class AppDataUsagePreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void onResume_isAvailable_shouldRestartDataLoader() {
|
||||
final ConnectivityManager connectivityManager = mock(ConnectivityManager.class);
|
||||
when(mContext.getSystemService(Context.CONNECTIVITY_SERVICE))
|
||||
.thenReturn(connectivityManager);
|
||||
when(connectivityManager.isNetworkSupported(anyInt())).thenReturn(true);
|
||||
doReturn(mLoaderManager).when(mFragment).getLoaderManager();
|
||||
doReturn(BasePreferenceController.AVAILABLE).when(mController).getAvailabilityStatus();
|
||||
final AppEntry appEntry = mock(AppEntry.class);
|
||||
|
@@ -32,7 +32,6 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.database.ContentObserver;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.TetheringManager;
|
||||
import android.provider.Settings;
|
||||
|
||||
@@ -198,7 +197,7 @@ public class TetherPreferenceControllerTest {
|
||||
ReflectionHelpers.setField(mController, "mContext", context);
|
||||
mController.onResume();
|
||||
|
||||
context.sendBroadcast(new Intent(ConnectivityManager.ACTION_TETHER_STATE_CHANGED));
|
||||
context.sendBroadcast(new Intent(TetheringManager.ACTION_TETHER_STATE_CHANGED));
|
||||
|
||||
verify(mController).updateSummary();
|
||||
}
|
||||
|
@@ -246,8 +246,9 @@ public class WifiDetailPreferenceController2Test {
|
||||
|
||||
final Inet4Address any4 = (Inet4Address) InetAddress.getByName("0.0.0.0");
|
||||
IpPrefix subnet = new IpPrefix(IPV4_ADDR.getAddress(), IPV4_PREFIXLEN);
|
||||
IPV4_SUBNET = new RouteInfo(subnet, any4);
|
||||
IPV4_DEFAULT = new RouteInfo(new IpPrefix(any4, 0), IPV4_GATEWAY);
|
||||
IPV4_SUBNET = new RouteInfo(subnet, any4, null /* iface */, RouteInfo.RTN_UNICAST);
|
||||
IPV4_DEFAULT = new RouteInfo(new IpPrefix(any4, 0), IPV4_GATEWAY, null /* iface */,
|
||||
RouteInfo.RTN_UNICAST);
|
||||
|
||||
IPV6_LINKLOCAL = ipv6LinkAddress("fe80::211:25ff:fef8:7cb2%1");
|
||||
IPV6_GLOBAL1 = ipv6LinkAddress("2001:db8:1::211:25ff:fef8:7cb2");
|
||||
@@ -1047,9 +1048,10 @@ public class WifiDetailPreferenceController2Test {
|
||||
}
|
||||
|
||||
private NetworkCapabilities makeNetworkCapabilities() {
|
||||
NetworkCapabilities nc = new NetworkCapabilities();
|
||||
nc.clearAll();
|
||||
nc.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);
|
||||
final NetworkCapabilities nc = new NetworkCapabilities.Builder()
|
||||
.clearAll()
|
||||
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
|
||||
.build();
|
||||
return nc;
|
||||
}
|
||||
|
||||
@@ -1141,7 +1143,8 @@ public class WifiDetailPreferenceController2Test {
|
||||
inOrder.verify(mMockHeaderController, never()).setSummary(any(CharSequence.class));
|
||||
|
||||
// ... but that if the network validates, then we do refresh.
|
||||
nc.addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
|
||||
nc = new NetworkCapabilities.Builder(nc)
|
||||
.addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED).build();
|
||||
updateNetworkCapabilities(nc);
|
||||
inOrder.verify(mMockHeaderController).setSummary(summary);
|
||||
|
||||
@@ -1153,27 +1156,31 @@ public class WifiDetailPreferenceController2Test {
|
||||
inOrder.verify(mMockHeaderController, never()).setSummary(any(CharSequence.class));
|
||||
|
||||
// ... but if the network is no longer validated, then we display "connected, no Internet".
|
||||
nc.removeCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
|
||||
nc = new NetworkCapabilities.Builder(nc)
|
||||
.removeCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED).build();
|
||||
updateNetworkCapabilities(nc);
|
||||
inOrder.verify(mMockHeaderController).setSummary(summary);
|
||||
|
||||
// UI will be refreshed when private DNS is broken.
|
||||
summary = "Private DNS server cannot be accessed";
|
||||
when(mMockWifiEntry.getSummary()).thenReturn(summary);
|
||||
nc.setPrivateDnsBroken(true);
|
||||
updateNetworkCapabilities(nc);
|
||||
NetworkCapabilities mockNc = mock(NetworkCapabilities.class);
|
||||
when(mockNc.isPrivateDnsBroken()).thenReturn(true);
|
||||
mCallbackCaptor.getValue().onCapabilitiesChanged(mMockNetwork, mockNc);
|
||||
inOrder.verify(mMockHeaderController).setSummary(summary);
|
||||
|
||||
// UI will be refreshed when device connects to a partial connectivity network.
|
||||
summary = "Limited connection";
|
||||
when(mMockWifiEntry.getSummary()).thenReturn(summary);
|
||||
nc.addCapability(NetworkCapabilities.NET_CAPABILITY_PARTIAL_CONNECTIVITY);
|
||||
nc = new NetworkCapabilities.Builder(nc)
|
||||
.addCapability(NetworkCapabilities.NET_CAPABILITY_PARTIAL_CONNECTIVITY).build();
|
||||
updateNetworkCapabilities(nc);
|
||||
inOrder.verify(mMockHeaderController).setSummary(summary);
|
||||
|
||||
// Although UI will be refreshed when network become validated. The Settings should
|
||||
// continue to display "Limited connection" if network still provides partial connectivity.
|
||||
nc.addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
|
||||
nc = new NetworkCapabilities.Builder(nc)
|
||||
.addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED).build();
|
||||
updateNetworkCapabilities(nc);
|
||||
inOrder.verify(mMockHeaderController).setSummary(summary);
|
||||
}
|
||||
@@ -1389,14 +1396,16 @@ public class WifiDetailPreferenceController2Test {
|
||||
inOrder.verify(mMockButtonsPref).setButton2Visible(false);
|
||||
|
||||
when(mMockWifiEntry.canSignIn()).thenReturn(true);
|
||||
nc.addCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL);
|
||||
nc = new NetworkCapabilities.Builder(nc)
|
||||
.addCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL).build();
|
||||
updateNetworkCapabilities(nc);
|
||||
|
||||
inOrder.verify(mMockButtonsPref).setButton2Text(R.string.wifi_sign_in_button_text);
|
||||
inOrder.verify(mMockButtonsPref).setButton2Visible(true);
|
||||
|
||||
when(mMockWifiEntry.canSignIn()).thenReturn(false);
|
||||
nc.removeCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL);
|
||||
nc = new NetworkCapabilities.Builder(nc)
|
||||
.removeCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL).build();
|
||||
updateNetworkCapabilities(nc);
|
||||
|
||||
inOrder.verify(mMockButtonsPref).setButton2Visible(false);
|
||||
@@ -1448,7 +1457,8 @@ public class WifiDetailPreferenceController2Test {
|
||||
public void testSignInButton_shouldHideSignInButtonForDisconnectedNetwork() {
|
||||
setUpForDisconnectedNetwork();
|
||||
NetworkCapabilities nc = makeNetworkCapabilities();
|
||||
nc.addCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL);
|
||||
nc = new NetworkCapabilities.Builder()
|
||||
.addCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL).build();
|
||||
when(mMockConnectivityManager.getNetworkCapabilities(mMockNetwork))
|
||||
.thenReturn(new NetworkCapabilities(nc));
|
||||
|
||||
|
@@ -144,10 +144,11 @@ public class ContextualWifiSliceTest {
|
||||
}
|
||||
|
||||
private NetworkCapabilities makeValidatedNetworkCapabilities() {
|
||||
final NetworkCapabilities nc = new NetworkCapabilities();
|
||||
nc.clearAll();
|
||||
nc.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);
|
||||
nc.addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
|
||||
final NetworkCapabilities nc = new NetworkCapabilities.Builder()
|
||||
.clearAll()
|
||||
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
|
||||
.addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)
|
||||
.build();
|
||||
return nc;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user