Add PreferenceScreen.removeAt extension

pull/1305/head
Alex Baker 5 years ago
parent 6afa14dafd
commit 5c4d202a75

@ -78,9 +78,7 @@ class MainSettingsFragment : InjectingPreferenceFragment() {
preferenceScreen.insertAt(current++) preferenceScreen.insertAt(current++)
}) })
} }
repeat(current.until(index).count()) { preferenceScreen.removeAt(current, index - current)
preferenceScreen.removePreference(preferenceScreen.getPreference(current))
}
if (caldavAccounts.isEmpty() && googleTaskAccounts.isEmpty()) { if (caldavAccounts.isEmpty() && googleTaskAccounts.isEmpty()) {
addAccount.setTitle(R.string.not_signed_in) addAccount.setTitle(R.string.not_signed_in)
addAccount.setIcon(R.drawable.ic_outline_cloud_24px) addAccount.setIcon(R.drawable.ic_outline_cloud_24px)
@ -225,6 +223,11 @@ class MainSettingsFragment : InjectingPreferenceFragment() {
const val REQUEST_GOOGLE_TASKS = 10014 const val REQUEST_GOOGLE_TASKS = 10014
const val REQUEST_TASKS_ORG = 10016 const val REQUEST_TASKS_ORG = 10016
fun PreferenceScreen.removeAt(index: Int, count: Int = 1) {
repeat(count) {
removePreference(getPreference(index))
}
}
fun PreferenceScreen.indexOf(pref: Preference): Int = fun PreferenceScreen.indexOf(pref: Preference): Int =
0.until(preferenceCount).first { pref == getPreference(it) } 0.until(preferenceCount).first { pref == getPreference(it) }

Loading…
Cancel
Save