Skip to content

Commit 06c4e4f

Browse files
coolteyWilliamrai
andauthored
Add clickable list for overriding event platform URI (#6159)
Co-authored-by: William Rai <[email protected]>
1 parent eb9970e commit 06c4e4f

File tree

7 files changed

+28
-4
lines changed

7 files changed

+28
-4
lines changed

app/src/main/java/org/wikipedia/dataclient/ServiceFactory.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ object ServiceFactory {
3535
})
3636

3737
private val ANALYTICS_REST_SERVICE_CACHE = lruCache<DestinationEventService, EventService>(SERVICE_CACHE_SIZE, create = {
38-
val intakeBaseUriOverride = Prefs.eventPlatformIntakeUriOverride.ifEmpty { it.baseUri }
38+
val intakeBaseUriOverride = Prefs.eventPlatformIntakeUriOverride.orEmpty().ifEmpty { it.baseUri }
3939
createRetrofit(null, intakeBaseUriOverride).create<EventService>()
4040
})
4141

app/src/main/java/org/wikipedia/settings/Prefs.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,9 @@ object Prefs {
174174
val mediaWikiBaseUriSupportsLangCode
175175
get() = PrefsIoUtil.getBoolean(R.string.preference_key_mediawiki_base_uri_supports_lang_code, true)
176176

177-
val eventPlatformIntakeUriOverride
178-
get() = PrefsIoUtil.getString(R.string.preference_key_event_platform_intake_base_uri, "")!!
177+
var eventPlatformIntakeUriOverride
178+
get() = PrefsIoUtil.getString(R.string.preference_key_event_platform_intake_base_uri, "")
179+
set(value) = PrefsIoUtil.setString(R.string.preference_key_event_platform_intake_base_uri, value)
179180

180181
fun getLastRunTime(task: String): Long {
181182
return PrefsIoUtil.getLong(getLastRunTimeKey(task), 0)

app/src/main/java/org/wikipedia/settings/dev/DeveloperSettingsPreferenceLoader.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,12 @@ internal class DeveloperSettingsPreferenceLoader(fragment: PreferenceFragmentCom
267267
true
268268
}
269269
}
270+
(findPreference(R.string.preference_key_event_platform_intake_base_uri_list) as ListPreference).setOnPreferenceChangeListener { _, newValue ->
271+
val selectedState = newValue as String
272+
Prefs.eventPlatformIntakeUriOverride = selectedState
273+
findPreference(R.string.preference_key_event_platform_intake_base_uri).summary = selectedState
274+
true
275+
}
270276
}
271277

272278
private fun setUpMediaWikiSettings() {

app/src/main/res/values/dev_settings_strings.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@
3737
<string name="preferences_developer_suggested_edits_category">Suggested edits</string>
3838
<string name="preferences_developer_suggested_edits_reactivation_notification_stage_one">Show the first stage local notification for editor re-activation</string>
3939
<string name="preferences_developer_suggested_edits_reactivation_notification_stage_two">Show the second stage local notification for editor re-activation</string>
40-
40+
41+
<string name="preference_developer_event_platform_intake_base_uri_list_title">Event Platform intake base URI</string>
4142
<string name="preference_developer_event_platform_intake_base_uri_title">Override Event Platform intake base URI</string>
4243
<string name="preference_developer_send_event_platform_test_event_title">Send test event</string>
4344
<string name="preference_developer_send_event_platform_test_event_summary">Send a test event to the configured Event Platform intake endpoint</string>

app/src/main/res/values/preference_keys.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@
115115
<string name="preference_key_push_notification_options_set">pushNotificationOptionsSet</string>
116116
<string name="preference_key_event_platform_session_id">eventPlatformSessionId</string>
117117
<string name="preference_key_event_platform_intake_base_uri">eventPlatformIntakeBaseUri</string>
118+
<string name="preference_key_event_platform_intake_base_uri_list">eventPlatformIntakeBaseUriList</string>
118119
<string name="preference_key_event_platform_stored_stream_configs">eventPlatformStoredStreamConfigs</string>
119120
<string name="preference_key_crash_report_local_class_name">crashReportLocalClassName</string>
120121
<string name="preference_key_watchlist_disabled_langs">watchlistDisabledLangs</string>

app/src/main/res/values/preference_values.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,12 @@
66
<item>HEADERS</item>
77
<item>BODY</item>
88
</string-array>
9+
<string-array name="preference_values_event_platform_intake_debug_titles">
10+
<item>Production</item>
11+
<item>Beta</item>
12+
</string-array>
13+
<string-array name="preference_values_event_platform_intake_debug_values">
14+
<item>https://intake-analytics.wikimedia.org</item>
15+
<item>https://intake-analytics-beta.wmflabs.org</item>
16+
</string-array>
917
</resources>

app/src/main/res/xml/developer_preferences.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,13 @@
8686
android:key="@string/preference_key_app_channel"
8787
android:title="@string/preference_key_app_channel" />
8888

89+
<ListPreference
90+
android:key="@string/preference_key_event_platform_intake_base_uri_list"
91+
android:title="@string/preference_developer_event_platform_intake_base_uri_list_title"
92+
android:entries="@array/preference_values_event_platform_intake_debug_titles"
93+
android:entryValues="@array/preference_values_event_platform_intake_debug_values"
94+
android:summary="%s" />
95+
8996
<org.wikipedia.settings.EditTextAutoSummarizePreference
9097
style="@style/DataStringPreference"
9198
android:key="@string/preference_key_event_platform_intake_base_uri"

0 commit comments

Comments
 (0)