PreviewUrl: setting and e2e room

This commit is contained in:
Benoit Marty 2020-12-04 09:48:48 +01:00
parent 1161dcb299
commit 770041eceb
4 changed files with 21 additions and 8 deletions

View File

@ -1354,9 +1354,14 @@ class RoomDetailViewModel @AssistedInject constructor(
timelineEvents.accept(snapshot)
// PreviewUrl
// TODO Check if URL preview is enable, check if encrypted room, etc.
snapshot.forEach {
previewUrlRetriever.getPreviewUrl(it.root, viewModelScope)
if (vectorPreferences.showUrlPreviews()) {
withState { state ->
snapshot
.takeIf { state.asyncRoomSummary.invoke()?.isEncrypted == false }
?.forEach {
previewUrlRetriever.getPreviewUrl(it.root, viewModelScope)
}
}
}
}

View File

@ -783,6 +783,15 @@ class VectorPreferences @Inject constructor(private val context: Context) {
return defaultPrefs.getBoolean(SETTINGS_USE_ANALYTICS_KEY, false)
}
/**
* Tells if the user wants to see URL previews in the timeline
*
* @return true if the user wants to see URL previews in the timeline
*/
fun showUrlPreviews(): Boolean {
return defaultPrefs.getBoolean(SETTINGS_SHOW_URL_PREVIEW_KEY, true)
}
/**
* Enable or disable the analytics tracking.
*

View File

@ -64,9 +64,9 @@ class VectorSettingsPreferencesFragment @Inject constructor(
}
// Url preview
/*
TODO Note: we keep the setting client side for now
findPreference<SwitchPreference>(VectorPreferences.SETTINGS_SHOW_URL_PREVIEW_KEY)!!.let {
/*
TODO
it.isChecked = session.isURLPreviewEnabled
it.onPreferenceChangeListener = Preference.OnPreferenceChangeListener { _, newValue ->
@ -100,8 +100,8 @@ class VectorSettingsPreferencesFragment @Inject constructor(
false
}
*/
}
*/
// update keep medias period
findPreference<VectorPreference>(VectorPreferences.SETTINGS_MEDIA_SAVING_PERIOD_KEY)!!.let {

View File

@ -57,8 +57,7 @@
android:defaultValue="true"
android:key="SETTINGS_SHOW_URL_PREVIEW_KEY"
android:summary="@string/settings_inline_url_preview_summary"
android:title="@string/settings_inline_url_preview"
app:isPreferenceVisible="@bool/false_not_implemented" />
android:title="@string/settings_inline_url_preview" />
<im.vector.app.core.preference.VectorSwitchPreference
android:key="SETTINGS_ALWAYS_SHOW_TIMESTAMPS_KEY"