diff --git a/paparazzi/src/main/java/app/cash/paparazzi/internal/Gc.kt b/paparazzi/src/main/java/app/cash/paparazzi/internal/Gc.kt index cdcacf7acc..bee8744a17 100644 --- a/paparazzi/src/main/java/app/cash/paparazzi/internal/Gc.kt +++ b/paparazzi/src/main/java/app/cash/paparazzi/internal/Gc.kt @@ -24,6 +24,7 @@ internal object Gc { var obj: Any? = Any() val ref = WeakReference(obj) + @Suppress("UNUSED_VALUE") // The null is unused, but it's important that the obj local variable loses the reference. obj = null while (ref.get() != null) { System.gc() diff --git a/paparazzi/src/main/java/app/cash/paparazzi/internal/parsers/InMemoryParser.kt b/paparazzi/src/main/java/app/cash/paparazzi/internal/parsers/InMemoryParser.kt index 5dda83cb9f..60af16850f 100644 --- a/paparazzi/src/main/java/app/cash/paparazzi/internal/parsers/InMemoryParser.kt +++ b/paparazzi/src/main/java/app/cash/paparazzi/internal/parsers/InMemoryParser.kt @@ -102,12 +102,8 @@ internal abstract class InMemoryParser : KXmlParser() { private fun onNextFromStartDocument() { val rootTag = rootTag() - parsingState = if (rootTag != null) { - push(rootTag) - START_TAG - } else { - END_DOCUMENT - } + push(rootTag) + parsingState = START_TAG } private fun onNextFromStartTag() { diff --git a/paparazzi/src/main/java/app/cash/paparazzi/internal/parsers/LayoutPullParser.kt b/paparazzi/src/main/java/app/cash/paparazzi/internal/parsers/LayoutPullParser.kt index 4a1d34a99c..f483c648e4 100644 --- a/paparazzi/src/main/java/app/cash/paparazzi/internal/parsers/LayoutPullParser.kt +++ b/paparazzi/src/main/java/app/cash/paparazzi/internal/parsers/LayoutPullParser.kt @@ -84,7 +84,7 @@ internal class LayoutPullParser : InMemoryParser, AaptAttrParser, ILayoutPullPar val count = attributeCount for (i in 0 until count) { val namespace = getAttributeNamespace(i) - if (namespace != null && namespace == TOOLS_URI) { + if (namespace == TOOLS_URI) { val attribute = getAttributeName(i)!! if (attribute == ATTR_IGNORE) { continue diff --git a/paparazzi/src/main/java/app/cash/paparazzi/internal/resources/MultiResourceRepository.kt b/paparazzi/src/main/java/app/cash/paparazzi/internal/resources/MultiResourceRepository.kt index e6ec42b207..d2e9d596ed 100644 --- a/paparazzi/src/main/java/app/cash/paparazzi/internal/resources/MultiResourceRepository.kt +++ b/paparazzi/src/main/java/app/cash/paparazzi/internal/resources/MultiResourceRepository.kt @@ -122,22 +122,22 @@ internal abstract class MultiResourceRepository internal constructor(displayName override fun getMap( namespace: ResourceNamespace, - type: ResourceType + resourceType: ResourceType ): ListMultimap? { val repositoriesForNamespace = leafsByNamespace[namespace] if (repositoriesForNamespace.size == 1) { val repository = repositoriesForNamespace[0] - return getResources(repository, namespace, type) + return getResources(repository, namespace, resourceType) } - var map = cachedMaps[namespace, type] + var map = cachedMaps[namespace, resourceType] if (map != null) { return map } // Merge all items of the given type. for (repository in repositoriesForNamespace) { - val items = getResources(repository, namespace, type) + val items = getResources(repository, namespace, resourceType) if (!items.isEmpty) { if (map == null) { // Create a new map. @@ -145,16 +145,16 @@ internal abstract class MultiResourceRepository internal constructor(displayName // is not a styleable or an id. Styleables and ids are allowed to be defined in multiple // places even with the same qualifiers. map = - if (type === ResourceType.STYLEABLE || type === ResourceType.ID) { + if (resourceType === ResourceType.STYLEABLE || resourceType === ResourceType.ID) { ArrayListMultimap.create() } else { PerConfigResourceMap(resourceComparator) } - cachedMaps.put(namespace, type, map) + cachedMaps.put(namespace, resourceType, map) } map!!.putAll(items) if (repository is LocalResourceRepository) { - resourceNames.put(repository, type, items.keySet().toSet()) + resourceNames.put(repository, resourceType, items.keySet().toSet()) } } } @@ -332,19 +332,19 @@ internal abstract class MultiResourceRepository internal constructor(displayName override fun get(index: Int): ResourceItem = resourceItems[index][0] - override fun add(item: ResourceItem): Boolean { - add(item, 0) + override fun add(element: ResourceItem): Boolean { + add(element, 0) return true } - override fun addAll(items: Collection): Boolean { - if (items.isEmpty()) { + override fun addAll(elements: Collection): Boolean { + if (elements.isEmpty()) { return false } - if (items.size == 1) { - return add(items.iterator().next()) + if (elements.size == 1) { + return add(elements.iterator().next()) } - val sortedItems: List = sortedItems(items) + val sortedItems: List = sortedItems(elements) var start = 0 for (item in sortedItems) { start = add(item, start) diff --git a/paparazzi/src/main/java/app/cash/paparazzi/internal/resources/Pseudolocalizer.kt b/paparazzi/src/main/java/app/cash/paparazzi/internal/resources/Pseudolocalizer.kt index fed1c09ca2..ffa86f0193 100644 --- a/paparazzi/src/main/java/app/cash/paparazzi/internal/resources/Pseudolocalizer.kt +++ b/paparazzi/src/main/java/app/cash/paparazzi/internal/resources/Pseudolocalizer.kt @@ -127,7 +127,6 @@ internal object PseudoMethodBidi : PseudoMethodImpl() { override fun text(originalText: String): String { val result = StringBuilder() var lastSpace = true - var space = true var escape = false for (i in originalText.indices) { @@ -137,8 +136,7 @@ internal object PseudoMethodBidi : PseudoMethodImpl() { escape = true continue } - - space = (!escape && currentChar.isWhitespace()) || + val space = (!escape && currentChar.isWhitespace()) || (escape && (currentChar == 'n' || currentChar == 't')) if (lastSpace && !space) { // Word start. diff --git a/paparazzi/src/main/java/app/cash/paparazzi/internal/resources/RepositoryLoader.kt b/paparazzi/src/main/java/app/cash/paparazzi/internal/resources/RepositoryLoader.kt index 1a07174f2c..7da5e99323 100644 --- a/paparazzi/src/main/java/app/cash/paparazzi/internal/resources/RepositoryLoader.kt +++ b/paparazzi/src/main/java/app/cash/paparazzi/internal/resources/RepositoryLoader.kt @@ -293,7 +293,7 @@ internal abstract class RepositoryLoader( return repositoryConfiguration } - repositoryConfiguration = RepositoryConfiguration(repository, folderConfiguration!!) + repositoryConfiguration = RepositoryConfiguration(repository, folderConfiguration) configCache[folderConfiguration] = repositoryConfiguration return repositoryConfiguration } diff --git a/sample/src/test/java/app/cash/paparazzi/sample/TestParameterInjectorTest.kt b/sample/src/test/java/app/cash/paparazzi/sample/TestParameterInjectorTest.kt index 7baa89b955..9f889f0055 100644 --- a/sample/src/test/java/app/cash/paparazzi/sample/TestParameterInjectorTest.kt +++ b/sample/src/test/java/app/cash/paparazzi/sample/TestParameterInjectorTest.kt @@ -7,6 +7,7 @@ import app.cash.paparazzi.sample.databinding.KeypadBinding import com.android.resources.ScreenOrientation.LANDSCAPE import com.google.testing.junit.testparameterinjector.TestParameter import com.google.testing.junit.testparameterinjector.TestParameterInjector +import com.google.testing.junit.testparameterinjector.TestParameterValuesProvider import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith @@ -28,8 +29,8 @@ class TestParameterInjectorTest( LIGHT_NO_ACTION_BAR("android:Theme.Material.Light.NoActionBar") } - object AmountProvider : TestParameter.TestParameterValuesProvider { - override fun provideValues(): List = listOf("\$1.00", "\$2.00", "\$5.00", "\$10.00") + object AmountProvider : TestParameterValuesProvider() { + override fun provideValues(context: Context): List = listOf("\$1.00", "\$2.00", "\$5.00", "\$10.00") } @get:Rule