Fix list pickers

pull/3276/head
Alex Baker 11 months ago
parent d31c7a820b
commit f588551bca

@ -121,7 +121,17 @@ class FilterSelectionActivity : AppCompatActivity() {
}
}
fun ComponentActivity.registerForListPickerResult(callback: (Filter) -> Unit): ActivityResultLauncher<Intent> {
fun Fragment.registerForFilterPickerResult(callback: (Filter) -> Unit): ActivityResultLauncher<Intent> {
return registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
it.data?.let { intent ->
IntentCompat
.getParcelableExtra(intent, EXTRA_FILTER, Filter::class.java)
?.let(callback)
}
}
}
fun ComponentActivity.registerForFilterPickerResult(callback: (Filter) -> Unit): ActivityResultLauncher<Intent> {
return registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
it.data?.let { intent ->
IntentCompat

@ -7,7 +7,7 @@ import kotlinx.coroutines.launch
import org.tasks.LocalBroadcastManager
import org.tasks.R
import org.tasks.compose.FilterSelectionActivity.Companion.launch
import org.tasks.compose.FilterSelectionActivity.Companion.registerForListPickerResult
import org.tasks.compose.FilterSelectionActivity.Companion.registerForFilterPickerResult
import org.tasks.injection.InjectingPreferenceFragment
import org.tasks.preferences.DefaultFilterProvider
import javax.inject.Inject
@ -18,7 +18,7 @@ class DashClock : InjectingPreferenceFragment() {
@Inject lateinit var defaultFilterProvider: DefaultFilterProvider
@Inject lateinit var localBroadcastManager: LocalBroadcastManager
private val listPickerLauncher = registerForListPickerResult {
private val listPickerLauncher = registerForFilterPickerResult {
defaultFilterProvider.dashclockFilter = it
lifecycleScope.launch {
refreshPreferences()

@ -18,14 +18,13 @@ import org.tasks.R
import org.tasks.billing.Inventory
import org.tasks.billing.PurchaseActivity
import org.tasks.compose.FilterSelectionActivity.Companion.launch
import org.tasks.compose.FilterSelectionActivity.Companion.registerForListPickerResult
import org.tasks.compose.FilterSelectionActivity.Companion.registerForFilterPickerResult
import org.tasks.dialogs.ColorPalettePicker
import org.tasks.dialogs.ColorPalettePicker.Companion.newColorPalette
import org.tasks.dialogs.ColorPickerAdapter
import org.tasks.dialogs.ColorWheelPicker
import org.tasks.dialogs.ThemePickerDialog
import org.tasks.dialogs.ThemePickerDialog.Companion.newThemePickerDialog
import org.tasks.extensions.Context.isNightMode
import org.tasks.injection.InjectingPreferenceFragment
import org.tasks.locale.LocalePickerDialog
import org.tasks.preferences.DefaultFilterProvider
@ -51,7 +50,7 @@ class LookAndFeel : InjectingPreferenceFragment() {
@Inject lateinit var inventory: Inventory
@Inject lateinit var locale: Locale
private val listPickerLauncher = registerForListPickerResult {
private val listPickerLauncher = registerForFilterPickerResult {
defaultFilterProvider.setDefaultOpenFilter(it)
findPreference(R.string.p_default_open_filter).summary = it.title
localBroadcastManager.broadcastRefresh()

@ -20,7 +20,7 @@ import kotlinx.coroutines.launch
import org.tasks.LocalBroadcastManager
import org.tasks.R
import org.tasks.compose.FilterSelectionActivity.Companion.launch
import org.tasks.compose.FilterSelectionActivity.Companion.registerForListPickerResult
import org.tasks.compose.FilterSelectionActivity.Companion.registerForFilterPickerResult
import org.tasks.dialogs.MyTimePickerDialog.Companion.newTimePicker
import org.tasks.extensions.Context.getResourceUri
import org.tasks.extensions.Context.openChannelNotificationSettings
@ -42,7 +42,7 @@ class Notifications : InjectingPreferenceFragment() {
@Inject lateinit var localBroadcastManager: LocalBroadcastManager
@Inject lateinit var voiceOutputAssistant: VoiceOutputAssistant
private val listPickerLauncher = registerForListPickerResult {
private val listPickerLauncher = registerForFilterPickerResult {
defaultFilterProvider.setBadgeFilter(it)
findPreference(R.string.p_badge_list).summary = it.title
localBroadcastManager.broadcastRefresh()

@ -16,7 +16,6 @@ import org.tasks.compose.FilterSelectionActivity.Companion.launch
import org.tasks.compose.FilterSelectionActivity.Companion.registerForListPickerResult
import org.tasks.data.dao.LocationDao
import org.tasks.data.dao.TagDataDao
import org.tasks.data.displayName
import org.tasks.data.entity.CaldavAccount
import org.tasks.data.entity.Place
import org.tasks.data.entity.TagData

@ -4,7 +4,7 @@ import android.os.Bundle
import dagger.hilt.android.AndroidEntryPoint
import org.tasks.R
import org.tasks.compose.FilterSelectionActivity.Companion.launch
import org.tasks.compose.FilterSelectionActivity.Companion.registerForListPickerResult
import org.tasks.compose.FilterSelectionActivity.Companion.registerForFilterPickerResult
import org.tasks.filters.Filter
import org.tasks.injection.InjectingPreferenceFragment
import org.tasks.locale.bundle.ListNotificationBundle
@ -30,7 +30,7 @@ class TaskerListNotification : InjectingPreferenceFragment() {
lateinit var filter: Filter
var cancelled: Boolean = false
private val listPickerLauncher = registerForListPickerResult {
private val listPickerLauncher = registerForFilterPickerResult {
filter = it
refreshPreferences()
}

@ -22,7 +22,7 @@ import kotlinx.coroutines.launch
import org.tasks.LocalBroadcastManager
import org.tasks.R
import org.tasks.compose.FilterSelectionActivity.Companion.launch
import org.tasks.compose.FilterSelectionActivity.Companion.registerForListPickerResult
import org.tasks.compose.FilterSelectionActivity.Companion.registerForFilterPickerResult
import org.tasks.dialogs.ColorPalettePicker
import org.tasks.dialogs.ColorPalettePicker.Companion.newColorPalette
import org.tasks.dialogs.ColorPickerAdapter.Palette
@ -64,7 +64,7 @@ class WidgetSettings : InjectingPreferenceFragment() {
private lateinit var widgetPreferences: WidgetPreferences
private var appWidgetId = 0
private val listPickerLauncher = registerForListPickerResult {
private val listPickerLauncher = registerForFilterPickerResult {
widgetPreferences.setFilter(defaultFilterProvider.getFilterPreferenceValue(it))
updateFilter()
}

@ -12,7 +12,7 @@ import dagger.hilt.android.AndroidEntryPoint
import org.tasks.R
import org.tasks.Strings.isNullOrEmpty
import org.tasks.compose.FilterSelectionActivity.Companion.launch
import org.tasks.compose.FilterSelectionActivity.Companion.registerForListPickerResult
import org.tasks.compose.FilterSelectionActivity.Companion.registerForFilterPickerResult
import org.tasks.data.UUIDHelper
import org.tasks.databinding.ActivityWidgetShortcutLayoutBinding
import org.tasks.dialogs.ColorPalettePicker
@ -38,7 +38,7 @@ class ShortcutConfigActivity : ThemedInjectingAppCompatActivity(), ColorPaletteP
private var selectedFilter: Filter? = null
private var selectedTheme = 0
private val listPickerResult = registerForListPickerResult {
private val listPickerResult = registerForFilterPickerResult {
if (selectedFilter != null && selectedFilter!!.title == getShortcutName()) {
shortcutName.text = null
}

Loading…
Cancel
Save