AppLockToggleButton function
Widget
AppLockToggleButton(
{ - String lockNotSetMessage = "Please enable mobile screen lock.",
- String errorTitle = "App Lock",
})
Implementation
Widget AppLockToggleButton({
String lockNotSetMessage = "Please enable mobile screen lock.",
String errorTitle = "App Lock",
}) {
Preferences pref = Preferences();
final LocalAuthentication auth = LocalAuthentication();
return FutureBuilder(
future: pref.init(),
builder: (context, snapshot) {
if (!snapshot.hasData || snapshot.hasError) {
return const CircularProgressIndicator();
}
bool isAppLocked = pref.getAppLockStatus();
return StatefulBuilder(builder: (context, setstate) {
return CupertinoSwitch(
value: isAppLocked,
onChanged: (value) async {
bool isScrennLockSupported =
await hasScreenLockPassword(auth: auth);
setstate(() {
isAppLocked = (!isAppLocked && isScrennLockSupported);
});
await pref.saveAppLockStatus(appLockStatus: isAppLocked);
if (!isScrennLockSupported) {
GNDialogs.showDialogOneButton(
message: lockNotSetMessage,
title: errorTitle,
yes: "OK",
callback: (value) {});
}
});
});
});
}