Android Extensions: analyze layout XMLs lazily
This commit is contained in:
+2
-2
@@ -38,7 +38,7 @@ class AndroidSyntheticPackageData(
|
||||
val moduleData: AndroidModuleData,
|
||||
val forView: Boolean,
|
||||
val isDeprecated: Boolean,
|
||||
val resources: List<AndroidResource>)
|
||||
val lazyResources: () -> List<AndroidResource>)
|
||||
|
||||
class AndroidSyntheticPackageFragmentDescriptor(
|
||||
module: ModuleDescriptor,
|
||||
@@ -62,7 +62,7 @@ class AndroidSyntheticPackageFragmentDescriptor(
|
||||
val fragmentTypes = context.fragmentTypes
|
||||
|
||||
val properties = ArrayList<PropertyDescriptor>(0)
|
||||
for (resource in packageData.resources) {
|
||||
for (resource in packageData.lazyResources()) {
|
||||
when (resource) {
|
||||
is AndroidResource.Widget -> {
|
||||
val resolvedWidget = resource.resolve(module)
|
||||
|
||||
+3
-2
@@ -62,8 +62,9 @@ abstract class AndroidPackageFragmentProviderExtension : PackageFragmentProvider
|
||||
for (variantData in moduleData.variants) {
|
||||
for ((layoutName, layouts) in variantData.layouts) {
|
||||
fun createPackageFragment(fqName: String, forView: Boolean, isDeprecated: Boolean = false) {
|
||||
val resources = layoutXmlFileManager.extractResources(AndroidLayoutGroupData(layoutName, layouts), module)
|
||||
val packageData = AndroidSyntheticPackageData(moduleData, forView, isDeprecated, resources)
|
||||
val packageData = AndroidSyntheticPackageData(moduleData, forView, isDeprecated) {
|
||||
layoutXmlFileManager.extractResources(AndroidLayoutGroupData(layoutName, layouts), module)
|
||||
}
|
||||
val packageDescriptor = AndroidSyntheticPackageFragmentDescriptor(
|
||||
module, FqName(fqName), packageData, lazyContext, storageManager, isExperimental,
|
||||
lookupTracker, layoutName
|
||||
|
||||
Reference in New Issue
Block a user