- Feb 01, 2020
-
-
Marten Gajda authored
Try to work around the crash caused by an IllegalStateException by always returning a valid group view. Some change in Android seems to cause this. We'll keep this workaround until we've removed the `ExpandableListView`for good.
-
- Jan 29, 2020
-
-
Valdnet authored
Update Polish translation.
-
- Jan 26, 2020
-
-
Valdnet authored
Translation update.
-
- Jan 22, 2020
-
-
Marten Gajda authored
-
- Jan 21, 2020
-
-
Marten Gajda authored
In order to support simple recurrence models and also keep long running tasks small we detach completed instances at the beginning of a series into separate task instances.
-
- Nov 15, 2019
-
-
Marten Gajda authored
Also update gradle wrapper and travis file and fixes a build error.
-
- Nov 14, 2019
-
-
Marten Gajda authored
The total number of users of Android versions < 4.4 sums up to less than 1% on Google Play. That's not enough to justify supporting these legacy versions anymore. Dropping these, on the other hand, allows us to ignore backwarnds compatibility issues.
-
Marten Gajda authored
-
- Nov 08, 2019
-
-
Tntdruid authored
Added Danish translation.
-
- Oct 09, 2019
-
-
Marten Gajda authored
The Task Editor used to launch the details view for newly created tasks using the task Uri. In general this works, but it fails when the details view uses the Uri with the notification service (because that currently requires an instance Uri). So to fix this we load the first instance after creating a new task and use that one to show the details view.
-
Emanuele Petriglia authored
-
Marten Gajda authored
Under certain conditions the CursorTreeAdapter might have had a null Cursor. This commit attempts to fix this by passing an empty MatrixCursor instead. Hopefully this fixes #758 until we got rid of the CursorTreeAdapter.
-
Aled Powell authored
-
Marten Gajda authored
`DueData` and `TimeData` should not set recurrence values. That's not allowed on the instances table and, apparently, it's very unexpected and error prone.
-
- Sep 23, 2019
-
-
Marten Gajda authored
-
Marten Gajda authored
This commit (temporarily) allows tasks with floating start or due and absolute until part in the RRULE and vice versa. Apparently such tasks exist and we didn't validate this condition. So for now we tolerate this issue until we can be sure the database won't contain such tasks.
-
- Sep 14, 2019
-
-
Marten Gajda authored
Apparently there are tasks which have a recurrence rule but neither a dtstart nor a due date. This caused an NPE. By treating such tasks as non-recurring this should be fixed.
-
- Sep 13, 2019
-
-
Marten Gajda authored
Recurring tasks may specify a dtstart and due date (instead of a duration). If the task was an all-day task, we may have tried to add a duration derived from the difference between start and due. The result was a non-all-day duration (although in most cases being a multiple of 24h) and adding this to an all-day date resulted in an error. It's fixed by converting the duration into a proper all-day duration.
-
- Sep 08, 2019
-
-
Marten Gajda authored
Updates TaskProvider to skip updates which don't change any value. In such case no database operation is necessary and no notifications will be triggered.
-
- Aug 29, 2019
-
-
Marten Gajda authored
Upon moving a task to a new list, it's not just moved, but a deleted copy is left behind in the old list, so sync adapters can take note of the removal in the old list. This commit fixes the creation of the deleted instance. The code tried to create instance columns in the task table, which failed and caused the deleted instance to be missing. This commit ensures that the TaskAdapter which is used to insert the deleted instance does not contain instance values.
-
Marten Gajda authored
It's no longer necessary to update all values which affect recurrence in the same update. The provider can handle updates of individual fields.
-
Jasper van Loenen authored
-
- Aug 25, 2019
-
-
Marten Gajda authored
This commit adds initial recurrence support in that recurring instances are handled correctly when instances are edited or deleted. In order to support this, the UI now operates on the Instances table rather then the tasks table. The instances table now supports deletes, and updates like the tasks table with the difference that all these operations only affect the specific instance that's addressed. All the operations on the instances table are converted into operations on a task by creating exception instances and RDATEs or EXDATEs. Inserting instances is currently not possible because only a fixed number of instances are expanded. This means an instance inserted beyond the expansion window would still not show up in the instances table. See https://github.com/dmfs/opentasks/issues/741 There is still room for improvement in that we could split of completed tasks and modify recurrence rules when deleting instances from the start or end of the series. That's left to future updates. Also there is no UI yet to create or edit recurrence properties itself. At present there is only one upcoming instance expanded, so you can only see the "current" instance (and all completed ones). This may/will change in future but may require some UI changes as well. In order to support this commit a number of tests have been implemented which test creating and altering recurring instances. Currently an exception is created when a recurring instance is modified which wasn't an exception before. This approach is RFC 5545 compliant but not supported by Apple clients. This will be fixed in future updates.
-
- Aug 19, 2019
-
-
Marten Gajda authored
-
- Aug 17, 2019
-
-
Marten Gajda authored
Since Android 8 it's not possible to listen to implicit broadcasts anymore when the reciever is declared in the AndroidManifest.xml. In a previous commit we disabled sending out broadcasts to other apps. This caused some trouble. For new we hard code 3rd party receiver package names in a resource array. This is supposed to be changed later on, see #824.
-
- Jun 15, 2019
-
-
Marten Gajda authored
-
- Jun 12, 2019
-
-
Marten Gajda authored
When a task is modified we compare the current notification state to the new one and update the notification if necessary. In certain cases we remove the notification now: * the task was unpinned (by the sync adapter) * the start of a task has been postponed * the due date of a task has been postponed * a task has been completed
-
- Jun 08, 2019
-
-
Marten Gajda authored
-
- Jun 07, 2019
-
-
Marten Gajda authored
This sets a "notification cancelled" intent which removes the persisted entry when the notification is swiped away.
-
- Jun 06, 2019
-
-
Marten Gajda authored
-
- Jun 05, 2019
-
-
Marten Gajda authored
* update jems to 1.22 * update contentpal to 0.5 * update lib-recur to 0.11.2 * update color-picker to 1.3 * update bolts to 0.1 * fix dependency scopes * update `Diff` usage to account for correct Comparator logic * replace some classes with their upstream counterparts
-
- Jun 04, 2019
-
-
Unpublished authored
* Bump support_lib_version from 26.1.0 to 28.0.0 * Bump support_test_runner_version from 0.5 to 1.0.2 * Bump mockito-core from 2.10.0 to 2.27.0 * Migrate to AndroidX * Bump appcompat from 1.0.0 to 1.0.2 * Bump androidx_test_runner_version from 1.1.0 to 1.1.1
-
- May 24, 2019
-
-
Unpublished authored
* Bump AGP to 3.4.1, gradle to 5.1.1 * Fix lint error
-
- May 16, 2019
-
-
Unpublished authored
-
- May 10, 2019
-
-
Marten Gajda authored
The cause of issue #793 is actually unknown but this once could be a good candidate. In few cases the database might already be on version 20 but the version column had not been created. This might be caused by having the beta version installed before (which already had a version 20, but without the column). This fix always checks if the version column already exists and creates it otherwise.
-
- Apr 07, 2019
-
-
Marten Gajda authored
-
Marten Gajda authored
-
Marten Gajda authored
Version codes of releases (master builds) are now always higher than version codes of beta builds (feature branches). This ensures we can always update the production release.
-
- Apr 02, 2019
-
-
Marten Gajda authored
* Introduce composable TaskAction handlers * Implement TaskActions required for feature parity with the old service * Clean up old notification services
-
- Mar 02, 2019
-
-
Marten Gajda authored
This commit adds a read-only task VERSION column which is incremented upon any update or a task (including sync-adapter updates). The column serves two purposes: * safe transactions by asserting a specific version before updating a task * quick detection if a specific task has been modified The former could be used by sync-adapters to ensure a task has not been updated while being synced. Notifications will make use of the latter to avoid unnecessary updates of task notifications for unchanged tasks.
-