Fix up debug filters

pull/1296/head
Alex Baker 5 years ago
parent 22b72f0f1b
commit b3d026c028

@ -7,7 +7,6 @@ package com.todoroo.astrid.core
import android.content.Context import android.content.Context
import android.content.res.Resources import android.content.res.Resources
import com.todoroo.andlib.sql.Criterion
import com.todoroo.andlib.sql.Criterion.Companion.and import com.todoroo.andlib.sql.Criterion.Companion.and
import com.todoroo.andlib.sql.Criterion.Companion.or import com.todoroo.andlib.sql.Criterion.Companion.or
import com.todoroo.andlib.sql.Join import com.todoroo.andlib.sql.Join
@ -87,76 +86,68 @@ class BuiltInFilterExposer @Inject constructor(
todayValues) todayValues)
} }
fun getNoListFilter(): Filter { fun getNoListFilter() =
return Filter( Filter(
"No list", "No list",
QueryTemplate() QueryTemplate()
.join(Join.left(GoogleTask.TABLE, and(GoogleTask.TASK.eq(Task.ID), GoogleTask.DELETED.eq(0)))) .join(Join.left(GoogleTask.TABLE, GoogleTask.TASK.eq(Task.ID)))
.join(Join.left(CaldavTask.TABLE, and(CaldavTask.TASK.eq(Task.ID), CaldavTask.DELETED.eq(0)))) .join(Join.left(CaldavTask.TABLE, CaldavTask.TASK.eq(Task.ID)))
.where(and( .where(and(GoogleTask.ID.eq(null), CaldavTask.ID.eq(null)))
activeAndVisible(), ).apply {
GoogleTask.ID.eq(null), icon = R.drawable.ic_outline_cloud_off_24px
CaldavTask.ID.eq(null)))) }
.apply {
icon = R.drawable.ic_outline_cloud_off_24px
}
}
fun getMissingListFilter(): Filter { fun getDeleted() =
return Filter( Filter("Deleted", QueryTemplate().where(Task.DELETION_DATE.gt(0)))
"Missing list", .apply { icon = R.drawable.ic_outline_delete_24px }
QueryTemplate()
.join(Join.left(GoogleTask.TABLE, and(GoogleTask.TASK.eq(Task.ID), GoogleTask.DELETED.eq(0))))
.join(Join.left(CaldavTask.TABLE, and(CaldavTask.TASK.eq(Task.ID), CaldavTask.DELETED.eq(0))))
.join(Join.left(GoogleTaskList.TABLE, GoogleTaskList.REMOTE_ID.eq(GoogleTask.LIST)))
.join(Join.left(CaldavCalendar.TABLE, CaldavCalendar.UUID.eq(CaldavTask.CALENDAR)))
.where(and(
activeAndVisible(),
or(
and(GoogleTask.ID.gt(0), GoogleTaskList.REMOTE_ID.eq(null)),
and(CaldavTask.ID.gt(0), CaldavCalendar.UUID.eq(null))
)
)))
.apply {
icon = R.drawable.ic_outline_cloud_off_24px
}
}
fun getNoTitleFilter(): Filter { fun getMissingListFilter() =
return Filter( Filter(
"No title", "Missing list",
QueryTemplate() QueryTemplate()
.where(and( .join(Join.left(GoogleTask.TABLE, GoogleTask.TASK.eq(Task.ID)))
activeAndVisible(), .join(Join.left(CaldavTask.TABLE, CaldavTask.TASK.eq(Task.ID)))
Criterion.or(Task.TITLE.eq(null), Task.TITLE.eq(""))))) .join(Join.left(GoogleTaskList.TABLE, GoogleTaskList.REMOTE_ID.eq(GoogleTask.LIST)))
.apply { .join(Join.left(CaldavCalendar.TABLE, CaldavCalendar.UUID.eq(CaldavTask.CALENDAR)))
icon = R.drawable.ic_outline_clear_24px .where(or(
} and(GoogleTask.ID.gt(0), GoogleTaskList.REMOTE_ID.eq(null)),
} and(CaldavTask.ID.gt(0), CaldavCalendar.UUID.eq(null))))
).apply {
icon = R.drawable.ic_outline_cloud_off_24px
}
fun getNoCreateDateFilter(): Filter { fun getMissingAccountFilter() =
return Filter( Filter(
"No create time", "Missing account",
QueryTemplate() QueryTemplate()
.where(and( .join(Join.left(GoogleTask.TABLE, and(GoogleTask.TASK.eq(Task.ID))))
activeAndVisible(), .join(Join.left(CaldavTask.TABLE, and(CaldavTask.TASK.eq(Task.ID))))
Task.CREATION_DATE.eq(0)))) .join(Join.left(GoogleTaskList.TABLE, GoogleTaskList.REMOTE_ID.eq(GoogleTask.LIST)))
.apply { .join(Join.left(CaldavCalendar.TABLE, CaldavCalendar.UUID.eq(CaldavTask.CALENDAR)))
icon = R.drawable.ic_outline_add_24px .join(Join.left(GoogleTaskAccount.TABLE, GoogleTaskAccount.ACCOUNT.eq(GoogleTaskList.ACCOUNT)))
} .join(Join.left(CaldavAccount.TABLE, CaldavAccount.UUID.eq(CaldavCalendar.ACCOUNT)))
} .where(or(
and(GoogleTask.ID.gt(0), GoogleTaskAccount.ACCOUNT.eq(null)),
and(CaldavTask.ID.gt(0), CaldavAccount.UUID.eq(null))))
).apply {
icon = R.drawable.ic_outline_cloud_off_24px
}
fun getNoModificationDateFilter(): Filter { fun getNoTitleFilter() =
return Filter( Filter(
"No modify time", "No title",
QueryTemplate() QueryTemplate().where(or(Task.TITLE.eq(null), Task.TITLE.eq("")))
.where(and( ).apply {
activeAndVisible(), icon = R.drawable.ic_outline_clear_24px
Task.MODIFICATION_DATE.eq(0)))) }
.apply {
icon = R.drawable.ic_outline_edit_24px fun getNoCreateDateFilter() =
} Filter("No create time", QueryTemplate().where(Task.CREATION_DATE.eq(0)))
} .apply { icon = R.drawable.ic_outline_add_24px }
fun getNoModificationDateFilter() =
Filter("No modify time", QueryTemplate().where(Task.MODIFICATION_DATE.eq(0)))
.apply { icon = R.drawable.ic_outline_edit_24px }
fun getRecentlyModifiedFilter(r: Resources) = fun getRecentlyModifiedFilter(r: Resources) =
RecentlyModifiedFilter(r.getString(R.string.BFE_Recent)) RecentlyModifiedFilter(r.getString(R.string.BFE_Recent))

