Skip to content

Commit 8fcba4f

Browse files
authored
Remove rebranding banner and FF (#7069)
Task/Issue URL: https://app.asana.com/1/137249556945/project/488551667048375/task/1210911336184715?focus=true ### Description Remove rebranding banner in Subscription Settings and Toggle ### Steps to test this PR _Pre steps_ - [x] Apply patch from https://app.asana.com/1/137249556945/project/1209991789468715/task/1210448620621729?focus=true _Rebranding banner_ - [x] Install from branch - [x] If you have a subscription go to Subscription Settings and make sure rebranding banner is not there - [x] If not, purchase a test subscription - [x] Go to Subscription Settings - [x] Check rebranding banner is not there ### UI changes | Before | After | | ------ | ----- | <img width="388" height="599" alt="Screenshot 2025-11-06 at 12 58 52" src="https://github.com/user-attachments/assets/1c84a45c-6833-436f-b230-c627fec7454d" />|<img width="381" height="468" alt="Screenshot 2025-11-06 at 12 58 28" src="https://github.com/user-attachments/assets/5118afcc-d10e-41c7-974b-8d4324bbbc2f" />|
1 parent acfee4c commit 8fcba4f

File tree

14 files changed

+1
-400
lines changed

14 files changed

+1
-400
lines changed

subscriptions/subscriptions-api/src/main/java/com/duckduckgo/subscriptions/api/SubscriptionRebrandingFeatureToggle.kt

Lines changed: 0 additions & 29 deletions
This file was deleted.

subscriptions/subscriptions-dummy-impl/src/main/java/com/duckduckgo/subscriptions/impl/SubscriptionRebrandingFeatureToggleDummy.kt

Lines changed: 0 additions & 30 deletions
This file was deleted.

subscriptions/subscriptions-impl/src/main/java/com/duckduckgo/subscriptions/impl/RealSubscriptions.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -240,9 +240,6 @@ interface PrivacyProFeature {
240240
@Toggle.DefaultValue(DefaultFeatureValue.TRUE)
241241
fun duckAISubscriptionMessaging(): Toggle
242242

243-
@Toggle.DefaultValue(DefaultFeatureValue.INTERNAL)
244-
fun subscriptionRebranding(): Toggle
245-
246243
@Toggle.DefaultValue(DefaultFeatureValue.TRUE)
247244
fun refreshSubscriptionPlanFeatures(): Toggle
248245

subscriptions/subscriptions-impl/src/main/java/com/duckduckgo/subscriptions/impl/SubscriptionRebrandingFeatureToggle.kt

Lines changed: 0 additions & 77 deletions
This file was deleted.

subscriptions/subscriptions-impl/src/main/java/com/duckduckgo/subscriptions/impl/repository/RebrandingRepository.kt

Lines changed: 0 additions & 44 deletions
This file was deleted.

subscriptions/subscriptions-impl/src/main/java/com/duckduckgo/subscriptions/impl/store/RebrandingDataStore.kt

Lines changed: 0 additions & 56 deletions
This file was deleted.

subscriptions/subscriptions-impl/src/main/java/com/duckduckgo/subscriptions/impl/ui/SubscriptionSettingsActivity.kt

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixelSender
5252
import com.duckduckgo.subscriptions.impl.switch_plan.SwitchPlanBottomSheetDialogFactory
5353
import com.duckduckgo.subscriptions.impl.ui.ChangePlanActivity.Companion.ChangePlanScreenWithEmptyParams
5454
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsViewModel.Command
55-
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsViewModel.Command.DismissRebrandingBanner
5655
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsViewModel.Command.FinishSignOut
5756
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsViewModel.Command.GoToActivationScreen
5857
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsViewModel.Command.GoToEditEmailScreen
@@ -159,15 +158,6 @@ class SubscriptionSettingsActivity : DuckDuckGoActivity() {
159158
binding.faq.setPrimaryText(getString(string.privacyProFaq))
160159
binding.faq.setSecondaryText(getString(string.privacyProFaqSecondary))
161160

162-
if (viewState.showRebrandingBanner) {
163-
binding.includePrivacyProRebrandingBanner.root.show()
164-
binding.includePrivacyProRebrandingBanner.settingsBannerClose.setOnClickListener {
165-
viewModel.rebrandingBannerDismissed()
166-
}
167-
} else {
168-
binding.includePrivacyProRebrandingBanner.root.gone()
169-
}
170-
171161
if (viewState.status in listOf(INACTIVE, EXPIRED)) {
172162
binding.viewPlans.isVisible = true
173163
binding.changePlan.isVisible = false
@@ -308,8 +298,6 @@ class SubscriptionSettingsActivity : DuckDuckGoActivity() {
308298
)
309299
}
310300

311-
is DismissRebrandingBanner -> dismissRebrandingBanner()
312-
313301
is ShowSwitchPlanDialog -> showSwitchPlanDialog(command.switchType)
314302
}
315303
}
@@ -384,10 +372,6 @@ class SubscriptionSettingsActivity : DuckDuckGoActivity() {
384372
)
385373
}
386374

