Loading src/com/android/settings/spa/SpaActivity.kt +1 −1 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ import android.content.Context import android.content.Intent import com.android.settingslib.spa.framework.BrowseActivity class SpaActivity : BrowseActivity(settingsPageProviders) { class SpaActivity : BrowseActivity(SpaEnvironment.settingsPageProviders) { companion object { @JvmStatic fun startSpaActivity(context: Context, startDestination: String) { Loading src/com/android/settings/spa/SpaEnvironment.kt +25 −11 Original line number Diff line number Diff line Loading @@ -18,20 +18,34 @@ package com.android.settings.spa import com.android.settings.spa.app.InstallUnknownAppsListProvider import com.android.settings.spa.home.HomePageProvider import com.android.settingslib.spa.framework.common.SettingsEntryRepository import com.android.settingslib.spa.framework.common.SettingsPage import com.android.settings.spa.notification.AppListNotificationsPageProvider import com.android.settings.spa.notification.NotificationMainPageProvider import com.android.settingslib.spa.framework.common.SettingsPageProviderRepository import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListTemplate private val togglePermissionAppListTemplate = TogglePermissionAppListTemplate( object SpaEnvironment { val settingsPageProviders: SettingsPageProviderRepository by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { val togglePermissionAppListTemplate = TogglePermissionAppListTemplate( allProviders = listOf(InstallUnknownAppsListProvider), ) val settingsPageProviders = SettingsPageProviderRepository( allPagesList = listOf( SettingsPageProviderRepository( allPageProviders = listOf( HomePageProvider, NotificationMainPageProvider, AppListNotificationsPageProvider, ) + togglePermissionAppListTemplate.createPageProviders(), rootPages = listOf(HomePageProvider.name), rootPages = listOf( SettingsPage(HomePageProvider.name), ), ) } val settingsEntryRepository: SettingsEntryRepository by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { SettingsEntryRepository(settingsPageProviders) } // TODO: add other environment setup here. } src/com/android/settings/spa/home/HomePage.kt +14 −0 Original line number Diff line number Diff line Loading @@ -17,9 +17,12 @@ package com.android.settings.spa.home import android.os.Bundle import androidx.compose.material3.Button import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import com.android.settings.R import com.android.settings.spa.SpaEnvironment import com.android.settings.spa.app.InstallUnknownAppsListProvider import com.android.settings.spa.notification.NotificationMainPageProvider import com.android.settingslib.spa.framework.common.SettingsPageProvider Loading @@ -39,5 +42,16 @@ private fun HomePage() { HomeScaffold(title = stringResource(R.string.settings_label)) { InstallUnknownAppsListProvider.EntryItem() NotificationMainPageProvider.EntryItem() /** * A test button to generate hierarchy. * TODO: remove it once the content provider is ready. */ Button(onClick = { SpaEnvironment.settingsEntryRepository.printAllPages() SpaEnvironment.settingsEntryRepository.printAllEntries() }) { Text(text = "Generate Entry") } } } Loading
src/com/android/settings/spa/SpaActivity.kt +1 −1 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ import android.content.Context import android.content.Intent import com.android.settingslib.spa.framework.BrowseActivity class SpaActivity : BrowseActivity(settingsPageProviders) { class SpaActivity : BrowseActivity(SpaEnvironment.settingsPageProviders) { companion object { @JvmStatic fun startSpaActivity(context: Context, startDestination: String) { Loading
src/com/android/settings/spa/SpaEnvironment.kt +25 −11 Original line number Diff line number Diff line Loading @@ -18,20 +18,34 @@ package com.android.settings.spa import com.android.settings.spa.app.InstallUnknownAppsListProvider import com.android.settings.spa.home.HomePageProvider import com.android.settingslib.spa.framework.common.SettingsEntryRepository import com.android.settingslib.spa.framework.common.SettingsPage import com.android.settings.spa.notification.AppListNotificationsPageProvider import com.android.settings.spa.notification.NotificationMainPageProvider import com.android.settingslib.spa.framework.common.SettingsPageProviderRepository import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListTemplate private val togglePermissionAppListTemplate = TogglePermissionAppListTemplate( object SpaEnvironment { val settingsPageProviders: SettingsPageProviderRepository by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { val togglePermissionAppListTemplate = TogglePermissionAppListTemplate( allProviders = listOf(InstallUnknownAppsListProvider), ) val settingsPageProviders = SettingsPageProviderRepository( allPagesList = listOf( SettingsPageProviderRepository( allPageProviders = listOf( HomePageProvider, NotificationMainPageProvider, AppListNotificationsPageProvider, ) + togglePermissionAppListTemplate.createPageProviders(), rootPages = listOf(HomePageProvider.name), rootPages = listOf( SettingsPage(HomePageProvider.name), ), ) } val settingsEntryRepository: SettingsEntryRepository by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { SettingsEntryRepository(settingsPageProviders) } // TODO: add other environment setup here. }
src/com/android/settings/spa/home/HomePage.kt +14 −0 Original line number Diff line number Diff line Loading @@ -17,9 +17,12 @@ package com.android.settings.spa.home import android.os.Bundle import androidx.compose.material3.Button import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import com.android.settings.R import com.android.settings.spa.SpaEnvironment import com.android.settings.spa.app.InstallUnknownAppsListProvider import com.android.settings.spa.notification.NotificationMainPageProvider import com.android.settingslib.spa.framework.common.SettingsPageProvider Loading @@ -39,5 +42,16 @@ private fun HomePage() { HomeScaffold(title = stringResource(R.string.settings_label)) { InstallUnknownAppsListProvider.EntryItem() NotificationMainPageProvider.EntryItem() /** * A test button to generate hierarchy. * TODO: remove it once the content provider is ready. */ Button(onClick = { SpaEnvironment.settingsEntryRepository.printAllPages() SpaEnvironment.settingsEntryRepository.printAllEntries() }) { Text(text = "Generate Entry") } } }