diff options
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/FileResourceExtractor.kt | 4 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt | 9 |
2 files changed, 10 insertions, 3 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/FileResourceExtractor.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/FileResourceExtractor.kt index 1ab65fa850..34ca0eaa89 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/FileResourceExtractor.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/FileResourceExtractor.kt @@ -5,10 +5,10 @@ import java.io.File import java.io.FileOutputStream class FileResourceExtractor(val context: Context) { - fun extract(asset: String) { + fun extract(asset: String, force: Boolean = false) { val destination = File(context.filesDir, asset) - if (!destination.exists()) { + if (!destination.exists() || force) { extractFile(asset, destination) } } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt index 99c391dedb..b8cfe4a828 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt @@ -185,9 +185,12 @@ class MullvadVpnService : TalpidVpnService() { migrate("wireguard.old.log") } + val shouldOverwriteRelayList = + lastUpdatedTime() > File(filesDir, RELAYS_FILE).lastModified() + FileResourceExtractor(this).apply { extract(API_ROOT_CA_FILE) - extract(RELAYS_FILE) + extract(RELAYS_FILE, shouldOverwriteRelayList) } } @@ -241,4 +244,8 @@ class MullvadVpnService : TalpidVpnService() { startActivity(intent) } + + private fun lastUpdatedTime(): Long { + return packageManager.getPackageInfo(packageName, 0).lastUpdateTime + } } |
