AppLockToggleButton function

Widget AppLockToggleButton({
  1. String lockNotSetMessage = "Please enable mobile screen lock.",
  2. String errorTitle = "App Lock",
  3. bool isToggleButton = false,
})

Implementation

Widget AppLockToggleButton({
  String lockNotSetMessage = "Please enable mobile screen lock.",
  String errorTitle = "App Lock",
  bool isToggleButton = false,
}) {
  return FutureBuilder(
      future: _pref.init(),
      builder: (context, snapshot) {
        if (!snapshot.hasData || snapshot.hasError) {
          return const CircularProgressIndicator();
        }
        isAppLocked = _pref.getAppLockStatus();
        return StatefulBuilder(builder: (context, setstate) {
          if (isToggleButton) {
            return CupertinoSwitch(
                value: isAppLocked,
                onChanged: (value) async {
                  await changeLockStatus(
                      lockNotSetMessage: lockNotSetMessage,
                      errorTitle: errorTitle);
                  setstate(() {
                    isAppLocked = isAppLocked;
                  });
                });
          }
          return InkWell(
            onTap: () async {
              await changeLockStatus(
                  lockNotSetMessage: lockNotSetMessage, errorTitle: errorTitle);
              setstate(() {
                isAppLocked = isAppLocked;
              });
            },
            child: Icon(
                isAppLocked ? Icons.lock_outline : Icons.lock_open_outlined),
          );
        });
      });
}