diff options
| -rw-r--r-- | mullvad-paths/src/lib.rs | 2 | ||||
| -rw-r--r-- | mullvad-paths/src/settings.rs | 19 |
2 files changed, 14 insertions, 7 deletions
diff --git a/mullvad-paths/src/lib.rs b/mullvad-paths/src/lib.rs index 57671e2c50..863119a261 100644 --- a/mullvad-paths/src/lib.rs +++ b/mullvad-paths/src/lib.rs @@ -19,7 +19,7 @@ pub enum Error { NoProgramDataDir, } -#[cfg(unix)] +#[cfg(any(target_os = "linux", target_os = "macos"))] const PRODUCT_NAME: &str = "mullvad-vpn"; #[cfg(windows)] diff --git a/mullvad-paths/src/settings.rs b/mullvad-paths/src/settings.rs index 0645a38a6e..8eff863677 100644 --- a/mullvad-paths/src/settings.rs +++ b/mullvad-paths/src/settings.rs @@ -15,14 +15,21 @@ fn get_settings_dir() -> Result<PathBuf> { } pub fn get_default_settings_dir() -> Result<PathBuf> { - let dir; - #[cfg(unix)] + #[cfg(not(target_os = "android"))] { - dir = Ok(PathBuf::from("/etc")); + let dir; + #[cfg(unix)] + { + dir = Ok(PathBuf::from("/etc")); + } + #[cfg(windows)] + { + dir = dirs::data_local_dir().ok_or_else(|| crate::Error::FindDirError); + } + dir.map(|dir| dir.join(crate::PRODUCT_NAME)) } - #[cfg(windows)] + #[cfg(target_os = "android")] { - dir = dirs::data_local_dir().ok_or(crate::Error::FindDirError); + Ok(PathBuf::from(crate::APP_PATH)) } - dir.map(|dir| dir.join(crate::PRODUCT_NAME)) } |
