NTP-34505 | Naman Khurmi | oe crash fix with safety checks. (#14817)

This commit is contained in:
Naman Khurmi
2025-02-05 16:47:14 +05:30
committed by GitHub
parent 82a1958351
commit e994ac80b8

View File

@@ -102,18 +102,22 @@ object BaseUtils {
PreferenceManager.saveStringSecurely(CommonPrefConstants.EMAIL, email)
}
fun isNetworkAvailable(context: Context): Boolean {
val connectivityManager =
context.getSystemService(Context.CONNECTIVITY_SERVICE) as? ConnectivityManager
val network = connectivityManager?.activeNetwork ?: return false
val activeNetwork = connectivityManager.getNetworkCapabilities(network) ?: return false
return when {
activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> true
activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> true
activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> true
else -> false
}
}
fun isNetworkAvailable(context: Context?): Boolean =
context?.let {
runCatching {
val connectivityManager =
it.getSystemService(ConnectivityManager::class.java) ?: return false
val activeNetwork =
connectivityManager.getNetworkCapabilities(
connectivityManager.activeNetwork
) ?: return false
activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) ||
activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) ||
activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET)
}
.getOrDefault(false)
} ?: false
fun isFirebaseTokenRefreshed(): Boolean {
return PreferenceManager.getBooleanPreferenceApp(
@@ -177,9 +181,9 @@ object BaseUtils {
return decimalString
}
fun stripTrailingCharacters(str: String, char: Char): String {
private fun stripTrailingCharacters(str: String, char: Char): String {
val sb: StringBuilder = StringBuilder(str)
while (sb.length > 0 && sb[sb.length - 1] == char) {
while (sb.isNotEmpty() && sb[sb.length - 1] == char) {
sb.setLength(sb.length - 1)
}
return sb.toString()
@@ -274,20 +278,22 @@ object BaseUtils {
numberInWords = numberInWords.plus(twoDigitNumberToWords(lastDigits))
}
}
if (numberInStringFormat.length > 3) {
numberInStringFormat = numberInStringFormat.drop(2)
} else if (numberInStringFormat.length > 2) {
numberInStringFormat = numberInStringFormat.drop(1)
} else {
numberInStringFormat = ""
}
numberInStringFormat =
if (numberInStringFormat.length > 3) {
numberInStringFormat.drop(2)
} else if (numberInStringFormat.length > 2) {
numberInStringFormat.drop(1)
} else {
""
}
}
numberInWords = numberInWords.trim().replaceFirstChar { it.uppercase() }
if (numberInWords == "One") {
numberInWords = numberInWords.plus(" $unitSingular")
} else {
numberInWords = numberInWords.plus(" $unitPlural")
}
numberInWords =
if (numberInWords == "One") {
numberInWords.plus(" $unitSingular")
} else {
numberInWords.plus(" $unitPlural")
}
return numberInWords
} else {
return EMPTY
@@ -367,7 +373,7 @@ object BaseUtils {
context?.startActivity(mainIntent)
try {
Runtime.getRuntime().exit(0)
} catch (e: Exception) {}
} catch (_: Exception) {}
}
/**
@@ -413,12 +419,12 @@ object BaseUtils {
}
fun saveUpdatedVersionCodeAndRestart(updatedVersionCode: String?, context: Context?) {
val updatedVersionCode =
val isVersionCodeUpdated =
checkDiffAndSaveDataInSharedPreference(
sharedPrefKey = UPDATED_VERSION_CODE,
updatedValue = updatedVersionCode,
)
if (updatedVersionCode) {
if (isVersionCodeUpdated) {
triggerAppRestart(context = context)
}
}