diff --git a/app.json b/app.json index c83fb212..d3887d44 100644 --- a/app.json +++ b/app.json @@ -40,8 +40,15 @@ "backgroundColor": "#FFFFFF" }, "permissions": [ - "VIBRATE" - ] + "VIBRATE", + "FOREGROUND_SERVICE", + "WAKE_LOCK" + ], + "foregroundService": { + "notificationTitle": "Sonic Compass active", + "notificationBody": "Running in background", + "notificationColor": "#0f1a2b" + } }, "web": { "favicon": "./assets/favicon.png" diff --git a/background-haptics/src/index.js b/background-haptics/src/index.js index 60d80919..ae3e1c7e 100644 --- a/background-haptics/src/index.js +++ b/background-haptics/src/index.js @@ -1,7 +1,16 @@ -import { Platform } from 'react-native'; -import BackgroundHapticsModule from './module'; +import { Platform, Vibration } from 'react-native'; + +let BackgroundHapticsModule = null; +if (Platform.OS === 'ios') { + BackgroundHapticsModule = require('./module').default; +} export function impact(style = 'medium') { + if (Platform.OS === 'android') { + const durations = { light: 20, medium: 35, heavy: 50 }; + Vibration.vibrate(durations[style] ?? durations.medium); + return Promise.resolve(); + } if (Platform.OS !== 'ios') { return Promise.resolve(); }