diff --git a/app/src/main/java/org/linphone/ui/main/help/viewmodel/HelpViewModel.kt b/app/src/main/java/org/linphone/ui/main/help/viewmodel/HelpViewModel.kt index c58e4cfa1..2bb288448 100644 --- a/app/src/main/java/org/linphone/ui/main/help/viewmodel/HelpViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/help/viewmodel/HelpViewModel.kt @@ -31,6 +31,7 @@ import org.linphone.LinphoneApplication.Companion.corePreferences import org.linphone.R import org.linphone.core.Core import org.linphone.core.CoreListenerStub +import org.linphone.core.Factory import org.linphone.core.VersionUpdateCheckResult import org.linphone.core.tools.Log import org.linphone.ui.GenericViewModel @@ -61,6 +62,10 @@ class HelpViewModel val logsUploadInProgress = MutableLiveData() + val printLogsInLogcat = MutableLiveData() + + val developerSettingsEnabled = MutableLiveData() + val canConfigFileBeViewed = MutableLiveData() val newVersionAvailableEvent: MutableLiveData>> by lazy { @@ -165,6 +170,8 @@ class HelpViewModel coreContext.postOnCoreThread { core -> core.addListener(coreListener) + printLogsInLogcat.postValue(corePreferences.printLogsInLogcat) + developerSettingsEnabled.postValue(corePreferences.showDeveloperSettings) checkUpdateAvailable.postValue(corePreferences.checkForUpdateServerUrl.isNotEmpty()) uploadLogsAvailable.postValue(!core.logCollectionUploadServerUrl.isNullOrEmpty()) } @@ -195,6 +202,7 @@ class HelpViewModel coreContext.postOnCoreThread { Log.w("$TAG Enabling developer settings") corePreferences.showDeveloperSettings = true + developerSettingsEnabled.postValue(true) } } NUMBER_OF_CLICK_TO_ENABLE_DEVELOPER_MODE + 1 -> { @@ -231,6 +239,17 @@ class HelpViewModel } } + @UiThread + fun toggleLogcat() { + val newValue = printLogsInLogcat.value == false + coreContext.postOnCoreThread { + corePreferences.printLogsInLogcat = newValue + coreContext.updateLogcatEnabledSetting(newValue) + Factory.instance().enableLogcatLogs(newValue) + printLogsInLogcat.postValue(newValue) + } + } + @UiThread fun showConfigFile() { coreContext.postOnCoreThread { core -> diff --git a/app/src/main/res/layout/account_nat_policy_settings.xml b/app/src/main/res/layout/account_nat_policy_settings.xml index 6d65b7196..21c0946d4 100644 --- a/app/src/main/res/layout/account_nat_policy_settings.xml +++ b/app/src/main/res/layout/account_nat_policy_settings.xml @@ -45,6 +45,8 @@ android:text="@={viewModel.stunServer}" android:inputType="text|textUri" android:hint="@string/account_settings_stun_server_url_title" + app:layout_constraintHorizontal_bias="0" + app:layout_constraintWidth_max="@dimen/text_input_max_width" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@id/stun_server_title"/> @@ -133,6 +135,8 @@ android:text="@={viewModel.turnUsername}" android:inputType="text|textPersonName" android:hint="@string/account_settings_turn_username_title" + app:layout_constraintHorizontal_bias="0" + app:layout_constraintWidth_max="@dimen/text_input_max_width" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@id/turn_username_title" /> @@ -167,6 +171,8 @@ android:text="@={viewModel.turnPassword}" android:hint="@string/account_settings_turn_password_title" android:inputType="@{viewModel.showTurnPassword ? InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD : InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD, default=textPassword}" + app:layout_constraintHorizontal_bias="0" + app:layout_constraintWidth_max="@dimen/text_input_max_width" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@id/turn_password_title" diff --git a/app/src/main/res/layout/account_settings_fragment.xml b/app/src/main/res/layout/account_settings_fragment.xml index bc156a025..b06bb7929 100644 --- a/app/src/main/res/layout/account_settings_fragment.xml +++ b/app/src/main/res/layout/account_settings_fragment.xml @@ -165,6 +165,8 @@ android:text="@={viewModel.voicemailUri}" android:inputType="text|textUri" android:hint="@string/account_settings_voicemail_uri_title" + app:layout_constraintHorizontal_bias="0" + app:layout_constraintWidth_max="@dimen/text_input_max_width" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@id/voicemail_uri_title" /> @@ -198,6 +200,8 @@ android:text="@={viewModel.mwiUri}" android:inputType="text|textUri" android:hint="@string/account_settings_mwi_uri_title" + app:layout_constraintHorizontal_bias="0" + app:layout_constraintWidth_max="@dimen/text_input_max_width" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@id/mwi_uri_title" diff --git a/app/src/main/res/layout/help_debug_fragment.xml b/app/src/main/res/layout/help_debug_fragment.xml index 0332e83ca..bf6b56f03 100644 --- a/app/src/main/res/layout/help_debug_fragment.xml +++ b/app/src/main/res/layout/help_debug_fragment.xml @@ -129,6 +129,41 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"> + + + + + + diff --git a/app/src/main/res/layout/settings_developer_fragment.xml b/app/src/main/res/layout/settings_developer_fragment.xml index 6ce1ae0cf..f4c9290fa 100644 --- a/app/src/main/res/layout/settings_developer_fragment.xml +++ b/app/src/main/res/layout/settings_developer_fragment.xml @@ -332,6 +332,8 @@ android:text="@string/settings_developer_clear_native_friends_in_database_title" android:maxLines="2" android:ellipsize="end" + app:layout_constraintWidth_max="@dimen/button_max_width" + app:layout_constraintHorizontal_bias="0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@id/push_compatible_domains_list"/> @@ -371,6 +373,8 @@ android:text="@string/settings_developer_clear_orphan_auth_info_title" android:maxLines="2" android:ellipsize="end" + app:layout_constraintWidth_max="@dimen/button_max_width" + app:layout_constraintHorizontal_bias="0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@id/clear_friends_db_subtitle"