From 4e375754edcf93b95ec711e75843503d9bd5d290 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 23 Apr 2020 16:31:12 +0200 Subject: [PATCH] Hide StaticImage camera in video settings --- .../viewmodels/VideoSettingsViewModel.kt | 17 +++++++++++++++-- .../java/org/linphone/core/CorePreferences.kt | 3 +++ build.gradle | 2 +- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/linphone/activities/main/settings/viewmodels/VideoSettingsViewModel.kt b/app/src/main/java/org/linphone/activities/main/settings/viewmodels/VideoSettingsViewModel.kt index 3ef60ef6a..706aec861 100644 --- a/app/src/main/java/org/linphone/activities/main/settings/viewmodels/VideoSettingsViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/settings/viewmodels/VideoSettingsViewModel.kt @@ -25,6 +25,7 @@ import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.R import org.linphone.activities.main.settings.SettingListenerStub import org.linphone.core.Factory +import org.linphone.core.tools.Log class VideoSettingsViewModel : GenericSettingsViewModel() { val enableVideoListener = object : SettingListenerStub() { @@ -122,11 +123,23 @@ class VideoSettingsViewModel : GenericSettingsViewModel() { private fun initCameraDevicesList() { val labels = arrayListOf() for (camera in core.videoDevicesList) { - labels.add(camera) + if (prefs.hideStaticImageCamera && camera.startsWith("StaticImage")) { + Log.w("[Video Settings] Do not display StaticImage camera") + } else { + labels.add(camera) + } } cameraDeviceLabels.value = labels - cameraDeviceIndex.value = labels.indexOf(core.videoDevice) + val index = labels.indexOf(core.videoDevice) + if (index == -1) { + val firstDevice = cameraDeviceLabels.value.orEmpty().firstOrNull() + Log.w("[Video Settings] Device not found in labels list: ${core.videoDevice}, replace it by $firstDevice") + cameraDeviceIndex.value = 0 + core.videoDevice = firstDevice + } else { + cameraDeviceIndex.value = index + } } private fun initVideoSizeList() { diff --git a/app/src/main/java/org/linphone/core/CorePreferences.kt b/app/src/main/java/org/linphone/core/CorePreferences.kt index 8557f8201..abdb219c1 100644 --- a/app/src/main/java/org/linphone/core/CorePreferences.kt +++ b/app/src/main/java/org/linphone/core/CorePreferences.kt @@ -84,6 +84,9 @@ class CorePreferences constructor(private val context: Context) { get() = config.getBool("app", "video_preview", false) set(value) = config.setBool("app", "video_preview", value) + val hideStaticImageCamera: Boolean + get() = config.getBool("app", "hide_static_image_camera", true) + /* Chat */ var makePublicDownloadedImages: Boolean diff --git a/build.gradle b/build.gradle index 2df1f96f4..bb9b0a321 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.6.2' + classpath 'com.android.tools.build:gradle:3.6.3' classpath 'com.google.gms:google-services:4.3.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jlleitschuh.gradle:ktlint-gradle:9.1.1"