diff --git a/src/main/kotlin/app/revanced/patcher/data/Context.kt b/src/main/kotlin/app/revanced/patcher/data/Context.kt index 3aced30..5083a42 100644 --- a/src/main/kotlin/app/revanced/patcher/data/Context.kt +++ b/src/main/kotlin/app/revanced/patcher/data/Context.kt @@ -54,17 +54,6 @@ class BytecodeContext internal constructor(classes: MutableList) : Con } return proxy } - - private companion object { - inline fun Iterable.find(predicate: (T) -> Boolean): T? { - for (element in this) { - if (predicate(element)) { - return element - } - } - return null - } - } } /** diff --git a/src/main/kotlin/app/revanced/patcher/util/patch/PatchBundle.kt b/src/main/kotlin/app/revanced/patcher/util/patch/PatchBundle.kt index f7459d9..97f165b 100644 --- a/src/main/kotlin/app/revanced/patcher/util/patch/PatchBundle.kt +++ b/src/main/kotlin/app/revanced/patcher/util/patch/PatchBundle.kt @@ -41,18 +41,13 @@ sealed class PatchBundle(path: String) : File(path) { arrayOf(this.toURI().toURL()), Thread.currentThread().contextClassLoader // TODO: find out why this is required ), - StringIterator( - JarFile(this) - .entries() - .toList() // TODO: find a cleaner solution than that to filter non class files - .filter { - it.name.endsWith(".class") && !it.name.contains("$") - } - .iterator() - ) { - it.realName.replace('/', '.').replace(".class", "") - } - ) + JarFile(this) + .stream() + .filter {it.name.endsWith(".class") && !it.name.contains("$")} + .map({it -> it.realName.replace('/', '.').replace(".class", "")}).iterator() + ) + + } /** @@ -68,8 +63,8 @@ sealed class PatchBundle(path: String) : File(path) { * Patches will be loaded to the provided [dexClassLoader]. */ fun loadPatches() = loadPatches(dexClassLoader, - StringIterator(DexFileFactory.loadDexFile(path, null).classes.iterator()) { classDef -> + DexFileFactory.loadDexFile(path, null).classes.asSequence().map({ classDef -> classDef.type.substring(1, classDef.length - 1).replace('/', '.') - }) + }).iterator()) } } \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patcher/util/patch/StringIterator.kt b/src/main/kotlin/app/revanced/patcher/util/patch/StringIterator.kt deleted file mode 100644 index 26c55bd..0000000 --- a/src/main/kotlin/app/revanced/patcher/util/patch/StringIterator.kt +++ /dev/null @@ -1,10 +0,0 @@ -package app.revanced.patcher.util.patch - -internal class StringIterator>( - private val iterator: I, - private val _next: (T) -> String -) : Iterator { - override fun hasNext() = iterator.hasNext() - - override fun next() = _next(iterator.next()) -} \ No newline at end of file