Refine the DynamicDenylistManager dump() data format
Dump of DynamicDenylistManager: ManualDenylist: DynamicDenylist: com.android.managedprovisioning com.android.chrome Bug: 306329984 Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.fuelgauge.datasaver" Change-Id: If5eb8919ee8dc222692b7435f9670d861253be12
This commit is contained in:
@@ -31,7 +31,9 @@ import android.util.Log;
|
|||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/** A class to dynamically manage per apps {@link NetworkPolicyManager} POLICY_ flags. */
|
/** A class to dynamically manage per apps {@link NetworkPolicyManager} POLICY_ flags. */
|
||||||
@@ -183,10 +185,21 @@ public final class DynamicDenylistManager {
|
|||||||
/** Dump the data stored in the {@link SharedPreferences}. */
|
/** Dump the data stored in the {@link SharedPreferences}. */
|
||||||
public void dump(PrintWriter writer) {
|
public void dump(PrintWriter writer) {
|
||||||
writer.println("Dump of DynamicDenylistManager:");
|
writer.println("Dump of DynamicDenylistManager:");
|
||||||
writer.println("\tManualDenylist: " + getPackageNames(mContext,
|
final List<String> manualDenyList =
|
||||||
getDenylistAllUids(getManualDenylistPref())));
|
getPackageNames(mContext, getDenylistAllUids(getManualDenylistPref()));
|
||||||
writer.println("\tDynamicDenylist: " + getPackageNames(mContext,
|
writer.println("\tManualDenylist:");
|
||||||
getDenylistAllUids(getDynamicDenylistPref())));
|
if (manualDenyList != null) {
|
||||||
|
manualDenyList.forEach(packageName -> writer.println("\t\t" + packageName));
|
||||||
|
writer.flush();
|
||||||
|
}
|
||||||
|
|
||||||
|
final List<String> dynamicDenyList =
|
||||||
|
getPackageNames(mContext, getDenylistAllUids(getDynamicDenylistPref()));
|
||||||
|
writer.println("\tDynamicDenylist:");
|
||||||
|
if (dynamicDenyList != null) {
|
||||||
|
dynamicDenyList.forEach(packageName -> writer.println("\t\t" + packageName));
|
||||||
|
writer.flush();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Set<Integer> getDenylistAllUids(SharedPreferences sharedPreferences) {
|
private Set<Integer> getDenylistAllUids(SharedPreferences sharedPreferences) {
|
||||||
@@ -230,13 +243,13 @@ public final class DynamicDenylistManager {
|
|||||||
return mContext.getSharedPreferences(PREF_KEY_DYNAMIC_DENY, Context.MODE_PRIVATE);
|
return mContext.getSharedPreferences(PREF_KEY_DYNAMIC_DENY, Context.MODE_PRIVATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String getPackageNames(Context context, Set<Integer> uids) {
|
private static List<String> getPackageNames(Context context, Set<Integer> uids) {
|
||||||
if (uids == null || uids.isEmpty()) {
|
if (uids == null || uids.isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final PackageManager pm = context.getPackageManager();
|
final PackageManager pm = context.getPackageManager();
|
||||||
final StringBuilder builder = new StringBuilder();
|
final List<String> packageNames = new ArrayList<>(uids.size());
|
||||||
uids.forEach(uid -> builder.append(pm.getNameForUid(uid) + " "));
|
uids.forEach(uid -> packageNames.add(pm.getNameForUid(uid)));
|
||||||
return builder.toString();
|
return packageNames;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -375,8 +375,8 @@ public class DynamicDenylistManagerTest {
|
|||||||
mDynamicDenylistManager.dump(printWriter);
|
mDynamicDenylistManager.dump(printWriter);
|
||||||
|
|
||||||
final String dumpResults = stringWriter.toString();
|
final String dumpResults = stringWriter.toString();
|
||||||
assertThat(dumpResults.contains("ManualDenylist: app1")).isTrue();
|
assertThat(dumpResults.contains("\tManualDenylist:\n\t\tapp1")).isTrue();
|
||||||
assertThat(dumpResults.contains("DynamicDenylist: app2")).isTrue();
|
assertThat(dumpResults.contains("\tDynamicDenylist:\n\t\tapp2")).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -389,8 +389,8 @@ public class DynamicDenylistManagerTest {
|
|||||||
mDynamicDenylistManager.dump(printWriter);
|
mDynamicDenylistManager.dump(printWriter);
|
||||||
|
|
||||||
final String dumpResults = stringWriter.toString();
|
final String dumpResults = stringWriter.toString();
|
||||||
assertThat(dumpResults.contains("ManualDenylist: null")).isTrue();
|
assertThat(dumpResults.contains("Dump of DynamicDenylistManager:")).isTrue();
|
||||||
assertThat(dumpResults.contains("DynamicDenylist: null")).isTrue();
|
assertThat(dumpResults.contains("\tManualDenylist:\n\tDynamicDenylist:")).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user