@ -8,6 +8,7 @@ import androidx.room.ColumnInfo
import androidx.room.Entity import androidx.room.Entity
import androidx.room.Ignore import androidx.room.Ignore
import androidx.room.PrimaryKey import androidx.room.PrimaryKey
import com.todoroo.andlib.data.Table
import com.todoroo.astrid.data.Task import com.todoroo.astrid.data.Task
import org.tasks.R import org.tasks.R
import org.tasks.activities.BaseListSettingsActivity import org.tasks.activities.BaseListSettingsActivity
@ -178,6 +179,9 @@ class CaldavAccount : Parcelable {
fun isPaymentRequired() = error?.startsWith(EROR_PAYMENT_REQUIRED) == true fun isPaymentRequired() = error?.startsWith(EROR_PAYMENT_REQUIRED) == true
companion object { companion object {
val TABLE = Table("caldav_accounts")
val UUID = TABLE.column("cda_uuid")
const val TYPE_CALDAV = 0 const val TYPE_CALDAV = 0
@Deprecated("use etebase") const val TYPE_ETESYNC = 1 @Deprecated("use etebase") const val TYPE_ETESYNC = 1
const val TYPE_LOCAL = 2 const val TYPE_LOCAL = 2

@ -122,6 +122,7 @@ class CaldavCalendar : Parcelable {
companion object { companion object {
@JvmField val TABLE = Table("caldav_lists") @JvmField val TABLE = Table("caldav_lists")
val ACCOUNT = TABLE.column("cdl_account")
@JvmField val UUID = TABLE.column("cdl_uuid") @JvmField val UUID = TABLE.column("cdl_uuid")
@JvmField val NAME = TABLE.column("cdl_name") @JvmField val NAME = TABLE.column("cdl_name")
@JvmField val CREATOR: Parcelable.Creator<CaldavCalendar> = object : Parcelable.Creator<CaldavCalendar> { @JvmField val CREATOR: Parcelable.Creator<CaldavCalendar> = object : Parcelable.Creator<CaldavCalendar> {

@ -7,6 +7,7 @@ import androidx.room.ColumnInfo
import androidx.room.Entity import androidx.room.Entity
import androidx.room.Ignore import androidx.room.Ignore
import androidx.room.PrimaryKey import androidx.room.PrimaryKey
import com.todoroo.andlib.data.Table
@Entity(tableName = "google_task_accounts") @Entity(tableName = "google_task_accounts")
class GoogleTaskAccount : Parcelable { class GoogleTaskAccount : Parcelable {
@ -82,6 +83,9 @@ class GoogleTaskAccount : Parcelable {
"GoogleTaskAccount(id=$id, account=$account, error=$error, etag=$etag, isCollapsed=$isCollapsed)" "GoogleTaskAccount(id=$id, account=$account, error=$error, etag=$etag, isCollapsed=$isCollapsed)"
companion object { companion object {
val TABLE = Table("google_task_accounts")
val ACCOUNT = TABLE.column("gta_account")
@JvmField val CREATOR: Parcelable.Creator<GoogleTaskAccount> = object : Parcelable.Creator<GoogleTaskAccount> { @JvmField val CREATOR: Parcelable.Creator<GoogleTaskAccount> = object : Parcelable.Creator<GoogleTaskAccount> {
override fun createFromParcel(source: Parcel): GoogleTaskAccount = GoogleTaskAccount(source) override fun createFromParcel(source: Parcel): GoogleTaskAccount = GoogleTaskAccount(source)

@ -114,6 +114,7 @@ class GoogleTaskList : Parcelable {
companion object { companion object {
@JvmField val TABLE = Table("google_task_lists") @JvmField val TABLE = Table("google_task_lists")
val ACCOUNT = TABLE.column("gtl_account")
@JvmField val REMOTE_ID = TABLE.column("gtl_remote_id") @JvmField val REMOTE_ID = TABLE.column("gtl_remote_id")
@JvmField val NAME = TABLE.column("gtl_title") @JvmField val NAME = TABLE.column("gtl_title")
@JvmField val CREATOR: Parcelable.Creator<GoogleTaskList> = object : Parcelable.Creator<GoogleTaskList> { @JvmField val CREATOR: Parcelable.Creator<GoogleTaskList> = object : Parcelable.Creator<GoogleTaskList> {

@ -63,8 +63,10 @@ class FilterProvider @Inject constructor(
BuiltInFilterExposer.getNoListFilter(), BuiltInFilterExposer.getNoListFilter(),
BuiltInFilterExposer.getNoTitleFilter(), BuiltInFilterExposer.getNoTitleFilter(),
BuiltInFilterExposer.getMissingListFilter(), BuiltInFilterExposer.getMissingListFilter(),
BuiltInFilterExposer.getMissingAccountFilter(),
BuiltInFilterExposer.getNoCreateDateFilter(), BuiltInFilterExposer.getNoCreateDateFilter(),
BuiltInFilterExposer.getNoModificationDateFilter() BuiltInFilterExposer.getNoModificationDateFilter(),
BuiltInFilterExposer.getDeleted()
)) ))
} else { } else {
@ -158,7 +160,6 @@ class FilterProvider @Inject constructor(
} else { } else {
ArrayList<FilterListItem>() ArrayList<FilterListItem>()
} }
.plusAllIf(BuildConfig.DEBUG) { getDebugFilters() }
.asSequence() .asSequence()
.plus(addFilters(showCreate, showBuiltIn)) .plus(addFilters(showCreate, showBuiltIn))
.plus(addTags(showCreate)) .plus(addTags(showCreate))
@ -166,6 +167,7 @@ class FilterProvider @Inject constructor(
.plus(googleTaskFilters(showCreate)) .plus(googleTaskFilters(showCreate))
.plus(caldavFilters(showCreate)) .plus(caldavFilters(showCreate))
.toList() .toList()
.plusAllIf(BuildConfig.DEBUG) { getDebugFilters() }
private val navDrawerFooter: List<FilterListItem> private val navDrawerFooter: List<FilterListItem>
get() = listOf(NavigationDrawerSeparator()) get() = listOf(NavigationDrawerSeparator())

Loading…
Cancel
Save