Skip to content

Commit

Permalink
Improvements to managing subscriptions (#4649)
Browse files Browse the repository at this point in the history
Task/Issue URL:
https://app.asana.com/0/1205648422731273/1207427129028460/f

### Description

This PR updates the subscription settings screen UI to make managing
subscription more intuitive.

### Steps to test this PR

See task description.

### UI changes

Before:

![subscription-settings-before](https://github.com/duckduckgo/Android/assets/4212474/e47bfa2b-337f-4f5d-81db-56b89091660a)
(The "Add Device" screen is removed entirely in this PR)

After:

![subscription-settings-after](https://github.com/duckduckgo/Android/assets/4212474/a135807c-ffb6-4e73-8ab1-ee476455de03)
  • Loading branch information
lmac012 authored Jun 18, 2024
1 parent 471d4e2 commit 1ce7eab
Show file tree
Hide file tree
Showing 18 changed files with 344 additions and 584 deletions.
7 changes: 0 additions & 7 deletions subscriptions/subscriptions-impl/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,6 @@
android:parentActivityName="com.duckduckgo.app.settings.SettingsActivity"
android:screenOrientation="portrait" />

<activity
android:name=".ui.AddDeviceActivity"
android:exported="false"
android:label="Add Device"
android:parentActivityName=".ui.SubscriptionSettingsActivity"
android:screenOrientation="portrait" />

<activity
android:name=".ui.RestoreSubscriptionActivity"
android:exported="false"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ import com.duckduckgo.navigation.api.GlobalActivityStarter
import com.duckduckgo.subscriptions.api.Product
import com.duckduckgo.subscriptions.api.SubscriptionStatus
import com.duckduckgo.subscriptions.api.Subscriptions
import com.duckduckgo.subscriptions.impl.R.string
import com.duckduckgo.subscriptions.impl.SubscriptionsConstants.PRIVACY_PRO_ETLD
import com.duckduckgo.subscriptions.impl.SubscriptionsConstants.PRIVACY_PRO_PATH
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixelSender
Expand Down Expand Up @@ -100,8 +99,6 @@ class RealSubscriptions @Inject constructor(
context,
SubscriptionsWebViewActivityWithParams(
url = SubscriptionsConstants.BUY_URL,
screenTitle = context.getString(string.buySubscriptionTitle),
defaultToolbar = true,
origin = origin,
),
) ?: return
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,6 @@ enum class SubscriptionPixel(
baseName = "m_privacy-pro_welcome_add-device_click",
type = UNIQUE,
),
SETTINGS_ADD_DEVICE_CLICK(
baseName = "m_privacy-pro_settings_add-device_click",
type = COUNT,
),
ADD_DEVICE_ENTER_EMAIL_CLICK(
baseName = "m_privacy-pro_add-device_enter-email_click",
type = COUNT,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.RESTORE_USING_
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.RESTORE_USING_STORE_FAILURE_OTHER
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.RESTORE_USING_STORE_FAILURE_SUBSCRIPTION_NOT_FOUND
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.RESTORE_USING_STORE_SUCCESS
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.SETTINGS_ADD_DEVICE_CLICK
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.SUBSCRIPTION_ACTIVATED
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.SUBSCRIPTION_ACTIVE
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.SUBSCRIPTION_ADD_EMAIL_SUCCESS
Expand Down Expand Up @@ -78,7 +77,6 @@ interface SubscriptionPixelSender {
fun reportRestoreAfterPurchaseAttemptSuccess()
fun reportSubscriptionActivated()
fun reportOnboardingAddDeviceClick()
fun reportSettingsAddDeviceClick()
fun reportAddDeviceEnterEmailClick()
fun reportOnboardingVpnClick()
fun reportOnboardingPirClick()
Expand Down Expand Up @@ -166,9 +164,6 @@ class SubscriptionPixelSenderImpl @Inject constructor(
override fun reportOnboardingAddDeviceClick() =
fire(ONBOARDING_ADD_DEVICE_CLICK)

override fun reportSettingsAddDeviceClick() =
fire(SETTINGS_ADD_DEVICE_CLICK)

override fun reportAddDeviceEnterEmailClick() =
fire(ADD_DEVICE_ENTER_EMAIL_CLICK)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,6 @@ class ItrSettingView @JvmOverloads constructor(
context,
SubscriptionsWebViewActivityWithParams(
url = SubscriptionsConstants.ITR_URL,
screenTitle = "",
defaultToolbar = true,
),
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,6 @@ class ProSettingView @JvmOverloads constructor(
context,
SubscriptionsWebViewActivityWithParams(
url = SubscriptionsConstants.BUY_URL,
screenTitle = "",
defaultToolbar = true,
),
)
}
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ import com.duckduckgo.subscriptions.impl.ui.RestoreSubscriptionViewModel.Command
import com.duckduckgo.subscriptions.impl.ui.RestoreSubscriptionViewModel.Command.SubscriptionNotFound
import com.duckduckgo.subscriptions.impl.ui.RestoreSubscriptionViewModel.Command.Success
import com.duckduckgo.subscriptions.impl.ui.SubscriptionSettingsActivity.Companion.SubscriptionsSettingsScreenWithEmptyParams
import com.duckduckgo.subscriptions.impl.ui.SubscriptionsWebViewActivityWithParams.ToolbarConfig.CustomTitle
import javax.inject.Inject
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
Expand Down Expand Up @@ -101,8 +102,7 @@ class RestoreSubscriptionActivity : DuckDuckGoActivity() {
this,
SubscriptionsWebViewActivityWithParams(
url = ACTIVATE_URL,
screenTitle = getString(string.addEmailText),
defaultToolbar = false,
toolbarConfig = CustomTitle(getString(string.addEmailText)),
),
)
startForResultRestore.launch(intent)
Expand Down Expand Up @@ -133,8 +133,6 @@ class RestoreSubscriptionActivity : DuckDuckGoActivity() {
this@RestoreSubscriptionActivity,
SubscriptionsWebViewActivityWithParams(
url = BUY_URL,
screenTitle = getString(string.buySubscriptionTitle),
defaultToolbar = true,
),
)
}
Expand Down
Loading

0 comments on commit 1ce7eab

Please sign in to comment.