Skip to content

Commit b93ffe7

Browse files
committed
Add task origin to result
1 parent 65543ec commit b93ffe7

File tree

10 files changed

+105
-5
lines changed

10 files changed

+105
-5
lines changed
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="119dp"
3+
android:height="119dp"
4+
android:viewportWidth="119"
5+
android:viewportHeight="119">
6+
<path
7+
android:pathData="M0.09,69.3h101.48v34.65h-101.48z"
8+
android:fillColor="#ffffff"/>
9+
<path
10+
android:pathData="M20.29,92.61C20.29,92.14 20.22,91.71 20.07,91.34C19.93,90.96 19.68,90.61 19.31,90.31C18.95,89.99 18.43,89.69 17.77,89.4C17.11,89.09 16.27,88.78 15.23,88.45C14.08,88.09 13.01,87.68 12.02,87.23C11.02,86.78 10.15,86.25 9.39,85.66C8.65,85.06 8.07,84.37 7.65,83.59C7.23,82.8 7.02,81.89 7.02,80.85C7.02,79.84 7.24,78.91 7.67,78.08C8.11,77.24 8.73,76.53 9.53,75.93C10.33,75.32 11.27,74.85 12.35,74.52C13.45,74.2 14.65,74.03 15.97,74.03C17.8,74.03 19.38,74.37 20.71,75.03C22.05,75.7 23.09,76.6 23.83,77.74C24.56,78.88 24.93,80.16 24.93,81.58H20.29C20.29,80.81 20.13,80.14 19.8,79.55C19.48,78.96 19,78.5 18.34,78.16C17.7,77.82 16.89,77.65 15.91,77.65C14.96,77.65 14.17,77.79 13.54,78.08C12.92,78.36 12.45,78.74 12.13,79.23C11.83,79.71 11.68,80.25 11.68,80.85C11.68,81.3 11.78,81.71 12,82.07C12.21,82.42 12.53,82.75 12.96,83.07C13.39,83.37 13.92,83.66 14.55,83.93C15.2,84.19 15.94,84.45 16.79,84.71C18.14,85.12 19.32,85.57 20.34,86.06C21.37,86.56 22.22,87.12 22.89,87.76C23.58,88.39 24.1,89.1 24.43,89.89C24.78,90.68 24.96,91.57 24.96,92.58C24.96,93.64 24.75,94.59 24.33,95.42C23.92,96.25 23.32,96.97 22.54,97.55C21.76,98.14 20.82,98.58 19.73,98.89C18.65,99.19 17.44,99.35 16.09,99.35C14.9,99.35 13.71,99.19 12.54,98.87C11.38,98.54 10.32,98.06 9.38,97.42C8.43,96.76 7.67,95.94 7.11,94.95C6.54,93.94 6.26,92.77 6.26,91.43H10.93C10.93,92.21 11.06,92.87 11.3,93.42C11.56,93.96 11.92,94.41 12.39,94.76C12.86,95.1 13.41,95.35 14.05,95.5C14.68,95.66 15.36,95.74 16.09,95.74C17.04,95.74 17.82,95.61 18.43,95.35C19.05,95.08 19.51,94.71 19.82,94.24C20.13,93.76 20.29,93.22 20.29,92.61Z"
11+
android:fillColor="#D32625"/>
12+
<path
13+
android:pathData="M42.96,90.9H47.62C47.49,92.55 47.03,94.01 46.24,95.28C45.45,96.55 44.35,97.54 42.94,98.26C41.53,98.98 39.83,99.35 37.82,99.35C36.27,99.35 34.88,99.07 33.64,98.53C32.41,97.98 31.35,97.2 30.47,96.18C29.61,95.15 28.94,93.93 28.48,92.49C28.02,91.05 27.78,89.43 27.78,87.64V85.76C27.78,83.96 28.02,82.35 28.5,80.9C28.97,79.46 29.65,78.23 30.53,77.21C31.42,76.19 32.48,75.4 33.72,74.85C34.98,74.29 36.37,74.02 37.92,74.02C39.93,74.02 41.63,74.39 43.01,75.13C44.4,75.87 45.48,76.88 46.24,78.16C47.01,79.45 47.47,80.93 47.63,82.59H42.98C42.89,81.56 42.66,80.68 42.3,79.96C41.95,79.23 41.42,78.69 40.71,78.31C40.01,77.93 39.08,77.74 37.92,77.74C37.02,77.74 36.22,77.91 35.53,78.25C34.86,78.58 34.29,79.09 33.84,79.77C33.39,80.43 33.05,81.27 32.83,82.27C32.6,83.27 32.49,84.42 32.49,85.72V87.64C32.49,88.89 32.59,90.01 32.79,91C33,92 33.31,92.84 33.74,93.52C34.17,94.21 34.72,94.74 35.4,95.1C36.08,95.46 36.88,95.64 37.82,95.64C38.96,95.64 39.88,95.46 40.59,95.1C41.31,94.74 41.86,94.21 42.23,93.51C42.62,92.81 42.86,91.94 42.96,90.9Z"
14+
android:fillColor="#D32625"/>
15+
<path
16+
android:pathData="M61.02,78.11L53.99,99.01H49.07L58.27,74.37H61.42L61.02,78.11ZM66.89,99.01L59.83,78.11L59.41,74.37H62.57L71.83,99.01H66.89ZM66.57,89.85V93.52H53.35V89.85H66.57Z"
17+
android:fillColor="#D32625"/>
18+
<path
19+
android:pathData="M94.16,74.37V99.01H89.49L79.02,81.92V99.01H74.37V74.37H79.02L89.53,91.48V74.37H94.16Z"
20+
android:fillColor="#D32625"/>
21+
<path
22+
android:pathData="M0.09,34.65h118.81v34.65h-118.81z"
23+
android:fillColor="#ffffff"/>
24+
<path
25+
android:pathData="M9.43,39.72H13.45L20.19,58.26L26.9,39.72H30.95L21.79,64.35H18.56L9.43,39.72ZM7.4,39.72H11.34L12.05,56.76V64.35H7.4V39.72ZM29.02,39.72H32.98V64.35H28.33V56.76L29.02,39.72Z"
26+
android:fillColor="#D32625"/>
27+
<path
28+
android:pathData="M54.04,60.7V64.35H40.95V60.7H54.04ZM42.37,39.72V64.35H37.72V39.72H42.37ZM52.34,49.89V53.46H40.95V49.89H52.34ZM53.99,39.72V43.39H40.95V39.72H53.99Z"
29+
android:fillColor="#D32625"/>
30+
<path
31+
android:pathData="M64.64,64.35H59.32L59.36,60.7H64.64C66.07,60.7 67.27,60.38 68.24,59.75C69.21,59.11 69.94,58.19 70.44,56.99C70.94,55.79 71.18,54.34 71.18,52.66V51.39C71.18,50.1 71.04,48.95 70.76,47.96C70.48,46.97 70.06,46.13 69.51,45.45C68.97,44.78 68.3,44.26 67.5,43.92C66.7,43.57 65.78,43.39 64.74,43.39H59.22V39.72H64.74C66.39,39.72 67.89,40 69.24,40.55C70.6,41.1 71.78,41.9 72.78,42.93C73.78,43.96 74.55,45.19 75.08,46.62C75.62,48.05 75.89,49.66 75.89,51.43V52.66C75.89,54.42 75.62,56.02 75.08,57.47C74.55,58.9 73.78,60.13 72.78,61.16C71.78,62.18 70.6,62.97 69.22,63.53C67.85,64.08 66.32,64.35 64.64,64.35ZM61.93,39.72V64.35H57.28V39.72H61.93Z"
32+
android:fillColor="#D32625"/>
33+
<path
34+
android:pathData="M84.81,39.72V64.35H80.15V39.72H84.81Z"
35+
android:fillColor="#D32625"/>
36+
<path
37+
android:pathData="M99.93,43.46L92.91,64.35H87.99L97.19,39.72H100.34L99.93,43.46ZM105.8,64.35L98.75,43.46L98.32,39.72H101.49L110.74,64.35H105.8ZM105.48,55.2V58.87H92.27V55.2H105.48Z"
38+
android:fillColor="#D32625"/>
39+
<path
40+
android:pathData="M0.09,0h101.48v34.65h-101.48z"
41+
android:fillColor="#ffffff"/>
42+
<path
43+
android:pathData="M27.19,5.07V29.7H22.52L12.05,12.61V29.7H7.4V5.07H12.05L22.56,22.17V5.07H27.19Z"
44+
android:fillColor="#D32625"/>
45+
<path
46+
android:pathData="M48.26,26.05V29.7H35.16V26.05H48.26ZM36.58,5.07V29.7H31.93V5.07H36.58ZM46.55,15.24V18.81H35.16V15.24H46.55ZM48.21,5.07V8.74H35.16V5.07H48.21Z"
47+
android:fillColor="#D32625"/>
48+
<path
49+
android:pathData="M57.55,24.98L62.45,5.07H65.11L65.28,9.26L60.03,29.7H57.23L57.55,24.98ZM54.45,5.07L58.48,24.91V29.7H55.42L49.83,5.07H54.45ZM70.37,24.83L74.33,5.07H78.97L73.38,29.7H70.32L70.37,24.83ZM66.38,5.07L71.29,25.05L71.57,29.7H68.77L63.54,9.25L63.74,5.07H66.38Z"
50+
android:fillColor="#D32625"/>
51+
<path
52+
android:pathData="M94.81,23.31C94.81,22.83 94.73,22.41 94.59,22.04C94.45,21.65 94.2,21.31 93.82,21.01C93.46,20.69 92.95,20.38 92.28,20.09C91.63,19.79 90.78,19.47 89.75,19.14C88.6,18.78 87.52,18.38 86.53,17.93C85.54,17.47 84.66,16.95 83.91,16.35C83.16,15.75 82.58,15.07 82.17,14.29C81.75,13.5 81.54,12.58 81.54,11.55C81.54,10.53 81.75,9.61 82.18,8.77C82.62,7.94 83.24,7.22 84.04,6.62C84.85,6.01 85.79,5.55 86.87,5.22C87.96,4.89 89.17,4.73 90.49,4.73C92.32,4.73 93.9,5.06 95.23,5.73C96.57,6.39 97.61,7.29 98.34,8.43C99.07,9.57 99.44,10.85 99.44,12.27H94.81C94.81,11.51 94.64,10.83 94.31,10.24C94,9.66 93.51,9.19 92.86,8.86C92.22,8.52 91.4,8.35 90.42,8.35C89.48,8.35 88.69,8.49 88.05,8.77C87.43,9.05 86.97,9.44 86.65,9.92C86.35,10.41 86.19,10.95 86.19,11.55C86.19,12 86.3,12.4 86.51,12.77C86.73,13.11 87.05,13.45 87.48,13.76C87.91,14.07 88.44,14.36 89.07,14.63C89.71,14.89 90.46,15.15 91.3,15.4C92.66,15.81 93.84,16.26 94.86,16.76C95.88,17.25 96.73,17.82 97.41,18.45C98.1,19.08 98.61,19.79 98.95,20.58C99.3,21.37 99.48,22.27 99.48,23.27C99.48,24.33 99.27,25.28 98.85,26.12C98.43,26.95 97.83,27.66 97.06,28.25C96.28,28.83 95.34,29.28 94.25,29.58C93.16,29.89 91.95,30.04 90.61,30.04C89.41,30.04 88.23,29.88 87.06,29.57C85.89,29.24 84.84,28.75 83.89,28.11C82.94,27.46 82.19,26.63 81.62,25.64C81.06,24.64 80.78,23.46 80.78,22.12H85.45C85.45,22.9 85.57,23.57 85.82,24.12C86.08,24.66 86.44,25.11 86.9,25.46C87.38,25.79 87.93,26.04 88.56,26.2C89.19,26.36 89.88,26.44 90.61,26.44C91.56,26.44 92.33,26.31 92.94,26.05C93.56,25.78 94.03,25.4 94.33,24.93C94.65,24.46 94.81,23.92 94.81,23.31Z"
53+
android:fillColor="#D32625"/>
54+
<path
55+
android:pathData="M54.56,100.75l58.26,-4.44l1.37,17.93l-58.26,4.44z"
56+
android:fillColor="#000000"/>
57+
<path
58+
android:pathData="M65.2,102.88L66.96,102.74L67.61,111.34L67.56,112.94L65.97,113.06L65.2,102.88ZM72.07,108.91L72.08,109.05C72.12,109.59 72.09,110.08 72.01,110.54C71.93,110.99 71.78,111.39 71.57,111.74C71.36,112.08 71.09,112.35 70.76,112.56C70.43,112.76 70.03,112.88 69.56,112.92C69.12,112.95 68.73,112.89 68.39,112.75C68.05,112.6 67.76,112.38 67.52,112.08C67.27,111.78 67.07,111.42 66.9,111C66.74,110.58 66.6,110.11 66.5,109.6L66.47,109.23C66.5,108.7 66.56,108.22 66.66,107.79C66.76,107.35 66.91,106.96 67.1,106.63C67.3,106.29 67.55,106.02 67.86,105.83C68.17,105.63 68.55,105.51 68.98,105.48C69.45,105.45 69.87,105.5 70.23,105.66C70.6,105.81 70.91,106.04 71.16,106.35C71.42,106.65 71.63,107.03 71.78,107.46C71.93,107.89 72.02,108.38 72.07,108.91ZM70.32,109.19L70.31,109.05C70.29,108.74 70.24,108.46 70.17,108.19C70.1,107.92 70,107.69 69.88,107.49C69.75,107.29 69.59,107.14 69.39,107.03C69.19,106.93 68.95,106.88 68.66,106.91C68.39,106.93 68.15,106.99 67.97,107.1C67.78,107.21 67.63,107.35 67.52,107.52C67.41,107.69 67.33,107.89 67.27,108.12C67.22,108.35 67.2,108.59 67.19,108.85L67.27,109.88C67.33,110.22 67.43,110.52 67.56,110.78C67.7,111.04 67.88,111.25 68.12,111.39C68.36,111.53 68.66,111.59 69.03,111.56C69.31,111.54 69.54,111.46 69.72,111.34C69.9,111.21 70.04,111.04 70.14,110.83C70.23,110.61 70.29,110.36 70.31,110.09C70.34,109.81 70.34,109.51 70.32,109.19Z"
59+
android:fillColor="#ffffff"/>
60+
<path
61+
android:pathData="M75.58,111.53L77.01,105L78.89,104.86L76.64,113.34C76.59,113.52 76.52,113.72 76.43,113.93C76.34,114.15 76.22,114.36 76.06,114.56C75.9,114.76 75.7,114.93 75.45,115.07C75.2,115.21 74.89,115.29 74.53,115.32C74.37,115.33 74.23,115.33 74.1,115.32C73.97,115.31 73.84,115.29 73.7,115.26L73.6,113.95C73.65,113.95 73.7,113.95 73.76,113.94C73.82,113.94 73.87,113.94 73.92,113.94C74.17,113.92 74.38,113.87 74.54,113.8C74.71,113.73 74.84,113.62 74.93,113.48C75.02,113.35 75.1,113.17 75.15,112.96L75.58,111.53ZM74.14,105.22L76.17,110.38L76.6,112.21L75.41,112.52L72.26,105.37L74.14,105.22Z"
62+
android:fillColor="#ffffff"/>
63+
<path
64+
android:pathData="M86.68,111.48L84.6,111.64L84.5,110.21L86.57,110.05C87.13,110.01 87.6,109.85 87.96,109.57C88.32,109.29 88.58,108.91 88.74,108.42C88.89,107.94 88.95,107.36 88.9,106.71L88.86,106.21C88.82,105.7 88.73,105.25 88.59,104.88C88.45,104.49 88.26,104.18 88.03,103.93C87.79,103.68 87.52,103.5 87.19,103.39C86.87,103.28 86.5,103.23 86.1,103.26L83.94,103.43L83.83,101.99L85.99,101.83C86.63,101.78 87.23,101.84 87.77,102.02C88.33,102.19 88.81,102.47 89.23,102.85C89.66,103.22 89.99,103.68 90.24,104.22C90.5,104.77 90.65,105.39 90.7,106.08L90.74,106.57C90.79,107.25 90.74,107.89 90.57,108.47C90.4,109.05 90.14,109.55 89.78,109.99C89.42,110.42 88.98,110.76 88.45,111.02C87.93,111.28 87.34,111.43 86.68,111.48ZM84.89,101.91L85.62,111.56L83.8,111.7L83.06,102.05L84.89,101.91Z"
65+
android:fillColor="#ffffff"/>
66+
<path
67+
android:pathData="M94.87,109L96.2,101.05L97.24,100.97L97.43,102.61L95.99,110.77L94.89,110.86L94.87,109ZM93.07,101.29L95.24,108.94L95.38,110.82L94.18,110.91L91.26,101.43L93.07,101.29ZM99.89,108.56L100.86,100.69L102.67,100.56L101.22,110.37L100.02,110.46L99.89,108.56ZM97.74,100.93L100.26,108.61L100.51,110.43L99.41,110.51L96.75,102.65L96.71,101.01L97.74,100.93Z"
68+
android:fillColor="#ffffff"/>
69+
</vector>

