diff --git a/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java b/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java index 003061249..d8785dd15 100644 --- a/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java +++ b/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java @@ -370,11 +370,7 @@ public final class TaskListFragment extends InjectingFragment startActivityForResult(recognition, TaskListFragment.VOICE_RECOGNITION_REQUEST_CODE); return true; case R.id.menu_sort: - boolean supportsManualSort = - filter.supportsSubtasks() - || BuiltInFilterExposer.isInbox(context, filter) - || BuiltInFilterExposer.isTodayFilter(context, filter); - SortDialog.newSortDialog(supportsManualSort, filter instanceof GtasksFilter) + SortDialog.newSortDialog(filter.supportsManualSort()) .show(getChildFragmentManager(), FRAG_TAG_SORT_DIALOG); return true; case R.id.menu_show_hidden: diff --git a/app/src/main/java/com/todoroo/astrid/api/Filter.java b/app/src/main/java/com/todoroo/astrid/api/Filter.java index 16d4b0122..0d7b28a30 100644 --- a/app/src/main/java/com/todoroo/astrid/api/Filter.java +++ b/app/src/main/java/com/todoroo/astrid/api/Filter.java @@ -82,7 +82,7 @@ public class Filter extends FilterListItem { * @param listingTitle Title of this item as displayed on the lists page, e.g. Inbox * @param sqlQuery SQL query for this list (see {@link #sqlQuery} for examples). */ - public Filter( + protected Filter( String listingTitle, QueryTemplate sqlQuery, Map valuesForNewTasks) { this(listingTitle, sqlQuery == null ? null : sqlQuery.toString(), valuesForNewTasks); } @@ -102,7 +102,7 @@ public class Filter extends FilterListItem { } } - Filter() {} + protected Filter() {} public String getOriginalSqlQuery() { return sqlQuery; @@ -181,10 +181,14 @@ public class Filter extends FilterListItem { source.readMap(valuesForNewTasks, getClass().getClassLoader()); } - public boolean supportsSubtasks() { + public boolean supportsManualSort() { return false; } + public boolean supportsSubtasks() { + return true; + } + public boolean hasMenu() { return getMenu() != 0; } diff --git a/app/src/main/java/com/todoroo/astrid/api/GtasksFilter.java b/app/src/main/java/com/todoroo/astrid/api/GtasksFilter.java index 804ee9b70..fc53361c9 100644 --- a/app/src/main/java/com/todoroo/astrid/api/GtasksFilter.java +++ b/app/src/main/java/com/todoroo/astrid/api/GtasksFilter.java @@ -95,7 +95,7 @@ public class GtasksFilter extends Filter { } @Override - public boolean supportsSubtasks() { + public boolean supportsManualSort() { return true; } diff --git a/app/src/main/java/com/todoroo/astrid/api/TagFilter.java b/app/src/main/java/com/todoroo/astrid/api/TagFilter.java index 13c04573b..722c759dd 100644 --- a/app/src/main/java/com/todoroo/astrid/api/TagFilter.java +++ b/app/src/main/java/com/todoroo/astrid/api/TagFilter.java @@ -85,7 +85,7 @@ public class TagFilter extends Filter { } @Override - public boolean supportsSubtasks() { + public boolean supportsManualSort() { return true; } diff --git a/app/src/main/java/com/todoroo/astrid/core/BuiltInFilterExposer.java b/app/src/main/java/com/todoroo/astrid/core/BuiltInFilterExposer.java index 5b22cbe28..1f17dfce5 100644 --- a/app/src/main/java/com/todoroo/astrid/core/BuiltInFilterExposer.java +++ b/app/src/main/java/com/todoroo/astrid/core/BuiltInFilterExposer.java @@ -25,6 +25,8 @@ import java.util.Map; import javax.inject.Inject; import org.tasks.R; import org.tasks.data.Tag; +import org.tasks.filters.NoSubtasksFilter; +import org.tasks.filters.SortableFilter; import org.tasks.injection.ForApplication; import org.tasks.preferences.Preferences; import org.tasks.themes.CustomIcons; @@ -47,7 +49,7 @@ public final class BuiltInFilterExposer { /** Build inbox filter */ public static Filter getMyTasksFilter(Resources r) { - return new Filter( + return new SortableFilter( r.getString(R.string.BFE_Active), new QueryTemplate().where(TaskCriteria.activeAndVisible())); } @@ -56,7 +58,7 @@ public final class BuiltInFilterExposer { String todayTitle = AndroidUtilities.capitalize(r.getString(R.string.today)); Map todayValues = new HashMap<>(); todayValues.put(Task.DUE_DATE.name, PermaSql.VALUE_NOON); - return new Filter( + return new SortableFilter( todayTitle, new QueryTemplate() .where( @@ -68,7 +70,7 @@ public final class BuiltInFilterExposer { } public static Filter getRecentlyModifiedFilter(Resources r) { - return new Filter( + return new NoSubtasksFilter( r.getString(R.string.BFE_Recent), new QueryTemplate() .where(TaskCriteria.notDeleted()) diff --git a/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksHelper.java b/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksHelper.java index af9427448..0e0f8423f 100644 --- a/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksHelper.java +++ b/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksHelper.java @@ -125,11 +125,7 @@ public class SubtasksHelper { } public boolean shouldUseSubtasksFragmentForFilter(Filter filter) { - return preferences.isManualSort() - && filter != null - && (filter.supportsSubtasks() - || BuiltInFilterExposer.isInbox(context, filter) - || BuiltInFilterExposer.isTodayFilter(context, filter)); + return preferences.isManualSort() && filter != null && filter.supportsManualSort(); } public String applySubtasksToWidgetFilter(Filter filter, String query) { diff --git a/app/src/main/java/org/tasks/data/Tag.java b/app/src/main/java/org/tasks/data/Tag.java index e867a04f3..54e2643c8 100644 --- a/app/src/main/java/org/tasks/data/Tag.java +++ b/app/src/main/java/org/tasks/data/Tag.java @@ -6,6 +6,7 @@ import androidx.room.Entity; import androidx.room.Ignore; import androidx.room.Index; import androidx.room.PrimaryKey; +import com.todoroo.andlib.data.Property.LongProperty; import com.todoroo.andlib.data.Property.StringProperty; import com.todoroo.andlib.data.Table; import com.todoroo.astrid.data.Task; @@ -18,6 +19,8 @@ public class Tag { public static final Table TABLE = new Table("tags"); + public static final LongProperty TASK = new LongProperty(TABLE, "task"); + public static final StringProperty TAG_UID = new StringProperty(TABLE, "tag_uid"); public static final StringProperty TASK_UID = new StringProperty(TABLE, "task_uid"); public static final StringProperty NAME = new StringProperty(TABLE, "name"); diff --git a/app/src/main/java/org/tasks/dialogs/SortDialog.java b/app/src/main/java/org/tasks/dialogs/SortDialog.java index e2e2de2e3..2baefc8a5 100644 --- a/app/src/main/java/org/tasks/dialogs/SortDialog.java +++ b/app/src/main/java/org/tasks/dialogs/SortDialog.java @@ -23,7 +23,6 @@ import timber.log.Timber; public class SortDialog extends InjectingDialogFragment { private static final String EXTRA_MANUAL_ENABLED = "extra_manual_enabled"; - private static final String EXTRA_IS_GOOGLE_TASKS = "extra_is_google_tasks"; private static final String EXTRA_SELECTED_INDEX = "extra_selected_index"; @Inject Preferences preferences; @Inject DialogBuilder dialogBuilder; @@ -32,11 +31,10 @@ public class SortDialog extends InjectingDialogFragment { private AlertDialog alertDialog; private SortDialogCallback callback; - public static SortDialog newSortDialog(boolean manualEnabled, boolean isGoogleTasks) { + public static SortDialog newSortDialog(boolean manualEnabled) { SortDialog sortDialog = new SortDialog(); Bundle args = new Bundle(); args.putBoolean(EXTRA_MANUAL_ENABLED, manualEnabled); - args.putBoolean(EXTRA_IS_GOOGLE_TASKS, isGoogleTasks); sortDialog.setArguments(args); return sortDialog; } @@ -48,7 +46,6 @@ public class SortDialog extends InjectingDialogFragment { Bundle arguments = getArguments(); manualEnabled = arguments.getBoolean(EXTRA_MANUAL_ENABLED); - boolean isGoogleTasks = arguments.getBoolean(EXTRA_IS_GOOGLE_TASKS); if (savedInstanceState != null) { manualEnabled = savedInstanceState.getBoolean(EXTRA_MANUAL_ENABLED); @@ -60,7 +57,7 @@ public class SortDialog extends InjectingDialogFragment { List items = new ArrayList<>(); if (manualEnabled) { - items.add(getString(isGoogleTasks ? R.string.SSD_sort_my_order : R.string.SSD_sort_drag)); + items.add(getString(R.string.SSD_sort_my_order)); } items.add(getString(R.string.SSD_sort_auto)); diff --git a/app/src/main/java/org/tasks/filters/NoSubtasksFilter.java b/app/src/main/java/org/tasks/filters/NoSubtasksFilter.java new file mode 100644 index 000000000..2c9e25c31 --- /dev/null +++ b/app/src/main/java/org/tasks/filters/NoSubtasksFilter.java @@ -0,0 +1,38 @@ +package org.tasks.filters; + +import android.os.Parcel; +import android.os.Parcelable; +import com.todoroo.andlib.sql.QueryTemplate; +import com.todoroo.astrid.api.Filter; + +public class NoSubtasksFilter extends Filter { + + public static final Parcelable.Creator CREATOR = + new Parcelable.Creator() { + + /** {@inheritDoc} */ + @Override + public NoSubtasksFilter createFromParcel(Parcel source) { + NoSubtasksFilter item = new NoSubtasksFilter(); + item.readFromParcel(source); + return item; + } + + /** {@inheritDoc} */ + @Override + public NoSubtasksFilter[] newArray(int size) { + return new NoSubtasksFilter[size]; + } + }; + + public NoSubtasksFilter(String listingTitle, QueryTemplate sqlQuery) { + super(listingTitle, sqlQuery); + } + + private NoSubtasksFilter() {} + + @Override + public boolean supportsSubtasks() { + return false; + } +} diff --git a/app/src/main/java/org/tasks/filters/SortableFilter.java b/app/src/main/java/org/tasks/filters/SortableFilter.java new file mode 100644 index 000000000..ffd666566 --- /dev/null +++ b/app/src/main/java/org/tasks/filters/SortableFilter.java @@ -0,0 +1,44 @@ +package org.tasks.filters; + +import android.os.Parcel; +import android.os.Parcelable; +import com.todoroo.andlib.sql.QueryTemplate; +import com.todoroo.astrid.api.Filter; +import java.util.Map; + +public class SortableFilter extends Filter { + + public static final Parcelable.Creator CREATOR = + new Parcelable.Creator() { + + /** {@inheritDoc} */ + @Override + public SortableFilter createFromParcel(Parcel source) { + SortableFilter item = new SortableFilter(); + item.readFromParcel(source); + return item; + } + + /** {@inheritDoc} */ + @Override + public SortableFilter[] newArray(int size) { + return new SortableFilter[size]; + } + }; + + public SortableFilter(String listingTitle, QueryTemplate sqlQuery) { + super(listingTitle, sqlQuery); + } + + public SortableFilter( + String listingTitle, QueryTemplate sqlQuery, Map valuesForNewTasks) { + super(listingTitle, sqlQuery, valuesForNewTasks); + } + + private SortableFilter() {} + + @Override + public boolean supportsManualSort() { + return true; + } +} diff --git a/app/src/main/java/org/tasks/ui/TaskListViewModel.java b/app/src/main/java/org/tasks/ui/TaskListViewModel.java index cddade094..af41d3314 100644 --- a/app/src/main/java/org/tasks/ui/TaskListViewModel.java +++ b/app/src/main/java/org/tasks/ui/TaskListViewModel.java @@ -79,11 +79,6 @@ public class TaskListViewModel extends ViewModel { private static final StringProperty TAGS = new StringProperty(null, "group_concat(distinct(" + TAGS_METADATA_JOIN + ".tag_uid)" + ")") .as("tags"); - private static final StringProperty TAGS_RECURSIVE = - new StringProperty(null, "(SELECT group_concat(distinct(tag_uid))\n" + - "FROM tags WHERE tags.task = tasks._id\n" + - "GROUP BY tags.task)") - .as("tags"); @Inject Preferences preferences; @Inject TaskDao taskDao; @@ -111,17 +106,21 @@ public class TaskListViewModel extends ViewModel { List fields = newArrayList(TASKS, GTASK, CALDAV, GEOFENCE, PLACE); if (atLeastLollipop() - && (filter instanceof CaldavFilter - || (!preferences.isManualSort() && filter instanceof GtasksFilter))) { - // TODO This is in some ways a proof of concept demonstrating a recursive query used to pull - // in CalDAV tasks providing parenting across different sort modes. Tags are implemented - // as a subquery, which is ugly, but aggregate recursive queries aren't supported. The - // link to eg. GoogleTasks remains as it was originally explored as a drop-in replacement - // for the main query. Need to verify the approach and look at how this can be applied - // across backends plus investigate integrating more closely with the query-building - // classes in the architecture. - - fields.add(TAGS_RECURSIVE); + && filter.supportsSubtasks() + && !(preferences.isManualSort() && filter.supportsManualSort())) { + String tagQuery = + Query.select(field("group_concat(distinct(tag_uid))")) + .from(Tag.TABLE) + .where( + filter instanceof TagFilter + ? Criterion.and( + RECURSIVE_TASK.eq(Tag.TASK), + Tag.TAG_UID.neq(((TagFilter) filter).getUuid())) + : Task.ID.eq(Tag.TASK)) + .toString() + + " GROUP BY " + + Tag.TASK; + fields.add(field("(" + tagQuery + ")").as("tags")); fields.add(INDENT); String joinedQuery = Join.inner(RECURSIVE, Task.ID.eq(RECURSIVE_TASK)) + JOINS; @@ -152,7 +151,7 @@ public class TaskListViewModel extends ViewModel { CaldavTask.TASK.eq(Task.ID), CaldavTask.DELETED.eq(0)))) .where(TaskCriteria.activeAndVisible()); - } else { + } else if (filter instanceof GtasksFilter) { GoogleTaskList list = ((GtasksFilter) filter).getList(); parentQuery = new QueryTemplate() @@ -177,6 +176,31 @@ public class TaskListViewModel extends ViewModel { GoogleTask.TASK.eq(Task.ID), GoogleTask.DELETED.eq(0)))) .where(TaskCriteria.activeAndVisible()); + } else { + parentQuery = PermaSql.replacePlaceholdersForQuery(filter.getSqlQuery()); + subtaskQuery + .join( + Join.left( + GoogleTask.TABLE, + Criterion.and( + GoogleTask.PARENT.gt(0), + GoogleTask.TASK.eq(Task.ID), + GoogleTask.DELETED.eq(0)))) + .join( + Join.left( + CaldavTask.TABLE, + Criterion.and( + CaldavTask.PARENT.gt(0), + CaldavTask.TASK.eq(Task.ID), + CaldavTask.DELETED.eq(0)))) + .join( + Join.inner( + RECURSIVE, + Criterion.or( + GoogleTask.PARENT.eq(RECURSIVE_TASK), + CaldavTask.PARENT.eq(RECURSIVE_TASK)))) + .where(TaskCriteria.activeAndVisible()); + joinedQuery += " WHERE indent = (select max(indent) from recursive_tasks where tasks._id = recursive_tasks.task) "; } String sortSelect = SortHelper.orderSelectForSortTypeRecursive(preferences.getSortMode()); diff --git a/app/src/main/res/values-af-rZA/strings.xml b/app/src/main/res/values-af-rZA/strings.xml index 601152e30..bc1ae9871 100644 --- a/app/src/main/res/values-af-rZA/strings.xml +++ b/app/src/main/res/values-af-rZA/strings.xml @@ -1,8 +1,7 @@ - Manuele rangskiking met subtake - Slim sorteer + Slim sorteer Volgens titel Volgens datum Volgens prioriteit diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 40a3646fa..25e83562a 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -16,8 +16,7 @@ ابحث إعدادات تعديل - ترتيب يدوي مع مهام فرعية - ترتيب ذكي + ترتيب ذكي بالعنوان بحسب تاريخ الإستحقاق بحسب الأولوية diff --git a/app/src/main/res/values-bg-rBG/strings.xml b/app/src/main/res/values-bg-rBG/strings.xml index d43ad6ac6..45d3ee6c5 100644 --- a/app/src/main/res/values-bg-rBG/strings.xml +++ b/app/src/main/res/values-bg-rBG/strings.xml @@ -30,8 +30,7 @@ Редактирай Обади се Отвори - Ръчно подреждане с подзадачи - Умно сортиране + Умно сортиране По име По краен срок По приоритет diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index e4a163944..7ff07af4c 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -18,8 +18,7 @@ Cerca Paràmetres Edita - Ordre manual amb subtasques - Classificació intel·ligent Tasks + Classificació intel·ligent Tasks Per títol Per data de venciment Per importància diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 3e7b3cd3d..1052ab2a4 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -22,8 +22,7 @@ Hledat Nastavení Upravit - Ručně nebo s podúkoly - Chytré třídění + Chytré třídění Podle názvu Podle data ukončení Podle důležitosti diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 7f66a7197..2d7a68da1 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -18,8 +18,7 @@ Sorter & skjulte Opsætning Rediger - Manuel ordre med delopgaver - Tasks Intelligent sortering + Tasks Intelligent sortering Efter titel Efter deadline Efter vigtighed diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index aecd52653..422488fb2 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -25,8 +25,7 @@ Bearbeiten Anrufen Öffnen - Manuelle Sortierung mit Unteraufgaben - Smarte Sortierung + Smarte Sortierung Nach Titel Nach Fälligkeit Nach Priorität diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index b8939943c..ef8de5cef 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -23,8 +23,7 @@ Αναζήτηση Ρυθμίσεις Επεξεργασία - Χειροκίνητη κατάταξη με υποκαθήκοντα - Έξυπνη ταξινόμηση + Έξυπνη ταξινόμηση Με βάση τον τίτλο Με βάση την ημερομηνία λήξης Κατά προτεραιότητα diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 682b7b98a..e08337de9 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -27,8 +27,7 @@ Editar Llamar Abrir - Orden manual con subtareas - Ordenación inteligente + Ordenación inteligente Por título Por vencimiento Por prioridad diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 92b3ae330..70af8495b 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -31,8 +31,7 @@ Editatu Deitu Ireki - Eskuzko ordena azpi-egitekoekin - Ordenatze adimentsua + Ordenatze adimentsua Izenburuaren arabera Epemugaren arabera Lehentasunaren arabera diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index bc79b47e0..8a5de94f8 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -19,8 +19,7 @@ جست و جو تنظیمات ویرایش - چینش دستی بهمراه زیروظایف - چینش هوشمندانه + چینش هوشمندانه براساس موضوع براساس تاریخ موعود براساس اولیت diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index c9ecc866f..cabcb3b9c 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -28,8 +28,7 @@ Etsi Asetukset Muokkaa - Manuaalinen järjestys osatehtäviin - Älykäs järjestely + Älykäs järjestely Otsikoittain Eräpäivään mennessä Prioriteetin mukaan diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 30497f7ac..c0f428b96 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -26,8 +26,7 @@ Modifier Appeler Ouvrir - Ordonner manuellement avec les sous-tâches - Tri intelligent Tasks + Tri intelligent Tasks Par titre Par date d\'échéance Par priorité diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 996f3917f..e64308d21 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -25,8 +25,7 @@ Buscar Configuración Editar - Orde manual con subtarefas - Ordenación intelixente + Ordenación intelixente Por título Por data límite Por prioridade diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 519909da3..b40ee4e9a 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -29,8 +29,7 @@ Szerkesztés Hívás Megnyitás - Manuális sorrend részfeladatokkal - Intelligens rendezés + Intelligens rendezés Név alapján Határidő alapján Prioritás alapján diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index f996cf21a..5042df76a 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -27,8 +27,7 @@ Modifica Chiama Apri - Ordinamento manuale con attività correlate - Ordinamento Intelligente + Ordinamento Intelligente Per titolo Per scadenza Per priorità diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index a93e3a10a..6b11351c0 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -32,8 +32,7 @@ עריכה התקשר פתח - סידור ידני עם תתי-משימות - מיון חכם + מיון חכם ע״פ כותרת ע״פ מועד יעד ע״פ עדיפות diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 6c82ac038..add4f93e0 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -27,8 +27,7 @@ 編集する 呼び出し 開く - サブタスクの手動設定順 - 自動 + 自動 タイトル順 期限順 優先順位順 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index a74a36e0d..bccbc0274 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -30,8 +30,7 @@ 편집 전화 열기 - 수동 정렬 (하위할일 포함) - Tasks 스마트 정렬 + Tasks 스마트 정렬 제목 순서 마감일 순서 우선순위 순서로 diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 4f80ecbf9..f77685d22 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -27,8 +27,7 @@ Redaguoti Skambinti Atidaryti - Rankinis eiliškumas su sub-užduotimis - Gudrus eiliškumas + Gudrus eiliškumas Pagal pavadinimą Pagal pabaigos terminą Pagal pirmenybę diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index f134b8831..4d8cfe40d 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -21,8 +21,7 @@ Sorter Innstillinger Rediger - Manuell rekkefølge med underoppgaver - Smart sortering + Smart sortering Etter tittel Etter tidsfristsdato Etter prioritet diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 53a9fc02f..f307dbfee 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -25,8 +25,7 @@ Instellingen Bewerken Bel - Handmatige volgorde met subtaken - Slim Sorteren + Slim Sorteren Op titel Op einddatum Op prioriteit diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 95f0ba034..f4d78ed52 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -27,8 +27,7 @@ Edytuj Zadzwoń Otwórz - Ręczne z podzadaniami - Automatyczne + Automatyczne Wg tytułu Wg daty Wg priorytetów diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 446a5fb8f..a4b7748f4 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -29,8 +29,7 @@ Editar Chamar Abrir - Ordem manual com subtarefas - Ordenação inteligente + Ordenação inteligente Por título Por data de vencimento Por prioridade diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 021f45b39..3cbaebbfc 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -27,8 +27,7 @@ Procura Definições Editar - Ordem manual com subtarefas - Ordenação Inteligente Tasks + Ordenação Inteligente Tasks Por Título Por data limite Por Importância diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 0238491a1..e12a8ecd5 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -27,8 +27,7 @@ Редактировать Позвонить Открыть - Ручная сортировка с подзадачами - Умная сортировка + Умная сортировка По названию По намеченному сроку По приоритету diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 65caa7698..472179040 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -27,8 +27,7 @@ Upraviť Volať Otvoriť - Ručne triediť s podúlohami - Chytré triedenie + Chytré triedenie Podľa názvu Podľa dátumu Podľa dôležitosti diff --git a/app/src/main/res/values-sl-rSI/strings.xml b/app/src/main/res/values-sl-rSI/strings.xml index 72bbae612..f703dc439 100644 --- a/app/src/main/res/values-sl-rSI/strings.xml +++ b/app/src/main/res/values-sl-rSI/strings.xml @@ -23,8 +23,7 @@ Iskanje Nastavitve Uredi - Ročna nastavitev s podopravki - Pametno razvrščanje + Pametno razvrščanje Po naslovu Po datumu roka Po prioriteti diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index f83400860..c396b5ca2 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -1,8 +1,7 @@ - Ručni poredak sa podzadacima - Pametno sortiranje + Pametno sortiranje Po naslovu Po datumu Po prioritetnosti diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 828f05417..fa57c78d0 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -24,8 +24,7 @@ Sök Inställningar Redigera - Manuell sortering med underuppgifter - Smart sortering + Smart sortering Efter titel Efter förfallodatum Efter prioritet diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index a8b8507cc..77deb9f73 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -31,8 +31,7 @@ Düzenle Ara - Alt görevleri elle sırala - Tasks akıllı sıralama + Tasks akıllı sıralama Başlığa göre Bitiş tarihine göre Önceliğe göre diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index da515de73..f4fe19f76 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -30,8 +30,7 @@ Редагувати Набрати Відкрити - Ручний порядок з підзадачами - Розумне сортування + Розумне сортування За назвою За кінцевою датою За пріоритетом diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 5ce193624..94580d43f 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -26,8 +26,7 @@ 编辑 通话 打开 - 手动指定来显示子任务 - 清单小助理智能排序 + 清单小助理智能排序 按标题 按截止日期 按优先级 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c5370f061..6e8b39ca8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -32,7 +32,6 @@ File %1$s contained %2$s.\n\n Edit Call Open - Manual order with subtasks My order Smart sort By title