Update filter fields

pull/2556/head
Alex Baker 2 years ago
parent da8467ac56
commit 60784c10b5

@ -184,11 +184,11 @@ class MainActivity : AppCompatActivity(), TaskListFragmentCallbackHandler {
broughtToFront: ${intent.broughtToFront} broughtToFront: ${intent.broughtToFront}
isFromHistory: ${intent.isFromHistory} isFromHistory: ${intent.isFromHistory}
flags: ${intent.flagsToString} flags: ${intent.flagsToString}
OPEN_FILTER: ${openFilter?.let { "${it.listingTitle}: $it" }} OPEN_FILTER: ${openFilter?.let { "${it.title}: $it" }}
LOAD_FILTER: $loadFilter LOAD_FILTER: $loadFilter
OPEN_TASK: ${intent.getParcelableExtra<Task>(OPEN_TASK)} OPEN_TASK: ${intent.getParcelableExtra<Task>(OPEN_TASK)}
CREATE_TASK: ${intent.hasExtra(CREATE_TASK)} CREATE_TASK: ${intent.hasExtra(CREATE_TASK)}
taskListFragment: ${taskListFragment?.getFilter()?.let { "${it.listingTitle}: $it" }} taskListFragment: ${taskListFragment?.getFilter()?.let { "${it.title}: $it" }}
taskEditFragment: ${taskEditFragment?.editViewModel?.task} taskEditFragment: ${taskEditFragment?.editViewModel?.task}
**********""" **********"""
) )
@ -306,7 +306,7 @@ class MainActivity : AppCompatActivity(), TaskListFragmentCallbackHandler {
private fun applyTheme() { private fun applyTheme() {
val filterColor = filterColor val filterColor = filterColor
filterColor.applyToNavigationBar(this) filterColor.applyToNavigationBar(this)
filterColor.applyTaskDescription(this, filter?.listingTitle ?: getString(R.string.app_name)) filterColor.applyTaskDescription(this, filter?.title ?: getString(R.string.app_name))
theme.withThemeColor(filterColor).applyToContext(this) theme.withThemeColor(filterColor).applyToContext(this)
} }

@ -291,7 +291,7 @@ class TaskListFragment : Fragment(), OnRefreshListener, Toolbar.OnMenuItemClickL
} }
setupRefresh(swipeRefreshLayout) setupRefresh(swipeRefreshLayout)
setupRefresh(emptyRefreshLayout) setupRefresh(emptyRefreshLayout)
binding.toolbar.title = filter.listingTitle binding.toolbar.title = filter.title
binding.appbarlayout.addOnOffsetChangedListener { _, verticalOffset -> binding.appbarlayout.addOnOffsetChangedListener { _, verticalOffset ->
if (verticalOffset == 0 && binding.bottomAppBar.isScrolledDown) { if (verticalOffset == 0 && binding.bottomAppBar.isScrolledDown) {
binding.bottomAppBar.performShow() binding.bottomAppBar.performShow()
@ -779,7 +779,7 @@ class TaskListFragment : Fragment(), OnRefreshListener, Toolbar.OnMenuItemClickL
val intent = ShareCompat val intent = ShareCompat
.IntentBuilder(requireContext()) .IntentBuilder(requireContext())
.setType("text/plain") .setType("text/plain")
.setSubject(filter.listingTitle) .setSubject(filter.title)
.setText(output) .setText(output)
.createChooserIntent() .createChooserIntent()
startActivity(intent) startActivity(intent)

@ -28,7 +28,7 @@ class ActionViewHolder internal constructor(
} }
fun bind(filter: NavigationDrawerAction) { fun bind(filter: NavigationDrawerAction) {
text.text = filter.listingTitle text.text = filter.title
icon.setImageDrawable(DrawableUtil.getWrapped(context, filter.icon)) icon.setImageDrawable(DrawableUtil.getWrapped(context, filter.icon))
row.setOnClickListener { row.setOnClickListener {
onClick.invoke(filter) onClick.invoke(filter)

@ -67,7 +67,7 @@ class FilterViewHolder internal constructor(
val icon = getIcon(filter) val icon = getIcon(filter)
this.icon.setImageDrawable(DrawableUtil.getWrapped(context, icon)) this.icon.setImageDrawable(DrawableUtil.getWrapped(context, icon))
this.icon.drawable.setTint(getColor(filter)) this.icon.drawable.setTint(getColor(filter))
text.text = filter.listingTitle text.text = filter.title
if (count == null || count == 0) { if (count == null || count == 0) {
size.visibility = View.INVISIBLE size.visibility = View.INVISIBLE
} else { } else {

@ -16,8 +16,6 @@ internal class SubheaderViewHolder(
private val clickHandler: ClickHandler, private val clickHandler: ClickHandler,
): RecyclerView.ViewHolder(itemView) { ): RecyclerView.ViewHolder(itemView) {
var listingTitle: String? = null
interface ClickHandler { interface ClickHandler {
fun onClick(subheader: NavigationDrawerSubheader) fun onClick(subheader: NavigationDrawerSubheader)
fun onAdd(subheader: NavigationDrawerSubheader) fun onAdd(subheader: NavigationDrawerSubheader)
@ -35,7 +33,7 @@ internal class SubheaderViewHolder(
fun bind(subheader: NavigationDrawerSubheader) { fun bind(subheader: NavigationDrawerSubheader) {
add.isVisible = subheader.addIntent != null add.isVisible = subheader.addIntent != null
this.subheader = subheader this.subheader = subheader
text.text = subheader.listingTitle text.text = subheader.title
when { when {
subheader.error || subheader.subheaderType == ETESYNC -> subheader.error || subheader.subheaderType == ETESYNC ->
with(errorIcon) { with(errorIcon) {

@ -6,12 +6,12 @@ import androidx.annotation.MenuRes
import com.todoroo.andlib.sql.QueryTemplate import com.todoroo.andlib.sql.QueryTemplate
open class Filter : FilterListItem, Parcelable { open class Filter : FilterListItem, Parcelable {
val valuesForNewTasks: MutableMap<String, Any> = HashMap() var valuesForNewTasks: Map<String, Any> = HashMap()
var originalSqlQuery: String? = null var sql: String? = null
@Deprecated("for astrid manual order") var filterOverride: String? = null @Deprecated("for astrid manual order") var filterOverride: String? = null
var id = 0L var id = 0L
var icon = -1 var icon = -1
var listingTitle: String? = null var title: String? = null
var tint = 0 var tint = 0
var count = -1 var count = -1
var order = NO_ORDER var order = NO_ORDER
@ -19,38 +19,35 @@ open class Filter : FilterListItem, Parcelable {
/** /**
* Utility constructor for creating a Filter object * Utility constructor for creating a Filter object
* *
* @param listingTitle Title of this item as displayed on the lists page, e.g. Inbox * @param title Title of this item as displayed on the lists page, e.g. Inbox
* @param sqlQuery SQL query for this list (see [.sqlQuery] for examples). * @param sql SQL query for this list (see [.sqlQuery] for examples).
*/ */
constructor( constructor(
listingTitle: String?, title: String?,
sqlQuery: QueryTemplate?, sql: QueryTemplate,
valuesForNewTasks: Map<String, Any>? = emptyMap(), valuesForNewTasks: Map<String, Any> = emptyMap(),
) : this(listingTitle, sqlQuery?.toString(), valuesForNewTasks) ) : this(title, sql.toString(), valuesForNewTasks)
/** /**
* Utility constructor for creating a Filter object * Utility constructor for creating a Filter object
* *
* @param listingTitle Title of this item as displayed on the lists page, e.g. Inbox * @param title Title of this item as displayed on the lists page, e.g. Inbox
* @param sqlQuery SQL query for this list (see [.sqlQuery] for examples). * @param sql SQL query for this list (see [.sqlQuery] for examples).
*/ */
internal constructor( internal constructor(
listingTitle: String?, title: String?,
sqlQuery: String?, sql: String,
valuesForNewTasks: Map<String, Any>? valuesForNewTasks: Map<String, Any>
) { ) {
this.listingTitle = listingTitle this.title = title
originalSqlQuery = sqlQuery this.sql = sql
filterOverride = null this.valuesForNewTasks = valuesForNewTasks
if (valuesForNewTasks != null) {
this.valuesForNewTasks.putAll(valuesForNewTasks)
}
} }
protected constructor() protected constructor()
fun getSqlQuery(): String { fun getSqlQuery(): String {
return filterOverride ?: originalSqlQuery!! return filterOverride ?: sql!!
} }
override val itemType = FilterListItem.Type.ITEM override val itemType = FilterListItem.Type.ITEM
@ -59,22 +56,22 @@ open class Filter : FilterListItem, Parcelable {
override fun writeToParcel(dest: Parcel, flags: Int) { override fun writeToParcel(dest: Parcel, flags: Int) {
dest.writeLong(id) dest.writeLong(id)
dest.writeInt(icon) dest.writeInt(icon)
dest.writeString(listingTitle) dest.writeString(title)
dest.writeInt(tint) dest.writeInt(tint)
dest.writeInt(count) dest.writeInt(count)
dest.writeInt(order) dest.writeInt(order)
dest.writeString(originalSqlQuery) dest.writeString(sql)
dest.writeMap(valuesForNewTasks) dest.writeMap(valuesForNewTasks)
} }
open fun readFromParcel(source: Parcel) { open fun readFromParcel(source: Parcel) {
id = source.readLong() id = source.readLong()
icon = source.readInt() icon = source.readInt()
listingTitle = source.readString() title = source.readString()
tint = source.readInt() tint = source.readInt()
count = source.readInt() count = source.readInt()
order = source.readInt() order = source.readInt()
originalSqlQuery = source.readString() sql = source.readString()
source.readMap(valuesForNewTasks, javaClass.classLoader) source.readMap(valuesForNewTasks, javaClass.classLoader)
} }
@ -112,7 +109,7 @@ open class Filter : FilterListItem, Parcelable {
override fun describeContents() = 0 override fun describeContents() = 0
override fun areItemsTheSame(other: FilterListItem): Boolean { override fun areItemsTheSame(other: FilterListItem): Boolean {
return other is Filter && id == other.id && originalSqlQuery == other.originalSqlQuery return other is Filter && id == other.id && sql == other.sql
} }
override fun areContentsTheSame(other: FilterListItem): Boolean { override fun areContentsTheSame(other: FilterListItem): Boolean {
@ -120,7 +117,7 @@ open class Filter : FilterListItem, Parcelable {
} }
override fun toString(): String { override fun toString(): String {
return "Filter(valuesForNewTasks=$valuesForNewTasks, originalSqlQuery=$originalSqlQuery, filterOverride=$filterOverride, id=$id, icon=$icon, listingTitle=$listingTitle, tint=$tint, count=$count, order=$order)" return "Filter(valuesForNewTasks=$valuesForNewTasks, sql=$sql, filterOverride=$filterOverride, id=$id, icon=$icon, title=$title, tint=$tint, count=$count, order=$order)"
} }
override fun equals(other: Any?): Boolean { override fun equals(other: Any?): Boolean {
@ -130,11 +127,11 @@ open class Filter : FilterListItem, Parcelable {
other as Filter other as Filter
if (valuesForNewTasks != other.valuesForNewTasks) return false if (valuesForNewTasks != other.valuesForNewTasks) return false
if (originalSqlQuery != other.originalSqlQuery) return false if (sql != other.sql) return false
if (filterOverride != other.filterOverride) return false if (filterOverride != other.filterOverride) return false
if (id != other.id) return false if (id != other.id) return false
if (icon != other.icon) return false if (icon != other.icon) return false
if (listingTitle != other.listingTitle) return false if (title != other.title) return false
if (tint != other.tint) return false if (tint != other.tint) return false
if (count != other.count) return false if (count != other.count) return false
if (order != other.order) return false if (order != other.order) return false
@ -143,11 +140,11 @@ open class Filter : FilterListItem, Parcelable {
override fun hashCode(): Int { override fun hashCode(): Int {
var result = valuesForNewTasks.hashCode() var result = valuesForNewTasks.hashCode()
result = 31 * result + (originalSqlQuery?.hashCode() ?: 0) result = 31 * result + (sql?.hashCode() ?: 0)
result = 31 * result + (filterOverride?.hashCode() ?: 0) result = 31 * result + (filterOverride?.hashCode() ?: 0)
result = 31 * result + id.hashCode() result = 31 * result + id.hashCode()
result = 31 * result + icon result = 31 * result + icon
result = 31 * result + (listingTitle?.hashCode() ?: 0) result = 31 * result + (title?.hashCode() ?: 0)
result = 31 * result + tint result = 31 * result + tint
result = 31 * result + count result = 31 * result + count
result = 31 * result + order result = 31 * result + order

@ -45,7 +45,7 @@ class TaskDeleter @Inject constructor(
suspend fun clearCompleted(filter: Filter): Int { suspend fun clearCompleted(filter: Filter): Int {
val deleteFilter = Filter( val deleteFilter = Filter(
null, null,
QueryUtils.removeOrder(QueryUtils.showHiddenAndCompleted(filter.originalSqlQuery!!)), QueryUtils.removeOrder(QueryUtils.showHiddenAndCompleted(filter.sql!!)),
emptyMap() emptyMap()
) )
val completed = taskDao.fetchTasks(preferences, deleteFilter) val completed = taskDao.fetchTasks(preferences, deleteFilter)

@ -32,7 +32,7 @@ class SubtasksHelper @Inject constructor(
): String { ): String {
var query = originalQuery var query = originalQuery
if (filter.supportsAstridSorting() && preferences.isAstridSort) { if (filter.supportsAstridSorting() && preferences.isAstridSort) {
val tagData = tagDataDao.getTagByName(filter.listingTitle!!) val tagData = tagDataDao.getTagByName(filter.title!!)
val tlm = when { val tlm = when {
tagData != null -> tagData != null ->
taskListMetadataDao.fetchByTagOrFilter(tagData.remoteId!!) taskListMetadataDao.fetchByTagOrFilter(tagData.remoteId!!)

@ -44,7 +44,7 @@ class Notifier @Inject constructor(
val intent = TaskIntents.getTaskListIntent(context, filter) val intent = TaskIntents.getTaskListIntent(context, filter)
val pendingIntent = PendingIntent.getActivity( val pendingIntent = PendingIntent.getActivity(
context, context,
filter.listingTitle.hashCode(), filter.title.hashCode(),
intent, intent,
PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT
) )
@ -60,16 +60,16 @@ class Notifier @Inject constructor(
.setCategory(NotificationCompat.CATEGORY_REMINDER) .setCategory(NotificationCompat.CATEGORY_REMINDER)
.setTicker(summaryTitle) .setTicker(summaryTitle)
.setContentTitle(summaryTitle) .setContentTitle(summaryTitle)
.setContentText(filter.listingTitle) .setContentText(filter.title)
.setContentIntent(pendingIntent) .setContentIntent(pendingIntent)
.setAutoCancel(true) .setAutoCancel(true)
.setWhen(DateTimeUtils.currentTimeMillis()) .setWhen(DateTimeUtils.currentTimeMillis())
.setShowWhen(true) .setShowWhen(true)
.setColor(colorProvider.getPriorityColor(maxPriority, true)) .setColor(colorProvider.getPriorityColor(maxPriority, true))
.setGroupSummary(true) .setGroupSummary(true)
.setGroup(filter.listingTitle) .setGroup(filter.title)
.setStyle(style) .setStyle(style)
notificationManager.notify(filter.listingTitle.hashCode().toLong(), builder, alert = true, nonstop = false, fiveTimes = false) notificationManager.notify(filter.title.hashCode().toLong(), builder, alert = true, nonstop = false, fiveTimes = false)
} }
suspend fun triggerNotifications(place: Long, geofences: List<Geofence>, arrival: Boolean) = suspend fun triggerNotifications(place: Long, geofences: List<Geofence>, arrival: Boolean) =

@ -74,7 +74,7 @@ class FilterSettingsActivity : BaseListSettingsActivity() {
if (savedInstanceState == null && filter != null) { if (savedInstanceState == null && filter != null) {
selectedColor = filter!!.tint selectedColor = filter!!.tint
selectedIcon = filter!!.icon selectedIcon = filter!!.icon
name.setText(filter!!.listingTitle) name.setText(filter!!.title)
} }
when { when {
savedInstanceState != null -> lifecycleScope.launch { savedInstanceState != null -> lifecycleScope.launch {
@ -228,7 +228,7 @@ class FilterSettingsActivity : BaseListSettingsActivity() {
get() = filter == null get() = filter == null
override val toolbarTitle: String? override val toolbarTitle: String?
get() = if (isNew) getString(R.string.FLA_new_filter) else filter!!.listingTitle get() = if (isNew) getString(R.string.FLA_new_filter) else filter!!.title
override suspend fun save() { override suspend fun save() {
val newName = newName val newName = newName
@ -271,12 +271,12 @@ class FilterSettingsActivity : BaseListSettingsActivity() {
return if (isNew) { return if (isNew) {
(!Strings.isNullOrEmpty(newName) (!Strings.isNullOrEmpty(newName)
|| selectedColor != 0 || selectedIcon != -1 || criteria.size > 1) || selectedColor != 0 || selectedIcon != -1 || criteria.size > 1)
} else newName != filter!!.listingTitle } else newName != filter!!.title
|| selectedColor != filter!!.tint || selectedColor != filter!!.tint
|| selectedIcon != filter!!.icon || selectedIcon != filter!!.icon
|| CriterionInstance.serialize(criteria) != filter!!.criterion!!.trim() || CriterionInstance.serialize(criteria) != filter!!.criterion!!.trim()
|| criteria.values != filter!!.valuesForNewTasks || criteria.values != filter!!.valuesForNewTasks
|| criteria.sql != filter!!.originalSqlQuery || criteria.sql != filter!!.sql
} }
override fun finish() { override fun finish() {

@ -15,7 +15,7 @@ fun FilterChip(
) { ) {
Chip( Chip(
CustomIcons.getIcon(filter.icon, defaultIcon), CustomIcons.getIcon(filter.icon, defaultIcon),
filter.listingTitle, filter.title,
filter.tint, filter.tint,
showText, showText,
showIcon, showIcon,

@ -41,7 +41,7 @@ fun FilterPicker(
when (filter) { when (filter) {
is NavigationDrawerSubheader -> { is NavigationDrawerSubheader -> {
CollapsibleRow( CollapsibleRow(
text = filter.listingTitle!!, text = filter.title!!,
collapsed = filter.isCollapsed, collapsed = filter.isCollapsed,
onClick = { viewModel.onClick(filter) }, onClick = { viewModel.onClick(filter) },
) )
@ -55,7 +55,7 @@ fun FilterPicker(
) { ) {
Row(verticalAlignment = CenterVertically) { Row(verticalAlignment = CenterVertically) {
Text( Text(
text = filter.listingTitle!!, text = filter.title!!,
style = MaterialTheme.typography.body2.copy( style = MaterialTheme.typography.body2.copy(
fontWeight = FontWeight.Medium fontWeight = FontWeight.Medium
), ),

@ -63,7 +63,7 @@ class DashClockExtension : DashClockExtension() {
.icon(R.drawable.ic_check_white_24dp) .icon(R.drawable.ic_check_white_24dp)
.status(count.toString()) .status(count.toString())
.expandedTitle(resources.getQuantityString(R.plurals.task_count, count, count)) .expandedTitle(resources.getQuantityString(R.plurals.task_count, count, count))
.expandedBody(filter.listingTitle) .expandedBody(filter.title)
.clickIntent(clickIntent) .clickIntent(clickIntent)
if (count == 1) { if (count == 1) {
val tasks = taskDao.fetchFiltered(filter) val tasks = taskDao.fetchFiltered(filter)

@ -5,7 +5,6 @@ import androidx.room.Entity
import androidx.room.PrimaryKey import androidx.room.PrimaryKey
import com.todoroo.andlib.utility.AndroidUtilities import com.todoroo.andlib.utility.AndroidUtilities
import com.todoroo.astrid.api.Filter.Companion.NO_ORDER import com.todoroo.astrid.api.Filter.Companion.NO_ORDER
import org.tasks.Strings
import org.tasks.themes.CustomIcons.FILTER import org.tasks.themes.CustomIcons.FILTER
@Entity(tableName = "filters") @Entity(tableName = "filters")
@ -43,8 +42,8 @@ class Filter {
this.sql = sql this.sql = sql
} }
val valuesAsMap: Map<String, Any>? val valuesAsMap: Map<String, Any>
get() = if (Strings.isNullOrEmpty(values)) null else AndroidUtilities.mapFromSerializedString(values) get() = AndroidUtilities.mapFromSerializedString(values)
@Suppress("RedundantNullableReturnType") @Suppress("RedundantNullableReturnType")
fun getColor(): Int? = color ?: 0 fun getColor(): Int? = color ?: 0

@ -215,7 +215,7 @@ FROM recursive_tasks
} }
suspend fun count(filter: Filter): Int { suspend fun count(filter: Filter): Int {
val query = getQuery(filter.originalSqlQuery!!, Field.COUNT) val query = getQuery(filter.sql!!, Field.COUNT)
val start = if (BuildConfig.DEBUG) now() else 0 val start = if (BuildConfig.DEBUG) now() else 0
val count = count(query) val count = count(query)
Timber.v("%sms: %s", now() - start, query.sql) Timber.v("%sms: %s", now() - start, query.sql)

@ -109,7 +109,7 @@ class AlphanumComparator<T>(private val getTitle: (T) -> String?) : Comparator<T
companion object { companion object {
@JvmField @JvmField
val FILTER = AlphanumComparator(Filter::listingTitle) val FILTER = AlphanumComparator(Filter::title)
val TAGDATA = AlphanumComparator(TagData::name) val TAGDATA = AlphanumComparator(TagData::name)
} }
} }

@ -4,7 +4,7 @@ import android.content.Intent
import com.todoroo.astrid.api.FilterListItem import com.todoroo.astrid.api.FilterListItem
data class NavigationDrawerAction( data class NavigationDrawerAction(
val listingTitle: String, val title: String,
val icon: Int, val icon: Int,
val requestCode: Int, val requestCode: Int,
val intent: Intent? = null, val intent: Intent? = null,

@ -4,7 +4,7 @@ import android.content.Intent
import com.todoroo.astrid.api.FilterListItem import com.todoroo.astrid.api.FilterListItem
data class NavigationDrawerSubheader( data class NavigationDrawerSubheader(
val listingTitle: String?, val title: String?,
val error: Boolean, val error: Boolean,
val isCollapsed: Boolean, val isCollapsed: Boolean,
val subheaderType: SubheaderType, val subheaderType: SubheaderType,

@ -10,7 +10,7 @@ import com.todoroo.astrid.data.Task
import org.tasks.time.DateTime import org.tasks.time.DateTime
class RecentlyModifiedFilter : Filter { class RecentlyModifiedFilter : Filter {
constructor(listingTitle: String?) : super(listingTitle, queryTemplate) constructor(title: String?) : super(title, queryTemplate)
private constructor() private constructor()
override fun supportsHiddenTasks() = false override fun supportsHiddenTasks() = false

@ -10,7 +10,7 @@ import com.todoroo.astrid.data.Task
import org.tasks.data.Alarm import org.tasks.data.Alarm
class SnoozedFilter : Filter { class SnoozedFilter : Filter {
constructor(listingTitle: String?) : super(listingTitle, queryTemplate) constructor(title: String?) : super(title, queryTemplate)
private constructor() private constructor()
override fun supportsHiddenTasks(): Boolean { override fun supportsHiddenTasks(): Boolean {

@ -6,10 +6,10 @@ import com.todoroo.andlib.sql.QueryTemplate
import com.todoroo.astrid.api.Filter import com.todoroo.astrid.api.Filter
class SortableFilter : Filter { class SortableFilter : Filter {
constructor(listingTitle: String?, sqlQuery: QueryTemplate?) : super(listingTitle, sqlQuery) constructor(title: String?, sql: QueryTemplate) : super(title, sql)
constructor( constructor(
listingTitle: String?, sqlQuery: QueryTemplate?, valuesForNewTasks: Map<String, Any>? title: String?, sql: QueryTemplate, valuesForNewTasks: Map<String, Any>
) : super(listingTitle, sqlQuery, valuesForNewTasks) ) : super(title, sql, valuesForNewTasks)
private constructor() private constructor()

@ -44,7 +44,7 @@ class DashClock : InjectingPreferenceFragment() {
private suspend fun refreshPreferences() { private suspend fun refreshPreferences() {
val filter = defaultFilterProvider.getFilterFromPreference(R.string.p_dashclock_filter) val filter = defaultFilterProvider.getFilterFromPreference(R.string.p_dashclock_filter)
findPreference(R.string.p_dashclock_filter).summary = filter.listingTitle findPreference(R.string.p_dashclock_filter).summary = filter.title
} }
companion object { companion object {

@ -58,7 +58,7 @@ class LookAndFeel : InjectingPreferenceFragment() {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
childFragmentManager.setFilterPickerResultListener(this) { childFragmentManager.setFilterPickerResultListener(this) {
defaultFilterProvider.setDefaultOpenFilter(it) defaultFilterProvider.setDefaultOpenFilter(it)
findPreference(R.string.p_default_open_filter).summary = it.listingTitle findPreference(R.string.p_default_open_filter).summary = it.title
localBroadcastManager.broadcastRefresh() localBroadcastManager.broadcastRefresh()
} }
} }
@ -82,7 +82,7 @@ class LookAndFeel : InjectingPreferenceFragment() {
val defaultList = findPreference(R.string.p_default_open_filter) val defaultList = findPreference(R.string.p_default_open_filter)
val filter = defaultFilterProvider.getDefaultOpenFilter() val filter = defaultFilterProvider.getDefaultOpenFilter()
defaultList.summary = filter.listingTitle defaultList.summary = filter.title
defaultList.onPreferenceClickListener = Preference.OnPreferenceClickListener { defaultList.onPreferenceClickListener = Preference.OnPreferenceClickListener {
lifecycleScope.launch { lifecycleScope.launch {
newFilterPicker(defaultFilterProvider.getDefaultOpenFilter()) newFilterPicker(defaultFilterProvider.getDefaultOpenFilter())

@ -49,7 +49,7 @@ class Notifications : InjectingPreferenceFragment() {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
childFragmentManager.setFilterPickerResultListener(this) { childFragmentManager.setFilterPickerResultListener(this) {
defaultFilterProvider.setBadgeFilter(it) defaultFilterProvider.setBadgeFilter(it)
findPreference(R.string.p_badge_list).summary = it.listingTitle findPreference(R.string.p_badge_list).summary = it.title
localBroadcastManager.broadcastRefresh() localBroadcastManager.broadcastRefresh()
} }
} }
@ -87,7 +87,7 @@ class Notifications : InjectingPreferenceFragment() {
val badgePreference: Preference = findPreference(R.string.p_badge_list) val badgePreference: Preference = findPreference(R.string.p_badge_list)
val filter = defaultFilterProvider.getBadgeFilter() val filter = defaultFilterProvider.getBadgeFilter()
badgePreference.summary = filter.listingTitle badgePreference.summary = filter.title
badgePreference.onPreferenceClickListener = Preference.OnPreferenceClickListener { badgePreference.onPreferenceClickListener = Preference.OnPreferenceClickListener {
lifecycleScope.launch { lifecycleScope.launch {
newFilterPicker(defaultFilterProvider.getBadgeFilter()) newFilterPicker(defaultFilterProvider.getBadgeFilter())

@ -212,7 +212,7 @@ class ScrollableWidget : InjectingPreferenceFragment() {
} }
private fun updateFilter() = lifecycleScope.launch { private fun updateFilter() = lifecycleScope.launch {
findPreference(R.string.p_widget_filter).summary = getFilter().listingTitle findPreference(R.string.p_widget_filter).summary = getFilter().title
updateSort() updateSort()
} }

@ -184,7 +184,7 @@ class TaskDefaults : InjectingPreferenceFragment() {
private fun updateRemoteListSummary() = lifecycleScope.launch { private fun updateRemoteListSummary() = lifecycleScope.launch {
val defaultFilter = defaultFilterProvider.getDefaultList() val defaultFilter = defaultFilterProvider.getDefaultList()
findPreference(R.string.p_default_list).summary = defaultFilter.listingTitle findPreference(R.string.p_default_list).summary = defaultFilter.title
} }
private fun updateDefaultLocation() = lifecycleScope.launch { private fun updateDefaultLocation() = lifecycleScope.launch {

@ -87,10 +87,10 @@ class TaskerListNotification : InjectingPreferenceFragment() {
} }
private fun refreshPreferences() { private fun refreshPreferences() {
findPreference(R.string.filter).summary = filter.listingTitle findPreference(R.string.filter).summary = filter.title
} }
fun getResultBlurb(): String? = filter.listingTitle fun getResultBlurb(): String? = filter.title
fun getBundle(): Bundle = fun getBundle(): Bundle =
ListNotificationBundle.generateBundle(defaultFilterProvider.getFilterPreferenceValue(filter)) ListNotificationBundle.generateBundle(defaultFilterProvider.getFilterPreferenceValue(filter))

@ -52,7 +52,7 @@ class Widgets : InjectingPreferenceFragment() {
pref.tint = context?.getColor(R.color.icon_tint_with_alpha) pref.tint = context?.getColor(R.color.icon_tint_with_alpha)
pref.iconVisible = true pref.iconVisible = true
val filter = defaultFilterProvider.getFilterFromPreference(widgetPrefs.filterId) val filter = defaultFilterProvider.getFilterFromPreference(widgetPrefs.filterId)
pref.title = filter.listingTitle pref.title = filter.title
pref.summary = getString(R.string.widget_id, id) pref.summary = getString(R.string.widget_id, id)
val intent = Intent(context, WidgetConfigActivity::class.java) val intent = Intent(context, WidgetConfigActivity::class.java)
intent.putExtra(android.appwidget.AppWidgetManager.EXTRA_APPWIDGET_ID, id) intent.putExtra(android.appwidget.AppWidgetManager.EXTRA_APPWIDGET_ID, id)

@ -154,7 +154,7 @@ class ChipProvider @Inject constructor(
tags.remove(filter.uuid) tags.remove(filter.uuid)
} }
tags.mapNotNull(lists::getTag) tags.mapNotNull(lists::getTag)
.sortedBy(TagFilter::listingTitle) .sortedBy(TagFilter::title)
} }
.forEach { .forEach {
FilterChip( FilterChip(

@ -99,7 +99,7 @@ class ChipProvider @Inject constructor(
} }
return tags return tags
.mapNotNull(chipListCache::getTag) .mapNotNull(chipListCache::getTag)
.sortedBy(TagFilter::listingTitle) .sortedBy(TagFilter::title)
.mapNotNull { newChip(it, R.drawable.ic_outline_label_24px) } .mapNotNull { newChip(it, R.drawable.ic_outline_label_24px) }
} }
@ -108,7 +108,7 @@ class ChipProvider @Inject constructor(
return null return null
} }
val chip = newChip() val chip = newChip()
chip.setTextViewText(R.id.chip_text, filter.listingTitle) chip.setTextViewText(R.id.chip_text, filter.title)
val icon = filter.icon val icon = filter.icon
.takeIf { it >= 0 } .takeIf { it >= 0 }
?.let { CustomIcons.getIconResId(it) } ?.let { CustomIcons.getIconResId(it) }

@ -68,7 +68,7 @@ class ShortcutConfigActivity : ThemedInjectingAppCompatActivity(), ColorPaletteP
updateFilterAndTheme() updateFilterAndTheme()
supportFragmentManager.setFilterPickerResultListener(this) { supportFragmentManager.setFilterPickerResultListener(this) {
if (selectedFilter != null && selectedFilter!!.listingTitle == getShortcutName()) { if (selectedFilter != null && selectedFilter!!.title == getShortcutName()) {
shortcutName.text = null shortcutName.text = null
} }
selectedFilter = it selectedFilter = it
@ -101,10 +101,10 @@ class ShortcutConfigActivity : ThemedInjectingAppCompatActivity(), ColorPaletteP
private fun updateFilterAndTheme() { private fun updateFilterAndTheme() {
if (isNullOrEmpty(getShortcutName()) && selectedFilter != null) { if (isNullOrEmpty(getShortcutName()) && selectedFilter != null) {
shortcutName.setText(selectedFilter!!.listingTitle) shortcutName.setText(selectedFilter!!.title)
} }
if (selectedFilter != null) { if (selectedFilter != null) {
shortcutList.setText(selectedFilter!!.listingTitle) shortcutList.setText(selectedFilter!!.title)
} }
updateTheme() updateTheme()
} }

@ -104,7 +104,7 @@ class TasksWidget : AppWidgetProvider() {
ColorUtils.setAlphaComponent(bgColor, widgetPreferences.footerOpacity)) ColorUtils.setAlphaComponent(bgColor, widgetPreferences.footerOpacity))
val filter = runBlocking { defaultFilterProvider.getFilterFromPreference(filterId) } val filter = runBlocking { defaultFilterProvider.getFilterFromPreference(filterId) }
remoteViews.setTextViewText(R.id.widget_title, if (widgetPreferences.showTitle()) { remoteViews.setTextViewText(R.id.widget_title, if (widgetPreferences.showTitle()) {
filter.listingTitle filter.title
} else { } else {
null null
}) })

Loading…
Cancel
Save