composeApp/src/commonMain/composeResources/values/strings-common.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,4 +182,6 @@
182182
<string name="minutes_abbreviated">%1$dm</string>
183183
<string name="seconds_abbreviated">%1$ds</string>
184184
<string name="notification_channel_name">Testing</string>
185+
<string name="task_origin_manual">Manual Run</string>
186+
<string name="task_origin_auto_run">Auto Run</string>
185187
</resources>

composeApp/src/commonMain/kotlin/org/ooni/engine/models/TaskOrigin.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ enum class TaskOrigin(
1313
) {
1414
AutoRun("autorun"),
1515
OoniRun("ooni-run"),
16+
;
17+
18+
companion object {
19+
fun fromValue(value: String?) = entries.firstOrNull { it.value == value } ?: OoniRun
20+
}
1621
}
1722

1823
object TaskOriginSerializer : KSerializer<TaskOrigin> {
@@ -26,8 +31,5 @@ object TaskOriginSerializer : KSerializer<TaskOrigin> {
2631
encoder.encodeString(value.value)
2732
}
2833

29-
override fun deserialize(decoder: Decoder): TaskOrigin {
30-
val string = decoder.decodeString()
31-
return TaskOrigin.entries.firstOrNull { it.value == string } ?: TaskOrigin.OoniRun
32-
}
34+
override fun deserialize(decoder: Decoder): TaskOrigin = TaskOrigin.fromValue(decoder.decodeString())
3335
}

