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 com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
import static org.mockito.ArgumentMatchers.anyInt;
|
|
||||||
import static org.mockito.ArgumentMatchers.eq;
|
import static org.mockito.ArgumentMatchers.eq;
|
||||||
import static org.mockito.ArgumentMatchers.nullable;
|
import static org.mockito.ArgumentMatchers.nullable;
|
||||||
import static org.mockito.Mockito.doReturn;
|
import static org.mockito.Mockito.doReturn;
|
||||||
@@ -31,9 +30,11 @@ import static org.mockito.Mockito.when;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.ApplicationInfo;
|
import android.content.pm.ApplicationInfo;
|
||||||
import android.net.ConnectivityManager;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
||||||
|
import androidx.loader.app.LoaderManager;
|
||||||
|
import androidx.preference.Preference;
|
||||||
|
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
import com.android.settings.datausage.AppDataUsage;
|
import com.android.settings.datausage.AppDataUsage;
|
||||||
import com.android.settingslib.applications.ApplicationsState.AppEntry;
|
import com.android.settingslib.applications.ApplicationsState.AppEntry;
|
||||||
@@ -42,14 +43,10 @@ import org.junit.Before;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
|
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
|
|
||||||
import androidx.loader.app.LoaderManager;
|
|
||||||
import androidx.preference.Preference;
|
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class AppDataUsagePreferenceControllerTest {
|
public class AppDataUsagePreferenceControllerTest {
|
||||||
|
|
||||||
@@ -98,10 +95,6 @@ public class AppDataUsagePreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onResume_isAvailable_shouldRestartDataLoader() {
|
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(mLoaderManager).when(mFragment).getLoaderManager();
|
||||||
doReturn(BasePreferenceController.AVAILABLE).when(mController).getAvailabilityStatus();
|
doReturn(BasePreferenceController.AVAILABLE).when(mController).getAvailabilityStatus();
|
||||||
final AppEntry appEntry = mock(AppEntry.class);
|
final AppEntry appEntry = mock(AppEntry.class);
|
||||||
|
@@ -32,7 +32,6 @@ import android.content.Context;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
import android.net.ConnectivityManager;
|
|
||||||
import android.net.TetheringManager;
|
import android.net.TetheringManager;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
|
||||||
@@ -198,7 +197,7 @@ public class TetherPreferenceControllerTest {
|
|||||||
ReflectionHelpers.setField(mController, "mContext", context);
|
ReflectionHelpers.setField(mController, "mContext", context);
|
||||||
mController.onResume();
|
mController.onResume();
|
||||||
|
|
||||||
context.sendBroadcast(new Intent(ConnectivityManager.ACTION_TETHER_STATE_CHANGED));
|
context.sendBroadcast(new Intent(TetheringManager.ACTION_TETHER_STATE_CHANGED));
|
||||||
|
|
||||||
verify(mController).updateSummary();
|
verify(mController).updateSummary();
|
||||||
}
|
}
|
||||||
|
@@ -246,8 +246,9 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
|
|
||||||
final Inet4Address any4 = (Inet4Address) InetAddress.getByName("0.0.0.0");
|
final Inet4Address any4 = (Inet4Address) InetAddress.getByName("0.0.0.0");
|
||||||
IpPrefix subnet = new IpPrefix(IPV4_ADDR.getAddress(), IPV4_PREFIXLEN);
|
IpPrefix subnet = new IpPrefix(IPV4_ADDR.getAddress(), IPV4_PREFIXLEN);
|
||||||
IPV4_SUBNET = new RouteInfo(subnet, any4);
|
IPV4_SUBNET = new RouteInfo(subnet, any4, null /* iface */, RouteInfo.RTN_UNICAST);
|
||||||
IPV4_DEFAULT = new RouteInfo(new IpPrefix(any4, 0), IPV4_GATEWAY);
|
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_LINKLOCAL = ipv6LinkAddress("fe80::211:25ff:fef8:7cb2%1");
|
||||||
IPV6_GLOBAL1 = ipv6LinkAddress("2001:db8:1::211:25ff:fef8:7cb2");
|
IPV6_GLOBAL1 = ipv6LinkAddress("2001:db8:1::211:25ff:fef8:7cb2");
|
||||||
@@ -1047,9 +1048,10 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private NetworkCapabilities makeNetworkCapabilities() {
|
private NetworkCapabilities makeNetworkCapabilities() {
|
||||||
NetworkCapabilities nc = new NetworkCapabilities();
|
final NetworkCapabilities nc = new NetworkCapabilities.Builder()
|
||||||
nc.clearAll();
|
.clearAll()
|
||||||
nc.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);
|
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
|
||||||
|
.build();
|
||||||
return nc;
|
return nc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1141,7 +1143,8 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
inOrder.verify(mMockHeaderController, never()).setSummary(any(CharSequence.class));
|
inOrder.verify(mMockHeaderController, never()).setSummary(any(CharSequence.class));
|
||||||
|
|
||||||
// ... but that if the network validates, then we do refresh.
|
// ... 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);
|
updateNetworkCapabilities(nc);
|
||||||
inOrder.verify(mMockHeaderController).setSummary(summary);
|
inOrder.verify(mMockHeaderController).setSummary(summary);
|
||||||
|
|
||||||
@@ -1153,27 +1156,31 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
inOrder.verify(mMockHeaderController, never()).setSummary(any(CharSequence.class));
|
inOrder.verify(mMockHeaderController, never()).setSummary(any(CharSequence.class));
|
||||||
|
|
||||||
// ... but if the network is no longer validated, then we display "connected, no Internet".
|
// ... 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);
|
updateNetworkCapabilities(nc);
|
||||||
inOrder.verify(mMockHeaderController).setSummary(summary);
|
inOrder.verify(mMockHeaderController).setSummary(summary);
|
||||||
|
|
||||||
// UI will be refreshed when private DNS is broken.
|
// UI will be refreshed when private DNS is broken.
|
||||||
summary = "Private DNS server cannot be accessed";
|
summary = "Private DNS server cannot be accessed";
|
||||||
when(mMockWifiEntry.getSummary()).thenReturn(summary);
|
when(mMockWifiEntry.getSummary()).thenReturn(summary);
|
||||||
nc.setPrivateDnsBroken(true);
|
NetworkCapabilities mockNc = mock(NetworkCapabilities.class);
|
||||||
updateNetworkCapabilities(nc);
|
when(mockNc.isPrivateDnsBroken()).thenReturn(true);
|
||||||
|
mCallbackCaptor.getValue().onCapabilitiesChanged(mMockNetwork, mockNc);
|
||||||
inOrder.verify(mMockHeaderController).setSummary(summary);
|
inOrder.verify(mMockHeaderController).setSummary(summary);
|
||||||
|
|
||||||
// UI will be refreshed when device connects to a partial connectivity network.
|
// UI will be refreshed when device connects to a partial connectivity network.
|
||||||
summary = "Limited connection";
|
summary = "Limited connection";
|
||||||
when(mMockWifiEntry.getSummary()).thenReturn(summary);
|
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);
|
updateNetworkCapabilities(nc);
|
||||||
inOrder.verify(mMockHeaderController).setSummary(summary);
|
inOrder.verify(mMockHeaderController).setSummary(summary);
|
||||||
|
|
||||||
// Although UI will be refreshed when network become validated. The Settings should
|
// Although UI will be refreshed when network become validated. The Settings should
|
||||||
// continue to display "Limited connection" if network still provides partial connectivity.
|
// 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);
|
updateNetworkCapabilities(nc);
|
||||||
inOrder.verify(mMockHeaderController).setSummary(summary);
|
inOrder.verify(mMockHeaderController).setSummary(summary);
|
||||||
}
|
}
|
||||||
@@ -1389,14 +1396,16 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
inOrder.verify(mMockButtonsPref).setButton2Visible(false);
|
inOrder.verify(mMockButtonsPref).setButton2Visible(false);
|
||||||
|
|
||||||
when(mMockWifiEntry.canSignIn()).thenReturn(true);
|
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);
|
updateNetworkCapabilities(nc);
|
||||||
|
|
||||||
inOrder.verify(mMockButtonsPref).setButton2Text(R.string.wifi_sign_in_button_text);
|
inOrder.verify(mMockButtonsPref).setButton2Text(R.string.wifi_sign_in_button_text);
|
||||||
inOrder.verify(mMockButtonsPref).setButton2Visible(true);
|
inOrder.verify(mMockButtonsPref).setButton2Visible(true);
|
||||||
|
|
||||||
when(mMockWifiEntry.canSignIn()).thenReturn(false);
|
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);
|
updateNetworkCapabilities(nc);
|
||||||
|
|
||||||
inOrder.verify(mMockButtonsPref).setButton2Visible(false);
|
inOrder.verify(mMockButtonsPref).setButton2Visible(false);
|
||||||
@@ -1448,7 +1457,8 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
public void testSignInButton_shouldHideSignInButtonForDisconnectedNetwork() {
|
public void testSignInButton_shouldHideSignInButtonForDisconnectedNetwork() {
|
||||||
setUpForDisconnectedNetwork();
|
setUpForDisconnectedNetwork();
|
||||||
NetworkCapabilities nc = makeNetworkCapabilities();
|
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))
|
when(mMockConnectivityManager.getNetworkCapabilities(mMockNetwork))
|
||||||
.thenReturn(new NetworkCapabilities(nc));
|
.thenReturn(new NetworkCapabilities(nc));
|
||||||
|
|
||||||
|
@@ -144,10 +144,11 @@ public class ContextualWifiSliceTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private NetworkCapabilities makeValidatedNetworkCapabilities() {
|
private NetworkCapabilities makeValidatedNetworkCapabilities() {
|
||||||
final NetworkCapabilities nc = new NetworkCapabilities();
|
final NetworkCapabilities nc = new NetworkCapabilities.Builder()
|
||||||
nc.clearAll();
|
.clearAll()
|
||||||
nc.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);
|
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
|
||||||
nc.addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
|
.addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)
|
||||||
|
.build();
|
||||||
return nc;
|
return nc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -109,9 +109,10 @@ public class InternetUpdaterTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateInternetAvailable_wifiConnectedAndNoValidated_internetUnavailable() {
|
public void updateInternetAvailable_wifiConnectedAndNoValidated_internetUnavailable() {
|
||||||
final NetworkCapabilities networkCapabilities = new NetworkCapabilities();
|
final NetworkCapabilities networkCapabilities = new NetworkCapabilities.Builder()
|
||||||
networkCapabilities.addTransportType(TRANSPORT_WIFI);
|
.addTransportType(TRANSPORT_WIFI)
|
||||||
networkCapabilities.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET);
|
.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
|
||||||
|
.build();
|
||||||
|
|
||||||
mInternetUpdater.updateInternetAvailable(networkCapabilities);
|
mInternetUpdater.updateInternetAvailable(networkCapabilities);
|
||||||
|
|
||||||
@@ -120,10 +121,11 @@ public class InternetUpdaterTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateInternetAvailable_wifiConnectedAndValidated_internetAvailable() {
|
public void updateInternetAvailable_wifiConnectedAndValidated_internetAvailable() {
|
||||||
final NetworkCapabilities networkCapabilities = new NetworkCapabilities();
|
final NetworkCapabilities networkCapabilities = new NetworkCapabilities.Builder()
|
||||||
networkCapabilities.addTransportType(TRANSPORT_WIFI);
|
.addTransportType(TRANSPORT_WIFI)
|
||||||
networkCapabilities.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET);
|
.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
|
||||||
networkCapabilities.addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
|
.addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)
|
||||||
|
.build();
|
||||||
|
|
||||||
mInternetUpdater.updateInternetAvailable(networkCapabilities);
|
mInternetUpdater.updateInternetAvailable(networkCapabilities);
|
||||||
|
|
||||||
|
@@ -99,7 +99,7 @@ public class ProviderModelSliceHelperTest {
|
|||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
mContext = spy(ApplicationProvider.getApplicationContext());
|
mContext = spy(ApplicationProvider.getApplicationContext());
|
||||||
mBundle = new PersistableBundle();
|
mBundle = new PersistableBundle();
|
||||||
mNetwork = new Network(anyInt());
|
mNetwork = mock(Network.class);
|
||||||
|
|
||||||
when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
|
when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
|
||||||
when(mContext.getSystemService(CarrierConfigManager.class)).thenReturn(
|
when(mContext.getSystemService(CarrierConfigManager.class)).thenReturn(
|
||||||
@@ -288,7 +288,8 @@ public class ProviderModelSliceHelperTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void addNetworkTransportType(int networkType) {
|
private void addNetworkTransportType(int networkType) {
|
||||||
mNetworkCapabilities = new NetworkCapabilities().addTransportType(networkType);
|
mNetworkCapabilities = new NetworkCapabilities.Builder()
|
||||||
|
.addTransportType(networkType).build();
|
||||||
when(mConnectivityManager.getNetworkCapabilities(mNetwork)).thenReturn(
|
when(mConnectivityManager.getNetworkCapabilities(mNetwork)).thenReturn(
|
||||||
mNetworkCapabilities);
|
mNetworkCapabilities);
|
||||||
}
|
}
|
||||||
|
@@ -30,6 +30,8 @@ import static org.junit.Assert.assertTrue;
|
|||||||
import static org.mockito.ArgumentMatchers.anyBoolean;
|
import static org.mockito.ArgumentMatchers.anyBoolean;
|
||||||
import static org.mockito.ArgumentMatchers.anyInt;
|
import static org.mockito.ArgumentMatchers.anyInt;
|
||||||
import static org.mockito.ArgumentMatchers.nullable;
|
import static org.mockito.ArgumentMatchers.nullable;
|
||||||
|
import static org.mockito.Mockito.CALLS_REAL_METHODS;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.never;
|
import static org.mockito.Mockito.never;
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
@@ -121,7 +123,7 @@ public class MobileNetworkUtilsTest {
|
|||||||
mCarrierConfig = new PersistableBundle();
|
mCarrierConfig = new PersistableBundle();
|
||||||
when(mCarrierConfigManager.getConfigForSubId(SUB_ID_1)).thenReturn(mCarrierConfig);
|
when(mCarrierConfigManager.getConfigForSubId(SUB_ID_1)).thenReturn(mCarrierConfig);
|
||||||
|
|
||||||
mNetwork = new Network(anyInt());
|
mNetwork = mock(Network.class, CALLS_REAL_METHODS);
|
||||||
when(mContext.getSystemService(ConnectivityManager.class)).thenReturn(mConnectivityManager);
|
when(mContext.getSystemService(ConnectivityManager.class)).thenReturn(mConnectivityManager);
|
||||||
when(mConnectivityManager.getActiveNetwork()).thenReturn(mNetwork);
|
when(mConnectivityManager.getActiveNetwork()).thenReturn(mNetwork);
|
||||||
|
|
||||||
@@ -377,7 +379,8 @@ public class MobileNetworkUtilsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void addNetworkTransportType (int networkType) {
|
private void addNetworkTransportType (int networkType) {
|
||||||
mNetworkCapabilities = new NetworkCapabilities().addTransportType(networkType);
|
mNetworkCapabilities = new NetworkCapabilities.Builder()
|
||||||
|
.addTransportType(networkType).build();
|
||||||
when(mConnectivityManager.getNetworkCapabilities(mNetwork)).thenReturn(
|
when(mConnectivityManager.getNetworkCapabilities(mNetwork)).thenReturn(
|
||||||
mNetworkCapabilities);
|
mNetworkCapabilities);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user