Code cleanup
This commit is contained in:
parent
e2324eae66
commit
5d2621af03
55 changed files with 123 additions and 179 deletions
|
@ -38,7 +38,7 @@ abstract class GenericFragment<T : ViewDataBinding> : Fragment() {
|
|||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View? {
|
||||
_binding = DataBindingUtil.inflate<T>(inflater, getLayoutId(), container, false)
|
||||
_binding = DataBindingUtil.inflate(inflater, getLayoutId(), container, false)
|
||||
return _binding!!.root
|
||||
}
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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<AssistantEmailAccountCreationFragmentBinding>() {
|
||||
|
|
|
@ -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<AssistantEmailAccountValidationFragmentBinding>() {
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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<AssistantPhoneAccountCreationFragmentBinding>() {
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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<AssistantPhoneAccountValidationFragmentBinding>() {
|
||||
|
|
|
@ -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<AssistantRemoteProvisioningFragmentBinding>() {
|
||||
|
|
|
@ -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<AssistantWelcomeFragmentBinding>() {
|
||||
|
|
|
@ -112,12 +112,12 @@ class IncomingCallActivity : GenericActivity() {
|
|||
val permissionsRequiredList = arrayListOf<String>()
|
||||
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? {
|
||||
|
|
|
@ -131,11 +131,11 @@ class OutgoingCallActivity : ProximitySensorActivity() {
|
|||
val permissionsRequiredList = arrayListOf<String>()
|
||||
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<String>(permissionsRequiredList.size)
|
||||
|
@ -163,6 +163,7 @@ class OutgoingCallActivity : ProximitySensorActivity() {
|
|||
}
|
||||
}
|
||||
}
|
||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
|
||||
}
|
||||
|
||||
private fun findOutgoingCall(): Call? {
|
||||
|
|
|
@ -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.*
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.linphone.activities.call.viewmodels
|
||||
package org.linphone.activities.call.data
|
||||
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import java.text.DecimalFormat
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -144,7 +144,7 @@ class ChatRoomsListViewModel : ErrorReportingViewModel() {
|
|||
}
|
||||
|
||||
private fun updateChatRooms() {
|
||||
var list = arrayListOf<ChatRoom>()
|
||||
val list = arrayListOf<ChatRoom>()
|
||||
|
||||
list.addAll(coreContext.core.chatRooms)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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<TabsFragmentBinding>(), NavController.OnDestinationChangedListener {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.*
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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<Int>()
|
||||
|
@ -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<String>()
|
||||
|
@ -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()
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:tools="http://schemas.android.com/tools"
|
||||
<layout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<import type="android.view.View" />
|
||||
<variable
|
||||
name="data"
|
||||
type="org.linphone.activities.call.viewmodels.StatItemData" />
|
||||
type="org.linphone.activities.call.data.StatItemData" />
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<data>
|
||||
|
|
|
@ -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"/>
|
||||
|
||||
<TextView
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View"/>
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View"/>
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<data>
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
android:layout_marginLeft="10dp"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:contentDescription="@null"
|
||||
android:src="@{icon}" />
|
||||
|
||||
<org.linphone.views.MarqueeTextView
|
||||
|
|
|
@ -372,7 +372,7 @@
|
|||
<string name="call_stats_capture_filter">Filtro de captura:</string>
|
||||
<string name="assistant_welcome_title">Bienvenido</string>
|
||||
<string name="assistant_create_account">Crear cuenta</string>
|
||||
<string name="assistant_login_linphone">Utilize %appNombre; cuenta</string>
|
||||
<string name="assistant_login_linphone">Utilize &appName; cuenta</string>
|
||||
<string name="assistant_login_generic">Utilizar cuenta SIP</string>
|
||||
<string name="assistant_remote_provisioning">Buscar la configuración remota</string>
|
||||
<string name="assistant_ec_calibration">Calibración del cancelador de eco en curso</string>
|
||||
|
|
9
app/src/main/res/values-v27/styles.xml
Normal file
9
app/src/main/res/values-v27/styles.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<style name="FullScreenTheme" parent="@style/AppTheme">
|
||||
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
||||
<item name="android:windowTranslucentStatus">true</item>
|
||||
<item name="android:windowTranslucentNavigation">true</item>
|
||||
</style>
|
||||
</resources>
|
|
@ -172,7 +172,7 @@
|
|||
<string name="received_chat_notification_mark_as_read_label">标记为已读</string>
|
||||
<string name="missed_call_notification_title">未接来电</string>
|
||||
<string name="missed_call_notification_body">来自%s 的未接来电</string>
|
||||
<string name="missed_calls_notification_body">%sd 未接来电</string>
|
||||
<string name="missed_calls_notification_body">%d 未接来电</string>
|
||||
<string name="zrtp_dialog_title">通讯安全</string>
|
||||
<string name="zrtp_dialog_ok_button_label">接受</string>
|
||||
<string name="content_description_forwarded_message">信息已转发</string>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<!ENTITY appName "Linphone">
|
||||
]>
|
||||
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="app_name" translatable="false">&appName;</string>
|
||||
<string name="app_name_debug" translatable="false">&appName; (debug)</string>
|
||||
<string name="service_name">&appName; Service</string>
|
||||
|
@ -582,7 +582,7 @@
|
|||
<string name="received_chat_notification_mark_as_read_label">Mark as read</string>
|
||||
<string name="missed_call_notification_title">Missed call</string>
|
||||
<string name="missed_call_notification_body">Missed call from %s</string>
|
||||
<string name="missed_calls_notification_body">%d missed calls</string>
|
||||
<string name="missed_calls_notification_body" tools:ignore="PluralsCandidate">%d missed calls</string>
|
||||
|
||||
<!-- Dialog -->
|
||||
<string name="zrtp_dialog_title">Communication security</string>
|
||||
|
|
|
@ -52,7 +52,6 @@
|
|||
</style>
|
||||
|
||||
<style name="FullScreenTheme" parent="@style/AppTheme">
|
||||
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
||||
<item name="android:windowTranslucentStatus">true</item>
|
||||
<item name="android:windowTranslucentNavigation">true</item>
|
||||
</style>
|
||||
|
|
Loading…
Reference in a new issue