From b2139026291aabd8584f5f28f0941b918b9ae4fa Mon Sep 17 00:00:00 2001
From: Koen <koen@pop-os.localdomain>
Date: Fri, 4 Aug 2023 09:26:21 +0200
Subject: [PATCH] Cleanup.

---
 .../polycentric/core/ProcessHandleTests.kt    |  2 +-
 .../com/futo/polycentric/core/ApiMethods.kt   | 26 ++++++++++++++++++
 .../futo/polycentric/core/ProcessHandle.kt    | 27 -------------------
 3 files changed, 27 insertions(+), 28 deletions(-)

diff --git a/app/src/androidTest/java/com/futo/polycentric/core/ProcessHandleTests.kt b/app/src/androidTest/java/com/futo/polycentric/core/ProcessHandleTests.kt
index 683f585..58342b7 100644
--- a/app/src/androidTest/java/com/futo/polycentric/core/ProcessHandleTests.kt
+++ b/app/src/androidTest/java/com/futo/polycentric/core/ProcessHandleTests.kt
@@ -143,7 +143,7 @@ class ProcessHandleTests {
             assertEquals(imageBytes.size.toLong(), imageManifest.byteCount)
             assertEquals(processHandle.processSecret.process.toProto(), imageManifest.process)
 
-            val bytes = processHandle.loadDataFromServer(imageManifest.toURLInfoDataLink(processHandle.system.toProto(), processHandle.processSecret.process.toProto(), listOf(TestConstants.SERVER)))
+            val bytes = ApiMethods.loadReassembledDataFromServer(imageManifest.toURLInfoDataLink(processHandle.system.toProto(), processHandle.processSecret.process.toProto(), listOf(TestConstants.SERVER)))
             val imageData = ImageData(imageManifest.mime, imageManifest.width.toInt(), imageManifest.height.toInt(), bytes)
             assertEquals(imageManifest.byteCount.toInt(), imageData.data.size)
             assertArrayEquals(imageBytes, imageData.data)
diff --git a/app/src/main/java/com/futo/polycentric/core/ApiMethods.kt b/app/src/main/java/com/futo/polycentric/core/ApiMethods.kt
index 1f96f7b..8f05142 100644
--- a/app/src/main/java/com/futo/polycentric/core/ApiMethods.kt
+++ b/app/src/main/java/com/futo/polycentric/core/ApiMethods.kt
@@ -145,5 +145,31 @@ class ApiMethods {
 
             return Protocol.QueryReferencesResponse.parseFrom(result.get())
         }
+
+        fun loadReassembledDataFromServer(dataLink: Protocol.URLInfoDataLink): ByteArray {
+            val server = dataLink.serversList.first() //TODO: Somehow use all servers
+
+            val blobProcessRangesToGet = Protocol.RangesForProcess.newBuilder()
+                .addAllRanges(dataLink.sectionsList)
+                .setProcess(dataLink.process)
+                .build()
+            val blobEvents = ApiMethods.getEvents(server, dataLink.system, Protocol.RangesForSystem.newBuilder()
+                .addRangesForProcesses(blobProcessRangesToGet).build()).eventsList.map { SignedEvent.fromProto(it) }
+
+            val totalArray = ByteArray(dataLink.byteCount.toInt())
+            var offset = 0
+
+            for (section in dataLink.sectionsList) {
+                val sectionEvents = blobEvents.filter { it.event.logicalClock >= section.low && it.event.logicalClock <= section.high }.sortedBy { it.event.logicalClock }
+                sectionEvents.forEach {
+                    val blobSection = it.event.content
+                    val size = blobSection.size
+                    blobSection.copyInto(totalArray, offset)
+                    offset += size
+                }
+            }
+
+            return totalArray
+        }
     }
 }
diff --git a/app/src/main/java/com/futo/polycentric/core/ProcessHandle.kt b/app/src/main/java/com/futo/polycentric/core/ProcessHandle.kt
index 053e692..6432baf 100644
--- a/app/src/main/java/com/futo/polycentric/core/ProcessHandle.kt
+++ b/app/src/main/java/com/futo/polycentric/core/ProcessHandle.kt
@@ -208,33 +208,6 @@ class ProcessHandle constructor(
         return setAvatar(imageBundleBuilder.build())
     }
 
-    fun loadDataFromServer(dataLink: Protocol.URLInfoDataLink): ByteArray {
-        val systemState = SystemState.fromStorageTypeSystemState(Store.instance.getSystemState(system))
-        val server = systemState.servers.first() //TODO: Somehow use all servers?
-
-        val blobProcessRangesToGet = Protocol.RangesForProcess.newBuilder()
-            .addAllRanges(dataLink.sectionsList)
-            .setProcess(processSecret.process.toProto())
-            .build()
-        val blobEvents = ApiMethods.getEvents(server, system.toProto(), Protocol.RangesForSystem.newBuilder()
-            .addRangesForProcesses(blobProcessRangesToGet).build()).eventsList.map { SignedEvent.fromProto(it) }
-
-        val totalArray = ByteArray(dataLink.byteCount.toInt())
-        var offset = 0
-
-        for (section in dataLink.sectionsList) {
-            val sectionEvents = blobEvents.filter { it.event.logicalClock >= section.low && it.event.logicalClock <= section.high }.sortedBy { it.event.logicalClock }
-            sectionEvents.forEach {
-                val blobSection = it.event.content
-                val size = blobSection.size
-                blobSection.copyInto(totalArray, offset)
-                offset += size
-            }
-        }
-
-        return totalArray
-    }
-
     private fun publish(contentType: Long, content: ByteArray, lwwElementSet: LWWElementSet?, lwwElement: LWWElement?, references: MutableList<Protocol.Reference>): Pointer {
         synchronized(this) {
             val processState = Store.instance.getProcessState(system, processSecret.process)
-- 
GitLab