From 8f6ea62c0eee8481c773340201fd63a5ed0a9ce9 Mon Sep 17 00:00:00 2001 From: Zekan Qian Date: Mon, 5 Sep 2022 17:25:11 +0800 Subject: [PATCH] Refactor SppRepo 1. rename allPages to allPageProviders 2. deprecate rootPages (which is the page name list), and rename rootPageData to rootPages. Bug: 244122804 Test: manual - build Spa gallery Change-Id: I23aa1e9bb6a7654e6ef40efedcfef98fa2331caf --- .../settingslib/spa/gallery/SpaEnvironment.kt | 4 +-- .../common/SettingsEntryRepository.kt | 2 ++ .../common/SettingsPageProviderRepository.kt | 30 +++++++++++-------- 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/SpaEnvironment.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/SpaEnvironment.kt index 08fb134a2a9ce..fc5c7e3ef818f 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/SpaEnvironment.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/SpaEnvironment.kt @@ -35,7 +35,7 @@ object SpaEnvironment { val PageProviderRepository: SettingsPageProviderRepository by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { SettingsPageProviderRepository( - allPagesList = listOf( + allPageProviders = listOf( HomePageProvider, PreferenceMainPageProvider, PreferencePageProvider, @@ -48,7 +48,7 @@ object SpaEnvironment { FooterPageProvider, IllustrationPageProvider, ), - rootPageData = listOf( + rootPages = listOf( SettingsPage(HomePageProvider.name) ) + ArgumentPageProvider.buildRootPages() ) diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/common/SettingsEntryRepository.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/common/SettingsEntryRepository.kt index 7c9225de13d8c..8eda10d5b8741 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/common/SettingsEntryRepository.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/common/SettingsEntryRepository.kt @@ -59,6 +59,8 @@ class SettingsEntryRepository(sppRepository: SettingsPageProviderRepository) { } } } + + logMsg("Initialize Completed: ${entryMap.size} entries in ${pageToEntryListMap.size} pages") } fun printAllPages() { diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/common/SettingsPageProviderRepository.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/common/SettingsPageProviderRepository.kt index d78604a1c2725..6adda6b2aa01d 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/common/SettingsPageProviderRepository.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/common/SettingsPageProviderRepository.kt @@ -16,28 +16,30 @@ package com.android.settingslib.spa.framework.common +import android.util.Log + class SettingsPageProviderRepository( - allPagesList: List, - private val rootPages: List = emptyList(), - // TODO: deprecate rootPages above - private val rootPageData: List = emptyList(), + allPageProviders: List, + private val rootPages: List = emptyList(), ) { // Map of page name to its provider. - private val pageProviderMap: Map = - allPagesList.associateBy { it.name } + private val pageProviderMap: Map + + init { + pageProviderMap = allPageProviders.associateBy { it.name } + logMsg("Initialize Completed: ${pageProviderMap.size} spp") + } fun getDefaultStartPageName(): String { - if (rootPageData.isNotEmpty()) { - return rootPageData[0].name + return if (rootPages.isNotEmpty()) { + rootPages[0].name } else { - return rootPages.getOrElse(0) { - return "" - } + "" } } fun getAllRootPages(): Collection { - return rootPageData + return rootPages } fun getAllProviders(): Collection { @@ -48,3 +50,7 @@ class SettingsPageProviderRepository( return pageProviderMap[name] } } + +private fun logMsg(message: String) { + Log.d("SppRepo", message) +}