Bumped dependencies + required code changes + updated CHANGELOG from release/4.5
This commit is contained in:
parent
9874b04d9c
commit
7e0322abb5
85 changed files with 210 additions and 233 deletions
|
@ -38,6 +38,11 @@ Group changes to describe their impact on the project, as follows:
|
|||
### Removed
|
||||
- Global push notification setting in Network, use the switch in each Account instead
|
||||
|
||||
## [4.5.5] - 2021-10-28
|
||||
|
||||
### Changed
|
||||
- SDK updated to 5.0.45
|
||||
|
||||
## [4.5.4] - 2021-10-19
|
||||
|
||||
### Changed
|
||||
|
|
|
@ -214,20 +214,20 @@ dependencies {
|
|||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
|
||||
implementation 'androidx.appcompat:appcompat:1.3.1'
|
||||
implementation 'androidx.media:media:1.4.1'
|
||||
implementation 'androidx.fragment:fragment-ktx:1.4.0-alpha08'
|
||||
implementation 'androidx.core:core-ktx:1.7.0-alpha02'
|
||||
implementation 'androidx.media:media:1.4.3'
|
||||
implementation 'androidx.fragment:fragment-ktx:1.4.0-beta01'
|
||||
implementation 'androidx.core:core-ktx:1.7.0'
|
||||
|
||||
def nav_version = "2.4.0-alpha08"
|
||||
def nav_version = "2.4.0-beta01"
|
||||
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
|
||||
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
|
||||
|
||||
implementation "androidx.slidingpanelayout:slidingpanelayout:1.2.0-beta01"
|
||||
implementation "androidx.window:window:1.0.0-beta02"
|
||||
implementation "androidx.window:window:1.0.0-beta03"
|
||||
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.1'
|
||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
||||
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1'
|
||||
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.2.1'
|
||||
implementation "androidx.security:security-crypto-ktx:1.1.0-alpha03"
|
||||
|
||||
|
|
|
@ -20,32 +20,33 @@
|
|||
package org.linphone.activities.assistant
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.databinding.DataBindingUtil
|
||||
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import org.linphone.R
|
||||
import org.linphone.activities.GenericActivity
|
||||
import org.linphone.activities.SnackBarActivity
|
||||
import org.linphone.activities.assistant.viewmodels.SharedAssistantViewModel
|
||||
import org.linphone.databinding.AssistantActivityBinding
|
||||
|
||||
class AssistantActivity : GenericActivity(), SnackBarActivity {
|
||||
private lateinit var binding: AssistantActivityBinding
|
||||
private lateinit var sharedViewModel: SharedAssistantViewModel
|
||||
private lateinit var coordinator: CoordinatorLayout
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
binding = DataBindingUtil.setContentView(this, R.layout.assistant_activity)
|
||||
setContentView(R.layout.assistant_activity)
|
||||
|
||||
sharedViewModel = ViewModelProvider(this).get(SharedAssistantViewModel::class.java)
|
||||
sharedViewModel = ViewModelProvider(this)[SharedAssistantViewModel::class.java]
|
||||
|
||||
coordinator = findViewById(R.id.coordinator)
|
||||
}
|
||||
|
||||
override fun showSnackBar(resourceId: Int) {
|
||||
Snackbar.make(binding.coordinator, resourceId, Snackbar.LENGTH_LONG).show()
|
||||
Snackbar.make(coordinator, resourceId, Snackbar.LENGTH_LONG).show()
|
||||
}
|
||||
|
||||
override fun showSnackBar(message: String) {
|
||||
Snackbar.make(binding.coordinator, message, Snackbar.LENGTH_LONG).show()
|
||||
Snackbar.make(coordinator, message, Snackbar.LENGTH_LONG).show()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -49,10 +49,10 @@ class AccountLoginFragment : AbstractPhoneFragment<AssistantAccountLoginFragment
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedAssistantViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedAssistantViewModel::class.java]
|
||||
}
|
||||
|
||||
viewModel = ViewModelProvider(this, AccountLoginViewModelFactory(sharedViewModel.getAccountCreator())).get(AccountLoginViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this, AccountLoginViewModelFactory(sharedViewModel.getAccountCreator()))[AccountLoginViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
if (resources.getBoolean(R.bool.isTablet)) {
|
||||
|
|
|
@ -40,7 +40,7 @@ class EchoCancellerCalibrationFragment : GenericFragment<AssistantEchoCancellerC
|
|||
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
viewModel = ViewModelProvider(this).get(EchoCancellerCalibrationViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[EchoCancellerCalibrationViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
viewModel.echoCalibrationTerminated.observe(
|
||||
|
|
|
@ -43,10 +43,10 @@ class EmailAccountCreationFragment : GenericFragment<AssistantEmailAccountCreati
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedAssistantViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedAssistantViewModel::class.java]
|
||||
}
|
||||
|
||||
viewModel = ViewModelProvider(this, EmailAccountCreationViewModelFactory(sharedViewModel.getAccountCreator())).get(EmailAccountCreationViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this, EmailAccountCreationViewModelFactory(sharedViewModel.getAccountCreator()))[EmailAccountCreationViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
viewModel.goToEmailValidationEvent.observe(
|
||||
|
|
|
@ -42,10 +42,10 @@ class EmailAccountValidationFragment : GenericFragment<AssistantEmailAccountVali
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedAssistantViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedAssistantViewModel::class.java]
|
||||
}
|
||||
|
||||
viewModel = ViewModelProvider(this, EmailAccountValidationViewModelFactory(sharedViewModel.getAccountCreator())).get(EmailAccountValidationViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this, EmailAccountValidationViewModelFactory(sharedViewModel.getAccountCreator()))[EmailAccountValidationViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
viewModel.leaveAssistantEvent.observe(
|
||||
|
|
|
@ -47,10 +47,10 @@ class GenericAccountLoginFragment : GenericFragment<AssistantGenericAccountLogin
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedAssistantViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedAssistantViewModel::class.java]
|
||||
}
|
||||
|
||||
viewModel = ViewModelProvider(this, GenericLoginViewModelFactory(sharedViewModel.getAccountCreator(true))).get(GenericLoginViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this, GenericLoginViewModelFactory(sharedViewModel.getAccountCreator(true)))[GenericLoginViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
viewModel.leaveAssistantEvent.observe(
|
||||
|
|
|
@ -42,10 +42,10 @@ class PhoneAccountCreationFragment : AbstractPhoneFragment<AssistantPhoneAccount
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedAssistantViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedAssistantViewModel::class.java]
|
||||
}
|
||||
|
||||
viewModel = ViewModelProvider(this, PhoneAccountCreationViewModelFactory(sharedViewModel.getAccountCreator())).get(PhoneAccountCreationViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this, PhoneAccountCreationViewModelFactory(sharedViewModel.getAccountCreator()))[PhoneAccountCreationViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
binding.setInfoClickListener {
|
||||
|
|
|
@ -43,11 +43,11 @@ class PhoneAccountLinkingFragment : AbstractPhoneFragment<AssistantPhoneAccountL
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedAssistantViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedAssistantViewModel::class.java]
|
||||
}
|
||||
|
||||
val accountCreator = sharedViewModel.getAccountCreator()
|
||||
viewModel = ViewModelProvider(this, PhoneAccountLinkingViewModelFactory(accountCreator)).get(PhoneAccountLinkingViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this, PhoneAccountLinkingViewModelFactory(accountCreator))[PhoneAccountLinkingViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
val username = arguments?.getString("Username")
|
||||
|
|
|
@ -47,10 +47,10 @@ class PhoneAccountValidationFragment : GenericFragment<AssistantPhoneAccountVali
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedAssistantViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedAssistantViewModel::class.java]
|
||||
}
|
||||
|
||||
viewModel = ViewModelProvider(this, PhoneAccountValidationViewModelFactory(sharedViewModel.getAccountCreator())).get(PhoneAccountValidationViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this, PhoneAccountValidationViewModelFactory(sharedViewModel.getAccountCreator()))[PhoneAccountValidationViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
viewModel.phoneNumber.value = arguments?.getString("PhoneNumber")
|
||||
|
|
|
@ -45,10 +45,10 @@ class QrCodeFragment : GenericFragment<AssistantQrCodeFragmentBinding>() {
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedAssistantViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedAssistantViewModel::class.java]
|
||||
}
|
||||
|
||||
viewModel = ViewModelProvider(this).get(QrCodeViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[QrCodeViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
viewModel.qrCodeFoundEvent.observe(
|
||||
|
|
|
@ -44,10 +44,10 @@ class RemoteProvisioningFragment : GenericFragment<AssistantRemoteProvisioningFr
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedAssistantViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedAssistantViewModel::class.java]
|
||||
}
|
||||
|
||||
viewModel = ViewModelProvider(this).get(RemoteProvisioningViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[RemoteProvisioningViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
binding.setQrCodeClickListener {
|
||||
|
|
|
@ -49,7 +49,7 @@ class WelcomeFragment : GenericFragment<AssistantWelcomeFragmentBinding>() {
|
|||
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
viewModel = ViewModelProvider(this).get(WelcomeViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[WelcomeViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
binding.setCreateAccountClickListener {
|
||||
|
|
|
@ -30,7 +30,7 @@ class AccountLoginViewModelFactory(private val accountCreator: AccountCreator) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return AccountLoginViewModel(accountCreator) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ class EmailAccountCreationViewModelFactory(private val accountCreator: AccountCr
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return EmailAccountCreationViewModel(accountCreator) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ class EmailAccountValidationViewModelFactory(private val accountCreator: Account
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return EmailAccountValidationViewModel(accountCreator) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ class GenericLoginViewModelFactory(private val accountCreator: AccountCreator) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return GenericLoginViewModel(accountCreator) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ class PhoneAccountCreationViewModelFactory(private val accountCreator: AccountCr
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return PhoneAccountCreationViewModel(accountCreator) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ class PhoneAccountLinkingViewModelFactory(private val accountCreator: AccountCre
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return PhoneAccountLinkingViewModel(accountCreator) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ class PhoneAccountValidationViewModelFactory(private val accountCreator: Account
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return PhoneAccountValidationViewModel(accountCreator) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,10 +55,10 @@ class CallActivity : ProximitySensorActivity() {
|
|||
binding = DataBindingUtil.setContentView(this, R.layout.call_activity)
|
||||
binding.lifecycleOwner = this
|
||||
|
||||
viewModel = ViewModelProvider(this).get(ControlsFadingViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[ControlsFadingViewModel::class.java]
|
||||
binding.controlsFadingViewModel = viewModel
|
||||
|
||||
sharedViewModel = ViewModelProvider(this).get(SharedCallViewModel::class.java)
|
||||
sharedViewModel = ViewModelProvider(this)[SharedCallViewModel::class.java]
|
||||
|
||||
sharedViewModel.toggleDrawerEvent.observe(
|
||||
this,
|
||||
|
|
|
@ -76,7 +76,7 @@ class OutgoingCallActivity : ProximitySensorActivity() {
|
|||
)[CallViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
controlsViewModel = ViewModelProvider(this).get(ControlsViewModel::class.java)
|
||||
controlsViewModel = ViewModelProvider(this)[ControlsViewModel::class.java]
|
||||
binding.controlsViewModel = controlsViewModel
|
||||
|
||||
viewModel.callEndedEvent.observe(
|
||||
|
|
|
@ -69,21 +69,21 @@ class ControlsFragment : GenericFragment<CallControlsFragmentBinding>() {
|
|||
useMaterialSharedAxisXForwardAnimation = false
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedCallViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedCallViewModel::class.java]
|
||||
}
|
||||
|
||||
callsViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(CallsViewModel::class.java)
|
||||
ViewModelProvider(this)[CallsViewModel::class.java]
|
||||
}
|
||||
binding.viewModel = callsViewModel
|
||||
|
||||
controlsViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(ControlsViewModel::class.java)
|
||||
ViewModelProvider(this)[ControlsViewModel::class.java]
|
||||
}
|
||||
binding.controlsViewModel = controlsViewModel
|
||||
|
||||
conferenceViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(ConferenceViewModel::class.java)
|
||||
ViewModelProvider(this)[ConferenceViewModel::class.java]
|
||||
}
|
||||
binding.conferenceViewModel = conferenceViewModel
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ class StatisticsFragment : GenericFragment<CallStatisticsFragmentBinding>() {
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
useMaterialSharedAxisXForwardAnimation = false
|
||||
|
||||
viewModel = ViewModelProvider(this).get(StatisticsListViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[StatisticsListViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
}
|
||||
|
||||
|
|
|
@ -48,11 +48,11 @@ class StatusFragment : GenericFragment<CallStatusFragmentBinding>() {
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
useMaterialSharedAxisXForwardAnimation = false
|
||||
|
||||
viewModel = ViewModelProvider(this).get(StatusViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[StatusViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedCallViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedCallViewModel::class.java]
|
||||
}
|
||||
|
||||
binding.setStatsClickListener {
|
||||
|
|
|
@ -49,16 +49,16 @@ class VideoRenderingFragment : GenericFragment<CallVideoFragmentBinding>() {
|
|||
binding.lifecycleOwner = this
|
||||
|
||||
controlsFadingViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(ControlsFadingViewModel::class.java)
|
||||
ViewModelProvider(this)[ControlsFadingViewModel::class.java]
|
||||
}
|
||||
binding.controlsFadingViewModel = controlsFadingViewModel
|
||||
|
||||
callsViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(CallsViewModel::class.java)
|
||||
ViewModelProvider(this)[CallsViewModel::class.java]
|
||||
}
|
||||
|
||||
conferenceViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(ConferenceViewModel::class.java)
|
||||
ViewModelProvider(this)[ConferenceViewModel::class.java]
|
||||
}
|
||||
binding.conferenceViewModel = conferenceViewModel
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ class CallViewModelFactory(private val call: Call) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return CallViewModel(call) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ class IncomingCallViewModelFactory(private val call: Call) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return IncomingCallViewModel(call) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -108,7 +108,7 @@ class ChatBubbleActivity : GenericActivity() {
|
|||
)[ChatMessageSendingViewModel::class.java]
|
||||
binding.chatSendingViewModel = chatSendingViewModel
|
||||
|
||||
val listSelectionViewModel = ViewModelProvider(this).get(ListTopBarViewModel::class.java)
|
||||
val listSelectionViewModel = ViewModelProvider(this)[ListTopBarViewModel::class.java]
|
||||
adapter = ChatMessagesListAdapter(listSelectionViewModel, this)
|
||||
// SubmitList is done on a background thread
|
||||
// We need this adapter data observer to know when to scroll
|
||||
|
|
|
@ -115,10 +115,10 @@ class MainActivity : GenericActivity(), SnackBarActivity, NavController.OnDestin
|
|||
binding = DataBindingUtil.setContentView(this, R.layout.main_activity)
|
||||
binding.lifecycleOwner = this
|
||||
|
||||
sharedViewModel = ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
sharedViewModel = ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
binding.viewModel = sharedViewModel
|
||||
|
||||
callOverlayViewModel = ViewModelProvider(this).get(CallOverlayViewModel::class.java)
|
||||
callOverlayViewModel = ViewModelProvider(this)[CallOverlayViewModel::class.java]
|
||||
binding.callOverlayViewModel = callOverlayViewModel
|
||||
|
||||
sharedViewModel.toggleDrawerEvent.observe(
|
||||
|
|
|
@ -38,7 +38,7 @@ class AboutFragment : SecureFragment<AboutFragmentBinding>() {
|
|||
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
viewModel = ViewModelProvider(this).get(AboutViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[AboutViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
binding.setBackClickListener { goBack() }
|
||||
|
|
|
@ -54,14 +54,14 @@ class ChatRoomCreationFragment : SecureFragment<ChatRoomCreationFragmentBinding>
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
|
||||
useMaterialSharedAxisXForwardAnimation = sharedViewModel.isSlidingPaneSlideable.value == false
|
||||
|
||||
val createGroup = arguments?.getBoolean("createGroup") ?: false
|
||||
|
||||
viewModel = ViewModelProvider(this).get(ChatRoomCreationViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[ChatRoomCreationViewModel::class.java]
|
||||
viewModel.createGroupChat.value = createGroup
|
||||
|
||||
viewModel.isEncrypted.value = sharedViewModel.createEncryptedChatRoom
|
||||
|
|
|
@ -113,7 +113,7 @@ class DetailChatRoomFragment : MasterFragment<ChatRoomDetailFragmentBinding, Cha
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
binding.sharedMainViewModel = sharedViewModel
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ class DevicesFragment : SecureFragment<ChatRoomDevicesFragmentBinding>() {
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
|
||||
val chatRoom = sharedViewModel.selectedChatRoom.value
|
||||
|
|
|
@ -46,7 +46,7 @@ class EphemeralFragment : SecureFragment<ChatRoomEphemeralFragmentBinding>() {
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
|
||||
val chatRoom = sharedViewModel.selectedChatRoom.value
|
||||
|
|
|
@ -57,7 +57,7 @@ class GroupInfoFragment : SecureFragment<ChatRoomGroupInfoFragmentBinding>() {
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
|
||||
val chatRoom: ChatRoom? = sharedViewModel.selectedGroupChatRoom.value
|
||||
|
|
|
@ -50,7 +50,7 @@ class ImdnFragment : SecureFragment<ChatRoomImdnFragmentBinding>() {
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
|
||||
val chatRoom = sharedViewModel.selectedChatRoom.value
|
||||
|
|
|
@ -98,13 +98,13 @@ class MasterChatRoomsFragment : MasterFragment<ChatRoomMasterFragmentBinding, Ch
|
|||
isSecure = true
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
listViewModel = ViewModelProvider(this).get(ChatRoomsListViewModel::class.java)
|
||||
listViewModel = ViewModelProvider(this)[ChatRoomsListViewModel::class.java]
|
||||
binding.viewModel = listViewModel
|
||||
|
||||
/* Shared view model & sliding pane related */
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
|
||||
view.doOnPreDraw { sharedViewModel.isSlidingPaneSlideable.value = binding.slidingPane.isSlideable }
|
||||
|
|
|
@ -48,7 +48,7 @@ class ChatMessageSendingViewModelFactory(private val chatRoom: ChatRoom) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return ChatMessageSendingViewModel(chatRoom) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ class ChatMessagesListViewModelFactory(private val chatRoom: ChatRoom) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return ChatMessagesListViewModel(chatRoom) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ class ChatRoomViewModelFactory(private val chatRoom: ChatRoom) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return ChatRoomViewModel(chatRoom) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ class DevicesListViewModelFactory(private val chatRoom: ChatRoom) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return DevicesListViewModel(chatRoom) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ class EphemeralViewModelFactory(private val chatRoom: ChatRoom) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return EphemeralViewModel(chatRoom) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ class GroupInfoViewModelFactory(private val chatRoom: ChatRoom?) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return GroupInfoViewModel(chatRoom) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ class ImdnViewModelFactory(private val chatMessage: ChatMessage) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return ImdnViewModel(chatMessage) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -58,7 +58,7 @@ class RichEditText : AppCompatEditText {
|
|||
Log.i("[Rich Edit Text] Received URI: $uri")
|
||||
val activity = context as Activity
|
||||
val sharedViewModel = activity.run {
|
||||
ViewModelProvider(activity as ViewModelStoreOwner).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(activity as ViewModelStoreOwner)[SharedMainViewModel::class.java]
|
||||
}
|
||||
sharedViewModel.richContentUri.value = Event(uri)
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ class ContactEditorFragment : GenericFragment<ContactEditorFragmentBinding>(), S
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
|
||||
viewModel = ViewModelProvider(
|
||||
|
|
|
@ -55,7 +55,7 @@ class DetailContactFragment : GenericFragment<ContactDetailFragmentBinding>() {
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
binding.sharedMainViewModel = sharedViewModel
|
||||
|
||||
|
|
|
@ -72,13 +72,13 @@ class MasterContactsFragment : MasterFragment<ContactMasterFragmentBinding, Cont
|
|||
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
listViewModel = ViewModelProvider(this).get(ContactsListViewModel::class.java)
|
||||
listViewModel = ViewModelProvider(this)[ContactsListViewModel::class.java]
|
||||
binding.viewModel = listViewModel
|
||||
|
||||
/* Shared view model & sliding pane related */
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
|
||||
view.doOnPreDraw { sharedViewModel.isSlidingPaneSlideable.value = binding.slidingPane.isSlideable }
|
||||
|
|
|
@ -40,7 +40,7 @@ class ContactEditorViewModelFactory(private val contact: Contact?) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return ContactEditorViewModel(contact) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ class ContactViewModelFactory(private val contact: Contact) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return ContactViewModel(contact) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -66,11 +66,11 @@ class DialerFragment : SecureFragment<DialerFragmentBinding>() {
|
|||
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
viewModel = ViewModelProvider(this).get(DialerViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[DialerViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
|
||||
useMaterialSharedAxisXForwardAnimation = false
|
||||
|
|
|
@ -20,20 +20,18 @@
|
|||
package org.linphone.activities.main.files.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.databinding.DataBindingUtil
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import org.linphone.R
|
||||
import org.linphone.activities.main.files.viewmodels.PdfFileViewModel
|
||||
import org.linphone.databinding.FilePdfViewerCellBinding
|
||||
|
||||
class PdfPagesListAdapter(private val pdfViewModel: PdfFileViewModel) : RecyclerView.Adapter<PdfPagesListAdapter.PdfPageViewHolder>() {
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PdfPageViewHolder {
|
||||
val binding: FilePdfViewerCellBinding = DataBindingUtil.inflate(
|
||||
LayoutInflater.from(parent.context),
|
||||
val view = LayoutInflater.from(parent.context).inflate(
|
||||
R.layout.file_pdf_viewer_cell, parent, false
|
||||
)
|
||||
return PdfPageViewHolder(binding)
|
||||
return PdfPageViewHolder(view)
|
||||
}
|
||||
|
||||
override fun getItemCount(): Int {
|
||||
|
@ -44,11 +42,9 @@ class PdfPagesListAdapter(private val pdfViewModel: PdfFileViewModel) : Recycler
|
|||
holder.bind(position)
|
||||
}
|
||||
|
||||
inner class PdfPageViewHolder(private val binding: FilePdfViewerCellBinding) : RecyclerView.ViewHolder(binding.root) {
|
||||
inner class PdfPageViewHolder(private val view: View) : RecyclerView.ViewHolder(view) {
|
||||
fun bind(index: Int) {
|
||||
with(binding) {
|
||||
pdfViewModel.loadPdfPageInto(index, pdfImage)
|
||||
}
|
||||
pdfViewModel.loadPdfPageInto(index, view.findViewById(R.id.pdf_image))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ abstract class GenericViewerFragment<T : ViewDataBinding> : SecureFragment<T>()
|
|||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
|
||||
isSecure = arguments?.getBoolean("Secure") ?: false
|
||||
|
|
|
@ -31,7 +31,7 @@ class AudioFileViewModelFactory(private val content: Content) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return AudioFileViewModel(content) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ class ImageFileViewModelFactory(private val content: Content) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return ImageFileViewModel(content) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@ class PdfFileViewModelFactory(private val content: Content) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return PdfFileViewModel(content) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ class TextFileViewModelFactory(private val content: Content) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return TextFileViewModel(content) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ class VideoFileViewModelFactory(private val content: Content) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return VideoFileViewModel(content) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ abstract class MasterFragment<T : ViewDataBinding, U : SelectionListAdapter<*, *
|
|||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
// List selection
|
||||
listSelectionViewModel = ViewModelProvider(this).get(ListTopBarViewModel::class.java)
|
||||
listSelectionViewModel = ViewModelProvider(this)[ListTopBarViewModel::class.java]
|
||||
|
||||
listSelectionViewModel.isEditionEnabled.observe(
|
||||
viewLifecycleOwner,
|
||||
|
|
|
@ -43,11 +43,11 @@ class StatusFragment : GenericFragment<StatusFragmentBinding>() {
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
useMaterialSharedAxisXForwardAnimation = false
|
||||
|
||||
viewModel = ViewModelProvider(this).get(StatusViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[StatusViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
|
||||
sharedViewModel.accountRemoved.observe(
|
||||
|
|
|
@ -50,11 +50,11 @@ class TabsFragment : GenericFragment<TabsFragmentBinding>(), NavController.OnDes
|
|||
useMaterialSharedAxisXForwardAnimation = false
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
|
||||
viewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(TabsViewModel::class.java)
|
||||
ViewModelProvider(this)[TabsViewModel::class.java]
|
||||
}
|
||||
binding.viewModel = viewModel
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ class DetailCallLogFragment : GenericFragment<HistoryDetailFragmentBinding>() {
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
binding.sharedMainViewModel = sharedViewModel
|
||||
|
||||
|
|
|
@ -89,13 +89,13 @@ class MasterCallLogsFragment : MasterFragment<HistoryMasterFragmentBinding, Call
|
|||
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
listViewModel = ViewModelProvider(this).get(CallLogsListViewModel::class.java)
|
||||
listViewModel = ViewModelProvider(this)[CallLogsListViewModel::class.java]
|
||||
binding.viewModel = listViewModel
|
||||
|
||||
/* Shared view model & sliding pane related */
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
|
||||
view.doOnPreDraw { sharedViewModel.isSlidingPaneSlideable.value = binding.slidingPane.isSlideable }
|
||||
|
@ -291,7 +291,7 @@ class MasterCallLogsFragment : MasterFragment<HistoryMasterFragmentBinding, Call
|
|||
super.onResume()
|
||||
|
||||
val tabsViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(TabsViewModel::class.java)
|
||||
ViewModelProvider(this)[TabsViewModel::class.java]
|
||||
}
|
||||
tabsViewModel.updateMissedCallCount()
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ class CallLogViewModelFactory(private val callLog: CallLog) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return CallLogViewModel(callLog) as T
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,7 +51,7 @@ class RecordingsFragment : MasterFragment<RecordingsFragmentBinding, RecordingsL
|
|||
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
viewModel = ViewModelProvider(this).get(RecordingsViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[RecordingsViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
_adapter = RecordingsListAdapter(listSelectionViewModel, viewLifecycleOwner)
|
||||
|
|
|
@ -52,9 +52,7 @@ class AccountSettingsFragment : GenericSettingFragment<SettingsAccountFragmentBi
|
|||
}
|
||||
|
||||
try {
|
||||
viewModel = ViewModelProvider(this, AccountSettingsViewModelFactory(identity)).get(
|
||||
AccountSettingsViewModel::class.java
|
||||
)
|
||||
viewModel = ViewModelProvider(this, AccountSettingsViewModelFactory(identity))[AccountSettingsViewModel::class.java]
|
||||
} catch (nsee: NoSuchElementException) {
|
||||
Log.e("[Account Settings] Failed to find Account object, aborting!")
|
||||
goBack()
|
||||
|
|
|
@ -49,7 +49,7 @@ class AdvancedSettingsFragment : GenericSettingFragment<SettingsAdvancedFragment
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
binding.sharedMainViewModel = sharedViewModel
|
||||
|
||||
viewModel = ViewModelProvider(this).get(AdvancedSettingsViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[AdvancedSettingsViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
binding.setBackClickListener { goBack() }
|
||||
|
|
|
@ -48,7 +48,7 @@ class AudioSettingsFragment : GenericSettingFragment<SettingsAudioFragmentBindin
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
binding.sharedMainViewModel = sharedViewModel
|
||||
|
||||
viewModel = ViewModelProvider(this).get(AudioSettingsViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[AudioSettingsViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
binding.setBackClickListener { goBack() }
|
||||
|
|
|
@ -51,7 +51,7 @@ class CallSettingsFragment : GenericSettingFragment<SettingsCallFragmentBinding>
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
binding.sharedMainViewModel = sharedViewModel
|
||||
|
||||
viewModel = ViewModelProvider(this).get(CallSettingsViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[CallSettingsViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
binding.setBackClickListener { goBack() }
|
||||
|
|
|
@ -44,7 +44,7 @@ class ChatSettingsFragment : GenericSettingFragment<SettingsChatFragmentBinding>
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
binding.sharedMainViewModel = sharedViewModel
|
||||
|
||||
viewModel = ViewModelProvider(this).get(ChatSettingsViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[ChatSettingsViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
binding.setBackClickListener { goBack() }
|
||||
|
|
|
@ -45,7 +45,7 @@ class ContactsSettingsFragment : GenericSettingFragment<SettingsContactsFragment
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
binding.sharedMainViewModel = sharedViewModel
|
||||
|
||||
viewModel = ViewModelProvider(this).get(ContactsSettingsViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[ContactsSettingsViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
binding.setBackClickListener { goBack() }
|
||||
|
|
|
@ -31,7 +31,7 @@ abstract class GenericSettingFragment<T : ViewDataBinding> : GenericFragment<T>(
|
|||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
|
||||
useMaterialSharedAxisXForwardAnimation = sharedViewModel.isSlidingPaneSlideable.value == false
|
||||
|
|
|
@ -39,7 +39,7 @@ class NetworkSettingsFragment : GenericSettingFragment<SettingsNetworkFragmentBi
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
binding.sharedMainViewModel = sharedViewModel
|
||||
|
||||
viewModel = ViewModelProvider(this).get(NetworkSettingsViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[NetworkSettingsViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
binding.setBackClickListener { goBack() }
|
||||
|
|
|
@ -62,7 +62,7 @@ class SettingsFragment : SecureFragment<SettingsFragmentBinding>() {
|
|||
/* Shared view model & sliding pane related */
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
|
||||
view.doOnPreDraw { sharedViewModel.isSlidingPaneSlideable.value = binding.slidingPane.isSlideable }
|
||||
|
@ -106,7 +106,7 @@ class SettingsFragment : SecureFragment<SettingsFragmentBinding>() {
|
|||
|
||||
/* End of shared view model & sliding pane related */
|
||||
|
||||
viewModel = ViewModelProvider(this).get(SettingsViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[SettingsViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
binding.setBackClickListener { goBack() }
|
||||
|
|
|
@ -39,7 +39,7 @@ class TunnelSettingsFragment : GenericSettingFragment<SettingsTunnelFragmentBind
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
binding.sharedMainViewModel = sharedViewModel
|
||||
|
||||
viewModel = ViewModelProvider(this).get(TunnelSettingsViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[TunnelSettingsViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
binding.setBackClickListener { goBack() }
|
||||
|
|
|
@ -48,7 +48,7 @@ class VideoSettingsFragment : GenericSettingFragment<SettingsVideoFragmentBindin
|
|||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
binding.sharedMainViewModel = sharedViewModel
|
||||
|
||||
viewModel = ViewModelProvider(this).get(VideoSettingsViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[VideoSettingsViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
binding.setBackClickListener { goBack() }
|
||||
|
|
|
@ -36,7 +36,7 @@ class AccountSettingsViewModelFactory(private val identity: String) :
|
|||
ViewModelProvider.NewInstanceFactory() {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
for (account in coreContext.core.accountList) {
|
||||
if (account.params.identityAddress?.asStringUriOnly() == identity) {
|
||||
return AccountSettingsViewModel(account) as T
|
||||
|
|
|
@ -59,11 +59,11 @@ class SideMenuFragment : GenericFragment<SideMenuFragmentBinding>() {
|
|||
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
viewModel = ViewModelProvider(this).get(SideMenuViewModel::class.java)
|
||||
viewModel = ViewModelProvider(this)[SideMenuViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
|
||||
sharedViewModel = requireActivity().run {
|
||||
ViewModelProvider(this).get(SharedMainViewModel::class.java)
|
||||
ViewModelProvider(this)[SharedMainViewModel::class.java]
|
||||
}
|
||||
|
||||
sharedViewModel.accountRemoved.observe(
|
||||
|
|
|
@ -1,45 +1,41 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<RelativeLayout 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:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentBottom="true">
|
||||
|
||||
<RelativeLayout
|
||||
<!-- For proper snack bar placement -->
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
android:id="@+id/coordinator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentBottom="true">
|
||||
android:layout_toRightOf="@id/tabs_fragment">
|
||||
|
||||
<!-- For proper snack bar placement -->
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
android:id="@+id/coordinator"
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_toRightOf="@id/tabs_fragment">
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<RelativeLayout
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/nav_host_fragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:name="androidx.navigation.fragment.NavHostFragment"
|
||||
app:defaultNavHost="true"
|
||||
app:navGraph="@navigation/main_nav_graph"
|
||||
tools:layout="@layout/dialer_fragment" />
|
||||
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/nav_host_fragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:name="androidx.navigation.fragment.NavHostFragment"
|
||||
app:defaultNavHost="true"
|
||||
app:navGraph="@navigation/main_nav_graph"
|
||||
tools:layout="@layout/dialer_fragment" />
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/tabs_fragment"
|
||||
android:name="org.linphone.activities.main.fragments.TabsFragment"
|
||||
android:layout_width="@dimen/main_activity_tabs_fragment_size"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentLeft="true"
|
||||
tools:layout="@layout/tabs_fragment"/>
|
||||
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/tabs_fragment"
|
||||
android:name="org.linphone.activities.main.fragments.TabsFragment"
|
||||
android:layout_width="@dimen/main_activity_tabs_fragment_size"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentLeft="true"
|
||||
tools:layout="@layout/tabs_fragment"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</layout>
|
||||
</RelativeLayout>
|
|
@ -1,31 +1,24 @@
|
|||
<?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">
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/coordinator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<data>
|
||||
|
||||
</data>
|
||||
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
android:id="@+id/coordinator"
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/backgroundColor">
|
||||
|
||||
<RelativeLayout
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/nav_host_fragment"
|
||||
android:name="androidx.navigation.fragment.NavHostFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/backgroundColor">
|
||||
app:defaultNavHost="true"
|
||||
app:navGraph="@navigation/assistant_nav_graph" />
|
||||
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/nav_host_fragment"
|
||||
android:name="androidx.navigation.fragment.NavHostFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:defaultNavHost="true"
|
||||
app:navGraph="@navigation/assistant_nav_graph" />
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
||||
</layout>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
|
@ -1,20 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View"/>
|
||||
</data>
|
||||
<com.github.chrisbanes.photoview.PhotoView
|
||||
android:id="@+id/pdf_image"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true" />
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.github.chrisbanes.photoview.PhotoView
|
||||
android:id="@+id/pdf_image"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</layout>
|
||||
</RelativeLayout>
|
|
@ -1,45 +1,41 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<RelativeLayout 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:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentBottom="true">
|
||||
|
||||
<RelativeLayout
|
||||
<!-- For proper snack bar placement -->
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
android:id="@+id/coordinator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentBottom="true">
|
||||
android:layout_above="@id/tabs_fragment">
|
||||
|
||||
<!-- For proper snack bar placement -->
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
android:id="@+id/coordinator"
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@id/tabs_fragment">
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<RelativeLayout
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/nav_host_fragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:name="androidx.navigation.fragment.NavHostFragment"
|
||||
app:defaultNavHost="true"
|
||||
app:navGraph="@navigation/main_nav_graph"
|
||||
tools:layout="@layout/dialer_fragment" />
|
||||
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/nav_host_fragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:name="androidx.navigation.fragment.NavHostFragment"
|
||||
app:defaultNavHost="true"
|
||||
app:navGraph="@navigation/main_nav_graph"
|
||||
tools:layout="@layout/dialer_fragment" />
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/tabs_fragment"
|
||||
android:name="org.linphone.activities.main.fragments.TabsFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/main_activity_tabs_fragment_size"
|
||||
android:layout_alignParentBottom="true"
|
||||
tools:layout="@layout/tabs_fragment"/>
|
||||
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/tabs_fragment"
|
||||
android:name="org.linphone.activities.main.fragments.TabsFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/main_activity_tabs_fragment_size"
|
||||
android:layout_alignParentBottom="true"
|
||||
tools:layout="@layout/tabs_fragment"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</layout>
|
||||
</RelativeLayout>
|
|
@ -13,7 +13,7 @@ buildscript {
|
|||
} // for com.github.chrisbanes:PhotoView
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.0.2'
|
||||
classpath 'com.android.tools.build:gradle:7.0.3'
|
||||
classpath 'com.google.gms:google-services:4.3.10'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
classpath "org.jlleitschuh.gradle:ktlint-gradle:10.1.0"
|
||||
|
|
Loading…
Reference in a new issue