Skip to content

Commit e64cb9f

Browse files
committed
Remove notifications setting. Request notification permission only on Android.
1 parent 5967032 commit e64cb9f

File tree

22 files changed

+39
-111
lines changed

22 files changed

+39
-111
lines changed

composeApp/src/androidInstrumentedTest/kotlin/org/ooni/probe/screenshots/AutomateScreenshotsTest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ import ooniprobe.composeapp.generated.resources.Dashboard_Overview_ChooseWebsite
1313
import ooniprobe.composeapp.generated.resources.Dashboard_Progress_UpdateLink_Label
1414
import ooniprobe.composeapp.generated.resources.Dashboard_Running_Running
1515
import ooniprobe.composeapp.generated.resources.Dashboard_Tab_Label
16-
import ooniprobe.composeapp.generated.resources.Modal_EnableNotifications_Title
1716
import ooniprobe.composeapp.generated.resources.Notification_StopTest
1817
import ooniprobe.composeapp.generated.resources.OONIRun_Run
1918
import ooniprobe.composeapp.generated.resources.Onboarding_AutomatedTesting_Title
2019
import ooniprobe.composeapp.generated.resources.Onboarding_Crash_Title
2120
import ooniprobe.composeapp.generated.resources.Onboarding_DefaultSettings_Button_Go
2221
import ooniprobe.composeapp.generated.resources.Onboarding_DefaultSettings_Title
22+
import ooniprobe.composeapp.generated.resources.Onboarding_Notifications_Title
2323
import ooniprobe.composeapp.generated.resources.Onboarding_PopQuiz_True
2424
import ooniprobe.composeapp.generated.resources.Onboarding_ThingsToKnow_Button
2525
import ooniprobe.composeapp.generated.resources.Onboarding_ThingsToKnow_Title
@@ -137,9 +137,9 @@ class AutomateScreenshotsTest {
137137
Screengrab.screenshot("03-crash-reporting")
138138
clickOnTag("Yes-CrashReporting")
139139

140-
if (dependencies.platformInfo.needsToRequestNotificationsPermission) {
140+
if (dependencies.platformInfo.requestNotificationsPermission) {
141141
wait {
142-
onNodeWithText(Res.string.Modal_EnableNotifications_Title).isDisplayed()
142+
onNodeWithText(Res.string.Onboarding_Notifications_Title).isDisplayed()
143143
}
144144
Screengrab.screenshot("04-enable-notifications")
145145
clickOnTag("No-Notifications")

composeApp/src/androidInstrumentedTest/kotlin/org/ooni/probe/uitesting/OnboardingTest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ import androidx.compose.ui.test.junit4.createEmptyComposeRule
55
import androidx.test.ext.junit.runners.AndroidJUnit4
66
import kotlinx.coroutines.flow.first
77
import kotlinx.coroutines.test.runTest
8-
import ooniprobe.composeapp.generated.resources.Modal_EnableNotifications_Title
98
import ooniprobe.composeapp.generated.resources.Onboarding_AutomatedTesting_Title
109
import ooniprobe.composeapp.generated.resources.Onboarding_Crash_Title
1110
import ooniprobe.composeapp.generated.resources.Onboarding_DefaultSettings_Button_Go
1211
import ooniprobe.composeapp.generated.resources.Onboarding_DefaultSettings_Title
12+
import ooniprobe.composeapp.generated.resources.Onboarding_Notifications_Title
1313
import ooniprobe.composeapp.generated.resources.Onboarding_PopQuiz_True
1414
import ooniprobe.composeapp.generated.resources.Onboarding_ThingsToKnow_Button
1515
import ooniprobe.composeapp.generated.resources.Onboarding_ThingsToKnow_Title
@@ -72,9 +72,9 @@ class OnboardingTest {
7272
clickOnTag("Yes-CrashReporting")
7373
}
7474

75-
if (dependencies.platformInfo.needsToRequestNotificationsPermission) {
75+
if (dependencies.platformInfo.requestNotificationsPermission) {
7676
wait {
77-
onNodeWithText(Res.string.Modal_EnableNotifications_Title).isDisplayed()
77+
onNodeWithText(Res.string.Onboarding_Notifications_Title).isDisplayed()
7878
}
7979
clickOnTag("No-Notifications")
8080
}

composeApp/src/androidInstrumentedTest/kotlin/org/ooni/probe/uitesting/SettingsTest.kt

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ import ooniprobe.composeapp.generated.resources.Settings_Advanced_Label
1414
import ooniprobe.composeapp.generated.resources.Settings_AutomatedTesting_RunAutomatically
1515
import ooniprobe.composeapp.generated.resources.Settings_AutomatedTesting_RunAutomatically_ChargingOnly
1616
import ooniprobe.composeapp.generated.resources.Settings_AutomatedTesting_RunAutomatically_WiFiOnly
17-
import ooniprobe.composeapp.generated.resources.Settings_Notifications_Enabled
18-
import ooniprobe.composeapp.generated.resources.Settings_Notifications_Label
1917
import ooniprobe.composeapp.generated.resources.Settings_Privacy_Label
2018
import ooniprobe.composeapp.generated.resources.Settings_Privacy_SendCrashReports
2119
import ooniprobe.composeapp.generated.resources.Settings_Proxy_Label
@@ -27,7 +25,6 @@ import ooniprobe.composeapp.generated.resources.Settings_WarmVPNInUse_Label
2725
import ooniprobe.composeapp.generated.resources.Settings_Websites_Categories_Description
2826
import ooniprobe.composeapp.generated.resources.Settings_Websites_Categories_Label
2927
import org.jetbrains.compose.resources.getString
30-
import org.junit.Assert.assertTrue
3128
import org.junit.Before
3229
import org.junit.Rule
3330
import org.junit.Test
@@ -56,22 +53,6 @@ class SettingsTest {
5653
start()
5754
}
5855

59-
@Test
60-
fun notifications() =
61-
runTest {
62-
assertTrue(preferences.getValueByKey(SettingsKey.NOTIFICATIONS_ENABLED).first() != true)
63-
64-
with(compose) {
65-
clickOnText(Res.string.Settings_Title)
66-
clickOnText(Res.string.Settings_Notifications_Label)
67-
clickOnText(Res.string.Settings_Notifications_Enabled)
68-
69-
wait {
70-
preferences.getValueByKey(SettingsKey.NOTIFICATIONS_ENABLED).first() == true
71-
}
72-
}
73-
}
74-
7556
@Test
7657
fun testOptions_runAutoTests() =
7758
runTest {

composeApp/src/androidInstrumentedTest/kotlin/org/ooni/probe/uitesting/helpers/ApplicationTestHelper.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,3 @@ val isNewsMediaScan
3535

3636
val isCrashReportingEnabled
3737
get() = dependencies.flavorConfig.isCrashReportingEnabled
38-
39-
val isRemoteNotificationsEnabled
40-
get() = dependencies.flavorConfig.isRemoteNotificationsEnabled

composeApp/src/androidInstrumentedTest/kotlin/org/ooni/probe/uitesting/helpers/StateTestHelpers.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ suspend fun defaultSettings() {
1414
SettingsKey.AUTOMATED_TESTING_ENABLED to true,
1515
SettingsKey.AUTOMATED_TESTING_WIFIONLY to true,
1616
SettingsKey.AUTOMATED_TESTING_CHARGING to true,
17-
SettingsKey.NOTIFICATIONS_ENABLED to true,
1817
) +
1918
organizationPreferenceDefaults(),
2019
)

composeApp/src/androidMain/kotlin/org/ooni/probe/AndroidApplication.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,7 @@ class AndroidApplication : Application() {
8484
platform = Platform.Android,
8585
osVersion = Build.VERSION.SDK_INT.toString(),
8686
model = "${Build.MANUFACTURER} ${Build.MODEL}",
87-
needsToRequestNotificationsPermission =
88-
Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU,
87+
requestNotificationsPermission = Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU,
8988
sentryDsn =
9089
"https://7a49ffedcb48b9b69705d1ac2c032c69@o155150.ingest.sentry.io/4508325642764288",
9190
)

composeApp/src/commonMain/composeResources/drawable/notifications.xml

Lines changed: 0 additions & 13 deletions
This file was deleted.

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,6 @@
126126
<!-- Settings -->
127127

128128
<string name="Settings_Title">Settings</string>
129-
<string name="Settings_Notifications_Label">Notifications</string>
130-
<string name="Settings_Notifications_Enabled">Enabled</string>
131129

132130
<string name="Settings_TestOptions_Label">Test options</string>
133131
<string name="Settings_TestOptions_LongRunningTest">Long running test</string>
@@ -269,6 +267,10 @@
269267
<string name="Onboarding_Crash_Title">Crash Reporting</string>
270268
<string name="Onboarding_Crash_Button_Yes">Yes</string>
271269
<string name="Onboarding_Crash_Button_No">No</string>
270+
<string name="Onboarding_Notifications_Title">Enable Notifications</string>
271+
<string name="Onboarding_Notifications_Paragraph">After you start running tests, you can close the app and they will continue running in the background. Enable notifications so you can keep track of what tests are running, or stop them, without having to open the app.</string>
272+
<string name="Onboarding_Notifications_Ok">OK</string>
273+
<string name="Onboarding_Notifications_Skip">Skip</string>
272274
<string name="Onboarding_DefaultSettings_Title">Default Settings</string>
273275
<string name="Onboarding_DefaultSettings_Header">We collect and publish:</string>
274276
<string name="Onboarding_DefaultSettings_Bullet_1">Country code (e.g. IT for Italy)</string>
@@ -319,7 +321,6 @@
319321
<string name="Modal_CustomURL_NotSaved">Your URLs will not be saved when you leave this screen. Are you sure you want to leave this screen?</string>
320322
<string name="Modal_Autorun_BatteryOptimization_Onboarding">The application cannot run tests automatically without background permission. Do you want to try again?</string>
321323
<string name="Modal_Autorun_BatteryOptimization_Reminder">The application needs permission to run tests automatically in the background.</string>
322-
<string name="Modal_EnableNotifications_Title">Get updates on internet censorship</string>
323324

324325
<!-- Common / Others -->
325326

composeApp/src/commonMain/kotlin/org/ooni/probe/config/FlavorConfig.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,13 @@ package org.ooni.probe.config
22

33
enum class OptionalFeature {
44
CrashReporting,
5-
RemoteNotifications,
65
}
76

87
interface FlavorConfigInterface {
98
val optionalFeatures: Set<OptionalFeature>
109
get() = setOf(
1110
OptionalFeature.CrashReporting,
12-
OptionalFeature.RemoteNotifications,
1311
)
1412
val isCrashReportingEnabled: Boolean
1513
get() = optionalFeatures.contains(OptionalFeature.CrashReporting)
16-
val isRemoteNotificationsEnabled: Boolean
17-
get() = optionalFeatures.contains(OptionalFeature.RemoteNotifications)
1814
}

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ enum class PreferenceItemType {
5858
}
5959

6060
enum class PreferenceCategoryKey(val value: String) {
61-
NOTIFICATIONS("notifications"),
6261
TEST_OPTIONS("test_options"),
6362
PRIVACY("privacy"),
6463
PROXY("proxy"),

0 commit comments

Comments
 (0)