Mobile Programming (MP)
Combining Detection Strategies
Future<void> checkAndRespond() async {
final report = await SecurityChecker().runAllChecks();
if (report.isCompromised) {
showDialog(
context: context,
barrierDismissible: false,
builder: (ctx) => AlertDialog(
title: Text('Security Warning'),
content: Text(
'This device may be compromised.\n\n'
'Issues detected:\n${report.issues.map((i) => '• $i').join('\n')}',
),
actions: [
TextButton(
onPressed: () => exit(0),
child: Text('Exit'),
),
],
),
);
}
}