MCPcopy Create free account
hub / github.com/NativeScript/SimDeck / parse_android_display_metrics

Function parse_android_display_metrics

packages/server/src/android.rs:2092–2117  ·  view source on GitHub ↗
(output: &str)

Source from the content-addressed store, hash-verified

2090}
2091
2092fn parse_android_display_metrics(output: &str) -> Option<AndroidDisplayMetrics> {
2093 let rotation = parse_android_display_rotation(output).unwrap_or(0);
2094 let corner_radii = parse_android_rounded_corners(output).unwrap_or(AndroidCornerRadii::ZERO);
2095 if let Some(line) = output
2096 .lines()
2097 .find(|line| line.contains("mOverrideDisplayInfo=DisplayInfo"))
2098 {
2099 if let Some((width, height)) = parse_display_info_app_size(line) {
2100 return Some(AndroidDisplayMetrics {
2101 width,
2102 height,
2103 rotation_quarter_turns: rotation,
2104 corner_radii,
2105 });
2106 }
2107 }
2108 if let Some((width, height)) = output.lines().find_map(parse_logical_frame_size) {
2109 return Some(AndroidDisplayMetrics {
2110 width,
2111 height,
2112 rotation_quarter_turns: rotation,
2113 corner_radii,
2114 });
2115 }
2116 None
2117}
2118
2119fn parse_android_rounded_corners(output: &str) -> Option<AndroidCornerRadii> {
2120 let mut radii = AndroidCornerRadii::ZERO;

Callers 1

Tested by

no test coverage detected