From b24d68ef44553d9ec79554f418119102a0af42b2 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 27 May 2020 11:36:24 +0200 Subject: [PATCH] Added back debug popup --- .../main/dialer/fragments/DialerFragment.kt | 31 +++++++++++++++++++ .../java/org/linphone/core/CorePreferences.kt | 3 ++ app/src/main/res/values/strings.xml | 18 +++++++++-- 3 files changed, 50 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/linphone/activities/main/dialer/fragments/DialerFragment.kt b/app/src/main/java/org/linphone/activities/main/dialer/fragments/DialerFragment.kt index 87b4d25e1..2d77b40af 100644 --- a/app/src/main/java/org/linphone/activities/main/dialer/fragments/DialerFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/dialer/fragments/DialerFragment.kt @@ -19,12 +19,14 @@ */ package org.linphone.activities.main.dialer.fragments +import android.app.AlertDialog import android.net.Uri import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment +import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProvider import androidx.navigation.fragment.findNavController import org.linphone.LinphoneApplication.Companion.coreContext @@ -106,6 +108,13 @@ class DialerFragment : Fragment() { } } + viewModel.enteredUri.observe(viewLifecycleOwner, Observer { + if (it == corePreferences.debugPopupCode) { + displayDebugPopup() + viewModel.enteredUri.value = "" + } + }) + Log.i("[Dialer] Pending call transfer mode = ${sharedViewModel.pendingCallTransfer}") viewModel.transferVisibility.value = sharedViewModel.pendingCallTransfer } @@ -118,4 +127,26 @@ class DialerFragment : Fragment() { } viewModel.updateShowVideoPreview() } + + private fun displayDebugPopup() { + val alertDialog = AlertDialog.Builder(context) + alertDialog.setTitle(getString(R.string.debug_popup_title)) + if (corePreferences.debugLogs) { + alertDialog.setItems(resources.getStringArray(R.array.popup_send_log)) { _, which -> + if (which == 0) { + corePreferences.debugLogs = false + } + if (which == 1) { + // TODO: upload logs + } + } + } else { + alertDialog.setItems(resources.getStringArray(R.array.popup_enable_log)) { _, which -> + if (which == 0) { + corePreferences.debugLogs = true + } + } + } + alertDialog.show() + } } diff --git a/app/src/main/java/org/linphone/core/CorePreferences.kt b/app/src/main/java/org/linphone/core/CorePreferences.kt index f7c79e753..ce6df4055 100644 --- a/app/src/main/java/org/linphone/core/CorePreferences.kt +++ b/app/src/main/java/org/linphone/core/CorePreferences.kt @@ -203,6 +203,9 @@ class CorePreferences constructor(private val context: Context) { val defaultDomain: String get() = config.getString("app", "default_domain", "sip.linphone.org") + val debugPopupCode: String + get() = config.getString("app", "debug_popup_magic", "#1234#") + val fetchContactsFromDefaultDirectory: Boolean get() = config.getBool("app", "fetch_contacts_from_default_directory", true) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 01ef486a8..0cfc1d083 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -19,8 +19,8 @@ &appName; SDK %s Visit our privacy policy GNU General Public License V3\n © 2010–2020 Belledonne Communications - Send log - Reset log + Send logs + Reset logs Logs url copied into clipboard linphone-android@belledonne-communications.com @@ -37,6 +37,7 @@ Domain SIP address SIP addresses + Cancel %d day %d days @@ -94,6 +95,19 @@ Enter a number or an address + Debug + Enable logs + Disable logs + Send logs + + @string/debug_popup_disable_logs + @string/debug_popup_send_logs + @string/cancel + + + @string/debug_popup_enable_logs + @string/cancel + No conversations