summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/FileResourceExtractor.kt4
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt9
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
+ }
}