Use module resources in NetworkNotificationManager.
Also make getTransportName non-static so it can access the module resources. Also fix a duplicate comment in a resource file. Bug: 183097033 Test: atest FrameworksNetTests Test: connected to Wi-Fi with no Internet, observed notification Change-Id: Ic0d24d36af0b87153d527083f8964ddc6cd78482 Merged-In: Ic0d24d36af0b87153d527083f8964ddc6cd78482
This commit is contained in:
@@ -274,6 +274,7 @@ import androidx.test.InstrumentationRegistry;
|
||||
import androidx.test.filters.SmallTest;
|
||||
import androidx.test.runner.AndroidJUnit4;
|
||||
|
||||
import com.android.connectivity.resources.R;
|
||||
import com.android.internal.net.VpnConfig;
|
||||
import com.android.internal.net.VpnProfile;
|
||||
import com.android.internal.util.ArrayUtils;
|
||||
@@ -1571,6 +1572,14 @@ public class ConnectivityServiceTest {
|
||||
doReturn(com.android.connectivity.resources.R.array.config_networkSupportedKeepaliveCount)
|
||||
.when(mResources).getIdentifier(eq("config_networkSupportedKeepaliveCount"),
|
||||
eq("array"), any());
|
||||
doReturn(com.android.connectivity.resources.R.array.network_switch_type_name)
|
||||
.when(mResources).getIdentifier(eq("network_switch_type_name"),
|
||||
eq("array"), any());
|
||||
|
||||
// We don't test the actual notification value strings, so just return an empty array.
|
||||
// It doesn't matter what the values are as long as it's not null.
|
||||
doReturn(new String[0]).when(mResources).getStringArray(R.array.network_switch_type_name);
|
||||
|
||||
final ConnectivityResources connRes = mock(ConnectivityResources.class);
|
||||
doReturn(mResources).when(connRes).get();
|
||||
doReturn(connRes).when(deps).getResources(any());
|
||||
|
||||
@@ -36,6 +36,7 @@ import android.content.Context;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.Resources;
|
||||
import android.net.ConnectivityResources;
|
||||
import android.net.NetworkCapabilities;
|
||||
import android.net.NetworkInfo;
|
||||
import android.os.UserHandle;
|
||||
@@ -44,9 +45,10 @@ import android.telephony.TelephonyManager;
|
||||
import androidx.test.filters.SmallTest;
|
||||
import androidx.test.runner.AndroidJUnit4;
|
||||
|
||||
import com.android.internal.R;
|
||||
import com.android.connectivity.resources.R;
|
||||
import com.android.server.connectivity.NetworkNotificationManager.NotificationType;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
@@ -120,11 +122,25 @@ public class NetworkNotificationManagerTest {
|
||||
when(mCtx.getSystemService(eq(Context.NOTIFICATION_SERVICE)))
|
||||
.thenReturn(mNotificationManager);
|
||||
when(mNetworkInfo.getExtraInfo()).thenReturn(TEST_EXTRA_INFO);
|
||||
ConnectivityResources.setResourcesContextForTest(mCtx);
|
||||
when(mResources.getColor(anyInt(), any())).thenReturn(0xFF607D8B);
|
||||
|
||||
// Come up with some credible-looking transport names. The actual values do not matter.
|
||||
String[] transportNames = new String[NetworkCapabilities.MAX_TRANSPORT + 1];
|
||||
for (int transport = 0; transport <= NetworkCapabilities.MAX_TRANSPORT; transport++) {
|
||||
transportNames[transport] = NetworkCapabilities.transportNameOf(transport);
|
||||
}
|
||||
when(mResources.getStringArray(R.array.network_switch_type_name))
|
||||
.thenReturn(transportNames);
|
||||
|
||||
mManager = new NetworkNotificationManager(mCtx, mTelephonyManager);
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
ConnectivityResources.setResourcesContextForTest(null);
|
||||
}
|
||||
|
||||
private void verifyTitleByNetwork(final int id, final NetworkAgentInfo nai, final int title) {
|
||||
final String tag = NetworkNotificationManager.tagFor(id);
|
||||
mManager.showNotification(id, PRIVATE_DNS_BROKEN, nai, null, null, true);
|
||||
|
||||
Reference in New Issue
Block a user