Skip to content

Commit 958be01

Browse files
committed
Merge branch 'migrate-main-activity' into migrate-intro-about
# Conflicts: # app/src/main/kotlin/at/bitfire/davdroid/ui/MainActivity.kt # app/src/ose/kotlin/at/bitfire/davdroid/OseFlavorModule.kt
2 parents d8aad54 + 597a3d2 commit 958be01

File tree

6 files changed

+46
-8
lines changed

6 files changed

+46
-8
lines changed

app/src/main/AndroidManifest.xml

+8
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,14 @@
6969
</intent-filter>
7070
</activity>
7171

72+
<!--
73+
Left here for external apps.
74+
Automatically redirects to MainActivity.
75+
Should be removed in the future.
76+
-->
77+
<!--suppress DeprecatedClassUsageInspection -->
78+
<activity android:name=".ui.AccountsActivity" android:exported="true" />
79+
7280
<activity
7381
android:name=".ui.AppSettingsActivity"
7482
android:label="@string/app_settings"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*
2+
* Copyright © All Contributors. See LICENSE and AUTHORS in the root directory for details.
3+
*/
4+
5+
package at.bitfire.davdroid.ui
6+
7+
import android.content.Intent
8+
import android.os.Bundle
9+
import androidx.appcompat.app.AppCompatActivity
10+
11+
@Deprecated("Automatically redirects to MainActivity. Should be removed in the future.")
12+
class AccountsActivity: AppCompatActivity() {
13+
override fun onCreate(savedInstanceState: Bundle?) {
14+
super.onCreate(savedInstanceState)
15+
16+
startActivity(
17+
Intent(this, MainActivity::class.java).apply {
18+
action = intent.action
19+
}
20+
)
21+
}
22+
}

app/src/main/kotlin/at/bitfire/davdroid/ui/AccountsModel.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,7 @@ class AccountsModel @AssistedInject constructor(
5454
private val db: AppDatabase,
5555
introPageFactory: IntroPageFactory,
5656
private val logger: Logger,
57-
private val syncWorkerManager: SyncWorkerManager,
58-
val accountsDrawerHandler: AccountsDrawerHandler
57+
private val syncWorkerManager: SyncWorkerManager
5958
): ViewModel() {
6059

6160
@AssistedFactory

app/src/main/kotlin/at/bitfire/davdroid/ui/AccountsScreen.kt

+7-2
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,10 @@ import kotlinx.coroutines.delay
9191
import kotlinx.coroutines.launch
9292

9393
@Composable
94-
fun AccountsScreen(backStackEntry: NavBackStackEntry) {
94+
fun AccountsScreen(
95+
backStackEntry: NavBackStackEntry,
96+
accountsDrawerHandler: AccountsDrawerHandler
97+
) {
9598
val route = backStackEntry.toRoute<Routes.Accounts>()
9699
val navController = LocalNavController.current
97100
val context = LocalContext.current
@@ -107,6 +110,7 @@ fun AccountsScreen(backStackEntry: NavBackStackEntry) {
107110
}
108111

109112
AccountsScreen(
113+
accountsDrawerHandler = accountsDrawerHandler,
110114
initialSyncAccounts = route.syncAccounts,
111115
onShowAppIntro = { navController.navigate(Routes.Intro) },
112116
onAddAccount = {
@@ -128,6 +132,7 @@ fun AccountsScreen(backStackEntry: NavBackStackEntry) {
128132

129133
@Composable
130134
fun AccountsScreen(
135+
accountsDrawerHandler: AccountsDrawerHandler,
131136
initialSyncAccounts: Boolean,
132137
onShowAppIntro: () -> Unit,
133138
onAddAccount: () -> Unit,
@@ -154,7 +159,7 @@ fun AccountsScreen(
154159
}
155160

156161
AccountsScreen(
157-
accountsDrawerHandler = model.accountsDrawerHandler,
162+
accountsDrawerHandler = accountsDrawerHandler,
158163
accounts = accounts,
159164
showSyncAll = showSyncAll,
160165
onSyncAll = { model.syncAllAccounts() },

app/src/main/kotlin/at/bitfire/davdroid/ui/MainActivity.kt

+5-1
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,15 @@ import at.bitfire.davdroid.ui.intro.IntroScreen
1717
import at.bitfire.davdroid.ui.navigation.LocalNavController
1818
import at.bitfire.davdroid.ui.navigation.Routes
1919
import dagger.hilt.android.AndroidEntryPoint
20+
import javax.inject.Inject
2021

2122

2223
@AndroidEntryPoint
2324
class MainActivity: AppCompatActivity() {
2425

26+
@Inject
27+
lateinit var accountsDrawerHandler: AccountsDrawerHandler
28+
2529
override fun onCreate(savedInstanceState: Bundle?) {
2630
super.onCreate(savedInstanceState)
2731

@@ -33,7 +37,7 @@ class MainActivity: AppCompatActivity() {
3337
navController = navController,
3438
startDestination = accountsFromIntent()
3539
) {
36-
composable<Routes.Accounts> { AccountsScreen(it) }
40+
composable<Routes.Accounts> { AccountsScreen(it, accountsDrawerHandler) }
3741
composable<Routes.Intro> { IntroScreen() }
3842
composable<Routes.About> { AboutScreen() }
3943
}

app/src/ose/kotlin/at/bitfire/davdroid/OseFlavorModule.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@ interface OseFlavorModules {
2323
@Module
2424
@InstallIn(ActivityComponent::class)
2525
interface ForActivities {
26+
@Binds
27+
fun accountsDrawerHandler(impl: OseAccountsDrawerHandler): AccountsDrawerHandler
28+
2629
@Binds
2730
fun loginTypesProvider(impl: StandardLoginTypesProvider): LoginTypesProvider
2831
}
2932

3033
@Module
3134
@InstallIn(ViewModelComponent::class)
3235
interface ForViewModels {
33-
@Binds
34-
fun accountsDrawerHandler(impl: OseAccountsDrawerHandler): AccountsDrawerHandler
35-
3636
@Binds
3737
fun appLicenseInfoProvider(impl: OpenSourceLicenseInfoProvider): AppLicenseInfoProvider
3838

0 commit comments

Comments
 (0)