aflags: list: merge package and name into fully qualified name
Print the fully qualified name instead of splitting flag package and
flag name into separate columns. This aligns the output with the
expected input to `aflags enable <fully-qualified-name>` and makes it
easier to copy-and-paste the flag names.
Before this change:
$ adb shell aflags list | head -n4
android.app.admin.flags cross_user_suspension_enabled false default read-write system
android.app.admin.flags dedicated_device_control_enabled false default read-write system
android.app.admin.flags device_policy_size_tracking_enabled false default read-write system
android.app.admin.flags dumpsys_policy_engine_migration_enabled false default read-write system
After this change:
$ adb shell aflags list | head -n4
android.app.admin.flags.cross_user_suspension_enabled false default read-write system
android.app.admin.flags.dedicated_device_control_enabled false default read-write system
android.app.admin.flags.device_policy_size_tracking_enabled false default read-write system
android.app.admin.flags.dumpsys_policy_engine_migration_enabled false default read-write system
Bug: N/A
Test: adb shell aflags list
Change-Id: I3227c9c9c7355b5b0c1b75ada73b1a8f87d1be55
diff --git a/tools/aconfig/aflags/src/main.rs b/tools/aconfig/aflags/src/main.rs
index ef0195f..d5704e8 100644
--- a/tools/aconfig/aflags/src/main.rs
+++ b/tools/aconfig/aflags/src/main.rs
@@ -116,32 +116,28 @@
}
struct PaddingInfo {
- longest_package_col: usize,
- longest_name_col: usize,
+ longest_flag_col: usize,
longest_val_col: usize,
longest_value_picked_from_col: usize,
longest_permission_col: usize,
}
fn format_flag_row(flag: &Flag, info: &PaddingInfo) -> String {
- let pkg = &flag.package;
- let p0 = info.longest_package_col + 1;
-
- let name = &flag.name;
- let p1 = info.longest_name_col + 1;
+ let full_name = flag.qualified_name();
+ let p0 = info.longest_flag_col + 1;
let val = flag.value.to_string();
- let p2 = info.longest_val_col + 1;
+ let p1 = info.longest_val_col + 1;
let value_picked_from = flag.value_picked_from.to_string();
- let p3 = info.longest_value_picked_from_col + 1;
+ let p2 = info.longest_value_picked_from_col + 1;
let perm = flag.permission.to_string();
- let p4 = info.longest_permission_col + 1;
+ let p3 = info.longest_permission_col + 1;
let container = &flag.container;
- format!("{pkg:p0$}{name:p1$}{val:p2$}{value_picked_from:p3$}{perm:p4$}{container}\n")
+ format!("{full_name:p0$}{val:p1$}{value_picked_from:p2$}{perm:p3$}{container}\n")
}
fn set_flag(qualified_name: &str, value: &str) -> Result<()> {
@@ -164,8 +160,7 @@
fn list() -> Result<String> {
let flags = DeviceConfigSource::list_flags()?;
let padding_info = PaddingInfo {
- longest_package_col: flags.iter().map(|f| f.package.len()).max().unwrap_or(0),
- longest_name_col: flags.iter().map(|f| f.name.len()).max().unwrap_or(0),
+ longest_flag_col: flags.iter().map(|f| f.qualified_name().len()).max().unwrap_or(0),
longest_val_col: flags.iter().map(|f| f.value.to_string().len()).max().unwrap_or(0),
longest_value_picked_from_col: flags
.iter()