Skip to content

Commit ae79213

Browse files
Migrate welcome screen presenter to shared features (#398)
* Migrate welcome screen presenter to shared features * Add more tests for welcome presenter * Delete old welcome screen
1 parent f1a5b80 commit ae79213

File tree

26 files changed

+495
-296
lines changed

26 files changed

+495
-296
lines changed

android/app-newm/src/main/java/io/newm/LoginActivity.kt

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,12 @@ import com.slack.circuit.runtime.presenter.Presenter
2828
import com.slack.circuit.runtime.ui.Ui
2929
import io.newm.core.theme.NewmTheme
3030
import io.newm.core.ui.LocalSnackBarHostState
31-
import io.newm.feature.login.screen.createaccount.CreateAccountScreen
3231
import io.newm.feature.login.screen.createaccount.CreateAccountScreenPresenter
3332
import io.newm.feature.login.screen.createaccount.CreateAccountUi
3433
import io.newm.feature.login.screen.createaccount.CreateAccountUiState
3534
import io.newm.feature.login.screen.resetpassword.ResetPasswordScreenPresenter
3635
import io.newm.feature.login.screen.resetpassword.ResetPasswordScreenUi
3736
import io.newm.feature.login.screen.resetpassword.ResetPasswordScreenUiState
38-
import io.newm.feature.login.screen.welcome.WelcomeScreenPresenter
39-
import io.newm.feature.login.screen.welcome.WelcomeScreenUi
40-
import io.newm.feature.login.screen.welcome.WelcomeScreenUiState
4137
import io.newm.screens.forceupdate.ForceAppUpdateState
4238
import io.newm.screens.forceupdate.ForceAppUpdateUi
4339
import io.newm.screens.forceupdate.openAppPlayStore
@@ -50,11 +46,14 @@ import io.newm.sharedfeatures.devmenu.FeatureFlagsListPresenter
5046
import io.newm.sharedfeatures.devmenu.FeatureFlagsListUi
5147
import io.newm.sharedfeatures.login.LoginPresenter
5248
import io.newm.sharedfeatures.login.LoginUi
49+
import io.newm.sharedfeatures.screens.CreateAccountScreen
5350
import io.newm.sharedfeatures.screens.DevMenuMainScreen
5451
import io.newm.sharedfeatures.screens.FeatureFlagsListScreen
5552
import io.newm.sharedfeatures.screens.LoginScreen
5653
import io.newm.sharedfeatures.screens.ResetPasswordScreen
5754
import io.newm.sharedfeatures.screens.WelcomeScreen
55+
import io.newm.sharedfeatures.welcome.WelcomePresenter
56+
import io.newm.sharedfeatures.welcome.WelcomeUi
5857
import io.newm.utils.DynamicStatusBarSideEffect
5958
import io.newm.utils.ForceAppUpdateViewModel
6059
import io.newm.utils.ui
@@ -77,7 +76,7 @@ class LoginActivity : ComponentActivity() {
7776
Presenter.Factory { screen, navigator, _ ->
7877
when (screen) {
7978
is CreateAccountScreen -> inject<CreateAccountScreenPresenter> { parametersOf(::launchHomeActivity) }.value
80-
is WelcomeScreen -> inject<WelcomeScreenPresenter> { parametersOf(navigator) }.value
79+
is WelcomeScreen -> inject<WelcomePresenter> { parametersOf(navigator) }.value
8180
is LoginScreen -> inject<LoginPresenter> { parametersOf(navigator) }.value
8281
is ResetPasswordScreen -> inject<ResetPasswordScreenPresenter> {
8382
parametersOf(
@@ -103,8 +102,8 @@ class LoginActivity : ComponentActivity() {
103102
CreateAccountUi(state, modifier)
104103
}
105104

106-
is WelcomeScreen -> ui<WelcomeScreenUiState> { state, modifier ->
107-
WelcomeScreenUi(modifier, state)
105+
is WelcomeScreen -> ui<WelcomeScreen.UiState> { state, modifier ->
106+
WelcomeUi(state, modifier)
108107
}
109108

110109
is LoginScreen -> ui<LoginScreen.UiState> { state, modifier ->

android/app-newm/src/main/java/io/newm/di/android/Dependencies.kt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,8 @@ import com.google.android.gms.common.Scopes
1414
import com.google.android.gms.common.api.Scope
1515
import io.newm.Logout
1616
import io.newm.RestartApp
17-
import io.newm.feature.login.screen.authproviders.google.GoogleSignInLauncher
18-
import io.newm.feature.login.screen.authproviders.google.GoogleSignInLauncherImpl
1917
import io.newm.feature.login.screen.createaccount.CreateAccountScreenPresenter
2018
import io.newm.feature.login.screen.resetpassword.ResetPasswordScreenPresenter
21-
import io.newm.feature.login.screen.welcome.WelcomeScreenPresenter
2219
import io.newm.feature.musicplayer.service.DownloadManager
2320
import io.newm.feature.musicplayer.service.DownloadManagerImpl
2421
import io.newm.feature.musicplayer.service.DownloadStateManager
@@ -42,6 +39,9 @@ import io.newm.sharedfeatures.login.LoginPresenter
4239
import io.newm.sharedfeatures.login.RecaptchaClientProvider
4340
import io.newm.sharedfeatures.login.RecaptchaManager
4441
import io.newm.sharedfeatures.login.RecaptchaManagerImpl
42+
import io.newm.sharedfeatures.welcome.SocialLoginManager
43+
import io.newm.sharedfeatures.welcome.SocialLoginManagerImpl
44+
import io.newm.sharedfeatures.welcome.WelcomePresenter
4545
import io.newm.utils.AndroidFeatureFlagManager
4646
import io.newm.utils.ForceAppUpdateViewModel
4747
import org.koin.android.ext.koin.androidContext
@@ -90,16 +90,16 @@ val viewModule = module {
9090
.build()
9191
)
9292
}
93-
single<GoogleSignInLauncher> { GoogleSignInLauncherImpl(get()) }
93+
single<SocialLoginManager> { SocialLoginManagerImpl(get()) }
94+
9495
factory { params ->
95-
WelcomeScreenPresenter(
96+
WelcomePresenter(
9697
navigator = params.get(),
97-
googleSignInLauncher = get(),
98-
recaptchaClientProvider = get(),
9998
loginUseCase = get(),
100-
activityResultContract = ActivityResultContracts.StartActivityForResult(),
99+
socialLoginManager = get(),
100+
recaptchaManager = get(),
101+
analyticsTracker = get(),
101102
logger = get(),
102-
analyticsTracker = get()
103103
)
104104
}
105105
factory { params ->

android/features/login/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ kotlin {
4949
implementation(libs.androidx.material)
5050
implementation(libs.androidx.material.icons.extended)
5151
implementation(libs.koin.android)
52-
implementation(libs.play.services.auth)
5352
implementation(libs.recaptcha)
5453
implementation(project(Modules.coreResources))
5554
implementation(project(Modules.coreTheme))

android/features/login/src/androidMain/kotlin/io/newm/feature/login/screen/RecaptchaExt.kt

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

android/features/login/src/androidMain/kotlin/io/newm/feature/login/screen/authproviders/google/GoogleSignInLauncher.kt

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

android/features/login/src/androidMain/kotlin/io/newm/feature/login/screen/authproviders/google/GoogleSignInLauncherImpl.kt

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

android/features/login/src/androidMain/kotlin/io/newm/feature/login/screen/welcome/WelcomeScreenPresenter.kt

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

android/features/login/src/androidMain/kotlin/io/newm/feature/login/screen/welcome/WelcomeScreenUi.kt

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

android/features/login/src/androidMain/kotlin/io/newm/feature/login/screen/welcome/WelcomeScreenUiEvent.kt

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

android/features/login/src/androidMain/kotlin/io/newm/feature/login/screen/welcome/WelcomeScreenUiState.kt

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

0 commit comments

Comments
 (0)