From 5d2621af030035f7011986d70b9543ac1fb3ee2d Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 23 Apr 2021 10:48:48 +0200 Subject: [PATCH] Code cleanup --- .../linphone/activities/GenericFragment.kt | 2 +- .../org/linphone/activities/Navigation.kt | 3 +- .../fragments/AccountLoginFragment.kt | 4 +- .../fragments/EmailAccountCreationFragment.kt | 2 +- .../EmailAccountValidationFragment.kt | 2 +- .../fragments/GenericAccountLoginFragment.kt | 2 +- .../fragments/PhoneAccountCreationFragment.kt | 2 +- .../fragments/PhoneAccountLinkingFragment.kt | 4 +- .../PhoneAccountValidationFragment.kt | 4 +- .../fragments/RemoteProvisioningFragment.kt | 4 +- .../assistant/fragments/WelcomeFragment.kt | 11 ++- .../activities/call/IncomingCallActivity.kt | 5 +- .../activities/call/OutgoingCallActivity.kt | 5 +- .../call/data/CallStatisticsData.kt | 2 - .../activities/call/data/StatItemData.kt | 2 +- .../call/viewmodels/CallViewModel.kt | 8 --- .../linphone/activities/main/MainActivity.kt | 23 ++++--- .../main/chat/data/ChatMessageData.kt | 1 - .../fragments/ChatRoomCreationFragment.kt | 4 +- .../chat/fragments/DetailChatRoomFragment.kt | 7 +- .../main/chat/fragments/GroupInfoFragment.kt | 4 +- .../chat/fragments/MasterChatRoomsFragment.kt | 4 +- .../chat/viewmodels/ChatRoomsListViewModel.kt | 2 +- .../fragments/ContactEditorFragment.kt | 2 +- .../fragments/DetailContactFragment.kt | 5 +- .../fragments/MasterContactsFragment.kt | 4 +- .../main/dialer/fragments/DialerFragment.kt | 4 +- .../main/fragments/SecureFragment.kt | 1 - .../activities/main/fragments/TabsFragment.kt | 8 +-- .../fragments/DetailCallLogFragment.kt | 8 +-- .../fragments/MasterCallLogsFragment.kt | 4 +- .../fragments/AccountSettingsFragment.kt | 2 +- .../settings/fragments/SettingsFragment.kt | 9 +-- .../viewmodels/AccountSettingsViewModel.kt | 14 ++-- .../sidemenu/fragments/SideMenuFragment.kt | 8 +-- .../compatibility/Api21Compatibility.kt | 2 + .../compatibility/Api23Compatibility.kt | 69 ------------------- .../compatibility/Api26Compatibility.kt | 2 + .../java/org/linphone/core/CoreContext.kt | 13 ++-- .../java/org/linphone/utils/LinphoneUtils.kt | 2 + app/src/main/res/layout/call_conference.xml | 2 +- .../res/layout/call_secondary_buttons.xml | 3 +- .../res/layout/call_single_statistic_cell.xml | 2 +- app/src/main/res/layout/conference_paused.xml | 3 +- .../res/layout/contact_master_fragment.xml | 1 - .../contact_sync_account_picker_cell.xml | 1 + app/src/main/res/layout/dialer_fragment.xml | 3 +- .../main/res/layout/history_detail_cell.xml | 3 +- .../res/layout/history_master_fragment.xml | 1 - .../main/res/layout/settings_widget_basic.xml | 1 + app/src/main/res/values-es/strings.xml | 2 +- app/src/main/res/values-v27/styles.xml | 9 +++ app/src/main/res/values-zh-rCN/strings.xml | 2 +- app/src/main/res/values/strings.xml | 4 +- app/src/main/res/values/styles.xml | 1 - 55 files changed, 123 insertions(+), 179 deletions(-) create mode 100644 app/src/main/res/values-v27/styles.xml diff --git a/app/src/main/java/org/linphone/activities/GenericFragment.kt b/app/src/main/java/org/linphone/activities/GenericFragment.kt index ea55d1888..b88ffde0c 100644 --- a/app/src/main/java/org/linphone/activities/GenericFragment.kt +++ b/app/src/main/java/org/linphone/activities/GenericFragment.kt @@ -38,7 +38,7 @@ abstract class GenericFragment : Fragment() { container: ViewGroup?, savedInstanceState: Bundle? ): View? { - _binding = DataBindingUtil.inflate(inflater, getLayoutId(), container, false) + _binding = DataBindingUtil.inflate(inflater, getLayoutId(), container, false) return _binding!!.root } diff --git a/app/src/main/java/org/linphone/activities/Navigation.kt b/app/src/main/java/org/linphone/activities/Navigation.kt index 738ce365e..ebe9bf381 100644 --- a/app/src/main/java/org/linphone/activities/Navigation.kt +++ b/app/src/main/java/org/linphone/activities/Navigation.kt @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.linphone.activities.main +package org.linphone.activities import android.net.Uri import android.os.Bundle @@ -31,6 +31,7 @@ import androidx.navigation.fragment.findNavController import org.linphone.LinphoneApplication.Companion.corePreferences import org.linphone.R import org.linphone.activities.assistant.fragments.* +import org.linphone.activities.main.MainActivity import org.linphone.activities.main.chat.fragments.ChatRoomCreationFragment import org.linphone.activities.main.chat.fragments.DetailChatRoomFragment import org.linphone.activities.main.chat.fragments.GroupInfoFragment diff --git a/app/src/main/java/org/linphone/activities/assistant/fragments/AccountLoginFragment.kt b/app/src/main/java/org/linphone/activities/assistant/fragments/AccountLoginFragment.kt index 520f83947..7b4350460 100644 --- a/app/src/main/java/org/linphone/activities/assistant/fragments/AccountLoginFragment.kt +++ b/app/src/main/java/org/linphone/activities/assistant/fragments/AccountLoginFragment.kt @@ -31,9 +31,9 @@ import org.linphone.activities.assistant.AssistantActivity import org.linphone.activities.assistant.viewmodels.AccountLoginViewModel import org.linphone.activities.assistant.viewmodels.AccountLoginViewModelFactory import org.linphone.activities.assistant.viewmodels.SharedAssistantViewModel -import org.linphone.activities.main.navigateToEchoCancellerCalibration -import org.linphone.activities.main.navigateToPhoneAccountValidation import org.linphone.activities.main.viewmodels.DialogViewModel +import org.linphone.activities.navigateToEchoCancellerCalibration +import org.linphone.activities.navigateToPhoneAccountValidation import org.linphone.databinding.AssistantAccountLoginFragmentBinding import org.linphone.utils.DialogUtils diff --git a/app/src/main/java/org/linphone/activities/assistant/fragments/EmailAccountCreationFragment.kt b/app/src/main/java/org/linphone/activities/assistant/fragments/EmailAccountCreationFragment.kt index 217df288c..b6fe1abb4 100644 --- a/app/src/main/java/org/linphone/activities/assistant/fragments/EmailAccountCreationFragment.kt +++ b/app/src/main/java/org/linphone/activities/assistant/fragments/EmailAccountCreationFragment.kt @@ -28,7 +28,7 @@ import org.linphone.activities.assistant.AssistantActivity import org.linphone.activities.assistant.viewmodels.EmailAccountCreationViewModel import org.linphone.activities.assistant.viewmodels.EmailAccountCreationViewModelFactory import org.linphone.activities.assistant.viewmodels.SharedAssistantViewModel -import org.linphone.activities.main.navigateToEmailAccountValidation +import org.linphone.activities.navigateToEmailAccountValidation import org.linphone.databinding.AssistantEmailAccountCreationFragmentBinding class EmailAccountCreationFragment : GenericFragment() { diff --git a/app/src/main/java/org/linphone/activities/assistant/fragments/EmailAccountValidationFragment.kt b/app/src/main/java/org/linphone/activities/assistant/fragments/EmailAccountValidationFragment.kt index 39f84b3b5..83591b449 100644 --- a/app/src/main/java/org/linphone/activities/assistant/fragments/EmailAccountValidationFragment.kt +++ b/app/src/main/java/org/linphone/activities/assistant/fragments/EmailAccountValidationFragment.kt @@ -26,7 +26,7 @@ import org.linphone.R import org.linphone.activities.GenericFragment import org.linphone.activities.assistant.AssistantActivity import org.linphone.activities.assistant.viewmodels.* -import org.linphone.activities.main.navigateToAccountLinking +import org.linphone.activities.navigateToAccountLinking import org.linphone.databinding.AssistantEmailAccountValidationFragmentBinding class EmailAccountValidationFragment : GenericFragment() { diff --git a/app/src/main/java/org/linphone/activities/assistant/fragments/GenericAccountLoginFragment.kt b/app/src/main/java/org/linphone/activities/assistant/fragments/GenericAccountLoginFragment.kt index 3bd7cc56b..2d3dc5db1 100644 --- a/app/src/main/java/org/linphone/activities/assistant/fragments/GenericAccountLoginFragment.kt +++ b/app/src/main/java/org/linphone/activities/assistant/fragments/GenericAccountLoginFragment.kt @@ -30,8 +30,8 @@ import org.linphone.activities.assistant.AssistantActivity import org.linphone.activities.assistant.viewmodels.GenericLoginViewModel import org.linphone.activities.assistant.viewmodels.GenericLoginViewModelFactory import org.linphone.activities.assistant.viewmodels.SharedAssistantViewModel -import org.linphone.activities.main.navigateToEchoCancellerCalibration import org.linphone.activities.main.viewmodels.DialogViewModel +import org.linphone.activities.navigateToEchoCancellerCalibration import org.linphone.databinding.AssistantGenericAccountLoginFragmentBinding import org.linphone.utils.DialogUtils diff --git a/app/src/main/java/org/linphone/activities/assistant/fragments/PhoneAccountCreationFragment.kt b/app/src/main/java/org/linphone/activities/assistant/fragments/PhoneAccountCreationFragment.kt index 2e489bb2f..ddba38f88 100644 --- a/app/src/main/java/org/linphone/activities/assistant/fragments/PhoneAccountCreationFragment.kt +++ b/app/src/main/java/org/linphone/activities/assistant/fragments/PhoneAccountCreationFragment.kt @@ -27,7 +27,7 @@ import org.linphone.activities.assistant.AssistantActivity import org.linphone.activities.assistant.viewmodels.PhoneAccountCreationViewModel import org.linphone.activities.assistant.viewmodels.PhoneAccountCreationViewModelFactory import org.linphone.activities.assistant.viewmodels.SharedAssistantViewModel -import org.linphone.activities.main.navigateToPhoneAccountValidation +import org.linphone.activities.navigateToPhoneAccountValidation import org.linphone.databinding.AssistantPhoneAccountCreationFragmentBinding class PhoneAccountCreationFragment : AbstractPhoneFragment() { diff --git a/app/src/main/java/org/linphone/activities/assistant/fragments/PhoneAccountLinkingFragment.kt b/app/src/main/java/org/linphone/activities/assistant/fragments/PhoneAccountLinkingFragment.kt index 81dc3f7ac..288ebe5e8 100644 --- a/app/src/main/java/org/linphone/activities/assistant/fragments/PhoneAccountLinkingFragment.kt +++ b/app/src/main/java/org/linphone/activities/assistant/fragments/PhoneAccountLinkingFragment.kt @@ -26,8 +26,8 @@ import org.linphone.LinphoneApplication import org.linphone.R import org.linphone.activities.assistant.AssistantActivity import org.linphone.activities.assistant.viewmodels.* -import org.linphone.activities.main.navigateToEchoCancellerCalibration -import org.linphone.activities.main.navigateToPhoneAccountValidation +import org.linphone.activities.navigateToEchoCancellerCalibration +import org.linphone.activities.navigateToPhoneAccountValidation import org.linphone.core.tools.Log import org.linphone.databinding.AssistantPhoneAccountLinkingFragmentBinding diff --git a/app/src/main/java/org/linphone/activities/assistant/fragments/PhoneAccountValidationFragment.kt b/app/src/main/java/org/linphone/activities/assistant/fragments/PhoneAccountValidationFragment.kt index 9b70f3983..68cc7b89d 100644 --- a/app/src/main/java/org/linphone/activities/assistant/fragments/PhoneAccountValidationFragment.kt +++ b/app/src/main/java/org/linphone/activities/assistant/fragments/PhoneAccountValidationFragment.kt @@ -31,8 +31,8 @@ import org.linphone.activities.assistant.AssistantActivity import org.linphone.activities.assistant.viewmodels.PhoneAccountValidationViewModel import org.linphone.activities.assistant.viewmodels.PhoneAccountValidationViewModelFactory import org.linphone.activities.assistant.viewmodels.SharedAssistantViewModel -import org.linphone.activities.main.navigateToAccountSettings -import org.linphone.activities.main.navigateToEchoCancellerCalibration +import org.linphone.activities.navigateToAccountSettings +import org.linphone.activities.navigateToEchoCancellerCalibration import org.linphone.databinding.AssistantPhoneAccountValidationFragmentBinding class PhoneAccountValidationFragment : GenericFragment() { diff --git a/app/src/main/java/org/linphone/activities/assistant/fragments/RemoteProvisioningFragment.kt b/app/src/main/java/org/linphone/activities/assistant/fragments/RemoteProvisioningFragment.kt index b77a90d30..c2a15d650 100644 --- a/app/src/main/java/org/linphone/activities/assistant/fragments/RemoteProvisioningFragment.kt +++ b/app/src/main/java/org/linphone/activities/assistant/fragments/RemoteProvisioningFragment.kt @@ -28,8 +28,8 @@ import org.linphone.activities.GenericFragment import org.linphone.activities.assistant.AssistantActivity import org.linphone.activities.assistant.viewmodels.RemoteProvisioningViewModel import org.linphone.activities.assistant.viewmodels.SharedAssistantViewModel -import org.linphone.activities.main.navigateToEchoCancellerCalibration -import org.linphone.activities.main.navigateToQrCode +import org.linphone.activities.navigateToEchoCancellerCalibration +import org.linphone.activities.navigateToQrCode import org.linphone.databinding.AssistantRemoteProvisioningFragmentBinding class RemoteProvisioningFragment : GenericFragment() { diff --git a/app/src/main/java/org/linphone/activities/assistant/fragments/WelcomeFragment.kt b/app/src/main/java/org/linphone/activities/assistant/fragments/WelcomeFragment.kt index edbcf812c..687e3e195 100644 --- a/app/src/main/java/org/linphone/activities/assistant/fragments/WelcomeFragment.kt +++ b/app/src/main/java/org/linphone/activities/assistant/fragments/WelcomeFragment.kt @@ -31,13 +31,12 @@ import androidx.lifecycle.ViewModelProvider import java.util.regex.Pattern import org.linphone.LinphoneApplication.Companion.corePreferences import org.linphone.R -import org.linphone.activities.GenericFragment +import org.linphone.activities.* import org.linphone.activities.assistant.viewmodels.WelcomeViewModel -import org.linphone.activities.main.* -import org.linphone.activities.main.navigateToAccountLogin -import org.linphone.activities.main.navigateToEmailAccountCreation -import org.linphone.activities.main.navigateToGenericLogin -import org.linphone.activities.main.navigateToRemoteProvisioning +import org.linphone.activities.navigateToAccountLogin +import org.linphone.activities.navigateToEmailAccountCreation +import org.linphone.activities.navigateToGenericLogin +import org.linphone.activities.navigateToRemoteProvisioning import org.linphone.databinding.AssistantWelcomeFragmentBinding class WelcomeFragment : GenericFragment() { diff --git a/app/src/main/java/org/linphone/activities/call/IncomingCallActivity.kt b/app/src/main/java/org/linphone/activities/call/IncomingCallActivity.kt index e818e0bb0..84ed8f104 100644 --- a/app/src/main/java/org/linphone/activities/call/IncomingCallActivity.kt +++ b/app/src/main/java/org/linphone/activities/call/IncomingCallActivity.kt @@ -112,12 +112,12 @@ class IncomingCallActivity : GenericActivity() { val permissionsRequiredList = arrayListOf() if (!PermissionHelper.get().hasRecordAudioPermission()) { Log.i("[Incoming Call Activity] Asking for RECORD_AUDIO permission") - permissionsRequiredList.add(android.Manifest.permission.RECORD_AUDIO) + permissionsRequiredList.add(Manifest.permission.RECORD_AUDIO) } if (viewModel.call.currentParams.videoEnabled() && !PermissionHelper.get().hasCameraPermission()) { Log.i("[Incoming Call Activity] Asking for CAMERA permission") - permissionsRequiredList.add(android.Manifest.permission.CAMERA) + permissionsRequiredList.add(Manifest.permission.CAMERA) } if (permissionsRequiredList.isNotEmpty()) { @@ -145,6 +145,7 @@ class IncomingCallActivity : GenericActivity() { } } } + super.onRequestPermissionsResult(requestCode, permissions, grantResults) } private fun findIncomingCall(): Call? { diff --git a/app/src/main/java/org/linphone/activities/call/OutgoingCallActivity.kt b/app/src/main/java/org/linphone/activities/call/OutgoingCallActivity.kt index b4677d506..27c4598e5 100644 --- a/app/src/main/java/org/linphone/activities/call/OutgoingCallActivity.kt +++ b/app/src/main/java/org/linphone/activities/call/OutgoingCallActivity.kt @@ -131,11 +131,11 @@ class OutgoingCallActivity : ProximitySensorActivity() { val permissionsRequiredList = arrayListOf() if (!PermissionHelper.get().hasRecordAudioPermission()) { Log.i("[Outgoing Call Activity] Asking for RECORD_AUDIO permission") - permissionsRequiredList.add(android.Manifest.permission.RECORD_AUDIO) + permissionsRequiredList.add(Manifest.permission.RECORD_AUDIO) } if (viewModel.call.currentParams.videoEnabled() && !PermissionHelper.get().hasCameraPermission()) { Log.i("[Outgoing Call Activity] Asking for CAMERA permission") - permissionsRequiredList.add(android.Manifest.permission.CAMERA) + permissionsRequiredList.add(Manifest.permission.CAMERA) } if (permissionsRequiredList.isNotEmpty()) { val permissionsRequired = arrayOfNulls(permissionsRequiredList.size) @@ -163,6 +163,7 @@ class OutgoingCallActivity : ProximitySensorActivity() { } } } + super.onRequestPermissionsResult(requestCode, permissions, grantResults) } private fun findOutgoingCall(): Call? { diff --git a/app/src/main/java/org/linphone/activities/call/data/CallStatisticsData.kt b/app/src/main/java/org/linphone/activities/call/data/CallStatisticsData.kt index 0179d9076..b99754158 100644 --- a/app/src/main/java/org/linphone/activities/call/data/CallStatisticsData.kt +++ b/app/src/main/java/org/linphone/activities/call/data/CallStatisticsData.kt @@ -21,8 +21,6 @@ package org.linphone.activities.call.data import androidx.lifecycle.MutableLiveData import org.linphone.LinphoneApplication.Companion.coreContext -import org.linphone.activities.call.viewmodels.StatItemData -import org.linphone.activities.call.viewmodels.StatType import org.linphone.contact.GenericContactData import org.linphone.core.* diff --git a/app/src/main/java/org/linphone/activities/call/data/StatItemData.kt b/app/src/main/java/org/linphone/activities/call/data/StatItemData.kt index d24a9a10e..d37cd9dfd 100644 --- a/app/src/main/java/org/linphone/activities/call/data/StatItemData.kt +++ b/app/src/main/java/org/linphone/activities/call/data/StatItemData.kt @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.linphone.activities.call.viewmodels +package org.linphone.activities.call.data import androidx.lifecycle.MutableLiveData import java.text.DecimalFormat diff --git a/app/src/main/java/org/linphone/activities/call/viewmodels/CallViewModel.kt b/app/src/main/java/org/linphone/activities/call/viewmodels/CallViewModel.kt index 5aeff9443..16a9d39a4 100644 --- a/app/src/main/java/org/linphone/activities/call/viewmodels/CallViewModel.kt +++ b/app/src/main/java/org/linphone/activities/call/viewmodels/CallViewModel.kt @@ -139,14 +139,6 @@ open class CallViewModel(val call: Call) : GenericContactViewModel(call.remoteAd call.resume() } - fun removeFromConference() { - val conference = call.conference - if (conference != null) { - conference.removeParticipant(call.remoteAddress) - if (call.core.conferenceSize <= 1) call.core.leaveConference() - } - } - fun takeScreenshot() { if (call.currentParams.videoEnabled()) { val fileName = System.currentTimeMillis().toString() + ".jpeg" diff --git a/app/src/main/java/org/linphone/activities/main/MainActivity.kt b/app/src/main/java/org/linphone/activities/main/MainActivity.kt index 2fd0582a8..490756c66 100644 --- a/app/src/main/java/org/linphone/activities/main/MainActivity.kt +++ b/app/src/main/java/org/linphone/activities/main/MainActivity.kt @@ -46,6 +46,7 @@ import org.linphone.activities.SnackBarActivity import org.linphone.activities.assistant.AssistantActivity import org.linphone.activities.call.CallActivity import org.linphone.activities.main.viewmodels.SharedMainViewModel +import org.linphone.activities.navigateToDialer import org.linphone.compatibility.Compatibility import org.linphone.contact.ContactsUpdatedListenerStub import org.linphone.core.tools.Log @@ -260,15 +261,19 @@ class MainActivity : GenericActivity(), SnackBarActivity, NavController.OnDestin val stringUri = uri.toString() var addressToCall: String = stringUri - if (addressToCall.startsWith("tel:")) { - Log.i("[Main Activity] Removing tel: prefix") - addressToCall = addressToCall.substring("tel:".length) - } else if (addressToCall.startsWith("linphone:")) { - Log.i("[Main Activity] Removing linphone: prefix") - addressToCall = addressToCall.substring("linphone:".length) - } else if (addressToCall.startsWith("sip-linphone:")) { - Log.i("[Main Activity] Removing linphone: sip-linphone") - addressToCall = addressToCall.substring("sip-linphone:".length) + when { + addressToCall.startsWith("tel:") -> { + Log.i("[Main Activity] Removing tel: prefix") + addressToCall = addressToCall.substring("tel:".length) + } + addressToCall.startsWith("linphone:") -> { + Log.i("[Main Activity] Removing linphone: prefix") + addressToCall = addressToCall.substring("linphone:".length) + } + addressToCall.startsWith("sip-linphone:") -> { + Log.i("[Main Activity] Removing linphone: sip-linphone") + addressToCall = addressToCall.substring("sip-linphone:".length) + } } val address = coreContext.core.interpretUrl(addressToCall) diff --git a/app/src/main/java/org/linphone/activities/main/chat/data/ChatMessageData.kt b/app/src/main/java/org/linphone/activities/main/chat/data/ChatMessageData.kt index 6b0b29baf..fdb38d63a 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/data/ChatMessageData.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/data/ChatMessageData.kt @@ -24,7 +24,6 @@ import android.text.Spannable import android.text.util.Linkify import androidx.core.text.util.LinkifyCompat import androidx.lifecycle.MutableLiveData -import kotlinx.coroutines.* import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.LinphoneApplication.Companion.corePreferences import org.linphone.R diff --git a/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt b/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt index 8cb5cb0cf..70df57761 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt @@ -32,9 +32,9 @@ import org.linphone.activities.main.MainActivity import org.linphone.activities.main.chat.adapters.ChatRoomCreationContactsAdapter import org.linphone.activities.main.chat.viewmodels.ChatRoomCreationViewModel import org.linphone.activities.main.fragments.SecureFragment -import org.linphone.activities.main.navigateToChatRoom -import org.linphone.activities.main.navigateToGroupInfo import org.linphone.activities.main.viewmodels.SharedMainViewModel +import org.linphone.activities.navigateToChatRoom +import org.linphone.activities.navigateToGroupInfo import org.linphone.core.tools.Log import org.linphone.databinding.ChatRoomCreationFragmentBinding import org.linphone.utils.PermissionHelper diff --git a/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt b/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt index 61d4c46dc..9ddcf4274 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt @@ -43,13 +43,18 @@ import kotlinx.coroutines.launch import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.LinphoneApplication.Companion.corePreferences import org.linphone.R -import org.linphone.activities.main.* +import org.linphone.activities.* +import org.linphone.activities.main.MainActivity import org.linphone.activities.main.chat.ChatScrollListener import org.linphone.activities.main.chat.adapters.ChatMessagesListAdapter import org.linphone.activities.main.chat.viewmodels.* import org.linphone.activities.main.fragments.MasterFragment import org.linphone.activities.main.viewmodels.DialogViewModel import org.linphone.activities.main.viewmodels.SharedMainViewModel +import org.linphone.activities.navigateToChatRooms +import org.linphone.activities.navigateToContacts +import org.linphone.activities.navigateToImageFileViewer +import org.linphone.activities.navigateToImdn import org.linphone.compatibility.Compatibility import org.linphone.core.* import org.linphone.core.tools.Log diff --git a/app/src/main/java/org/linphone/activities/main/chat/fragments/GroupInfoFragment.kt b/app/src/main/java/org/linphone/activities/main/chat/fragments/GroupInfoFragment.kt index 36cb6760b..6c0a7af01 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/fragments/GroupInfoFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/fragments/GroupInfoFragment.kt @@ -33,10 +33,10 @@ import org.linphone.activities.main.chat.adapters.GroupInfoParticipantsAdapter import org.linphone.activities.main.chat.viewmodels.GroupInfoViewModel import org.linphone.activities.main.chat.viewmodels.GroupInfoViewModelFactory import org.linphone.activities.main.fragments.SecureFragment -import org.linphone.activities.main.navigateToChatRoom -import org.linphone.activities.main.navigateToChatRoomCreation import org.linphone.activities.main.viewmodels.DialogViewModel import org.linphone.activities.main.viewmodels.SharedMainViewModel +import org.linphone.activities.navigateToChatRoom +import org.linphone.activities.navigateToChatRoomCreation import org.linphone.core.Address import org.linphone.core.ChatRoom import org.linphone.core.ChatRoomCapabilities diff --git a/app/src/main/java/org/linphone/activities/main/chat/fragments/MasterChatRoomsFragment.kt b/app/src/main/java/org/linphone/activities/main/chat/fragments/MasterChatRoomsFragment.kt index 3559d9146..1e6dc2f91 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/fragments/MasterChatRoomsFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/fragments/MasterChatRoomsFragment.kt @@ -35,10 +35,10 @@ import org.linphone.activities.main.MainActivity import org.linphone.activities.main.chat.adapters.ChatRoomsListAdapter import org.linphone.activities.main.chat.viewmodels.ChatRoomsListViewModel import org.linphone.activities.main.fragments.MasterFragment -import org.linphone.activities.main.navigateToChatRoom -import org.linphone.activities.main.navigateToChatRoomCreation import org.linphone.activities.main.viewmodels.DialogViewModel import org.linphone.activities.main.viewmodels.SharedMainViewModel +import org.linphone.activities.navigateToChatRoom +import org.linphone.activities.navigateToChatRoomCreation import org.linphone.core.ChatRoom import org.linphone.core.Factory import org.linphone.core.tools.Log diff --git a/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatRoomsListViewModel.kt b/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatRoomsListViewModel.kt index 1ea3836be..3a26de4e6 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatRoomsListViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatRoomsListViewModel.kt @@ -144,7 +144,7 @@ class ChatRoomsListViewModel : ErrorReportingViewModel() { } private fun updateChatRooms() { - var list = arrayListOf() + val list = arrayListOf() list.addAll(coreContext.core.chatRooms) diff --git a/app/src/main/java/org/linphone/activities/main/contact/fragments/ContactEditorFragment.kt b/app/src/main/java/org/linphone/activities/main/contact/fragments/ContactEditorFragment.kt index 4cfef5d26..5f59c2d95 100644 --- a/app/src/main/java/org/linphone/activities/main/contact/fragments/ContactEditorFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/contact/fragments/ContactEditorFragment.kt @@ -38,8 +38,8 @@ import org.linphone.activities.GenericFragment import org.linphone.activities.main.MainActivity import org.linphone.activities.main.contact.data.NumberOrAddressEditorData import org.linphone.activities.main.contact.viewmodels.* -import org.linphone.activities.main.navigateToContact import org.linphone.activities.main.viewmodels.SharedMainViewModel +import org.linphone.activities.navigateToContact import org.linphone.contact.NativeContact import org.linphone.core.tools.Log import org.linphone.databinding.ContactEditorFragmentBinding diff --git a/app/src/main/java/org/linphone/activities/main/contact/fragments/DetailContactFragment.kt b/app/src/main/java/org/linphone/activities/main/contact/fragments/DetailContactFragment.kt index 9cf9fd5c0..ce232eae6 100644 --- a/app/src/main/java/org/linphone/activities/main/contact/fragments/DetailContactFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/contact/fragments/DetailContactFragment.kt @@ -32,10 +32,11 @@ import org.linphone.activities.GenericFragment import org.linphone.activities.main.* import org.linphone.activities.main.contact.viewmodels.ContactViewModel import org.linphone.activities.main.contact.viewmodels.ContactViewModelFactory -import org.linphone.activities.main.navigateToContactEditor -import org.linphone.activities.main.navigateToDialer import org.linphone.activities.main.viewmodels.DialogViewModel import org.linphone.activities.main.viewmodels.SharedMainViewModel +import org.linphone.activities.navigateToChatRoom +import org.linphone.activities.navigateToContactEditor +import org.linphone.activities.navigateToDialer import org.linphone.core.tools.Log import org.linphone.databinding.ContactDetailFragmentBinding import org.linphone.utils.DialogUtils diff --git a/app/src/main/java/org/linphone/activities/main/contact/fragments/MasterContactsFragment.kt b/app/src/main/java/org/linphone/activities/main/contact/fragments/MasterContactsFragment.kt index 4d3c111cc..17fcad228 100644 --- a/app/src/main/java/org/linphone/activities/main/contact/fragments/MasterContactsFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/contact/fragments/MasterContactsFragment.kt @@ -35,10 +35,10 @@ import org.linphone.activities.main.MainActivity import org.linphone.activities.main.contact.adapters.ContactsListAdapter import org.linphone.activities.main.contact.viewmodels.ContactsListViewModel import org.linphone.activities.main.fragments.MasterFragment -import org.linphone.activities.main.navigateToContact -import org.linphone.activities.main.navigateToContactEditor import org.linphone.activities.main.viewmodels.DialogViewModel import org.linphone.activities.main.viewmodels.SharedMainViewModel +import org.linphone.activities.navigateToContact +import org.linphone.activities.navigateToContactEditor import org.linphone.contact.Contact import org.linphone.core.Factory import org.linphone.core.tools.Log 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 3d3a395b7..e5a0c03a8 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 @@ -36,10 +36,10 @@ import org.linphone.R import org.linphone.activities.main.MainActivity import org.linphone.activities.main.dialer.viewmodels.DialerViewModel import org.linphone.activities.main.fragments.SecureFragment -import org.linphone.activities.main.navigateToConfigFileViewer -import org.linphone.activities.main.navigateToContacts import org.linphone.activities.main.viewmodels.DialogViewModel import org.linphone.activities.main.viewmodels.SharedMainViewModel +import org.linphone.activities.navigateToConfigFileViewer +import org.linphone.activities.navigateToContacts import org.linphone.core.tools.Log import org.linphone.databinding.DialerFragmentBinding import org.linphone.utils.AppUtils diff --git a/app/src/main/java/org/linphone/activities/main/fragments/SecureFragment.kt b/app/src/main/java/org/linphone/activities/main/fragments/SecureFragment.kt index e5c166da0..98a51cf18 100644 --- a/app/src/main/java/org/linphone/activities/main/fragments/SecureFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/fragments/SecureFragment.kt @@ -27,7 +27,6 @@ import android.view.WindowManager import androidx.core.view.ViewCompat import androidx.databinding.ViewDataBinding import androidx.lifecycle.lifecycleScope -import java.util.* import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay import kotlinx.coroutines.launch diff --git a/app/src/main/java/org/linphone/activities/main/fragments/TabsFragment.kt b/app/src/main/java/org/linphone/activities/main/fragments/TabsFragment.kt index c50ad362c..34ee3932d 100644 --- a/app/src/main/java/org/linphone/activities/main/fragments/TabsFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/fragments/TabsFragment.kt @@ -28,11 +28,11 @@ import androidx.navigation.fragment.findNavController import org.linphone.LinphoneApplication.Companion.corePreferences import org.linphone.R import org.linphone.activities.GenericFragment -import org.linphone.activities.main.navigateToCallHistory -import org.linphone.activities.main.navigateToChatRooms -import org.linphone.activities.main.navigateToContacts -import org.linphone.activities.main.navigateToDialer import org.linphone.activities.main.viewmodels.TabsViewModel +import org.linphone.activities.navigateToCallHistory +import org.linphone.activities.navigateToChatRooms +import org.linphone.activities.navigateToContacts +import org.linphone.activities.navigateToDialer import org.linphone.databinding.TabsFragmentBinding class TabsFragment : GenericFragment(), NavController.OnDestinationChangedListener { diff --git a/app/src/main/java/org/linphone/activities/main/history/fragments/DetailCallLogFragment.kt b/app/src/main/java/org/linphone/activities/main/history/fragments/DetailCallLogFragment.kt index 50bba556a..5db564bb6 100644 --- a/app/src/main/java/org/linphone/activities/main/history/fragments/DetailCallLogFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/history/fragments/DetailCallLogFragment.kt @@ -25,14 +25,14 @@ import androidx.lifecycle.ViewModelProvider import androidx.navigation.fragment.findNavController import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.R -import org.linphone.activities.GenericFragment +import org.linphone.activities.* import org.linphone.activities.main.* import org.linphone.activities.main.history.viewmodels.CallLogViewModel import org.linphone.activities.main.history.viewmodels.CallLogViewModelFactory -import org.linphone.activities.main.navigateToContact -import org.linphone.activities.main.navigateToContacts -import org.linphone.activities.main.navigateToFriend import org.linphone.activities.main.viewmodels.SharedMainViewModel +import org.linphone.activities.navigateToContact +import org.linphone.activities.navigateToContacts +import org.linphone.activities.navigateToFriend import org.linphone.contact.NativeContact import org.linphone.core.tools.Log import org.linphone.databinding.HistoryDetailFragmentBinding diff --git a/app/src/main/java/org/linphone/activities/main/history/fragments/MasterCallLogsFragment.kt b/app/src/main/java/org/linphone/activities/main/history/fragments/MasterCallLogsFragment.kt index 2c50bfc72..fa7e44bdb 100644 --- a/app/src/main/java/org/linphone/activities/main/history/fragments/MasterCallLogsFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/history/fragments/MasterCallLogsFragment.kt @@ -34,11 +34,11 @@ import org.linphone.activities.main.fragments.MasterFragment import org.linphone.activities.main.history.adapters.CallLogsListAdapter import org.linphone.activities.main.history.data.GroupedCallLogData import org.linphone.activities.main.history.viewmodels.CallLogsListViewModel -import org.linphone.activities.main.navigateToCallHistory -import org.linphone.activities.main.navigateToDialer import org.linphone.activities.main.viewmodels.DialogViewModel import org.linphone.activities.main.viewmodels.SharedMainViewModel import org.linphone.activities.main.viewmodels.TabsViewModel +import org.linphone.activities.navigateToCallHistory +import org.linphone.activities.navigateToDialer import org.linphone.core.tools.Log import org.linphone.databinding.HistoryMasterFragmentBinding import org.linphone.utils.* diff --git a/app/src/main/java/org/linphone/activities/main/settings/fragments/AccountSettingsFragment.kt b/app/src/main/java/org/linphone/activities/main/settings/fragments/AccountSettingsFragment.kt index ac405acba..7a874b129 100644 --- a/app/src/main/java/org/linphone/activities/main/settings/fragments/AccountSettingsFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/settings/fragments/AccountSettingsFragment.kt @@ -26,10 +26,10 @@ import androidx.navigation.fragment.findNavController import org.linphone.R import org.linphone.activities.GenericFragment import org.linphone.activities.main.MainActivity -import org.linphone.activities.main.navigateToPhoneLinking import org.linphone.activities.main.settings.viewmodels.AccountSettingsViewModel import org.linphone.activities.main.settings.viewmodels.AccountSettingsViewModelFactory import org.linphone.activities.main.viewmodels.SharedMainViewModel +import org.linphone.activities.navigateToPhoneLinking import org.linphone.core.tools.Log import org.linphone.databinding.SettingsAccountFragmentBinding diff --git a/app/src/main/java/org/linphone/activities/main/settings/fragments/SettingsFragment.kt b/app/src/main/java/org/linphone/activities/main/settings/fragments/SettingsFragment.kt index 28cf9d88a..139bddbed 100644 --- a/app/src/main/java/org/linphone/activities/main/settings/fragments/SettingsFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/settings/fragments/SettingsFragment.kt @@ -24,14 +24,15 @@ import android.view.View import androidx.lifecycle.ViewModelProvider import androidx.navigation.fragment.findNavController import org.linphone.R -import org.linphone.activities.main.* +import org.linphone.activities.* import org.linphone.activities.main.fragments.SecureFragment -import org.linphone.activities.main.navigateToAccountSettings -import org.linphone.activities.main.navigateToAudioSettings -import org.linphone.activities.main.navigateToTunnelSettings import org.linphone.activities.main.settings.SettingListenerStub import org.linphone.activities.main.settings.viewmodels.SettingsViewModel import org.linphone.activities.main.viewmodels.SharedMainViewModel +import org.linphone.activities.navigateToAccountSettings +import org.linphone.activities.navigateToAudioSettings +import org.linphone.activities.navigateToTunnelSettings +import org.linphone.activities.navigateToVideoSettings import org.linphone.core.tools.Log import org.linphone.databinding.SettingsFragmentBinding diff --git a/app/src/main/java/org/linphone/activities/main/settings/viewmodels/AccountSettingsViewModel.kt b/app/src/main/java/org/linphone/activities/main/settings/viewmodels/AccountSettingsViewModel.kt index 26fa87cd7..884f86721 100644 --- a/app/src/main/java/org/linphone/activities/main/settings/viewmodels/AccountSettingsViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/settings/viewmodels/AccountSettingsViewModel.kt @@ -23,7 +23,6 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import java.lang.NumberFormatException -import java.util.* import kotlin.collections.ArrayList import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.LinphoneApplication.Companion.corePreferences @@ -251,7 +250,7 @@ class AccountSettingsViewModel(val account: Account) : GenericSettingsViewModel( val params = account.params.clone() params.transport = TransportType.fromInt(position) account.params = params - proxy.value = account.params.serverAddr + proxy.value = account.params.serverAddress?.asStringUriOnly() } } val transportIndex = MutableLiveData() @@ -260,9 +259,12 @@ class AccountSettingsViewModel(val account: Account) : GenericSettingsViewModel( val proxyListener = object : SettingListenerStub() { override fun onTextValueChanged(newValue: String) { val params = account.params.clone() - params.serverAddr = newValue - account.params = params - transportIndex.value = account.params.transport.toInt() + val address = Factory.instance().createAddress(newValue) + if (address != null) { + params.serverAddress = address + account.params = params + transportIndex.value = account.params.transport.toInt() + } } } val proxy = MutableLiveData() @@ -408,7 +410,7 @@ class AccountSettingsViewModel(val account: Account) : GenericSettingsViewModel( disable.value = !params.registerEnabled pushNotification.value = params.pushNotificationAllowed pushNotificationsAvailable.value = core.isPushNotificationAvailable - proxy.value = params.serverAddr + proxy.value = params.serverAddress?.asStringUriOnly() outboundProxy.value = params.outboundProxyEnabled stunServer.value = params.natPolicy?.stunServer ice.value = params.natPolicy?.iceEnabled() diff --git a/app/src/main/java/org/linphone/activities/main/sidemenu/fragments/SideMenuFragment.kt b/app/src/main/java/org/linphone/activities/main/sidemenu/fragments/SideMenuFragment.kt index 15d8bf144..2c1b46ebb 100644 --- a/app/src/main/java/org/linphone/activities/main/sidemenu/fragments/SideMenuFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/sidemenu/fragments/SideMenuFragment.kt @@ -35,13 +35,13 @@ import org.linphone.LinphoneApplication.Companion.corePreferences import org.linphone.R import org.linphone.activities.GenericFragment import org.linphone.activities.assistant.AssistantActivity -import org.linphone.activities.main.navigateToAbout -import org.linphone.activities.main.navigateToAccountSettings -import org.linphone.activities.main.navigateToRecordings -import org.linphone.activities.main.navigateToSettings import org.linphone.activities.main.settings.SettingListenerStub import org.linphone.activities.main.sidemenu.viewmodels.SideMenuViewModel import org.linphone.activities.main.viewmodels.SharedMainViewModel +import org.linphone.activities.navigateToAbout +import org.linphone.activities.navigateToAccountSettings +import org.linphone.activities.navigateToRecordings +import org.linphone.activities.navigateToSettings import org.linphone.core.tools.Log import org.linphone.databinding.SideMenuFragmentBinding import org.linphone.utils.Event diff --git a/app/src/main/java/org/linphone/compatibility/Api21Compatibility.kt b/app/src/main/java/org/linphone/compatibility/Api21Compatibility.kt index 0ad996427..cd731c223 100644 --- a/app/src/main/java/org/linphone/compatibility/Api21Compatibility.kt +++ b/app/src/main/java/org/linphone/compatibility/Api21Compatibility.kt @@ -19,6 +19,7 @@ */ package org.linphone.compatibility +import android.annotation.SuppressLint import android.annotation.TargetApi import android.app.Activity import android.bluetooth.BluetoothAdapter @@ -56,6 +57,7 @@ class Api21Compatibility { return name } + @SuppressLint("MissingPermission") fun eventVibration(vibrator: Vibrator) { val pattern = longArrayOf(0, 100, 100) vibrator.vibrate(pattern, -1) diff --git a/app/src/main/java/org/linphone/compatibility/Api23Compatibility.kt b/app/src/main/java/org/linphone/compatibility/Api23Compatibility.kt index 30cc9097d..080d8f739 100644 --- a/app/src/main/java/org/linphone/compatibility/Api23Compatibility.kt +++ b/app/src/main/java/org/linphone/compatibility/Api23Compatibility.kt @@ -20,14 +20,9 @@ package org.linphone.compatibility import android.annotation.TargetApi -import android.app.NotificationManager import android.content.Context import android.content.pm.PackageManager import android.provider.Settings -import org.linphone.LinphoneApplication.Companion.coreContext -import org.linphone.contact.Contact -import org.linphone.core.Address -import org.linphone.core.tools.Log @TargetApi(23) class Api23Compatibility { @@ -36,70 +31,6 @@ class Api23Compatibility { return context.checkSelfPermission(permission) == PackageManager.PERMISSION_GRANTED } - fun isDoNotDisturbSettingsAccessGranted(context: Context): Boolean { - val notificationManager = - context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager - return notificationManager.isNotificationPolicyAccessGranted - } - - fun isDoNotDisturbPolicyAllowingRinging(context: Context, remoteAddress: Address): Boolean { - val notificationManager = - context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager - val filter = notificationManager.currentInterruptionFilter - if (filter == NotificationManager.INTERRUPTION_FILTER_PRIORITY) { - Log.w("[Audio Manager] Priority interruption filter detected") - if (!notificationManager.isNotificationPolicyAccessGranted) { - Log.e( - "[Audio Manager] Access to policy is denied, let's assume it is not safe for ringing" - ) - return false - } - val callPolicy = notificationManager.notificationPolicy.priorityCallSenders - if (callPolicy == NotificationManager.Policy.PRIORITY_SENDERS_ANY) { - Log.i("[Audio Manager] Priority for calls is Any, we can ring") - } else { - val contact: Contact? = coreContext.contactsManager.findContactByAddress(remoteAddress) - if (callPolicy == NotificationManager.Policy.PRIORITY_SENDERS_CONTACTS) { - Log.i("[Audio Manager] Priority for calls is Contacts, let's check") - if (contact == null) { - Log.w( - "[Audio Manager] Couldn't find a contact for address ${remoteAddress.asStringUriOnly()}" - ) - return false - } else { - Log.i( - "[Audio Manager] Contact found for address ${remoteAddress.asStringUriOnly()}, we can ring" - ) - } - } else if (callPolicy == NotificationManager.Policy.PRIORITY_SENDERS_STARRED) { - Log.i("[Audio Manager] Priority for calls is Starred Contacts, let's check") - if (contact == null) { - Log.w( - "[Audio Manager] Couldn't find a contact for address ${remoteAddress.asStringUriOnly()}" - ) - return false - } else if (!contact.isStarred) { - Log.w( - "[Audio Manager] Contact found for address ${remoteAddress.asStringUriOnly()}, but it isn't starred" - ) - return false - } else { - Log.i( - "[Audio Manager] Starred contact found for address ${remoteAddress.asStringUriOnly()}, we can ring" - ) - } - } - } - } else if (filter == NotificationManager.INTERRUPTION_FILTER_ALARMS) { - Log.w("[Audio Manager] Alarms interruption filter detected") - return false - } else { - Log.i("[Audio Manager] Interruption filter is $filter, we can ring") - } - - return true - } - fun canDrawOverlay(context: Context): Boolean { return Settings.canDrawOverlays(context) } diff --git a/app/src/main/java/org/linphone/compatibility/Api26Compatibility.kt b/app/src/main/java/org/linphone/compatibility/Api26Compatibility.kt index f4caf38cd..176acb485 100644 --- a/app/src/main/java/org/linphone/compatibility/Api26Compatibility.kt +++ b/app/src/main/java/org/linphone/compatibility/Api26Compatibility.kt @@ -19,6 +19,7 @@ */ package org.linphone.compatibility +import android.annotation.SuppressLint import android.annotation.TargetApi import android.app.Activity import android.app.NotificationChannel @@ -116,6 +117,7 @@ class Api26Compatibility { return WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY } + @SuppressLint("MissingPermission") fun eventVibration(vibrator: Vibrator) { val effect = VibrationEffect.createWaveform(longArrayOf(0L, 100L, 100L), intArrayOf(0, VibrationEffect.DEFAULT_AMPLITUDE, 0), -1) val audioAttrs = AudioAttributes.Builder() diff --git a/app/src/main/java/org/linphone/core/CoreContext.kt b/app/src/main/java/org/linphone/core/CoreContext.kt index 7b3a566d7..aa7a129b6 100644 --- a/app/src/main/java/org/linphone/core/CoreContext.kt +++ b/app/src/main/java/org/linphone/core/CoreContext.kt @@ -487,9 +487,8 @@ class CoreContext(val context: Context, coreConfig: Config) { } } - if (core.conference != null && core.isInConference) { - // Nothing to do - } else { + val conference = core.conference + if (conference == null || !conference.isIn) { val call = core.currentCall if (call == null) { Log.w("[Context] Switching camera while not in call") @@ -505,8 +504,8 @@ class CoreContext(val context: Context, coreConfig: Config) { fun isVideoCallOrConferenceActive(): Boolean { val conference = core.conference - return if (conference != null && core.isInConference) { - conference.currentParams.isVideoEnabled() + return if (conference != null && conference.isIn) { + conference.currentParams.isVideoEnabled } else { core.currentCall?.currentParams?.videoEnabled() ?: false } @@ -684,7 +683,7 @@ class CoreContext(val context: Context, coreConfig: Config) { } @Throws(java.lang.Exception::class) - fun generateToken(): String? { + fun generateToken(): String { return sha512(UUID.randomUUID().toString()) } @@ -745,7 +744,7 @@ class CoreContext(val context: Context, coreConfig: Config) { if (corePreferences.encryptedSharedPreferences.getString(VFS_IV, null) == null) { generateSecretKey() - generateToken()?.let { encryptToken(it) }?.let { data -> + encryptToken(generateToken()).let { data -> corePreferences.encryptedSharedPreferences .edit() .putString(VFS_IV, data.first) diff --git a/app/src/main/java/org/linphone/utils/LinphoneUtils.kt b/app/src/main/java/org/linphone/utils/LinphoneUtils.kt index 13dcf7f48..cc2f90df5 100644 --- a/app/src/main/java/org/linphone/utils/LinphoneUtils.kt +++ b/app/src/main/java/org/linphone/utils/LinphoneUtils.kt @@ -19,6 +19,7 @@ */ package org.linphone.utils +import android.annotation.SuppressLint import android.content.Context import android.net.ConnectivityManager import android.net.NetworkInfo @@ -114,6 +115,7 @@ class LinphoneUtils { return SimpleDateFormat(RECORDING_DATE_PATTERN, Locale.getDefault()).parse(name) } + @SuppressLint("MissingPermission") fun checkIfNetworkHasLowBandwidth(context: Context): Boolean { val connMgr = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager val networkInfo: NetworkInfo? = connMgr.activeNetworkInfo diff --git a/app/src/main/res/layout/call_conference.xml b/app/src/main/res/layout/call_conference.xml index 2147c3a49..4a8dd1c86 100644 --- a/app/src/main/res/layout/call_conference.xml +++ b/app/src/main/res/layout/call_conference.xml @@ -1,5 +1,5 @@ - diff --git a/app/src/main/res/layout/call_secondary_buttons.xml b/app/src/main/res/layout/call_secondary_buttons.xml index 9ff309106..74db426a6 100644 --- a/app/src/main/res/layout/call_secondary_buttons.xml +++ b/app/src/main/res/layout/call_secondary_buttons.xml @@ -1,6 +1,5 @@ - + diff --git a/app/src/main/res/layout/call_single_statistic_cell.xml b/app/src/main/res/layout/call_single_statistic_cell.xml index c00ed286e..2d9c44362 100644 --- a/app/src/main/res/layout/call_single_statistic_cell.xml +++ b/app/src/main/res/layout/call_single_statistic_cell.xml @@ -5,7 +5,7 @@ + type="org.linphone.activities.call.data.StatItemData" /> - + diff --git a/app/src/main/res/layout/contact_master_fragment.xml b/app/src/main/res/layout/contact_master_fragment.xml index d3e6c7982..0861b0d4e 100644 --- a/app/src/main/res/layout/contact_master_fragment.xml +++ b/app/src/main/res/layout/contact_master_fragment.xml @@ -1,6 +1,5 @@ diff --git a/app/src/main/res/layout/contact_sync_account_picker_cell.xml b/app/src/main/res/layout/contact_sync_account_picker_cell.xml index 3a663084b..7f0e5a42f 100644 --- a/app/src/main/res/layout/contact_sync_account_picker_cell.xml +++ b/app/src/main/res/layout/contact_sync_account_picker_cell.xml @@ -10,6 +10,7 @@ android:id="@+id/account_icon" android:layout_width="wrap_content" android:layout_height="match_parent" + android:contentDescription="@null" android:adjustViewBounds="true"/> + xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/layout/history_detail_cell.xml b/app/src/main/res/layout/history_detail_cell.xml index 01ca80635..f682ba7a3 100644 --- a/app/src/main/res/layout/history_detail_cell.xml +++ b/app/src/main/res/layout/history_detail_cell.xml @@ -1,6 +1,5 @@ - + diff --git a/app/src/main/res/layout/history_master_fragment.xml b/app/src/main/res/layout/history_master_fragment.xml index 2cd742893..4c42f899a 100644 --- a/app/src/main/res/layout/history_master_fragment.xml +++ b/app/src/main/res/layout/history_master_fragment.xml @@ -1,6 +1,5 @@ diff --git a/app/src/main/res/layout/settings_widget_basic.xml b/app/src/main/res/layout/settings_widget_basic.xml index 76807991b..1fdb4beed 100644 --- a/app/src/main/res/layout/settings_widget_basic.xml +++ b/app/src/main/res/layout/settings_widget_basic.xml @@ -34,6 +34,7 @@ android:layout_marginLeft="10dp" android:layout_alignParentLeft="true" android:layout_centerVertical="true" + android:contentDescription="@null" android:src="@{icon}" /> Filtro de captura: Bienvenido Crear cuenta - Utilize %appNombre; cuenta + Utilize &appName; cuenta Utilizar cuenta SIP Buscar la configuración remota Calibración del cancelador de eco en curso diff --git a/app/src/main/res/values-v27/styles.xml b/app/src/main/res/values-v27/styles.xml new file mode 100644 index 000000000..36501890b --- /dev/null +++ b/app/src/main/res/values-v27/styles.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 7ff36cd9a..a2b0616b0 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -172,7 +172,7 @@ 标记为已读 未接来电 来自%s 的未接来电 - %sd 未接来电 + %d 未接来电 通讯安全 接受 信息已转发 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 645e46312..69dcd7c8b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -4,7 +4,7 @@ ]> - + &appName; &appName; (debug) &appName; Service @@ -582,7 +582,7 @@ Mark as read Missed call Missed call from %s - %d missed calls + %d missed calls Communication security diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 972b78215..34f71a876 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -52,7 +52,6 @@