diff options
| author | Albin <albin@mullvad.net> | 2023-09-21 08:56:05 +0200 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2023-09-21 18:30:53 +0200 |
| commit | d946bd89697294b88974dcecb185d6dc94867a00 (patch) | |
| tree | 3fc5c9897630546e94158e944112f58234cac96a /android | |
| parent | 119da166330aaf5ef037f4269e36eedc5f142da9 (diff) | |
| download | mullvadvpn-d946bd89697294b88974dcecb185d6dc94867a00.tar.xz mullvadvpn-d946bd89697294b88974dcecb185d6dc94867a00.zip | |
Use play flavor to comply with policies
Diffstat (limited to 'android')
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 |
