diff --git a/App.js b/App.js index d7f7d69..1fe3143 100644 --- a/App.js +++ b/App.js @@ -85,7 +85,7 @@ export default class App extends React.Component { if (this.state.isLoading) { return ( this.loadAssetsAsync()} onFinish={() => this.onLoadFinished()} onError={console.warn} /> diff --git a/assets/drawer-cover.png b/assets/drawer-cover.png index 3d8e6fb..70a4ffd 100644 Binary files a/assets/drawer-cover.png and b/assets/drawer-cover.png differ diff --git a/screens/SettingsScreen.js b/screens/SettingsScreen.js index e0aa0f4..494d377 100644 --- a/screens/SettingsScreen.js +++ b/screens/SettingsScreen.js @@ -23,6 +23,7 @@ import CustomMaterialIcon from "../components/CustomMaterialIcon"; import AsyncStorageManager from "../utils/AsyncStorageManager"; import Touchable from "react-native-platform-touchable"; import {Platform} from "react-native"; +import NotificationsManager from "../utils/NotificationsManager"; type Props = { navigation: Object, @@ -53,6 +54,10 @@ export default class SettingsScreen extends React.Component { this.setState({ proxiwashNotifPickerSelected: value }); + let intVal = 0; + if (value !== 'never') + intVal = parseInt(value); + NotificationsManager.setMachineReminderNotificationTime(intVal); } /** @@ -70,9 +75,6 @@ export default class SettingsScreen extends React.Component { onValueChange={(value) => this.onProxiwashNotifPickerValueChange(value)} > - - - diff --git a/utils/NotificationsManager.js b/utils/NotificationsManager.js index cce535e..2cc3b3e 100644 --- a/utils/NotificationsManager.js +++ b/utils/NotificationsManager.js @@ -159,4 +159,36 @@ export default class NotificationsManager { console.log(error); }); } + + /** + * Send the selected reminder time for notifications to the server + * @param time + */ + static setMachineReminderNotificationTime(time: number) { + console.log(time); + let token = AsyncStorageManager.getInstance().preferences.expoToken.current; + if (token === '') { + throw Error('Expo token not available'); + } + let data = { + function: 'set_machine_reminder', + token: token, + time: time, + }; + fetch(EXPO_TOKEN_SERVER, { + method: 'POST', + headers: new Headers({ + Accept: 'application/json', + 'Content-Type': 'application/json', + }), + body: JSON.stringify(data) // <-- Post parameters + }) + .then((response) => response.text()) + .then((responseText) => { + console.log(responseText); + }) + .catch((error) => { + console.log(error); + }); + } }