diff --git a/ReactNativeClient/lib/components/screens/config.js b/ReactNativeClient/lib/components/screens/config.js index 228a866669..ef56ca8449 100644 --- a/ReactNativeClient/lib/components/screens/config.js +++ b/ReactNativeClient/lib/components/screens/config.js @@ -70,6 +70,12 @@ class ConfigScreenComponent extends BaseScreenComponent { fontSize: theme.fontSize, flex: 1, }, + permissionText: { + color: theme.color, + fontSize: theme.fontSize, + flex: 1, + marginTop: 10, + }, settingControl: { color: theme.color, flex: 1, @@ -201,6 +207,21 @@ class ConfigScreenComponent extends BaseScreenComponent { ); } + if (Platform.OS === 'android' && Platform.Version >= 23) { + // Note: `PermissionsAndroid` doesn't work so we have to ask the user to manually + // set these permissions. https://stackoverflow.com/questions/49771084/permission-always-returns-never-ask-again + settingComps.push( + + + {_('To work correctly, the app needs the following permissions. Please enable them in your phone settings, in Apps > Joplin > Permissions')} + {_('- Storage: to allow attaching files to notes and to enable filesystem synchronisation.')} + {_('- Camera: to allow taking a picture and attaching it to a note.')} + {_('- Location: to allow attaching geo-location information to a note.')} + + + ); + } + settingComps.push( { Linking.openURL('https://joplin.cozic.net/donate/') }}>