Skip to content

Commit 919e117

Browse files
authored
Merge pull request #63 from ooni/ooni-tests
Setup default OONI tests
2 parents 7d518ae + 9dcfb4d commit 919e117

31 files changed

+635
-69
lines changed
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,7 @@
11

2-
logo.xml
2+
logo.xml
3+
test_experimental.xml
4+
test_performance.xml
5+
test_instant_messaging.xml
6+
test_websites.xml
7+
test_circumvention.xml
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:viewportWidth="24"
5+
android:viewportHeight="24"
6+
android:tint="?attr/colorControlNormal">
7+
<path
8+
android:fillColor="#000"
9+
android:pathData="M10,6L8.59,7.41 13.17,12l-4.58,4.59L10,18l6,-6z"/>
10+
</vector>

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@
44
<string name="dashboard">Dashboard</string>
55
<string name="settings">Settings</string>
66

7+
<string name="Dashboard_RunV2_Ooni_Title">OONI Tests</string>
8+
<string name="Dashboard_RunV2_Title">OONI Run Links</string>
9+
710
<string name="TestResults_Overview_Title">Test Results</string>
811
<string name="TestResults_Overview_Tab_Label">Test Results</string>
912
<string name="TestResults_UnknownASN">Unknown</string>
13+
<string name="TestResults_NotAvailable">N/A</string>
1014
</resources>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package org.ooni.probe.data.models
2+
3+
import androidx.compose.ui.graphics.Color
4+
import org.jetbrains.compose.resources.DrawableResource
5+
import org.jetbrains.compose.resources.StringResource
6+
7+
data class DefaultTestDescriptor(
8+
val label: String,
9+
val title: StringResource,
10+
val shortDescription: StringResource,
11+
val description: StringResource,
12+
val icon: DrawableResource,
13+
val color: Color,
14+
val animation: String,
15+
val dataUsage: StringResource,
16+
var netTests: List<NetTest>,
17+
var longRunningTests: List<NetTest> = emptyList(),
18+
)
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package org.ooni.probe.data.models
2+
3+
import androidx.compose.runtime.Composable
4+
import androidx.compose.ui.graphics.Color
5+
import org.jetbrains.compose.resources.DrawableResource
6+
7+
data class Descriptor(
8+
val name: String,
9+
val title: @Composable () -> String,
10+
val shortDescription: @Composable () -> String?,
11+
val description: @Composable () -> String?,
12+
val icon: DrawableResource?,
13+
val color: Color?,
14+
val animation: String?,
15+
val dataUsage: @Composable () -> String?,
16+
val netTests: List<NetTest>,
17+
val longRunningTests: List<NetTest>? = null,
18+
val source: Source,
19+
) {
20+
sealed interface Source {
21+
data class Default(val value: DefaultTestDescriptor) : Source
22+
23+
data class Installed(val value: InstalledTestDescriptorModel) : Source
24+
}
25+
}

composeApp/src/commonMain/kotlin/org/ooni/probe/data/models/TestDescriptorModel.kt renamed to composeApp/src/commonMain/kotlin/org/ooni/probe/data/models/InstalledTestDescriptorModel.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ package org.ooni.probe.data.models
22

33
import kotlinx.datetime.Instant
44

5-
data class TestDescriptorModel(
5+
data class InstalledTestDescriptorModel(
66
val id: Id,
7-
val name: String?,
7+
val name: String,
88
val shortDescription: String?,
99
val description: String?,
1010
val author: String?,
@@ -19,7 +19,6 @@ data class TestDescriptorModel(
1919
val dateCreated: Instant?,
2020
val dateUpdated: Instant?,
2121
val revision: String?,
22-
val previousRevision: String?,
2322
val isExpired: Boolean,
2423
val autoUpdate: Boolean,
2524
) {
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
package org.ooni.probe.data.models
22

3+
import androidx.compose.ui.text.intl.Locale
4+
35
typealias LocalizationString = Map<String, String>
6+
7+
fun LocalizationString.getCurrent() = get(Locale.current.language)

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ import kotlinx.serialization.Serializable
77
data class NetTest(
88
@SerialName("test_name")
99
val name: String,
10-
val inputs: List<String>?,
10+
val inputs: List<String>? = null,
1111
)

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ data class ResultModel(
1212
val dataUsageDown: Long?,
1313
val failureMessage: String?,
1414
val networkId: NetworkModel.Id?,
15-
val testDescriptorId: TestDescriptorModel.Id?,
15+
val testDescriptorId: InstalledTestDescriptorModel.Id?,
1616
) {
1717
data class Id(
1818
val value: Long,

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ import org.ooni.probe.Database
1010
import org.ooni.probe.data.Network
1111
import org.ooni.probe.data.Result
1212
import org.ooni.probe.data.SelectAllWithNetwork
13+
import org.ooni.probe.data.models.InstalledTestDescriptorModel
1314
import org.ooni.probe.data.models.NetworkModel
1415
import org.ooni.probe.data.models.ResultListItem
1516
import org.ooni.probe.data.models.ResultModel
16-
import org.ooni.probe.data.models.TestDescriptorModel
1717
import org.ooni.probe.shared.toEpoch
1818
import org.ooni.probe.shared.toLocalDateTime
1919

@@ -71,7 +71,7 @@ private fun Result.toModel(): ResultModel? {
7171
dataUsageDown = data_usage_down,
7272
failureMessage = failure_msg,
7373
networkId = network_id?.let(NetworkModel::Id),
74-
testDescriptorId = descriptor_runId?.let(TestDescriptorModel::Id),
74+
testDescriptorId = descriptor_runId?.let(InstalledTestDescriptorModel::Id),
7575
)
7676
}
7777

0 commit comments

Comments
 (0)