387-
private fun dismissRebrandingBanner() {
388-
binding.includePrivacyProRebrandingBanner.root.gone()
389-
}
390-
391375
companion object {
392376
const val URL = "https://play.google.com/store/account/subscriptions?sku=%s&package=%s"
393377

subscriptions/subscriptions-impl/src/main/java/com/duckduckgo/subscriptions/impl/ui/SubscriptionSettingsViewModel.kt

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,11 @@ import com.duckduckgo.di.scopes.ActivityScope
2727
import com.duckduckgo.subscriptions.api.ActiveOfferType
2828
import com.duckduckgo.subscriptions.api.PrivacyProUnifiedFeedback
2929
import com.duckduckgo.subscriptions.api.PrivacyProUnifiedFeedback.PrivacyProFeedbackSource.SUBSCRIPTION_SETTINGS
30-
import com.duckduckgo.subscriptions.api.SubscriptionRebrandingFeatureToggle
3130
import com.duckduckgo.subscriptions.api.SubscriptionStatus
3231
import com.duckduckgo.subscriptions.impl.SubscriptionsConstants.MONTHLY_PLAN_ROW
3332
import com.duckduckgo.subscriptions.impl.SubscriptionsConstants.MONTHLY_PLAN_US
3433
import com.duckduckgo.subscriptions.impl.SubscriptionsManager
3534
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixelSender
36-
import com.duckduckgo.subscriptions.impl.repository.RebrandingRepository
37-
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsViewModel.Command.DismissRebrandingBanner
3835
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsViewModel.Command.FinishSignOut
3936
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsViewModel.Command.GoToActivationScreen
4037
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsViewModel.Command.GoToEditEmailScreen
@@ -53,7 +50,7 @@ import kotlinx.coroutines.flow.launchIn
5350
import kotlinx.coroutines.flow.onEach
5451
import kotlinx.coroutines.flow.receiveAsFlow
5552
import kotlinx.coroutines.launch
56-
import java.util.*
53+
import java.util.Date
5754
import javax.inject.Inject
5855

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

6964
private val command = Channel<Command>(1, DROP_OLDEST)
@@ -106,15 +101,11 @@ class SubscriptionSettingsViewModel @Inject constructor(
106101
email = account.email?.takeUnless { it.isBlank() },
107102
showFeedback = privacyProUnifiedFeedback.shouldUseUnifiedFeedback(source = SUBSCRIPTION_SETTINGS),
108103
activeOffers = subscription.activeOffers,
109-
showRebrandingBanner = shouldShowRebrandingBanner(),
110104
switchPlanAvailable = subscriptionsManager.isSwitchPlanAvailable(),
111105
),
112106
)
113107
}
114108

115-
private suspend fun shouldShowRebrandingBanner(): Boolean =
116-
subscriptionRebrandingFeatureToggle.isSubscriptionRebrandingEnabled() && !rebrandingRepository.isRebrandingBannerShown()
117-
118109
fun onEditEmailButtonClicked() {
119110
viewModelScope.launch {
120111
command.send(GoToEditEmailScreen)
@@ -143,13 +134,6 @@ class SubscriptionSettingsViewModel @Inject constructor(
143134
}
144135
}
145136

146-
fun rebrandingBannerDismissed() {
147-
viewModelScope.launch {
148-
rebrandingRepository.setRebrandingBannerAsViewed()
149-
command.send(DismissRebrandingBanner)
150-
}
151-
}
152-
153137
fun onSwitchPlanClicked(currentDuration: SubscriptionDuration) {
154138
viewModelScope.launch {
155139
val switchType = when (currentDuration) {
@@ -176,7 +160,6 @@ class SubscriptionSettingsViewModel @Inject constructor(
176160
data object GoToEditEmailScreen : Command()
177161
data object GoToActivationScreen : Command()
178162
data class GoToPortal(val url: String) : Command()
179-
data object DismissRebrandingBanner : Command()
180163
data class ShowSwitchPlanDialog(val switchType: SwitchPlanType) : Command()
181164
}
182165

@@ -196,7 +179,6 @@ class SubscriptionSettingsViewModel @Inject constructor(
196179
val email: String?,
197180
val showFeedback: Boolean = false,
198181
val activeOffers: List<ActiveOfferType>,
199-
val showRebrandingBanner: Boolean = false,
200182
val switchPlanAvailable: Boolean,
201183
) : ViewState()
202184
}

0 commit comments

Comments
 (0)