mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-04-24 04:38:31 +00:00
Code cleanup
This commit is contained in:
parent
afab8c491d
commit
5e8f848574
72 changed files with 236 additions and 257 deletions
|
|
@ -63,8 +63,6 @@ class ContactLoader : LoaderManager.LoaderCallbacks<Cursor> {
|
|||
|
||||
const val NATIVE_ADDRESS_BOOK_FRIEND_LIST = "Native address-book"
|
||||
const val LINPHONE_ADDRESS_BOOK_FRIEND_LIST = "Linphone address-book"
|
||||
|
||||
private const val MIN_INTERVAL_TO_WAIT_BEFORE_REFRESH = 300000L // 5 minutes
|
||||
}
|
||||
|
||||
private val scope = CoroutineScope(Dispatchers.IO + SupervisorJob())
|
||||
|
|
@ -102,7 +100,7 @@ class ContactLoader : LoaderManager.LoaderCallbacks<Cursor> {
|
|||
// WARNING: this doesn't prevent to be called again in onLoadFinished,
|
||||
// it will only have for effect that the notified cursor will be the same as before
|
||||
// instead of a new one with updated content!
|
||||
// loader.setUpdateThrottle(MIN_INTERVAL_TO_WAIT_BEFORE_REFRESH)
|
||||
// loader.setUpdateThrottle(300000L)
|
||||
|
||||
return loader
|
||||
}
|
||||
|
|
|
|||
|
|
@ -96,40 +96,40 @@ class CoreContext
|
|||
var isConnectedToAndroidAuto: Boolean = false
|
||||
|
||||
val bearerAuthenticationRequestedEvent: MutableLiveData<Event<Pair<String, String?>>> by lazy {
|
||||
MutableLiveData<Event<Pair<String, String?>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val digestAuthenticationRequestedEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val clearAuthenticationRequestDialogEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val refreshMicrophoneMuteStateEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val showGreenToastEvent: MutableLiveData<Event<Pair<Int, Int>>> by lazy {
|
||||
MutableLiveData<Event<Pair<Int, Int>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val showRedToastEvent: MutableLiveData<Event<Pair<Int, Int>>> by lazy {
|
||||
MutableLiveData<Event<Pair<Int, Int>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val showFormattedRedToastEvent: MutableLiveData<Event<Pair<String, Int>>> by lazy {
|
||||
MutableLiveData<Event<Pair<String, Int>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val provisioningAppliedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private var filesToExportToNativeMediaGallery = arrayListOf<String>()
|
||||
val filesToExportToNativeMediaGalleryEvent: MutableLiveData<Event<List<String>>> by lazy {
|
||||
MutableLiveData<Event<List<String>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private var keepAliveServiceStarted = false
|
||||
|
|
|
|||
|
|
@ -28,20 +28,20 @@ import org.linphone.utils.Event
|
|||
open class GenericViewModel : ViewModel() {
|
||||
// Message res id, icon
|
||||
val showGreenToastEvent: MutableLiveData<Event<Pair<Int, Int>>> by lazy {
|
||||
MutableLiveData<Event<Pair<Int, Int>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val showFormattedGreenToastEvent: MutableLiveData<Event<Pair<String, Int>>> by lazy {
|
||||
MutableLiveData<Event<Pair<String, Int>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
// Message res id, icon
|
||||
val showRedToastEvent: MutableLiveData<Event<Pair<Int, Int>>> by lazy {
|
||||
MutableLiveData<Event<Pair<Int, Int>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val showFormattedRedToastEvent: MutableLiveData<Event<Pair<String, Int>>> by lazy {
|
||||
MutableLiveData<Event<Pair<String, Int>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
fun showGreenToast(@StringRes message: Int, @DrawableRes icon: Int) {
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ class AccountCreationViewModel
|
|||
val accountCreatedEvent = MutableLiveData<Event<Boolean>>()
|
||||
|
||||
val accountRecoveryTokenReceivedEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private var waitingForFlexiApiPushToken = false
|
||||
|
|
|
|||
|
|
@ -68,15 +68,15 @@ open class AccountLoginViewModel
|
|||
val registrationInProgress = MutableLiveData<Boolean>()
|
||||
|
||||
val accountLoggedInEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val accountLoginErrorEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val skipLandingToThirdPartySipAccountEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
var conditionsAndPrivacyPolicyAccepted = false
|
||||
|
|
|
|||
|
|
@ -76,15 +76,15 @@ class ThirdPartySipAccountLoginViewModel
|
|||
val registrationInProgress = MutableLiveData<Boolean>()
|
||||
|
||||
val accountLoggedInEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val accountLoginErrorEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val defaultTransportIndexEvent: MutableLiveData<Event<Int>> by lazy {
|
||||
MutableLiveData<Event<Int>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val availableTransports = arrayListOf<String>()
|
||||
|
|
|
|||
|
|
@ -38,11 +38,11 @@ class CallsListAdapter :
|
|||
var selectedAdapterPosition = -1
|
||||
|
||||
val callClickedEvent: MutableLiveData<Event<CallModel>> by lazy {
|
||||
MutableLiveData<Event<CallModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val callLongClickedEvent: MutableLiveData<Event<CallModel>> by lazy {
|
||||
MutableLiveData<Event<CallModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
||||
|
|
|
|||
|
|
@ -83,19 +83,19 @@ class ConferenceViewModel
|
|||
val fullScreenMode = MutableLiveData<Boolean>()
|
||||
|
||||
val firstParticipantOtherThanOurselvesJoinedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val showLayoutMenuEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val removeParticipantEvent: MutableLiveData<Event<Pair<String, Participant>>> by lazy {
|
||||
MutableLiveData<Event<Pair<String, Participant>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val goToConversationEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private lateinit var conference: Conference
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ class CallsViewModel
|
|||
val callsTopBarStatus = MutableLiveData<String>()
|
||||
|
||||
val goToCallsListEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private val coreListener = object : CoreListenerStub() {
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ class CurrentCallViewModel
|
|||
}
|
||||
|
||||
val incomingCallTitle: MutableLiveData<String> by lazy {
|
||||
MutableLiveData<String>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val qualityValue = MutableLiveData<Float>()
|
||||
|
|
@ -163,23 +163,23 @@ class CurrentCallViewModel
|
|||
var terminatedByUser = false
|
||||
|
||||
val isRemoteRecordingEvent: MutableLiveData<Event<Pair<Boolean, String>>> by lazy {
|
||||
MutableLiveData<Event<Pair<Boolean, String>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val goToEndedCallEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val finishActivityEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val requestRecordAudioPermission: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val requestCameraPermission: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val proximitySensorEnabled = MutableLiveData<Boolean>()
|
||||
|
|
@ -188,21 +188,21 @@ class CurrentCallViewModel
|
|||
val callDuration = MutableLiveData<Int>()
|
||||
|
||||
val showAudioDevicesListEvent: MutableLiveData<Event<ArrayList<AudioDeviceModel>>> by lazy {
|
||||
MutableLiveData<Event<ArrayList<AudioDeviceModel>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
// ZRTP related
|
||||
|
||||
val showZrtpSasDialogEvent: MutableLiveData<Event<Pair<String, List<String>>>> by lazy {
|
||||
MutableLiveData<Event<Pair<String, List<String>>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val showZrtpSasCacheMismatchDialogEvent: MutableLiveData<Event<Pair<String, List<String>>>> by lazy {
|
||||
MutableLiveData<Event<Pair<String, List<String>>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val zrtpAuthTokenVerifiedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
var isZrtpDialogVisible: Boolean = false
|
||||
|
|
@ -217,7 +217,7 @@ class CurrentCallViewModel
|
|||
val operationInProgress = MutableLiveData<Boolean>()
|
||||
|
||||
val goToConversationEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
// Conference
|
||||
|
|
@ -225,39 +225,39 @@ class CurrentCallViewModel
|
|||
val conferenceModel = ConferenceViewModel()
|
||||
|
||||
val goToConferenceEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val goToCallEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
// Extras actions
|
||||
|
||||
val toggleExtraActionsBottomSheetEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val showNumpadBottomSheetEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val transferInProgressEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val transferFailedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val numpadModel: NumpadModel
|
||||
|
||||
val appendDigitToSearchBarEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val removedCharacterAtCurrentPositionEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
// Sliding answer/decline button
|
||||
|
|
|
|||
|
|
@ -72,15 +72,15 @@ class FileViewModel
|
|||
val isFromEphemeralMessage = MutableLiveData<Boolean>()
|
||||
|
||||
val exportPlainTextFileEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val pdfRendererReadyEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val exportPdfEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
// Below are required for PDF viewer
|
||||
|
|
|
|||
|
|
@ -65,11 +65,11 @@ class MediaViewModel
|
|||
val position = MutableLiveData<Int>()
|
||||
|
||||
val videoSizeChangedEvent: MutableLiveData<Event<Pair<Int, Int>>> by lazy {
|
||||
MutableLiveData<Event<Pair<Int, Int>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val changeFullScreenModeEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
lateinit var mediaPlayer: MediaPlayer
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ class ConversationsContactsAndSuggestionsListAdapter :
|
|||
}
|
||||
|
||||
val onClickedEvent: MutableLiveData<Event<ConversationContactOrSuggestionModel>> by lazy {
|
||||
MutableLiveData<Event<ConversationContactOrSuggestionModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
override fun displayHeaderForPosition(position: Int): Boolean {
|
||||
|
|
|
|||
|
|
@ -60,15 +60,15 @@ class ConversationEventAdapter :
|
|||
val chatMessageLongPressEvent = MutableLiveData<Event<MessageModel>>()
|
||||
|
||||
val showDeliveryForChatMessageModelEvent: MutableLiveData<Event<MessageModel>> by lazy {
|
||||
MutableLiveData<Event<MessageModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val showReactionForChatMessageModelEvent: MutableLiveData<Event<MessageModel>> by lazy {
|
||||
MutableLiveData<Event<MessageModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val scrollToRepliedMessageEvent: MutableLiveData<Event<MessageModel>> by lazy {
|
||||
MutableLiveData<Event<MessageModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private var isConversationSecured: Boolean = false
|
||||
|
|
|
|||
|
|
@ -41,11 +41,11 @@ class ConversationsListAdapter : ListAdapter<ConversationModel, RecyclerView.Vie
|
|||
var selectedAdapterPosition = -1
|
||||
|
||||
val conversationClickedEvent: MutableLiveData<Event<ConversationModel>> by lazy {
|
||||
MutableLiveData<Event<ConversationModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val conversationLongClickedEvent: MutableLiveData<Event<ConversationModel>> by lazy {
|
||||
MutableLiveData<Event<ConversationModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
||||
|
|
|
|||
|
|
@ -886,7 +886,7 @@ open class ConversationFragment : SlidingPaneChildFragment() {
|
|||
"$TAG Scrolling to message/event at position [$position], " +
|
||||
"display show events between positions [$firstDisplayedItemPosition] and [$lastDisplayedItemPosition]"
|
||||
)
|
||||
if (firstDisplayedItemPosition > position && position > 0) {
|
||||
if (position in 1..<firstDisplayedItemPosition) {
|
||||
recyclerView.scrollToPosition(position - 1)
|
||||
} else if (lastDisplayedItemPosition < position && position < layoutManager.itemCount - 1) {
|
||||
recyclerView.scrollToPosition(position + 1)
|
||||
|
|
|
|||
|
|
@ -158,7 +158,7 @@ class FileModel
|
|||
@AnyThread
|
||||
fun updateTransferProgress(percent: Int) {
|
||||
transferProgress.postValue(percent)
|
||||
if (percent < 0 || percent > 100) {
|
||||
if (percent !in 0..100) {
|
||||
transferProgressLabel.postValue("")
|
||||
} else {
|
||||
transferProgressLabel.postValue("$percent%")
|
||||
|
|
|
|||
|
|
@ -191,7 +191,7 @@ class MessageModel
|
|||
val formattedVoiceRecordingDuration = MutableLiveData<String>()
|
||||
|
||||
val dismissLongPressMenuEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
var isTextHighlighted = false
|
||||
|
|
|
|||
|
|
@ -42,11 +42,11 @@ abstract class AbstractConversationViewModel : GenericViewModel() {
|
|||
}
|
||||
|
||||
val chatRoomFoundEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val confirmGroupCallEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
lateinit var chatRoom: ChatRoom
|
||||
|
|
|
|||
|
|
@ -59,23 +59,23 @@ class ChatMessageLongPressViewModel : GenericViewModel() {
|
|||
val hasBeenRetracted = MutableLiveData<Boolean>()
|
||||
|
||||
val showImdnInfoEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val editMessageEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val replyToMessageEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val forwardMessageEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val deleteMessageEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val onDismissedEvent = MutableLiveData<Event<Boolean>>()
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ class ConversationDocumentsListViewModel
|
|||
val operationInProgress = MutableLiveData<Boolean>()
|
||||
|
||||
val openDocumentEvent: MutableLiveData<Event<FileModel>> by lazy {
|
||||
MutableLiveData<Event<FileModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private var totalDocumentsCount: Int = -1
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ class ConversationForwardMessageViewModel
|
|||
val operationInProgress = MutableLiveData<Boolean>()
|
||||
|
||||
val chatRoomCreatedEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private val chatRoomListener = object : ChatRoomListenerStub() {
|
||||
|
|
|
|||
|
|
@ -85,23 +85,23 @@ class ConversationInfoViewModel
|
|||
val disableAddContact = MutableLiveData<Boolean>()
|
||||
|
||||
val groupLeftEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val historyDeletedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val infoChangedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val showParticipantAdminPopupMenuEvent: MutableLiveData<Event<Pair<View, ParticipantModel>>> by lazy {
|
||||
MutableLiveData<Event<Pair<View, ParticipantModel>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val goToScheduleMeetingEvent: MutableLiveData<Event<Pair<String, ArrayList<String>>>> by lazy {
|
||||
MutableLiveData<Event<Pair<String, ArrayList<String>>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private val chatRoomListener = object : ChatRoomListenerStub() {
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ class ConversationMediaListViewModel
|
|||
val operationInProgress = MutableLiveData<Boolean>()
|
||||
|
||||
val openMediaEvent: MutableLiveData<Event<FileModel>> by lazy {
|
||||
MutableLiveData<Event<FileModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private var totalMediaCount: Int = -1
|
||||
|
|
|
|||
|
|
@ -107,43 +107,43 @@ class ConversationViewModel
|
|||
val unreadMessagesCount = MutableLiveData<Int>()
|
||||
|
||||
val focusSearchBarEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val fileToDisplayEvent: MutableLiveData<Event<FileModel>> by lazy {
|
||||
MutableLiveData<Event<FileModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val sipUriToCallEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val conferenceToJoinEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val openWebBrowserEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val contactToDisplayEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val messageDeletedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val updateEvents: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val forwardMessageEvent: MutableLiveData<Event<MessageModel>> by lazy {
|
||||
MutableLiveData<Event<MessageModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val voiceRecordPlaybackEndedEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
var eventsList = arrayListOf<EventLogModel>()
|
||||
|
|
|
|||
|
|
@ -120,23 +120,23 @@ class SendMessageInConversationViewModel
|
|||
}
|
||||
|
||||
val requestKeyboardHidingEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val emojiToAddEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val participantUsernameToAddEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val askRecordAudioPermissionEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val messageSentEvent: MutableLiveData<Event<ChatMessage>> by lazy {
|
||||
MutableLiveData<Event<ChatMessage>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
lateinit var chatRoom: ChatRoom
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ class StartConversationViewModel
|
|||
val operationInProgress = MutableLiveData<Boolean>()
|
||||
|
||||
val chatRoomCreatedEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private val chatRoomListener = object : ChatRoomListenerStub() {
|
||||
|
|
|
|||
|
|
@ -41,11 +41,11 @@ class ContactsListAdapter(
|
|||
var selectedAdapterPosition = -1
|
||||
|
||||
val contactClickedEvent: MutableLiveData<Event<ContactAvatarModel>> by lazy {
|
||||
MutableLiveData<Event<ContactAvatarModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val contactLongClickedEvent: MutableLiveData<Event<ContactAvatarModel>> by lazy {
|
||||
MutableLiveData<Event<ContactAvatarModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ class EditContactFragment : SlidingPaneChildFragment() {
|
|||
|
||||
private val backPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
showAbortConfirmationDialog()
|
||||
showAbortConfirmationDialogIfPendingChanges()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -121,7 +121,7 @@ class EditContactFragment : SlidingPaneChildFragment() {
|
|||
viewModel.findFriendByRefKey(refKey)
|
||||
|
||||
binding.setBackClickListener {
|
||||
showAbortConfirmationDialog()
|
||||
showAbortConfirmationDialogIfPendingChanges()
|
||||
}
|
||||
|
||||
binding.setPickImageClickListener {
|
||||
|
|
@ -215,7 +215,7 @@ class EditContactFragment : SlidingPaneChildFragment() {
|
|||
pickMedia.launch(PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly))
|
||||
}
|
||||
|
||||
private fun showAbortConfirmationDialog() {
|
||||
private fun showAbortConfirmationDialogIfPendingChanges() {
|
||||
if (!viewModel.isPendingChanges()) {
|
||||
Log.i("$TAG No changes detected, do not show confirmation dialog")
|
||||
backPressedCallback.isEnabled = false
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ class NewContactFragment : GenericMainFragment() {
|
|||
|
||||
private val backPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
showAbortConfirmationDialogIfNeededOrGoBack()
|
||||
showAbortConfirmationDialogIfPendingChanges()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -126,7 +126,7 @@ class NewContactFragment : GenericMainFragment() {
|
|||
viewModel.findFriendByRefKey("")
|
||||
|
||||
binding.setBackClickListener {
|
||||
showAbortConfirmationDialogIfNeededOrGoBack()
|
||||
showAbortConfirmationDialogIfPendingChanges()
|
||||
}
|
||||
|
||||
binding.setPickImageClickListener {
|
||||
|
|
@ -217,7 +217,7 @@ class NewContactFragment : GenericMainFragment() {
|
|||
pickMedia.launch(PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly))
|
||||
}
|
||||
|
||||
private fun showAbortConfirmationDialogIfNeededOrGoBack() {
|
||||
private fun showAbortConfirmationDialogIfPendingChanges() {
|
||||
if (!viewModel.isPendingChanges()) {
|
||||
Log.i("$TAG No changes detected, do not show confirmation dialog")
|
||||
backPressedCallback.isEnabled = false
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ class ContactNewOrEditViewModel
|
|||
val jobTitle = MutableLiveData<String>()
|
||||
|
||||
val saveChangesEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val friendFoundEvent = MutableLiveData<Event<Boolean>>()
|
||||
|
|
@ -85,6 +85,12 @@ class ContactNewOrEditViewModel
|
|||
|
||||
val removeNewNumberOrAddressFieldEvent = MutableLiveData<Event<NewOrEditNumberOrAddressModel>>()
|
||||
|
||||
private val sipAddressesBeforeEdit = arrayListOf<String>()
|
||||
|
||||
private val phoneNumbersBeforeEdit = arrayListOf<String>()
|
||||
|
||||
private val sipAddressesLinkedToPresence = arrayListOf<String>()
|
||||
|
||||
init {
|
||||
hideSipAddresses.postValue(corePreferences.hideSipAddresses)
|
||||
}
|
||||
|
|
@ -119,10 +125,14 @@ class ContactNewOrEditViewModel
|
|||
// Prevents showing presence address as editable when in fact it's not
|
||||
if (!LinphoneUtils.isSipAddressLinkedToPhoneNumberByPresence(friend, sipAddress)) {
|
||||
addSipAddress(sipAddress)
|
||||
sipAddressesBeforeEdit.add(sipAddress)
|
||||
} else {
|
||||
sipAddressesLinkedToPresence.add(sipAddress)
|
||||
}
|
||||
}
|
||||
|
||||
for (number in friend.phoneNumbersWithLabel) {
|
||||
phoneNumbersBeforeEdit.add(number.phoneNumber)
|
||||
addPhoneNumber(number.phoneNumber, number.label)
|
||||
}
|
||||
|
||||
|
|
@ -335,20 +345,23 @@ class ContactNewOrEditViewModel
|
|||
phoneNumbers.clear()
|
||||
company.value = ""
|
||||
jobTitle.value = ""
|
||||
sipAddressesBeforeEdit.clear()
|
||||
phoneNumbersBeforeEdit.clear()
|
||||
sipAddressesLinkedToPresence.clear()
|
||||
}
|
||||
|
||||
@UiThread
|
||||
fun isPendingChanges(): Boolean {
|
||||
if (isEdit.value == true) {
|
||||
Log.i("$TAG Contact is being edited, checking if at least one field has changed")
|
||||
if (firstName.value.orEmpty() != friend.firstName.orEmpty()) return true
|
||||
if (lastName.value.orEmpty() != friend.lastName.orEmpty()) return true
|
||||
if (picturePath.value.orEmpty() != friend.photo.orEmpty()) return true
|
||||
if (company.value.orEmpty() != friend.organization.orEmpty()) return true
|
||||
if (jobTitle.value.orEmpty() != friend.jobTitle.orEmpty()) return true
|
||||
|
||||
for (address in friend.addresses) {
|
||||
val sipAddress = address.asStringUriOnly()
|
||||
if (LinphoneUtils.isSipAddressLinkedToPhoneNumberByPresence(friend, sipAddress)) continue
|
||||
for (sipAddress in sipAddressesBeforeEdit) {
|
||||
if (sipAddressesLinkedToPresence.contains(sipAddress)) continue
|
||||
|
||||
val found = sipAddresses.find {
|
||||
it.isSip && it.value.value.orEmpty() == sipAddress
|
||||
|
|
@ -359,12 +372,12 @@ class ContactNewOrEditViewModel
|
|||
val sipAddress = address.value.value.orEmpty()
|
||||
if (sipAddress.isEmpty()) continue
|
||||
|
||||
val found = friend.addresses.find {
|
||||
it.asStringUriOnly() == sipAddress
|
||||
val found = sipAddressesBeforeEdit.find {
|
||||
it == sipAddress
|
||||
}
|
||||
if (found == null) return true
|
||||
}
|
||||
for (number in friend.phoneNumbers) {
|
||||
for (number in phoneNumbersBeforeEdit) {
|
||||
val found = phoneNumbers.find {
|
||||
!it.isSip && it.value.value.orEmpty() == number
|
||||
}
|
||||
|
|
@ -373,7 +386,7 @@ class ContactNewOrEditViewModel
|
|||
for (number in phoneNumbers) {
|
||||
if (number.value.value.orEmpty().isEmpty()) continue
|
||||
|
||||
val found = friend.phoneNumbers.find {
|
||||
val found = phoneNumbersBeforeEdit.find {
|
||||
it == number.value.value.orEmpty()
|
||||
}
|
||||
if (found == null) return true
|
||||
|
|
@ -382,6 +395,7 @@ class ContactNewOrEditViewModel
|
|||
return false
|
||||
}
|
||||
|
||||
Log.i("$TAG Checking if at least a field of the new contact form has been filled")
|
||||
return !picturePath.value.isNullOrEmpty() ||
|
||||
!firstName.value.isNullOrEmpty() ||
|
||||
!lastName.value.isNullOrEmpty() ||
|
||||
|
|
|
|||
|
|
@ -102,39 +102,39 @@ class ContactViewModel
|
|||
val operationInProgress = MutableLiveData<Boolean>()
|
||||
|
||||
val showLongPressMenuForNumberOrAddressEvent: MutableLiveData<Event<ContactNumberOrAddressModel>> by lazy {
|
||||
MutableLiveData<Event<ContactNumberOrAddressModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val showNumberOrAddressPickerDialogEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val openNativeContactEditor: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val openLinphoneContactEditor: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val goToConversationEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val vCardTerminatedEvent: MutableLiveData<Event<Pair<String, File>>> by lazy {
|
||||
MutableLiveData<Event<Pair<String, File>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val displayTrustProcessDialogEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val startCallToDeviceToIncreaseTrustEvent: MutableLiveData<Event<Triple<String, String, String>>> by lazy {
|
||||
MutableLiveData<Event<Triple<String, String, String>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val contactRemovedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private var expectedAction: Int = START_AUDIO_CALL
|
||||
|
|
|
|||
|
|
@ -74,11 +74,11 @@ class ContactsListViewModel
|
|||
val disableAddContact = MutableLiveData<Boolean>()
|
||||
|
||||
val vCardTerminatedEvent: MutableLiveData<Event<Pair<String, File>>> by lazy {
|
||||
MutableLiveData<Event<Pair<String, File>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val cardDavSynchronizationCompletedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private var previousFilter = "NotSet"
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ import org.linphone.utils.Event
|
|||
class EmptyFragment : GenericFragment() {
|
||||
private lateinit var binding: EmptyFragmentBinding
|
||||
|
||||
protected lateinit var sharedViewModel: SharedMainViewModel
|
||||
private lateinit var sharedViewModel: SharedMainViewModel
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
|
|
|
|||
|
|
@ -64,31 +64,31 @@ class HelpViewModel
|
|||
val canConfigFileBeViewed = MutableLiveData<Boolean>()
|
||||
|
||||
val newVersionAvailableEvent: MutableLiveData<Event<Pair<String, String>>> by lazy {
|
||||
MutableLiveData<Event<Pair<String, String>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val versionUpToDateEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val errorEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val debugLogsCleanedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val uploadDebugLogsFinishedEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val uploadDebugLogsErrorEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val showConfigFileEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private var versionClickCount: Int = 0
|
||||
|
|
|
|||
|
|
@ -37,15 +37,15 @@ class HistoryListAdapter : ListAdapter<CallLogModel, RecyclerView.ViewHolder>(Ca
|
|||
var selectedAdapterPosition = -1
|
||||
|
||||
val callLogClickedEvent: MutableLiveData<Event<CallLogModel>> by lazy {
|
||||
MutableLiveData<Event<CallLogModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val callLogLongClickedEvent: MutableLiveData<Event<CallLogModel>> by lazy {
|
||||
MutableLiveData<Event<CallLogModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val callLogCallBackClickedEvent: MutableLiveData<Event<CallLogModel>> by lazy {
|
||||
MutableLiveData<Event<CallLogModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
||||
|
|
|
|||
|
|
@ -47,11 +47,11 @@ class HistoryListViewModel
|
|||
val fetchInProgress = MutableLiveData<Boolean>()
|
||||
|
||||
val historyInsertedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val historyDeletedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private val coreListener = object : CoreListenerStub() {
|
||||
|
|
|
|||
|
|
@ -68,19 +68,19 @@ class HistoryViewModel
|
|||
val callLogFoundEvent = MutableLiveData<Event<Boolean>>()
|
||||
|
||||
val goToMeetingConversationEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val goToConversationEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val conferenceToJoinEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val historyDeletedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private lateinit var address: Address
|
||||
|
|
|
|||
|
|
@ -62,27 +62,27 @@ class StartCallViewModel
|
|||
val operationInProgress = MutableLiveData<Boolean>()
|
||||
|
||||
val appendDigitToSearchBarEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val removedCharacterAtCurrentPositionEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val clearSearchBarEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val requestKeyboardVisibilityChangedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val leaveFragmentEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val initiateBlindTransferEvent: MutableLiveData<Event<Pair<Address, String>>> by lazy {
|
||||
MutableLiveData<Event<Pair<Address, String>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private val conferenceListener = object : ConferenceListenerStub() {
|
||||
|
|
|
|||
|
|
@ -52,11 +52,11 @@ class MeetingsListAdapter :
|
|||
var selectedAdapterPosition = -1
|
||||
|
||||
val meetingClickedEvent: MutableLiveData<Event<MeetingModel>> by lazy {
|
||||
MutableLiveData<Event<MeetingModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val meetingLongClickedEvent: MutableLiveData<Event<MeetingModel>> by lazy {
|
||||
MutableLiveData<Event<MeetingModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
override fun displayHeaderForPosition(position: Int): Boolean {
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ open class CancelMeetingViewModel
|
|||
val operationInProgress = MutableLiveData<Boolean>()
|
||||
|
||||
val conferenceCancelledEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private var sendNotificationForCancelledConference: Boolean = false
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ class MeetingViewModel
|
|||
val endTimeStamp = MutableLiveData<Long>()
|
||||
|
||||
val conferenceInfoDeletedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private lateinit var conferenceInfo: ConferenceInfo
|
||||
|
|
|
|||
|
|
@ -79,15 +79,15 @@ class MeetingWaitingRoomViewModel
|
|||
val conferenceInfoFoundEvent = MutableLiveData<Event<Boolean>>()
|
||||
|
||||
val showAudioDevicesListEvent: MutableLiveData<Event<ArrayList<AudioDeviceModel>>> by lazy {
|
||||
MutableLiveData<Event<ArrayList<AudioDeviceModel>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val leaveWaitingRoomEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val conferenceCreationError: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private lateinit var conferenceAddress: Address
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ class ScheduleMeetingViewModel
|
|||
val chatDisabled = MutableLiveData<Boolean>()
|
||||
|
||||
val conferenceCreatedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private var startTimestamp = 0L
|
||||
|
|
|
|||
|
|
@ -45,11 +45,11 @@ class RecordingsListAdapter :
|
|||
var selectedAdapterPosition = -1
|
||||
|
||||
val recordingClickedEvent: MutableLiveData<Event<RecordingModel>> by lazy {
|
||||
MutableLiveData<Event<RecordingModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val recordingLongClickedEvent: MutableLiveData<Event<RecordingModel>> by lazy {
|
||||
MutableLiveData<Event<RecordingModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
override fun displayHeaderForPosition(position: Int): Boolean {
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ class RecordingModel
|
|||
val indexOfSeparator = withoutHeader.indexOf(
|
||||
LinphoneUtils.RECORDING_FILE_NAME_URI_TIMESTAMP_SEPARATOR
|
||||
)
|
||||
sipUri = withoutHeader.substring(0, indexOfSeparator)
|
||||
sipUri = withoutHeader.take(indexOfSeparator)
|
||||
val sipAddress = Factory.instance().createAddress(sipUri)
|
||||
displayName = if (sipAddress != null) {
|
||||
val contact = coreContext.contactsManager.findContactByAddress(sipAddress)
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ class RecordingsListViewModel
|
|||
val fetchInProgress = MutableLiveData<Boolean>()
|
||||
|
||||
val focusSearchBarEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
init {
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ class AccountProfileViewModel
|
|||
val showDeviceId = MutableLiveData<Boolean>()
|
||||
|
||||
val accountRemovedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private lateinit var account: Account
|
||||
|
|
|
|||
|
|
@ -64,11 +64,11 @@ class CardDavViewModel
|
|||
var pendingAuthInfo: AuthInfo? = null
|
||||
|
||||
val syncSuccessfulEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val friendListRemovedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private lateinit var friendList: FriendList
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ class LdapViewModel : GenericViewModel() {
|
|||
val verboseMode = MutableLiveData<Boolean>()
|
||||
|
||||
val ldapServerOperationSuccessfulEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private lateinit var ldapToEdit: Ldap
|
||||
|
|
|
|||
|
|
@ -66,11 +66,11 @@ class SettingsViewModel
|
|||
val isTunnelAvailable = MutableLiveData<Boolean>()
|
||||
|
||||
val recreateActivityEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val keepAliveServiceSettingChangedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
// Security settings
|
||||
|
|
@ -124,18 +124,18 @@ class SettingsViewModel
|
|||
val presenceSubscribe = MutableLiveData<Boolean>()
|
||||
|
||||
val addLdapServerEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
val editLdapServerEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val addCardDavServerEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val editCardDavServerEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
// Meetings settings
|
||||
|
|
|
|||
|
|
@ -61,11 +61,11 @@ class SingleSignOnViewModel
|
|||
private var username: String = ""
|
||||
|
||||
val startAuthIntentEvent: MutableLiveData<Event<Intent>> by lazy {
|
||||
MutableLiveData<Event<Intent>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val onErrorEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private lateinit var authState: AuthState
|
||||
|
|
|
|||
|
|
@ -73,31 +73,31 @@ open class AbstractMainViewModel
|
|||
val moreThanOneAccount = MutableLiveData<Boolean>()
|
||||
|
||||
val focusSearchBarEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val openDrawerMenuEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val navigateToHistoryEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val navigateToContactsEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val navigateToConversationsEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val navigateToMeetingsEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val defaultAccountChangedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
protected var currentFilter = ""
|
||||
|
|
|
|||
|
|
@ -71,11 +71,11 @@ abstract class AddressSelectionViewModel
|
|||
val showResultsLimitReached = MutableLiveData<Boolean>()
|
||||
|
||||
val showNumberOrAddressPickerDialogEvent: MutableLiveData<Event<List<ContactNumberOrAddressModel>>> by lazy {
|
||||
MutableLiveData<Event<List<ContactNumberOrAddressModel>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val dismissNumberOrAddressPickerDialogEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
protected var magicSearchSourceFlags = MagicSearch.Source.All.toInt()
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ open class DefaultAccountChangedViewModel : GenericViewModel() {
|
|||
}
|
||||
|
||||
val defaultAccountChangedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private val coreListener = object : CoreListenerStub() {
|
||||
|
|
|
|||
|
|
@ -55,23 +55,23 @@ class DrawerMenuViewModel
|
|||
val hideQuitButton = MutableLiveData<Boolean>()
|
||||
|
||||
val startAssistantEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val closeDrawerEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val showAccountPopupMenuEvent: MutableLiveData<Event<Pair<View, Account>>> by lazy {
|
||||
MutableLiveData<Event<Pair<View, Account>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val defaultAccountChangedEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val openLinkInBrowserEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private val coreListener = object : CoreListenerStub() {
|
||||
|
|
|
|||
|
|
@ -83,35 +83,35 @@ class MainViewModel
|
|||
val filesOrTextPendingSharingLabel = MutableLiveData<String>()
|
||||
|
||||
val goBackToCallEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val openDrawerEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val askPostNotificationsPermissionEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val askFullScreenIntentPermissionEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val showNewAccountToastEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val startLoadingContactsEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val lastAccountRemovedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val clearFilesOrTextPendingSharingEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
private var accountsFound = -1
|
||||
|
|
|
|||
|
|
@ -39,27 +39,27 @@ class SharedMainViewModel
|
|||
val isSlidingPaneSlideable = MutableLiveData<Boolean>()
|
||||
|
||||
val closeSlidingPaneEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val openSlidingPaneEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val navigateToHistoryEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val navigateToContactsEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val navigateToConversationsEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val navigateToMeetingsEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
var currentlyDisplayedFragment = MutableLiveData<Int>()
|
||||
|
|
@ -67,40 +67,40 @@ class SharedMainViewModel
|
|||
// Top bar related
|
||||
|
||||
val searchFilter: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val refreshDrawerMenuAccountsListEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val refreshDrawerMenuQuitButtonEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val forceUpdateAvailableNavigationItems: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
// Account Profile related
|
||||
|
||||
val goToAccountProfileEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
// Contacts related
|
||||
|
||||
var displayedFriend: Friend? = null // Prevents the need to go look for the friend
|
||||
val showContactEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val showNewContactEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val forceRefreshContactsList: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
var sipAddressToAddToNewContact: String = ""
|
||||
|
|
@ -108,11 +108,11 @@ class SharedMainViewModel
|
|||
// Call logs related
|
||||
|
||||
val forceRefreshCallLogsListEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val resetMissedCallsCountEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
// Conversation related
|
||||
|
|
@ -122,48 +122,48 @@ class SharedMainViewModel
|
|||
val filesToShareFromIntent = MutableLiveData<ArrayList<String>>()
|
||||
|
||||
val messageToForwardEvent: MutableLiveData<Event<MessageModel>> by lazy {
|
||||
MutableLiveData<Event<MessageModel>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
var displayedChatRoom: ChatRoom? = null // Prevents the need to go look for the chat room
|
||||
|
||||
val showConversationEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val hideConversationEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
// When using keyboard to share gif or other, see RichContentReceiver & RichEditText classes
|
||||
val richContentUri = MutableLiveData<Event<Uri>>()
|
||||
|
||||
val displayFileEvent: MutableLiveData<Event<Bundle>> by lazy {
|
||||
MutableLiveData<Event<Bundle>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val forceRefreshDisplayedConversationEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val forceRefreshConversationInfoEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val forceRefreshConversationEvents: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val newChatMessageEphemeralLifetimeToSetEvent: MutableLiveData<Event<Long>> by lazy {
|
||||
MutableLiveData<Event<Long>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val updateConversationLastMessageEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val updateUnreadMessageCountForCurrentConversationEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
// Meetings related
|
||||
|
|
@ -171,19 +171,19 @@ class SharedMainViewModel
|
|||
var displayedMeeting: ConferenceInfo? = null // Prevents the need to go look for the conference info
|
||||
|
||||
val meetingEditedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val forceRefreshMeetingsListEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val goToMeetingWaitingRoomEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
val goToScheduleMeetingEvent: MutableLiveData<Event<Pair<String, ArrayList<String>>>> by lazy {
|
||||
MutableLiveData<Event<Pair<String, ArrayList<String>>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
|
||||
// Recordings related
|
||||
|
|
@ -195,6 +195,6 @@ class SharedMainViewModel
|
|||
val mediaViewerFullScreenMode = MutableLiveData<Boolean>()
|
||||
|
||||
val listOfSelectedSipUrisEvent: MutableLiveData<Event<ArrayList<String>>> by lazy {
|
||||
MutableLiveData<Event<ArrayList<String>>>()
|
||||
MutableLiveData()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ class TimestampUtils {
|
|||
it.toString()
|
||||
}
|
||||
} ?: "?"
|
||||
val shorten = upperCased.substring(0, 3)
|
||||
val shorten = upperCased.take(3)
|
||||
return "$shorten."
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
|
||||
</shape>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<corners android:radius="48dp" />
|
||||
<solid android:color="?attr/color_danger_500" />
|
||||
</shape>
|
||||
|
|
@ -74,8 +74,6 @@
|
|||
<string name="conversation_event_security_event_level_downgraded">Úroveň bezpečnosti byla snížena kvůli %s</string>
|
||||
<string name="conversation_event_security_event_max_participant_count_exceeded">Maximální počet účastníků byl překročen o %s</string>
|
||||
<string name="meeting_schedule_add_more_participants_title">Klepnutím přidat další účastníky</string>
|
||||
<string name="meeting_schedule_delete_dialog_title">Smazat schůzku?</string>
|
||||
<string name="meeting_schedule_delete_dialog_message">Přejete si smazat schůzku?</string>
|
||||
<string name="call_zrtp_sas_validation_required">Je vyžadováno ověření</string>
|
||||
<string name="call_stats_fec_lost_packets_label">Ztracené pakety: %s</string>
|
||||
<string name="call_stats_zrtp_sas_algo">SAS algoritmus: %s</string>
|
||||
|
|
|
|||
|
|
@ -819,8 +819,6 @@
|
|||
<string name="conversation_event_security_event_level_downgraded">Sicherheitsstufe verringert wegen %s</string>
|
||||
<string name="conversation_event_security_event_max_participant_count_exceeded">Maximale Teilnehmerzahl um %s überschritten</string>
|
||||
<string name="meeting_cancel_action_label">Besprechung absagen</string>
|
||||
<string name="meeting_schedule_delete_dialog_title">Besprechung löschen?</string>
|
||||
<string name="meeting_schedule_delete_dialog_message">Möchten Sie die Besprechung löschen?</string>
|
||||
<string name="assistant_forgotten_password_title">Passwort vergessen</string>
|
||||
<string name="assistant_forgotten_password_message">Sie haben Ihren Account erstellt mit:</string>
|
||||
<string name="assistant_account_register_unavailable_no_push_warning">Benachrichtigungen scheinen auf Ihrem Gerät nicht verfügbar zu sein, sind allerdings nötig um einen Account in der App zu erstellen.\n\nWir laden Sie ein, stattdessen einen Account auf unserer Webplattform zu erstellen:</string>
|
||||
|
|
|
|||
|
|
@ -658,8 +658,6 @@
|
|||
<string name="meeting_schedule_notify_cancel_dialog_title">La réunion va être annulée</string>
|
||||
<string name="meeting_schedule_notify_cancel_dialog_message">Voulez-vous envoyer une notification aux participants ?</string>
|
||||
<string name="meeting_cancel_action_label">Annuler la réunion</string>
|
||||
<string name="meeting_schedule_delete_dialog_title">Supprimer la réunion ?</string>
|
||||
<string name="meeting_schedule_delete_dialog_message">Voulez-vous supprimer la réunion ?</string>
|
||||
<string name="meeting_delete_action_label">Supprimer la réunion</string>
|
||||
<string name="meeting_info_created_toast">Réunion créée</string>
|
||||
<string name="meeting_info_updated_toast">Réunion mise à jour</string>
|
||||
|
|
|
|||
|
|
@ -771,8 +771,6 @@
|
|||
<string name="meeting_schedule_description_title">Beschrijving</string>
|
||||
<string name="meeting_schedule_edit_title">Vergadering bewerken</string>
|
||||
<string name="meeting_cancel_action_label">Vergadering annuleren</string>
|
||||
<string name="meeting_schedule_delete_dialog_title">Vergadering verwijderen?</string>
|
||||
<string name="meeting_schedule_delete_dialog_message">Wil je de vergadering verwijderen?</string>
|
||||
<string name="meeting_delete_action_label">Vergadering verwijderen</string>
|
||||
<string name="meeting_info_created_toast">Vergadering is aangemaakt</string>
|
||||
<string name="meeting_info_updated_toast">Vergadering is bijgewerkt</string>
|
||||
|
|
|
|||
|
|
@ -18,13 +18,11 @@
|
|||
<string name="yesterday">Wczoraj</string>
|
||||
<plurals name="days">
|
||||
<item quantity="one">%s dzień</item>
|
||||
<item quantity="few"></item>
|
||||
<item quantity="many">%s dni</item>
|
||||
<item quantity="other">%s dni</item>
|
||||
</plurals>
|
||||
<plurals name="selection_count_label">
|
||||
<item quantity="one">%s wybrany</item>
|
||||
<item quantity="few"></item>
|
||||
<item quantity="many">%s wybranych</item>
|
||||
<item quantity="other">%s wybranych</item>
|
||||
</plurals>
|
||||
|
|
@ -55,13 +53,11 @@
|
|||
<string name="notification_file_transfer_startup_message">Trwa przesyłanie plików</string>
|
||||
<plurals name="notification_file_transfer_upload">
|
||||
<item quantity="one">%s plik jest przesyłany</item>
|
||||
<item quantity="few"></item>
|
||||
<item quantity="many">%s plików jest przesyłanych</item>
|
||||
<item quantity="other">%s plików jest przesyłanych</item>
|
||||
</plurals>
|
||||
<plurals name="notification_file_transfer_download">
|
||||
<item quantity="one">%s plik jest pobierany</item>
|
||||
<item quantity="few"></item>
|
||||
<item quantity="many">%s plików jest pobieranych</item>
|
||||
<item quantity="other">%s plików jest pobieranych</item>
|
||||
</plurals>
|
||||
|
|
@ -107,7 +103,7 @@
|
|||
<string name="assistant_create_account_using_email_on_our_web_platform">Załóż konto, podając swój adres e-mail na stronie:</string>
|
||||
<string name="assistant_already_have_an_account">Masz już konto?</string>
|
||||
<string name="assistant_sip_account_transport_protocol">Transport</string>
|
||||
<string name="assistant_third_party_sip_account_warning_explanation">Niektóre funkcje wymagają konta &appName;, np. wiadomości grupowe, wideokonferencje...\n\nFunkcje te są ukryte, gdy rejestrujesz się za pomocą konta SIP innej firmy.\n\nAby włączyć je w projekcie komercyjnym, skontaktuj się z nami.</string>
|
||||
<string name="assistant_third_party_sip_account_warning_explanation">Niektóre funkcje wymagają konta &appName;, np. wiadomości grupowe, wideokonferencje…\n\nFunkcje te są ukryte, gdy rejestrujesz się za pomocą konta SIP innej firmy.\n\nAby włączyć je w projekcie komercyjnym, skontaktuj się z nami.</string>
|
||||
<string name="assistant_third_party_sip_account_create_linphone_account">Wolę utworzyć konto &appName;</string>
|
||||
<string name="assistant_third_party_sip_account_warning_ok">Zrozumiałem</string>
|
||||
<string name="assistant_account_register_unavailable_no_push_warning">Powiadomienia push nie wydają się być dostępne na Twoim urządzeniu, ale są one obowiązkowe do utworzenia konta w aplikacji mobilnej.\n\nZapraszamy do utworzenia konta na naszej platformie internetowej:</string>
|
||||
|
|
|
|||
|
|
@ -504,8 +504,6 @@
|
|||
<string name="meeting_schedule_description_title">Descrição</string>
|
||||
<string name="meeting_schedule_edit_title">Editar reunião</string>
|
||||
<string name="meeting_cancel_action_label">Cancelar reunião</string>
|
||||
<string name="meeting_schedule_delete_dialog_title">Excluir a reunião?</string>
|
||||
<string name="meeting_schedule_delete_dialog_message">Você quer excluir a reunião?</string>
|
||||
<string name="meeting_delete_action_label">Excluir reunião</string>
|
||||
<string name="meeting_info_created_toast">A reunião foi criada</string>
|
||||
<string name="meeting_info_updated_toast">A reunião foi atualizada</string>
|
||||
|
|
|
|||
|
|
@ -486,8 +486,6 @@
|
|||
<string name="meeting_schedule_description_title">Описание</string>
|
||||
<string name="meeting_schedule_edit_title">Редактировать встречу</string>
|
||||
<string name="meeting_cancel_action_label">Отменить встречу</string>
|
||||
<string name="meeting_schedule_delete_dialog_title">Удалить встречу?</string>
|
||||
<string name="meeting_schedule_delete_dialog_message">Вы хотите удалить встречу?</string>
|
||||
<string name="meeting_delete_action_label">Удалить встречу</string>
|
||||
<string name="meeting_info_updated_toast">Встреча была обновлена</string>
|
||||
<string name="meeting_info_cancelled">Встреча отменена</string>
|
||||
|
|
|
|||
|
|
@ -566,8 +566,6 @@
|
|||
<string name="meeting_schedule_description_title">Popis</string>
|
||||
<string name="meeting_schedule_edit_title">Upraviť schôdzku</string>
|
||||
<string name="meeting_cancel_action_label">Zrušiť schôdzku</string>
|
||||
<string name="meeting_schedule_delete_dialog_title">Vymazať schôdzku?</string>
|
||||
<string name="meeting_schedule_delete_dialog_message">Želáte si vymazať schôdzku?</string>
|
||||
<string name="meeting_delete_action_label">Vymazať schôdzku</string>
|
||||
<string name="meeting_info_updated_toast">Schôdzka bola aktualizovaná</string>
|
||||
<string name="meeting_info_cancelled_toast">Schôdzka bola zrušená</string>
|
||||
|
|
|
|||
|
|
@ -599,8 +599,6 @@
|
|||
<string name="meeting_schedule_description_title">Опис</string>
|
||||
<string name="meeting_schedule_edit_title">Редагувати нараду</string>
|
||||
<string name="meeting_cancel_action_label">Скасувати нараду</string>
|
||||
<string name="meeting_schedule_delete_dialog_title">Видалити нараду?</string>
|
||||
<string name="meeting_schedule_delete_dialog_message">Ви хочете видалити нараду?</string>
|
||||
<string name="meeting_delete_action_label">Видалити нараду</string>
|
||||
<string name="meeting_info_created_toast">Нараду створено</string>
|
||||
<string name="meeting_info_updated_toast">Нараду оновлено</string>
|
||||
|
|
|
|||
|
|
@ -531,8 +531,6 @@
|
|||
<string name="meeting_schedule_description_title">描述</string>
|
||||
<string name="meeting_schedule_edit_title">编辑会议</string>
|
||||
<string name="meeting_cancel_action_label">取消会议</string>
|
||||
<string name="meeting_schedule_delete_dialog_title">删除会议?</string>
|
||||
<string name="meeting_schedule_delete_dialog_message">您想删除会议吗?</string>
|
||||
<string name="meeting_delete_action_label">删除会议</string>
|
||||
<string name="meeting_info_created_toast">会议已创建</string>
|
||||
<string name="meeting_info_updated_toast">会议已更新</string>
|
||||
|
|
|
|||
|
|
@ -701,8 +701,6 @@
|
|||
<string name="meeting_schedule_notify_cancel_dialog_title">Meeting will be cancelled</string>
|
||||
<string name="meeting_schedule_notify_cancel_dialog_message">Do you want to send a notification to all participants?</string>
|
||||
<string name="meeting_cancel_action_label">Cancel meeting</string>
|
||||
<string name="meeting_schedule_delete_dialog_title">Delete the meeting?</string>
|
||||
<string name="meeting_schedule_delete_dialog_message">Do you want to delete the meeting?</string>
|
||||
<string name="meeting_delete_action_label">Delete meeting</string>
|
||||
<string name="meeting_info_created_toast">Meeting has been created</string>
|
||||
<string name="meeting_info_updated_toast">Meeting has been updated</string>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue