summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2023-09-21 08:56:05 +0200
committerAlbin <albin@mullvad.net>2023-09-21 18:30:53 +0200
commitd946bd89697294b88974dcecb185d6dc94867a00 (patch)
tree3fc5c9897630546e94158e944112f58234cac96a /android
parent119da166330aaf5ef037f4269e36eedc5f142da9 (diff)
downloadmullvadvpn-d946bd89697294b88974dcecb185d6dc94867a00.tar.xz
mullvadvpn-d946bd89697294b88974dcecb185d6dc94867a00.zip
Use play flavor to comply with policies
Diffstat (limited to 'android')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/NotificationBanner.kt15
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AccountScreen.kt5
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/SettingsScreen.kt6
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/constant/BuildConstant.kt5
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/ConnectFragment.kt6
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/PrivacyDisclaimerFragment.kt4
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/StringExtensions.kt10
-rw-r--r--android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/CommonStringExtensions.kt (renamed from android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/StringExtensions.kt)9
-rw-r--r--android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/constant/BuildConstant.kt5
-rw-r--r--android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/notifications/AccountExpiryNotification.kt5
10 files changed, 38 insertions, 32 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/NotificationBanner.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/NotificationBanner.kt
index 04fff334c3..4e638d56b2 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/NotificationBanner.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/NotificationBanner.kt
@@ -24,13 +24,12 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.tooling.preview.Preview
import androidx.constraintlayout.compose.ConstraintLayout
import androidx.constraintlayout.compose.Dimension
-import net.mullvad.mullvadvpn.BuildConfig
import net.mullvad.mullvadvpn.R
import net.mullvad.mullvadvpn.compose.extensions.getExpiryQuantityString
import net.mullvad.mullvadvpn.compose.state.ConnectNotificationState
import net.mullvad.mullvadvpn.compose.test.NOTIFICATION_BANNER
import net.mullvad.mullvadvpn.compose.util.rememberPrevious
-import net.mullvad.mullvadvpn.lib.common.constant.BuildTypes
+import net.mullvad.mullvadvpn.constant.IS_PLAY_BUILD
import net.mullvad.mullvadvpn.lib.common.util.getErrorNotificationResources
import net.mullvad.mullvadvpn.lib.theme.AppTheme
import net.mullvad.mullvadvpn.lib.theme.Dimens
@@ -122,10 +121,10 @@ private fun ShowNotification(
versionInfoNotification(
versionInfo = connectNotificationState.versionInfo,
onClickUpdateVersion =
- if (BuildConfig.BUILD_TYPE != BuildTypes.RELEASE) {
- onClickUpdateVersion
- } else {
+ if (IS_PLAY_BUILD) {
null
+ } else {
+ onClickUpdateVersion
}
)
}
@@ -133,10 +132,10 @@ private fun ShowNotification(
accountExpiryNotification(
expiry = connectNotificationState.expiry,
onClickShowAccount =
- if (BuildConfig.BUILD_TYPE != BuildTypes.RELEASE) {
- onClickShowAccount
- } else {
+ if (IS_PLAY_BUILD) {
null
+ } else {
+ onClickShowAccount
}
)
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AccountScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AccountScreen.kt
index cf8af6fc07..c84804d955 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AccountScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AccountScreen.kt
@@ -26,7 +26,6 @@ import kotlinx.coroutines.flow.SharedFlow
import kotlinx.coroutines.flow.asSharedFlow
import me.onebone.toolbar.ScrollStrategy
import me.onebone.toolbar.rememberCollapsingToolbarScaffoldState
-import net.mullvad.mullvadvpn.BuildConfig
import net.mullvad.mullvadvpn.R
import net.mullvad.mullvadvpn.compose.button.ActionButton
import net.mullvad.mullvadvpn.compose.component.CollapsingToolbarScaffold
@@ -36,7 +35,7 @@ import net.mullvad.mullvadvpn.compose.component.InformationView
import net.mullvad.mullvadvpn.compose.component.MissingPolicy
import net.mullvad.mullvadvpn.compose.component.drawVerticalScrollbar
import net.mullvad.mullvadvpn.compose.state.AccountUiState
-import net.mullvad.mullvadvpn.lib.common.constant.BuildTypes
+import net.mullvad.mullvadvpn.constant.IS_PLAY_BUILD
import net.mullvad.mullvadvpn.lib.common.util.capitalizeFirstCharOfEachWord
import net.mullvad.mullvadvpn.lib.common.util.openAccountPageInBrowser
import net.mullvad.mullvadvpn.lib.theme.Dimens
@@ -158,7 +157,7 @@ fun AccountScreen(
Spacer(modifier = Modifier.weight(1f))
- if (BuildConfig.BUILD_TYPE != BuildTypes.RELEASE) {
+ if (IS_PLAY_BUILD.not()) {
ActionButton(
text = stringResource(id = R.string.manage_account),
onClick = onManageAccountClick,
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/SettingsScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/SettingsScreen.kt
index a9c3aa5ea9..ef5250424a 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/SettingsScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/SettingsScreen.kt
@@ -39,9 +39,9 @@ import net.mullvad.mullvadvpn.compose.extensions.itemWithDivider
import net.mullvad.mullvadvpn.compose.state.SettingsUiState
import net.mullvad.mullvadvpn.compose.test.LAZY_LIST_TEST_TAG
import net.mullvad.mullvadvpn.lib.common.constant.BuildTypes
-import net.mullvad.mullvadvpn.lib.common.util.appendHideNavOnReleaseBuild
import net.mullvad.mullvadvpn.lib.common.util.openLink
import net.mullvad.mullvadvpn.lib.theme.Dimens
+import net.mullvad.mullvadvpn.util.appendHideNavOnPlayBuild
@OptIn(ExperimentalMaterial3Api::class)
@Preview
@@ -132,7 +132,7 @@ fun SettingsScreen(
Uri.parse(
context.resources
.getString(R.string.download_url)
- .appendHideNavOnReleaseBuild()
+ .appendHideNavOnPlayBuild()
)
)
},
@@ -208,7 +208,7 @@ fun SettingsScreen(
Uri.parse(
context.resources
.getString(R.string.privacy_policy_url)
- .appendHideNavOnReleaseBuild()
+ .appendHideNavOnPlayBuild()
)
)
}
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
new file mode 100644
index 0000000000..db76afc769
--- /dev/null
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/constant/BuildConstant.kt
@@ -0,0 +1,5 @@
+package net.mullvad.mullvadvpn.constant
+
+import net.mullvad.mullvadvpn.BuildConfig
+
+const val IS_PLAY_BUILD = BuildConfig.FLAVOR_billing == "play"
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/ConnectFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/ConnectFragment.kt
index 7592be144b..b32f162761 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/ConnectFragment.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/ConnectFragment.kt
@@ -10,10 +10,10 @@ import androidx.compose.runtime.collectAsState
import androidx.compose.ui.platform.ComposeView
import net.mullvad.mullvadvpn.R
import net.mullvad.mullvadvpn.compose.screen.ConnectScreen
-import net.mullvad.mullvadvpn.lib.common.util.appendHideNavOnReleaseBuild
import net.mullvad.mullvadvpn.lib.theme.AppTheme
import net.mullvad.mullvadvpn.ui.MainActivity
import net.mullvad.mullvadvpn.ui.NavigationBarPainter
+import net.mullvad.mullvadvpn.util.appendHideNavOnPlayBuild
import net.mullvad.mullvadvpn.viewmodel.ConnectViewModel
import org.koin.androidx.viewmodel.ext.android.viewModel
@@ -58,9 +58,7 @@ class ConnectFragment : BaseFragment(), NavigationBarPainter {
Intent(
Intent.ACTION_VIEW,
Uri.parse(
- requireContext()
- .getString(R.string.download_url)
- .appendHideNavOnReleaseBuild()
+ requireContext().getString(R.string.download_url).appendHideNavOnPlayBuild()
)
)
.apply { flags = Intent.FLAG_ACTIVITY_NEW_TASK }
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/PrivacyDisclaimerFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/PrivacyDisclaimerFragment.kt
index 464395d2d8..4b500d3f58 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/PrivacyDisclaimerFragment.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/PrivacyDisclaimerFragment.kt
@@ -10,12 +10,12 @@ import androidx.compose.ui.platform.ComposeView
import androidx.fragment.app.Fragment
import net.mullvad.mullvadvpn.R
import net.mullvad.mullvadvpn.compose.screen.PrivacyDisclaimerScreen
-import net.mullvad.mullvadvpn.lib.common.util.appendHideNavOnReleaseBuild
import net.mullvad.mullvadvpn.lib.endpoint.getApiEndpointConfigurationExtras
import net.mullvad.mullvadvpn.lib.theme.AppTheme
import net.mullvad.mullvadvpn.ui.MainActivity
import net.mullvad.mullvadvpn.ui.NavigationBarPainter
import net.mullvad.mullvadvpn.ui.StatusBarPainter
+import net.mullvad.mullvadvpn.util.appendHideNavOnPlayBuild
import net.mullvad.mullvadvpn.viewmodel.PrivacyDisclaimerViewModel
import org.koin.android.ext.android.inject
@@ -51,7 +51,7 @@ class PrivacyDisclaimerFragment : Fragment(), StatusBarPainter, NavigationBarPai
val privacyPolicyUrlIntent =
Intent(
Intent.ACTION_VIEW,
- Uri.parse(getString(R.string.privacy_policy_url).appendHideNavOnReleaseBuild())
+ Uri.parse(getString(R.string.privacy_policy_url).appendHideNavOnPlayBuild())
)
context?.startActivity(privacyPolicyUrlIntent)
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/StringExtensions.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/StringExtensions.kt
new file mode 100644
index 0000000000..4214aac209
--- /dev/null
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/StringExtensions.kt
@@ -0,0 +1,10 @@
+package net.mullvad.mullvadvpn.util
+
+import net.mullvad.mullvadvpn.constant.IS_PLAY_BUILD
+
+fun String.appendHideNavOnPlayBuild(): String =
+ if (IS_PLAY_BUILD) {
+ "$this?hide_nav"
+ } else {
+ this
+ }
diff --git a/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/StringExtensions.kt b/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/CommonStringExtensions.kt
index 3fa4ec3034..f46664e929 100644
--- a/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/StringExtensions.kt
+++ b/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/CommonStringExtensions.kt
@@ -1,7 +1,5 @@
package net.mullvad.mullvadvpn.lib.common.util
-import net.mullvad.mullvadvpn.lib.common.BuildConfig
-import net.mullvad.mullvadvpn.lib.common.constant.BuildTypes
import org.joda.time.DateTime
import org.joda.time.format.DateTimeFormat
@@ -23,13 +21,6 @@ fun String.parseAsDateTime(): DateTime? {
}
}
-fun String.appendHideNavOnReleaseBuild(): String =
- if (BuildTypes.RELEASE == BuildConfig.BUILD_TYPE) {
- "$this?hide_nav"
- } else {
- this
- }
-
fun String.groupWithSpaces(groupCharSize: Int = 4): String {
return fold(StringBuilder()) { formattedText, nextDigit ->
if ((formattedText.length % (groupCharSize + 1)) == groupCharSize) {
diff --git a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/constant/BuildConstant.kt b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/constant/BuildConstant.kt
new file mode 100644
index 0000000000..5c7c387c91
--- /dev/null
+++ b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/constant/BuildConstant.kt
@@ -0,0 +1,5 @@
+package net.mullvad.mullvadvpn.service.constant
+
+import net.mullvad.mullvadvpn.service.BuildConfig
+
+const val IS_PLAY_BUILD = BuildConfig.FLAVOR == "play"
diff --git a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/notifications/AccountExpiryNotification.kt b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/notifications/AccountExpiryNotification.kt
index e07f1725d7..83e2c970ec 100644
--- a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/notifications/AccountExpiryNotification.kt
+++ b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/notifications/AccountExpiryNotification.kt
@@ -10,7 +10,6 @@ import android.net.Uri
import androidx.core.app.NotificationCompat
import kotlin.properties.Delegates.observable
import kotlinx.coroutines.delay
-import net.mullvad.mullvadvpn.lib.common.constant.BuildTypes
import net.mullvad.mullvadvpn.lib.common.constant.MAIN_ACTIVITY_CLASS
import net.mullvad.mullvadvpn.lib.common.constant.MULLVAD_PACKAGE_NAME
import net.mullvad.mullvadvpn.lib.common.util.Intermittent
@@ -18,9 +17,9 @@ import net.mullvad.mullvadvpn.lib.common.util.JobTracker
import net.mullvad.mullvadvpn.lib.common.util.SdkUtils
import net.mullvad.mullvadvpn.lib.common.util.SdkUtils.isNotificationPermissionGranted
import net.mullvad.mullvadvpn.model.AccountExpiry
-import net.mullvad.mullvadvpn.service.BuildConfig
import net.mullvad.mullvadvpn.service.MullvadDaemon
import net.mullvad.mullvadvpn.service.R
+import net.mullvad.mullvadvpn.service.constant.IS_PLAY_BUILD
import net.mullvad.mullvadvpn.service.endpoint.AccountCache
import org.joda.time.DateTime
import org.joda.time.Duration
@@ -105,7 +104,7 @@ class AccountExpiryNotification(
Uri.parse("$buyMoreTimeUrl?token=${daemon.await().getWwwAuthToken()}")
}
val intent =
- if (BuildTypes.RELEASE == BuildConfig.BUILD_TYPE) {
+ if (IS_PLAY_BUILD) {
Intent().apply {
setClassName(MULLVAD_PACKAGE_NAME, MAIN_ACTIVITY_CLASS)
flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP