private void PollForBatteryInfo() { string batteryInfo = new AdbCommand().RunCommand(@"shell dumpsys battery"); if (String.IsNullOrEmpty(batteryInfo) || batteryInfo.StartsWith("ERROR")) return; foreach (KeyValuePair<Regex, KeyValuePair<string, Type>> kvp in _regexMapping) { var m = kvp.Key.Matches(batteryInfo); if (m == null || m.Count == 0 || m[0].Groups.Count < 2) continue; string value = m[0].Groups[1].Value.Trim(); _info.GetType().GetProperty(kvp.Value.Key).SetValue(_info, System.Convert.ChangeType(value, kvp.Value.Value), null); } }
private bool PollForModel() { string buildProp = new AdbCommand().RunCommand(@"shell cat /system/build.prop"); if (String.IsNullOrEmpty(buildProp) || buildProp.StartsWith("ERROR")) return false; var m = _reModel.Matches(buildProp); if (m == null || m.Count == 0 || m[0].Groups.Count < 2) return false; _info.Model = m[0].Groups[1].Value.Trim(); _info.DeviceConnected = true; return true; }