diff --git a/EditSet.tsx b/EditSet.tsx index c735525..30f5a93 100644 --- a/EditSet.tsx +++ b/EditSet.tsx @@ -28,6 +28,8 @@ import GymSet from "./gym-set"; import Settings from "./settings"; import StackHeader from "./StackHeader"; import { toast } from "./toast"; +import Select from "./Select"; +import { PERMISSIONS, RESULTS, check, request } from "react-native-permissions"; export default function EditSet() { const { params } = useRoute>(); @@ -50,7 +52,6 @@ export default function EditSet() { const [setOptions, setSets] = useState([]); const weightRef = useRef(null); const repsRef = useRef(null); - const unitRef = useRef(null); const [selection, setSelection] = useState({ start: 0, @@ -70,6 +71,9 @@ export default function EditSet() { const milliseconds = (first?.minutes ?? 3) * 60 * 1000 + (first?.seconds ?? 0) * 1000; console.log(`${EditSet.name}.timer:`, { milliseconds }); + const canNotify = await check(PERMISSIONS.ANDROID.POST_NOTIFICATIONS); + if (canNotify === RESULTS.DENIED) + await request(PERMISSIONS.ANDROID.POST_NOTIFICATIONS); if (milliseconds) NativeModules.AlarmModule.timer(milliseconds); }, [settings] @@ -287,12 +291,15 @@ export default function EditSet() { {settings.showUnit && ( - )} diff --git a/StartPlan.tsx b/StartPlan.tsx index d067152..e6f68ec 100644 --- a/StartPlan.tsx +++ b/StartPlan.tsx @@ -21,6 +21,7 @@ import Settings from "./settings"; import StackHeader from "./StackHeader"; import StartPlanItem from "./StartPlanItem"; import { toast } from "./toast"; +import { PERMISSIONS, RESULTS, check, request } from "react-native-permissions"; export default function StartPlan() { const { params } = useRoute>(); @@ -114,6 +115,9 @@ export default function StartPlan() { if (!settings.alarm) return; const milliseconds = Number(best.minutes) * 60 * 1000 + Number(best.seconds) * 1000; + const canNotify = await check(PERMISSIONS.ANDROID.POST_NOTIFICATIONS); + if (canNotify === RESULTS.DENIED) + await request(PERMISSIONS.ANDROID.POST_NOTIFICATIONS); NativeModules.AlarmModule.timer(milliseconds); };