diff --git a/EditWeight.tsx b/EditWeight.tsx index f924c86..280d3d4 100644 --- a/EditWeight.tsx +++ b/EditWeight.tsx @@ -28,6 +28,7 @@ export default function EditWeight() { const { params } = useRoute>(); const { weight } = params; const { navigate } = useNavigation>(); + const { navigate: stackNavigate, goBack } = useNavigation>(); const [settings, setSettings] = useState({} as Settings); const [value, setValue] = useState(weight.value?.toString()); const [unit, setUnit] = useState(weight.unit); @@ -58,7 +59,8 @@ export default function EditWeight() { await weightRepo.save(newWeight); if (settings.notify) await checkWeekly(); - navigate("Weight"); + goBack(); + stackNavigate("ViewWeightGraph"); }; const checkWeekly = async () => { diff --git a/SettingsPage.tsx b/SettingsPage.tsx index 5a783e7..1aeed9d 100644 --- a/SettingsPage.tsx +++ b/SettingsPage.tsx @@ -71,7 +71,7 @@ export default function SettingsPage() { } = useAppTheme(); useEffect(() => { - NativeModules.SettingsModule.ignoringBattery(setIgnoring); + NativeModules.SettingsModule.ignoringBattery().then(setIgnoring); NativeModules.SettingsModule.is24().then((is24: boolean) => { console.log(`${SettingsPage.name}.focus:`, { is24 }); if (is24) setFormatOptions(twentyFours); diff --git a/android/app/src/main/java/com/massive/SettingsModule.kt b/android/app/src/main/java/com/massive/SettingsModule.kt index cf498bf..eb4fc0c 100644 --- a/android/app/src/main/java/com/massive/SettingsModule.kt +++ b/android/app/src/main/java/com/massive/SettingsModule.kt @@ -21,13 +21,13 @@ class SettingsModule constructor(context: ReactApplicationContext?) : @RequiresApi(Build.VERSION_CODES.M) @ReactMethod - fun ignoringBattery(callback: Callback) { + fun ignoringBattery(promise: Promise) { val packageName = reactApplicationContext.packageName val pm = reactApplicationContext.getSystemService(Context.POWER_SERVICE) as PowerManager if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - callback.invoke(pm.isIgnoringBatteryOptimizations(packageName)) + promise.resolve(pm.isIgnoringBatteryOptimizations(packageName)) } else { - callback.invoke(true) + promise.resolve(true) } }