@@ -19,6 +19,7 @@ import androidx.compose.runtime.LaunchedEffect
19
19
import androidx.compose.runtime.collectAsState
20
20
import androidx.compose.runtime.getValue
21
21
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
22
+ import androidx.lifecycle.compose.collectAsStateWithLifecycle
22
23
import androidx.lifecycle.lifecycleScope
23
24
import androidx.navigation.compose.rememberNavController
24
25
import com.dylanc.activityresult.launcher.PickContentLauncher
@@ -47,6 +48,7 @@ import li.songe.gkd.service.updateLauncherAppId
47
48
import li.songe.gkd.ui.component.BuildDialog
48
49
import li.songe.gkd.ui.component.ShareDataDialog
49
50
import li.songe.gkd.ui.component.SubsSheet
51
+ import li.songe.gkd.ui.component.TermsAcceptDialog
50
52
import li.songe.gkd.ui.component.UrlDetailDialog
51
53
import li.songe.gkd.ui.theme.AppTheme
52
54
import li.songe.gkd.util.EditGithubCookieDlg
@@ -64,6 +66,7 @@ import li.songe.gkd.util.openApp
64
66
import li.songe.gkd.util.openUri
65
67
import li.songe.gkd.util.shizukuAppId
66
68
import li.songe.gkd.util.storeFlow
69
+ import li.songe.gkd.util.termsAcceptedFlow
67
70
import li.songe.gkd.util.toast
68
71
import kotlin.reflect.KClass
69
72
import kotlin.reflect.jvm.jvmName
@@ -91,6 +94,7 @@ class MainActivity : ComponentActivity() {
91
94
}
92
95
}
93
96
setContent {
97
+ val termsAccepted by termsAcceptedFlow.collectAsStateWithLifecycle()
94
98
val navController = rememberNavController()
95
99
CompositionLocalProvider (
96
100
LocalNavController provides navController,
@@ -101,20 +105,24 @@ class MainActivity : ComponentActivity() {
101
105
navController = navController,
102
106
navGraph = NavGraphs .root
103
107
)
104
- AccessRestrictedSettingsDlg ()
105
- ShizukuErrorDialog (mainVm.shizukuErrorFlow)
106
- AuthDialog (mainVm.authReasonFlow)
107
- BuildDialog (mainVm.dialogFlow)
108
- mainVm.uploadOptions.ShowDialog ()
109
- EditGithubCookieDlg (mainVm.showEditCookieDlgFlow)
110
- if (META .updateEnabled) {
111
- UpgradeDialog (mainVm.updateStatus)
108
+ if (! termsAccepted) {
109
+ TermsAcceptDialog ()
110
+ } else {
111
+ AccessRestrictedSettingsDlg ()
112
+ ShizukuErrorDialog (mainVm.shizukuErrorFlow)
113
+ AuthDialog (mainVm.authReasonFlow)
114
+ BuildDialog (mainVm.dialogFlow)
115
+ mainVm.uploadOptions.ShowDialog ()
116
+ EditGithubCookieDlg (mainVm.showEditCookieDlgFlow)
117
+ if (META .updateEnabled) {
118
+ UpgradeDialog (mainVm.updateStatus)
119
+ }
120
+ SubsSheet (mainVm, mainVm.sheetSubsIdFlow)
121
+ ShareDataDialog (mainVm, mainVm.showShareDataIdsFlow)
122
+ mainVm.inputSubsLinkOption.ContentDialog ()
123
+ mainVm.ruleGroupState.Render ()
124
+ UrlDetailDialog (mainVm.urlFlow)
112
125
}
113
- SubsSheet (mainVm, mainVm.sheetSubsIdFlow)
114
- ShareDataDialog (mainVm, mainVm.showShareDataIdsFlow)
115
- mainVm.inputSubsLinkOption.ContentDialog ()
116
- mainVm.ruleGroupState.Render ()
117
- UrlDetailDialog (mainVm.urlFlow)
118
126
}
119
127
}
120
128
}
0 commit comments