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
John Rodriguez committed May 11, 2023
1 parent d0ae1e2 commit 1be09f0
Showing 1 changed file with 8 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,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 @@ -55,12 +56,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 @@ -73,6 +76,7 @@ class BasicResourceItem(

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

resourceValue = if (tag == null || type == PUBLIC) {
val density =
Expand All @@ -96,6 +100,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 1be09f0

Please sign in to comment.