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