Skip to content

Commit 443b568

Browse files
authored
update iOS screenshots (#602)
1 parent e7d74ea commit 443b568

File tree

14 files changed

+177
-70
lines changed

14 files changed

+177
-70
lines changed

composeApp/build.gradle.kts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -336,10 +336,6 @@ tasks.register("copyBrandingToCommonResources") {
336336
from = File(projectDir, "src/${config.folder}/res"),
337337
to = File(projectDir, "src/commonMain/res"),
338338
)
339-
copyRecursive(
340-
from = File(projectDir, "src/${config.folder}/resources"),
341-
to = File(projectDir, "src/commonMain/resources"),
342-
)
343339
copyRecursive(
344340
from = File(projectDir, "src/${config.folder}/composeResources"),
345341
to = File(projectDir, "src/commonMain/composeResources"),
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
descriptors.json

composeApp/src/commonMain/kotlin/org/ooni/probe/ui/navigation/BottomNavigationBar.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import androidx.compose.material3.Text
1010
import androidx.compose.runtime.Composable
1111
import androidx.compose.runtime.getValue
1212
import androidx.compose.ui.Modifier
13+
import androidx.compose.ui.platform.testTag
1314
import androidx.compose.ui.text.style.TextAlign
1415
import androidx.compose.ui.unit.dp
1516
import androidx.navigation.NavController
@@ -57,7 +58,7 @@ fun BottomNavigationBar(navController: NavController) {
5758
indicatorColor = MaterialTheme.colorScheme.primaryContainer,
5859
selectedIconColor = MaterialTheme.colorScheme.onPrimaryContainer,
5960
),
60-
modifier = customMinHeightModifier,
61+
modifier = customMinHeightModifier.testTag(screen.route),
6162
)
6263
}
6364
}

composeApp/src/commonMain/kotlin/org/ooni/probe/ui/onboarding/OnboardingQuiz.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import androidx.compose.runtime.remember
2323
import androidx.compose.runtime.setValue
2424
import androidx.compose.ui.Alignment
2525
import androidx.compose.ui.Modifier
26+
import androidx.compose.ui.platform.testTag
2627
import androidx.compose.ui.text.style.TextAlign
2728
import androidx.compose.ui.unit.dp
2829
import androidx.compose.ui.window.DialogProperties
@@ -147,7 +148,8 @@ private fun Quiz(
147148
),
148149
modifier = Modifier
149150
.height(52.dp)
150-
.weight(1f),
151+
.weight(1f)
152+
.testTag("Quiz-True"),
151153
) {
152154
Text(
153155
stringResource(Res.string.Onboarding_PopQuiz_True),

composeApp/src/commonMain/kotlin/org/ooni/probe/ui/settings/SettingsScreen.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import androidx.compose.material3.MaterialTheme
1212
import androidx.compose.material3.Text
1313
import androidx.compose.runtime.Composable
1414
import androidx.compose.ui.Modifier
15+
import androidx.compose.ui.platform.testTag
1516
import androidx.compose.ui.unit.dp
1617
import ooniprobe.composeapp.generated.resources.Res
1718
import ooniprobe.composeapp.generated.resources.Settings_Title
@@ -38,7 +39,7 @@ fun SettingsScreen(
3839
SettingsItemView(
3940
icon = item.icon,
4041
title = item.title,
41-
modifier = Modifier.clickable {
42+
modifier = Modifier.testTag(item.route.value).clickable {
4243
onEvent(
4344
SettingsViewModel.Event.SettingsCategoryClick(
4445
item.route,
File renamed without changes.

composeApp/src/dwMain/kotlin/org/ooni/probe/domain/GetBootstrapTestDescriptors.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package org.ooni.probe.domain
33
import co.touchlab.kermit.Logger
44
import kotlinx.coroutines.withContext
55
import kotlinx.serialization.json.Json
6+
import ooniprobe.composeapp.generated.resources.Res
67
import org.ooni.engine.models.OONIRunDescriptor
78
import org.ooni.engine.models.toModel
89
import org.ooni.probe.data.models.InstalledTestDescriptorModel
@@ -15,7 +16,8 @@ class GetBootstrapTestDescriptors(
1516
) {
1617
suspend operator fun invoke(): List<InstalledTestDescriptorModel> =
1718
withContext(backgroundContext) {
18-
val descriptorsJson = readAssetFile("descriptors.json")
19+
20+
val descriptorsJson = Res.readBytes("files/assets/descriptors.json").decodeToString()
1921
val descriptors =
2022
try {
2123
json.decodeFromString<List<OONIRunDescriptor>>(descriptorsJson)

composeApp/src/iosMain/kotlin/org/ooni/probe/SetupDependencies.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import org.ooni.probe.data.models.InstalledTestDescriptorModel
2424
import org.ooni.probe.data.models.PlatformAction
2525
import org.ooni.probe.data.models.RunSpecification
2626
import org.ooni.probe.di.Dependencies
27+
import org.ooni.probe.domain.PreferenceMigration
2728
import org.ooni.probe.shared.Platform
2829
import org.ooni.probe.shared.PlatformInfo
2930
import platform.BackgroundTasks.BGProcessingTask
@@ -155,6 +156,7 @@ class SetupDependencies(
155156
producePath = {
156157
filesDir() + "/${Dependencies.Companion.DATA_STORE_FILE_NAME}"
157158
},
159+
migrations = listOf(PreferenceMigration),
158160
)
159161

160162
private fun launchAction(action: PlatformAction): Boolean {
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package org.ooni.probe.domain
2+
3+
import androidx.datastore.core.DataMigration
4+
import androidx.datastore.preferences.core.Preferences
5+
import androidx.datastore.preferences.core.booleanPreferencesKey
6+
import androidx.datastore.preferences.core.floatPreferencesKey
7+
import androidx.datastore.preferences.core.intPreferencesKey
8+
import androidx.datastore.preferences.core.longPreferencesKey
9+
import androidx.datastore.preferences.core.stringPreferencesKey
10+
import co.touchlab.kermit.Logger
11+
import org.ooni.probe.data.models.SettingsKey
12+
import platform.Foundation.NSBundle
13+
import platform.Foundation.NSUserDefaults
14+
15+
object PreferenceMigration : DataMigration<Preferences> {
16+
override suspend fun cleanUp() {
17+
NSBundle.mainBundle.bundleIdentifier?.let { NSUserDefaults.standardUserDefaults.removePersistentDomainForName(it) }
18+
}
19+
20+
override suspend fun shouldMigrate(currentData: Preferences): Boolean {
21+
return NSUserDefaults.standardUserDefaults.dictionaryRepresentation().containsKey(
22+
SettingsKey.FIRST_RUN.value,
23+
) && currentData.asMap().isEmpty()
24+
}
25+
26+
override suspend fun migrate(currentData: Preferences): Preferences {
27+
val newPreferences = currentData.toMutablePreferences()
28+
29+
newPreferences[booleanPreferencesKey(SettingsKey.FIRST_RUN.value)] =
30+
NSUserDefaults.standardUserDefaults.boolForKey(SettingsKey.FIRST_RUN.value)
31+
32+
(
33+
listOf(
34+
SettingsKey.NOTIFICATIONS_ENABLED to true,
35+
SettingsKey.SEND_CRASH to true,
36+
SettingsKey.UPLOAD_RESULTS to true,
37+
SettingsKey.AUTOMATED_TESTING_ENABLED to true,
38+
SettingsKey.AUTOMATED_TESTING_WIFIONLY to true,
39+
SettingsKey.AUTOMATED_TESTING_CHARGING to true,
40+
) +
41+
organizationPreferenceDefaults()
42+
).forEach { (settingsKey, value) ->
43+
when (value) {
44+
is Int -> newPreferences[intPreferencesKey(settingsKey.value)] = value
45+
46+
is String -> newPreferences[stringPreferencesKey(settingsKey.value)] = value
47+
48+
is Boolean -> newPreferences[booleanPreferencesKey(settingsKey.value)] = value
49+
50+
is Float -> newPreferences[floatPreferencesKey(settingsKey.value)] = value
51+
52+
is Long -> newPreferences[longPreferencesKey(settingsKey.value)] = value
53+
}
54+
}
55+
56+
NSUserDefaults.standardUserDefaults.arrayForKey("categories_disabled")
57+
?.let { disabledCategories ->
58+
disabledCategories.mapNotNull { it as? String }.forEach { category ->
59+
newPreferences[booleanPreferencesKey(category)] = false
60+
}
61+
} ?: Logger.w("'categories_disabled' key not found in NSUserDefaults")
62+
63+
return newPreferences
64+
}
65+
}
File renamed without changes.

0 commit comments

Comments
 (0)