@ -172,14 +172,14 @@ class MainSettingsFragment : InjectingPreferenceFragment() {
}
}
}
setupErrorIcon ( pref , account . error )
setupErrorIcon ( pref , account . hasError, account . isEteSyncAccount )
}
private fun setup ( account : GoogleTaskAccount , pref : IconPreference ) {
pref . setTitle ( R . string . gtasks _GPr _header )
pref . setIcon ( R . drawable . ic _google )
pref . summary = account . account
setupErrorIcon ( pref , account . e rror)
setupErrorIcon ( pref , account . hasE rror)
pref . setOnPreferenceClickListener {
( activity as MainPreferences ) . startPreference (
this ,
@ -190,19 +190,22 @@ class MainSettingsFragment : InjectingPreferenceFragment() {
}
}
private fun setupErrorIcon ( pref : IconPreference , error : String ? ) {
val hasError = ! error . isNullOrBlank ( )
private fun setupErrorIcon (
pref : IconPreference ,
hasError : Boolean ,
hasWarning : Boolean = false
) {
pref . drawable = ContextCompat
. getDrawable ( requireContext ( ) , if ( hasError ) {
R . drawable . ic _outline _error _outline _24px
} else {
R . drawable . ic _keyboard _arrow _right _24px
. getDrawable ( requireContext ( ) , when {
hasError -> R . drawable . ic _outline _error _outline _24px
hasWarning -> R . drawable . ic _outline _error _outline _24px
else -> R . drawable . ic _keyboard _arrow _right _24px
} )
?. mutate ( )
pref . tint = context ?. getColor ( if ( hasError ) {
R . color . overdue
} else {
R . color . icon _tint _with _alpha
pref . tint = context ?. getColor ( when {
hasError -> R . color . overdue
hasWarning -> R . color . orange _500
else -> R . color . icon _tint _with _alpha
} )
}