summaryrefslogtreecommitdiffhomepage
path: root/android/app
diff options
context:
space:
mode:
authorJonatan Rhodin <jonatan.rhodin@mullvad.net>2025-01-31 09:18:53 +0100
committerJonatan Rhodin <jonatan.rhodin@mullvad.net>2025-02-04 09:56:31 +0100
commit31595f172368fad9468d3c4871e1e6286bae40ea (patch)
tree6b0e3ff1b109dffa91ca2e04dd7aa9eb1bbcb99e /android/app
parentf52197583dfa73bc5ef9cfd5a42686ddc8f9f888 (diff)
downloadmullvadvpn-31595f172368fad9468d3c4871e1e6286bae40ea.tar.xz
mullvadvpn-31595f172368fad9468d3c4871e1e6286bae40ea.zip
Open the store page on fdroid version
Diffstat (limited to 'android/app')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/constant/BuildConstant.kt1
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/UiModule.kt37
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AppInfoViewModel.kt3
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt3
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModelTest.kt1
5 files changed, 29 insertions, 16 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/constant/BuildConstant.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/constant/BuildConstant.kt
index db76afc769..f06958c90c 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/constant/BuildConstant.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/constant/BuildConstant.kt
@@ -3,3 +3,4 @@ package net.mullvad.mullvadvpn.constant
import net.mullvad.mullvadvpn.BuildConfig
const val IS_PLAY_BUILD = BuildConfig.FLAVOR_billing == "play"
+const val IS_FDROID_BUILD = BuildConfig.BUILD_TYPE == "fdroid"
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/UiModule.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/UiModule.kt
index 5c147379b2..9845ec2d5b 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/UiModule.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/UiModule.kt
@@ -10,6 +10,7 @@ import kotlinx.coroutines.MainScope
import net.mullvad.mullvadvpn.BuildConfig
import net.mullvad.mullvadvpn.applist.ApplicationsProvider
import net.mullvad.mullvadvpn.compose.state.RelayListType
+import net.mullvad.mullvadvpn.constant.IS_FDROID_BUILD
import net.mullvad.mullvadvpn.constant.IS_PLAY_BUILD
import net.mullvad.mullvadvpn.dataproxy.MullvadProblemReport
import net.mullvad.mullvadvpn.lib.payment.PaymentProvider
@@ -194,23 +195,31 @@ val uiModule = module {
viewModel { AccountViewModel(get(), get(), get(), IS_PLAY_BUILD) }
viewModel { ChangelogViewModel(get(), get(), get()) }
viewModel {
- AppInfoViewModel(get(), get(), get(), IS_PLAY_BUILD, get(named(SELF_PACKAGE_NAME)))
+ AppInfoViewModel(
+ changelogRepository = get(),
+ appVersionInfoRepository = get(),
+ resources = get(),
+ isPlayBuild = IS_PLAY_BUILD,
+ isFdroidBuild = IS_FDROID_BUILD,
+ packageName = get(named(SELF_PACKAGE_NAME)),
+ )
}
viewModel {
ConnectViewModel(
- get(),
- get(),
- get(),
- get(),
- get(),
- get(),
- get(),
- get(),
- get(),
- get(),
- get(),
- IS_PLAY_BUILD,
- get(named(SELF_PACKAGE_NAME)),
+ accountRepository = get(),
+ deviceRepository = get(),
+ changelogRepository = get(),
+ inAppNotificationController = get(),
+ newDeviceRepository = get(),
+ selectedLocationTitleUseCase = get(),
+ outOfTimeUseCase = get(),
+ paymentUseCase = get(),
+ connectionProxy = get(),
+ lastKnownLocationUseCase = get(),
+ resources = get(),
+ isPlayBuild = IS_PLAY_BUILD,
+ isFdroidBuild = IS_FDROID_BUILD,
+ packageName = get(named(SELF_PACKAGE_NAME)),
)
}
viewModel { DeviceListViewModel(get(), get()) }
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AppInfoViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AppInfoViewModel.kt
index 8e5ec24a14..6f5fad6dba 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AppInfoViewModel.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AppInfoViewModel.kt
@@ -22,6 +22,7 @@ class AppInfoViewModel(
appVersionInfoRepository: AppVersionInfoRepository,
private val resources: Resources,
private val isPlayBuild: Boolean,
+ private val isFdroidBuild: Boolean,
private val packageName: String,
) : ViewModel() {
@@ -45,7 +46,7 @@ class AppInfoViewModel(
fun openAppListing() =
viewModelScope.launch {
val uri =
- if (isPlayBuild) {
+ if (isPlayBuild || isFdroidBuild) {
resources.getString(R.string.market_uri, packageName)
} else {
resources.getString(R.string.download_url)
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt
index 0ddbd7d724..6e8b3f9009 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt
@@ -52,6 +52,7 @@ class ConnectViewModel(
lastKnownLocationUseCase: LastKnownLocationUseCase,
private val resources: Resources,
private val isPlayBuild: Boolean,
+ private val isFdroidBuild: Boolean,
private val packageName: String,
) : ViewModel() {
private val _uiSideEffect = Channel<UiSideEffect>()
@@ -182,7 +183,7 @@ class ConnectViewModel(
fun openAppListing() =
viewModelScope.launch {
val uri =
- if (isPlayBuild) {
+ if (isPlayBuild || isFdroidBuild) {
resources.getString(R.string.market_uri, packageName)
} else {
resources.getString(R.string.download_url)
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModelTest.kt
index 1206af7152..5950f6475f 100644
--- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModelTest.kt
+++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModelTest.kt
@@ -127,6 +127,7 @@ class ConnectViewModelTest {
lastKnownLocationUseCase = mockLastKnownLocationUseCase,
resources = mockk(),
isPlayBuild = false,
+ isFdroidBuild = false,
packageName = "net.mullvad.mullvadvpn",
)
}