mirror of
https://github.com/nextcloud/talk-android.git
synced 2024-11-29 18:08:58 +03:00
Merge pull request #3801 from nextcloud/bugfix/noid/fixNpeForMissingServerVersion
avoid NPE when serverVersion is not known
This commit is contained in:
commit
a17d5132d0
4 changed files with 16 additions and 6 deletions
|
@ -321,7 +321,7 @@ class ServerSelectionActivity : BaseActivity() {
|
|||
|
||||
if (hasTalk) {
|
||||
runOnUiThread {
|
||||
if (CapabilitiesUtil.isServerEOL(capabilitiesOverall.ocs?.data?.serverVersion?.major!!)) {
|
||||
if (CapabilitiesUtil.isServerEOL(capabilitiesOverall.ocs?.data?.serverVersion?.major)) {
|
||||
if (resources != null) {
|
||||
runOnUiThread {
|
||||
setErrorText(resources!!.getString(R.string.nc_settings_server_eol))
|
||||
|
|
|
@ -270,7 +270,7 @@ class ConversationsListActivity :
|
|||
}
|
||||
currentUser = userManager.currentUser.blockingGet()
|
||||
if (currentUser != null) {
|
||||
if (isServerEOL(currentUser!!.serverVersion!!.major)) {
|
||||
if (isServerEOL(currentUser!!.serverVersion?.major)) {
|
||||
showServerEOLDialog()
|
||||
return
|
||||
}
|
||||
|
|
|
@ -835,7 +835,7 @@ class SettingsActivity : BaseActivity(), SetPhoneNumberDialogFragment.SetPhoneNu
|
|||
|
||||
private fun setupServerAgeWarning() {
|
||||
when {
|
||||
CapabilitiesUtil.isServerEOL(currentUser!!.serverVersion!!.major) -> {
|
||||
CapabilitiesUtil.isServerEOL(currentUser!!.serverVersion?.major) -> {
|
||||
binding.serverAgeWarningText.setTextColor(ContextCompat.getColor((context), R.color.nc_darkRed))
|
||||
binding.serverAgeWarningText.setText(R.string.nc_settings_server_eol)
|
||||
binding.serverAgeWarningIcon.setColorFilter(
|
||||
|
@ -844,7 +844,7 @@ class SettingsActivity : BaseActivity(), SetPhoneNumberDialogFragment.SetPhoneNu
|
|||
)
|
||||
}
|
||||
|
||||
CapabilitiesUtil.isServerAlmostEOL(currentUser!!.serverVersion!!.major) -> {
|
||||
CapabilitiesUtil.isServerAlmostEOL(currentUser!!.serverVersion?.major) -> {
|
||||
binding.serverAgeWarningText.setTextColor(
|
||||
ContextCompat.getColor((context), R.color.nc_darkYellow)
|
||||
)
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
*/
|
||||
package com.nextcloud.talk.utils
|
||||
|
||||
import android.util.Log
|
||||
import com.nextcloud.talk.data.user.model.User
|
||||
import com.nextcloud.talk.models.json.capabilities.SpreedCapability
|
||||
|
||||
|
@ -59,11 +60,19 @@ enum class SpreedFeatures(val value: String) {
|
|||
object CapabilitiesUtil {
|
||||
|
||||
//region Version checks
|
||||
fun isServerEOL(serverVersion: Int): Boolean {
|
||||
fun isServerEOL(serverVersion: Int?): Boolean {
|
||||
if (serverVersion == null) {
|
||||
Log.w(TAG, "serverVersion is unknown. It is assumed that it is up to date")
|
||||
return false
|
||||
}
|
||||
return (serverVersion < SERVER_VERSION_MIN_SUPPORTED)
|
||||
}
|
||||
|
||||
fun isServerAlmostEOL(serverVersion: Int): Boolean {
|
||||
fun isServerAlmostEOL(serverVersion: Int?): Boolean {
|
||||
if (serverVersion == null) {
|
||||
Log.w(TAG, "serverVersion is unknown. It is assumed that it is up to date")
|
||||
return false
|
||||
}
|
||||
return (serverVersion < SERVER_VERSION_SUPPORT_WARNING)
|
||||
}
|
||||
|
||||
|
@ -271,6 +280,7 @@ object CapabilitiesUtil {
|
|||
|
||||
// endregion
|
||||
|
||||
private val TAG = CapabilitiesUtil::class.java.simpleName
|
||||
const val DEFAULT_CHAT_SIZE = 1000
|
||||
const val RECORDING_CONSENT_NOT_REQUIRED = 0
|
||||
const val RECORDING_CONSENT_REQUIRED = 1
|
||||
|
|
Loading…
Reference in a new issue