composeApp/src/commonMain/kotlin/org/ooni/probe/data/models/ResultModel.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.ooni.probe.data.models
22

33
import kotlinx.datetime.LocalDateTime
4+
import org.ooni.engine.models.TaskOrigin
45
import org.ooni.probe.shared.now
56

67
data class ResultModel(
@@ -12,6 +13,7 @@ data class ResultModel(
1213
val dataUsageUp: Long = 0,
1314
val dataUsageDown: Long = 0,
1415
val failureMessage: String? = null,
16+
val taskOrigin: TaskOrigin,
1517
val networkId: NetworkModel.Id? = null,
1618
val testDescriptorId: InstalledTestDescriptorModel.Id?,
1719
) {

composeApp/src/commonMain/kotlin/org/ooni/probe/data/repositories/ResultRepository.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import kotlinx.coroutines.CoroutineDispatcher
77
import kotlinx.coroutines.flow.Flow
88
import kotlinx.coroutines.flow.map
99
import kotlinx.coroutines.withContext
10+
import org.ooni.engine.models.TaskOrigin
1011
import org.ooni.probe.Database
1112
import org.ooni.probe.data.Network
1213
import org.ooni.probe.data.Result
@@ -63,6 +64,7 @@ class ResultRepository(
6364
data_usage_up = model.dataUsageUp,
6465
data_usage_down = model.dataUsageDown,
6566
failure_msg = model.failureMessage,
67+
task_origin = model.taskOrigin.value,
6668
network_id = model.networkId?.value,
6769
descriptor_runId = model.testDescriptorId?.value,
6870
)
@@ -88,6 +90,7 @@ class ResultRepository(
8890
dataUsageUp = data_usage_up ?: 0L,
8991
dataUsageDown = data_usage_down ?: 0L,
9092
failureMessage = failure_msg,
93+
taskOrigin = TaskOrigin.fromValue(task_origin),
9194
networkId = network_id?.let(NetworkModel::Id),
9295
testDescriptorId = descriptor_runId?.let(InstalledTestDescriptorModel::Id),
9396
)
@@ -104,6 +107,7 @@ class ResultRepository(
104107
data_usage_up = data_usage_up,
105108
data_usage_down = data_usage_down,
106109
failure_msg = failure_msg,
110+
task_origin = task_origin,
107111
network_id = network_id,
108112
descriptor_runId = descriptor_runId,
109113
).toModel() ?: return null,
@@ -133,6 +137,7 @@ class ResultRepository(
133137
data_usage_up = data_usage_up,
134138
data_usage_down = data_usage_down,
135139
failure_msg = failure_msg,
140+
task_origin = task_origin,
136141
network_id = network_id,
137142
descriptor_runId = descriptor_runId,
138143
).toModel() ?: return null,

composeApp/src/commonMain/kotlin/org/ooni/probe/domain/RunDescriptors.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ class RunDescriptors(
130130
val newResult = ResultModel(
131131
testGroupName = descriptor.name,
132132
testDescriptorId = (descriptor.source as? Descriptor.Source.Installed)?.value?.id,
133+
taskOrigin = taskOrigin,
133134
)
134135
val resultWithId = newResult.copy(id = storeResult(newResult))
135136

composeApp/src/commonMain/kotlin/org/ooni/probe/ui/results/ResultsScreen.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,13 @@ import ooniprobe.composeapp.generated.resources.TestResults_UnknownASN
3030
import ooniprobe.composeapp.generated.resources.ic_cloud_off
3131
import ooniprobe.composeapp.generated.resources.measurements_count
3232
import ooniprobe.composeapp.generated.resources.months
33+
import ooniprobe.composeapp.generated.resources.task_origin_auto_run
34+
import ooniprobe.composeapp.generated.resources.task_origin_manual
3335
import org.jetbrains.compose.resources.painterResource
3436
import org.jetbrains.compose.resources.pluralStringResource
3537
import org.jetbrains.compose.resources.stringArrayResource
3638
import org.jetbrains.compose.resources.stringResource
39+
import org.ooni.engine.models.TaskOrigin
3740
import org.ooni.probe.data.models.ResultListItem
3841
import org.ooni.probe.ui.dashboard.TestDescriptorLabel
3942
import org.ooni.probe.ui.shared.relativeDateTime
@@ -123,6 +126,16 @@ private fun ResultItem(
123126
horizontalAlignment = Alignment.End,
124127
modifier = Modifier.weight(0.34f),
125128
) {
129+
Text(
130+
stringResource(
131+
when (item.result.taskOrigin) {
132+
TaskOrigin.AutoRun -> Res.string.task_origin_auto_run
133+
TaskOrigin.OoniRun -> Res.string.task_origin_manual
134+
},
135+
),
136+
style = MaterialTheme.typography.labelLarge,
137+
modifier = Modifier.padding(bottom = 2.dp),
138+
)
126139
Text(
127140
pluralStringResource(
128141
Res.plurals.measurements_count,
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTER TABLE Result ADD COLUMN task_origin TEXT DEFAULT 'ooni-run';

composeApp/src/commonMain/sqldelight/org/ooni/probe/data/Result.sq

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ CREATE TABLE Result(
99
failure_msg TEXT,
1010
network_id INTEGER,
1111
descriptor_runId INTEGER REFERENCES TestDescriptor (`runId`),
12+
task_origin TEXT DEFAULT 'ooni-run',
1213
FOREIGN KEY(`network_id`) REFERENCES Network(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION
1314
);
1415

@@ -22,9 +23,10 @@ INSERT OR REPLACE INTO Result (
2223
data_usage_up,
2324
data_usage_down,
2425
failure_msg,
26+
task_origin,
2527
network_id,
2628
descriptor_runId
27-
) VALUES (?,?,?,?,?,?,?,?,?,?);
29+
) VALUES (?,?,?,?,?,?,?,?,?,?, ?);
2830

2931
markAsViewed:
3032
UPDATE Result SET is_viewed = 1 WHERE id = ?;

composeApp/src/commonTest/kotlin/org/ooni/testing/factories/ResultModelFactory.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package org.ooni.testing.factories
33
import kotlinx.datetime.LocalDate
44
import kotlinx.datetime.LocalDateTime
55
import kotlinx.datetime.atTime
6+
import org.ooni.engine.models.TaskOrigin
67
import org.ooni.probe.data.models.InstalledTestDescriptorModel
78
import org.ooni.probe.data.models.NetworkModel
89
import org.ooni.probe.data.models.ResultModel
@@ -18,6 +19,7 @@ object ResultModelFactory {
1819
dataUsageUp: Long = 0,
1920
dataUsageDown: Long = 0,
2021
failureMessage: String? = null,
22+
taskOrigin: TaskOrigin = TaskOrigin.OoniRun,
2123
networkId: NetworkModel.Id? = null,
2224
testDescriptorId: InstalledTestDescriptorModel.Id? = null,
2325
) = ResultModel(
@@ -29,6 +31,7 @@ object ResultModelFactory {
2931
dataUsageUp = dataUsageUp,
3032
dataUsageDown = dataUsageDown,
3133
failureMessage = failureMessage,
34+
taskOrigin = taskOrigin,
3235
networkId = networkId,
3336
testDescriptorId = testDescriptorId,
3437
)

0 commit comments

Comments
 (0)