Skip to content

Commit

Permalink
Introduce resource visibility and store as ordinal
Browse files Browse the repository at this point in the history
  • Loading branch information
jrodbx committed May 11, 2023
1 parent 747498f commit ca6facc
Showing 1 changed file with 8 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,15 @@ import com.android.ide.common.rendering.api.StyleItemResourceValueImpl
import com.android.ide.common.rendering.api.StyleResourceValueImpl
import com.android.ide.common.rendering.api.StyleableResourceValueImpl
import com.android.ide.common.rendering.api.TextResourceValueImpl
import com.android.ide.common.resources.ResourceItem
import com.android.ide.common.resources.ResourceItemWithVisibility
import com.android.ide.common.resources.SingleNamespaceResourceRepository
import com.android.ide.common.resources.ValueXmlHelper
import com.android.ide.common.resources.configuration.FolderConfiguration
import com.android.ide.common.util.PathString
import com.android.resources.ResourceType
import com.android.resources.ResourceType.PUBLIC
import com.android.resources.ResourceUrl
import com.android.resources.ResourceVisibility
import com.android.utils.XmlUtils
import org.w3c.dom.Element
import java.io.File
Expand All @@ -40,12 +41,14 @@ import java.util.EnumSet
class BasicResourceItem(
type: ResourceType,
private val name: String,
visibility: ResourceVisibility,
file: File,
tag: Element?,
private val repository: SingleNamespaceResourceRepository
) : ResourceItem {
) : ResourceItemWithVisibility {
// Store enums as their ordinals in byte form to minimize memory footprint.
private val typeOrdinal: Byte
private val visibilityOrdinal: Byte

private val resourceValue: ResourceValue

Expand All @@ -58,6 +61,7 @@ class BasicResourceItem(

init {
typeOrdinal = type.ordinal.toByte()
visibilityOrdinal = visibility.ordinal.toByte()

resourceValue = if (tag == null || type == PUBLIC) {
val density =
Expand All @@ -81,6 +85,8 @@ class BasicResourceItem(

override fun getLibraryName() = null

override fun getVisibility() = ResourceVisibility.values()[visibilityOrdinal.toInt()]

override fun getReferenceToSelf(): ResourceReference =
ResourceReference(namespace, type, name)

Expand Down

0 comments on commit ca6facc

Please sign in to comment.