Adding log history for setOemNetworkPreference()

Adding historical logging for the setOemNetworkPreference() calls. This
will last across reboots.

Bug: 177257940
Bug: 176494815
Test: atest FrameworksNetTests
Change-Id: I4fc35fd58ff741830aa292adc1c559b4279ad8f9
This commit is contained in:
James Mattis
2021-04-06 17:07:42 -07:00
parent 8ee838ce27
commit cb1e036fe5
2 changed files with 46 additions and 3 deletions

View File

@@ -18,6 +18,7 @@ package com.android.server;
import static android.Manifest.permission.CHANGE_NETWORK_STATE;
import static android.Manifest.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS;
import static android.Manifest.permission.DUMP;
import static android.Manifest.permission.NETWORK_FACTORY;
import static android.Manifest.permission.NETWORK_SETTINGS;
import static android.app.PendingIntent.FLAG_IMMUTABLE;
@@ -356,6 +357,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Predicate;
import java.util.function.Supplier;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import kotlin.reflect.KClass;
@@ -9950,6 +9953,7 @@ public class ConnectivityServiceTest {
@Test
public void testDumpDoesNotCrash() {
mServiceContext.setPermission(DUMP, PERMISSION_GRANTED);
// Filing a couple requests prior to testing the dump.
final TestNetworkCallback genericNetworkCallback = new TestNetworkCallback();
final TestNetworkCallback wifiNetworkCallback = new TestNetworkCallback();
@@ -11705,6 +11709,33 @@ public class ConnectivityServiceTest {
// default callbacks will be unregistered in tearDown
}
@Test
public void testSetOemNetworkPreferenceLogsRequest() throws Exception {
mServiceContext.setPermission(DUMP, PERMISSION_GRANTED);
@OemNetworkPreferences.OemNetworkPreference final int networkPref =
OEM_NETWORK_PREFERENCE_OEM_PAID;
final StringWriter stringWriter = new StringWriter();
final String logIdentifier = "UPDATE INITIATED: OemNetworkPreferences";
final Pattern pattern = Pattern.compile(logIdentifier);
final int expectedNumLogs = 2;
final UidRangeParcel[] uidRanges =
toUidRangeStableParcels(uidRangesForUids(TEST_PACKAGE_UID));
// Call twice to generate two logs.
setupSetOemNetworkPreferenceForPreferenceTest(networkPref, uidRanges, TEST_PACKAGE_NAME);
setupSetOemNetworkPreferenceForPreferenceTest(networkPref, uidRanges, TEST_PACKAGE_NAME);
mService.dump(new FileDescriptor(), new PrintWriter(stringWriter), new String[0]);
final String dumpOutput = stringWriter.toString();
final Matcher matcher = pattern.matcher(dumpOutput);
int count = 0;
while (matcher.find()) {
count++;
}
assertEquals(expectedNumLogs, count);
}
@Test
public void testGetAllNetworkStateSnapshot() throws Exception {
verifyNoNetwork();