Trying to prevent crash in call history trying to get CallLog ID
This commit is contained in:
parent
09bde054d0
commit
feec8b9758
5 changed files with 21 additions and 5 deletions
|
@ -22,6 +22,15 @@ Group changes to describe their impact on the project, as follows:
|
||||||
- Replaced voice recordings file name by localized placeholder text, like for video conferences invitations
|
- Replaced voice recordings file name by localized placeholder text, like for video conferences invitations
|
||||||
- Removed jetifier as it is not needed
|
- Removed jetifier as it is not needed
|
||||||
|
|
||||||
|
## [5.0.8] - 2023-03-20
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Trying to prevent crash in call history
|
||||||
|
- Color icon in dark mode in chat for files & replies
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Updated translations
|
||||||
|
|
||||||
## [5.0.7] - 2023-02-27
|
## [5.0.7] - 2023-02-27
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
|
@ -145,7 +145,7 @@ private class CallLogDiffCallback : DiffUtil.ItemCallback<GroupedCallLogData>()
|
||||||
oldItem: GroupedCallLogData,
|
oldItem: GroupedCallLogData,
|
||||||
newItem: GroupedCallLogData
|
newItem: GroupedCallLogData
|
||||||
): Boolean {
|
): Boolean {
|
||||||
return oldItem.lastCallLog.callId == newItem.lastCallLog.callId
|
return oldItem.lastCallLogId == newItem.lastCallLogId
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun areContentsTheSame(
|
override fun areContentsTheSame(
|
||||||
|
|
|
@ -23,8 +23,10 @@ import org.linphone.activities.main.history.viewmodels.CallLogViewModel
|
||||||
import org.linphone.core.CallLog
|
import org.linphone.core.CallLog
|
||||||
|
|
||||||
class GroupedCallLogData(callLog: CallLog) {
|
class GroupedCallLogData(callLog: CallLog) {
|
||||||
var lastCallLog: CallLog = callLog
|
|
||||||
val callLogs = arrayListOf(callLog)
|
val callLogs = arrayListOf(callLog)
|
||||||
|
|
||||||
|
var lastCallLog: CallLog = callLog
|
||||||
|
var lastCallLogId: String? = callLog.callId
|
||||||
val lastCallLogViewModel: CallLogViewModel
|
val lastCallLogViewModel: CallLogViewModel
|
||||||
get() {
|
get() {
|
||||||
if (::_lastCallLogViewModel.isInitialized) {
|
if (::_lastCallLogViewModel.isInitialized) {
|
||||||
|
@ -41,4 +43,9 @@ class GroupedCallLogData(callLog: CallLog) {
|
||||||
lastCallLogViewModel
|
lastCallLogViewModel
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun updateLastCallLog(callLog: CallLog) {
|
||||||
|
lastCallLog = callLog
|
||||||
|
lastCallLogId = callLog.callId
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -160,7 +160,7 @@ class MasterCallLogsFragment : MasterFragment<HistoryMasterFragmentBinding, Call
|
||||||
val deletedCallGroup = adapter.currentList[index]
|
val deletedCallGroup = adapter.currentList[index]
|
||||||
listViewModel.deleteCallLogGroup(deletedCallGroup)
|
listViewModel.deleteCallLogGroup(deletedCallGroup)
|
||||||
if (!binding.slidingPane.isSlideable &&
|
if (!binding.slidingPane.isSlideable &&
|
||||||
deletedCallGroup.lastCallLog.callId == sharedViewModel.selectedCallLogGroup.value?.lastCallLog?.callId
|
deletedCallGroup.lastCallLogId == sharedViewModel.selectedCallLogGroup.value?.lastCallLogId
|
||||||
) {
|
) {
|
||||||
Log.i("[History] Currently displayed history has been deleted, removing detail fragment")
|
Log.i("[History] Currently displayed history has been deleted, removing detail fragment")
|
||||||
clearDisplayedCallHistory()
|
clearDisplayedCallHistory()
|
||||||
|
@ -282,7 +282,7 @@ class MasterCallLogsFragment : MasterFragment<HistoryMasterFragmentBinding, Call
|
||||||
val callLogGroup = adapter.currentList[index]
|
val callLogGroup = adapter.currentList[index]
|
||||||
list.add(callLogGroup)
|
list.add(callLogGroup)
|
||||||
|
|
||||||
if (callLogGroup.lastCallLog.callId == sharedViewModel.selectedCallLogGroup.value?.lastCallLog?.callId) {
|
if (callLogGroup.lastCallLogId == sharedViewModel.selectedCallLogGroup.value?.lastCallLogId) {
|
||||||
closeSlidingPane = true
|
closeSlidingPane = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,7 +127,7 @@ class CallLogsListViewModel : ViewModel() {
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
previousCallLogGroup.callLogs.add(callLog)
|
previousCallLogGroup.callLogs.add(callLog)
|
||||||
previousCallLogGroup.lastCallLog = callLog
|
previousCallLogGroup.updateLastCallLog(callLog)
|
||||||
} else {
|
} else {
|
||||||
list.add(previousCallLogGroup)
|
list.add(previousCallLogGroup)
|
||||||
previousCallLogGroup = GroupedCallLogData(callLog)
|
previousCallLogGroup = GroupedCallLogData(callLog)
|
||||||
|
|
Loading…
Reference in a new issue