Let other apps write to the own store through the provider (#63)

This commit is contained in:
2026-10-15 14:25:23 +02:00
parent e7bf23e276
commit 522d5ca35e
22 changed files with 2250 additions and 66 deletions
+12 -6
View File
@@ -15,14 +15,19 @@
<uses-permission android:name="org.tasks.permission.READ_TASKS" />
<uses-permission android:name="org.tasks.permission.WRITE_TASKS" />
<!-- What another app requests to read the own store through
AgendulaTaskProvider. Dangerous, like OpenTasks' own: the user grants it
per app. Suffixed per build, so debug and release can coexist. -->
<!-- What another app requests to read or write the own store through
AgendulaTaskProvider. Dangerous, like OpenTasks' own: the user grants
them per app. Suffixed per build, so debug and release can coexist. -->
<permission
android:name="${applicationId}.permission.READ_TASKS"
android:description="@string/permission_read_tasks_description"
android:label="@string/permission_read_tasks_label"
android:protectionLevel="dangerous" />
<permission
android:name="${applicationId}.permission.WRITE_TASKS"
android:description="@string/permission_write_tasks_description"
android:label="@string/permission_write_tasks_label"
android:protectionLevel="dangerous" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
@@ -241,13 +246,14 @@
</intent-filter>
</receiver>
<!-- The own store, read-only, under the OpenTasks contract. Empty while
External mode is active. -->
<!-- The own store under the OpenTasks contract. Empty, and refusing
writes, while External mode is active. -->
<provider
android:name=".data.tasks.provider.AgendulaTaskProvider"
android:authorities="${applicationId}.tasks"
android:exported="true"
android:permission="${applicationId}.permission.READ_TASKS"
android:readPermission="${applicationId}.permission.READ_TASKS"
android:writePermission="${applicationId}.permission.WRITE_TASKS"
tools:ignore="SystemPermissionTypo" />
<!-- WorkManager's on-demand initialisation. Removing the default