From 87317c6faf65b414233e82c1eb78acf24478c6aa Mon Sep 17 00:00:00 2001 From: Stypox Date: Tue, 4 Feb 2025 21:36:18 +0100 Subject: [PATCH] Reorder functions in PoTokenWebView --- .../newpipe/util/potoken/PoTokenWebView.kt | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/util/potoken/PoTokenWebView.kt b/app/src/main/java/org/schabi/newpipe/util/potoken/PoTokenWebView.kt index 3ed5a0c75..37c2730b5 100644 --- a/app/src/main/java/org/schabi/newpipe/util/potoken/PoTokenWebView.kt +++ b/app/src/main/java/org/schabi/newpipe/util/potoken/PoTokenWebView.kt @@ -177,44 +177,6 @@ class PoTokenWebView private constructor( } //endregion - //region Handling multiple emitters - /** - * Adds the ([identifier], [emitter]) pair to the [poTokenEmitters] list. This makes it so that - * multiple poToken requests can be generated invparallel, and the results will be notified to - * the right emitters. - */ - private fun addPoTokenEmitter(identifier: String, emitter: SingleEmitter) { - synchronized(poTokenEmitters) { - poTokenEmitters.add(Pair(identifier, emitter)) - } - } - - /** - * Extracts and removes from the [poTokenEmitters] list a [SingleEmitter] based on its - * [identifier]. The emitter is supposed to be used immediately after to either signal a success - * or an error. - */ - private fun popPoTokenEmitter(identifier: String): SingleEmitter? { - return synchronized(poTokenEmitters) { - poTokenEmitters.indexOfFirst { it.first == identifier }.takeIf { it >= 0 }?.let { - poTokenEmitters.removeAt(it).second - } - } - } - - /** - * Clears [poTokenEmitters] and returns its previous contents. The emitters are supposed to be - * used immediately after to either signal a success or an error. - */ - private fun popAllPoTokenEmitters(): List>> { - return synchronized(poTokenEmitters) { - val result = poTokenEmitters.toList() - poTokenEmitters.clear() - result - } - } - //endregion - //region Obtaining poTokens override fun generatePoToken(identifier: String): Single = Single.create { emitter -> @@ -281,6 +243,44 @@ class PoTokenWebView private constructor( } //endregion + //region Handling multiple emitters + /** + * Adds the ([identifier], [emitter]) pair to the [poTokenEmitters] list. This makes it so that + * multiple poToken requests can be generated invparallel, and the results will be notified to + * the right emitters. + */ + private fun addPoTokenEmitter(identifier: String, emitter: SingleEmitter) { + synchronized(poTokenEmitters) { + poTokenEmitters.add(Pair(identifier, emitter)) + } + } + + /** + * Extracts and removes from the [poTokenEmitters] list a [SingleEmitter] based on its + * [identifier]. The emitter is supposed to be used immediately after to either signal a success + * or an error. + */ + private fun popPoTokenEmitter(identifier: String): SingleEmitter? { + return synchronized(poTokenEmitters) { + poTokenEmitters.indexOfFirst { it.first == identifier }.takeIf { it >= 0 }?.let { + poTokenEmitters.removeAt(it).second + } + } + } + + /** + * Clears [poTokenEmitters] and returns its previous contents. The emitters are supposed to be + * used immediately after to either signal a success or an error. + */ + private fun popAllPoTokenEmitters(): List>> { + return synchronized(poTokenEmitters) { + val result = poTokenEmitters.toList() + poTokenEmitters.clear() + result + } + } + //endregion + //region Utils /** * Makes a POST request to [url] with the given [data] by setting the correct headers. Calls