Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -240,9 +240,6 @@ interface PrivacyProFeature {
@Toggle.DefaultValue(DefaultFeatureValue.TRUE)
fun duckAISubscriptionMessaging(): Toggle

@Toggle.DefaultValue(DefaultFeatureValue.INTERNAL)
fun subscriptionRebranding(): Toggle

@Toggle.DefaultValue(DefaultFeatureValue.TRUE)
fun refreshSubscriptionPlanFeatures(): Toggle

Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixelSender
import com.duckduckgo.subscriptions.impl.switch_plan.SwitchPlanBottomSheetDialogFactory
import com.duckduckgo.subscriptions.impl.ui.ChangePlanActivity.Companion.ChangePlanScreenWithEmptyParams
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsViewModel.Command
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsViewModel.Command.DismissRebrandingBanner
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsViewModel.Command.FinishSignOut
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsViewModel.Command.GoToActivationScreen
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsViewModel.Command.GoToEditEmailScreen
Expand Down Expand Up @@ -159,15 +158,6 @@ class SubscriptionSettingsActivity : DuckDuckGoActivity() {
binding.faq.setPrimaryText(getString(string.privacyProFaq))
binding.faq.setSecondaryText(getString(string.privacyProFaqSecondary))

if (viewState.showRebrandingBanner) {
binding.includePrivacyProRebrandingBanner.root.show()
binding.includePrivacyProRebrandingBanner.settingsBannerClose.setOnClickListener {
viewModel.rebrandingBannerDismissed()
}
} else {
binding.includePrivacyProRebrandingBanner.root.gone()
}

if (viewState.status in listOf(INACTIVE, EXPIRED)) {
binding.viewPlans.isVisible = true
binding.changePlan.isVisible = false
Expand Down Expand Up @@ -308,8 +298,6 @@ class SubscriptionSettingsActivity : DuckDuckGoActivity() {
)
}

is DismissRebrandingBanner -> dismissRebrandingBanner()

is ShowSwitchPlanDialog -> showSwitchPlanDialog(command.switchType)
}
}
Expand Down Expand Up @@ -384,10 +372,6 @@ class SubscriptionSettingsActivity : DuckDuckGoActivity() {
)
}

private fun dismissRebrandingBanner() {
binding.includePrivacyProRebrandingBanner.root.gone()
}

companion object {
const val URL = "https://play.google.com/store/account/subscriptions?sku=%s&package=%s"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,11 @@ import com.duckduckgo.di.scopes.ActivityScope
import com.duckduckgo.subscriptions.api.ActiveOfferType
import com.duckduckgo.subscriptions.api.PrivacyProUnifiedFeedback
import com.duckduckgo.subscriptions.api.PrivacyProUnifiedFeedback.PrivacyProFeedbackSource.SUBSCRIPTION_SETTINGS
import com.duckduckgo.subscriptions.api.SubscriptionRebrandingFeatureToggle
import com.duckduckgo.subscriptions.api.SubscriptionStatus
import com.duckduckgo.subscriptions.impl.SubscriptionsConstants.MONTHLY_PLAN_ROW
import com.duckduckgo.subscriptions.impl.SubscriptionsConstants.MONTHLY_PLAN_US
import com.duckduckgo.subscriptions.impl.SubscriptionsManager
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixelSender
import com.duckduckgo.subscriptions.impl.repository.RebrandingRepository
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsViewModel.Command.DismissRebrandingBanner
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsViewModel.Command.FinishSignOut
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsViewModel.Command.GoToActivationScreen
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsViewModel.Command.GoToEditEmailScreen
Expand All @@ -53,7 +50,7 @@ import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.flow.receiveAsFlow
import kotlinx.coroutines.launch
import java.util.*
import java.util.Date
import javax.inject.Inject

@SuppressLint("NoLifecycleObserver") // we don't observe app lifecycle
Expand All @@ -62,8 +59,6 @@ class SubscriptionSettingsViewModel @Inject constructor(
private val subscriptionsManager: SubscriptionsManager,
private val pixelSender: SubscriptionPixelSender,
private val privacyProUnifiedFeedback: PrivacyProUnifiedFeedback,
private val subscriptionRebrandingFeatureToggle: SubscriptionRebrandingFeatureToggle,
private val rebrandingRepository: RebrandingRepository,
) : ViewModel(), DefaultLifecycleObserver {

private val command = Channel<Command>(1, DROP_OLDEST)
Expand Down Expand Up @@ -106,15 +101,11 @@ class SubscriptionSettingsViewModel @Inject constructor(
email = account.email?.takeUnless { it.isBlank() },
showFeedback = privacyProUnifiedFeedback.shouldUseUnifiedFeedback(source = SUBSCRIPTION_SETTINGS),
activeOffers = subscription.activeOffers,
showRebrandingBanner = shouldShowRebrandingBanner(),
switchPlanAvailable = subscriptionsManager.isSwitchPlanAvailable(),
),
)
}

private suspend fun shouldShowRebrandingBanner(): Boolean =
subscriptionRebrandingFeatureToggle.isSubscriptionRebrandingEnabled() && !rebrandingRepository.isRebrandingBannerShown()

fun onEditEmailButtonClicked() {
viewModelScope.launch {
command.send(GoToEditEmailScreen)
Expand Down Expand Up @@ -143,13 +134,6 @@ class SubscriptionSettingsViewModel @Inject constructor(
}
}

fun rebrandingBannerDismissed() {
viewModelScope.launch {
rebrandingRepository.setRebrandingBannerAsViewed()
command.send(DismissRebrandingBanner)
}
}

fun onSwitchPlanClicked(currentDuration: SubscriptionDuration) {
viewModelScope.launch {
val switchType = when (currentDuration) {
Expand All @@ -176,7 +160,6 @@ class SubscriptionSettingsViewModel @Inject constructor(
data object GoToEditEmailScreen : Command()
data object GoToActivationScreen : Command()
data class GoToPortal(val url: String) : Command()
data object DismissRebrandingBanner : Command()
data class ShowSwitchPlanDialog(val switchType: SwitchPlanType) : Command()
}

Expand All @@ -196,7 +179,6 @@ class SubscriptionSettingsViewModel @Inject constructor(
val email: String?,
val showFeedback: Boolean = false,
val activeOffers: List<ActiveOfferType>,
val showRebrandingBanner: Boolean = false,
val switchPlanAvailable: Boolean,
) : ViewState()
}
Expand Down
Loading
Loading