Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Subscriptions in database: UI #110

Closed
7 tasks done
rfc2822 opened this issue Feb 11, 2023 · 6 comments
Closed
7 tasks done

Subscriptions in database: UI #110

rfc2822 opened this issue Feb 11, 2023 · 6 comments
Assignees
Milestone

Comments

@rfc2822
Copy link
Member

rfc2822 commented Feb 11, 2023

  • AddCalendarActivity creates Subscription in database instead of a local calendar
  • CalendarListActivity lists Subscriptions from DB instead of local calendars
  • EditCalendarActivity edits Subscription in database instead of local calendar
  • + all related fragments

Regarding permissions: we now don't have to ask for calendar permissions anymore in order to be able to create (manage) subscriptions because we have them in our DB. So I'd change the permission logic as follows:

  • As soon as there's at least one subscription, show some UI element in the CalendarListActivity that calendar permissions are required for synchronization. Users can then give the permission.
  • Permissions don't have to be checked elsewhere in the UI.
  • The synchronization worker has to check calendar permissions. If they're not granted, it should show a notification that leads to the CalendarListActivity.

Depends on #76

@github-actions
Copy link

This PR/issue depends on: * #76

@rfc2822
Copy link
Member Author

rfc2822 commented Feb 11, 2023

@ArnyminerZ I suggest that we do this activity per activity. CalendarListActivity or AddCalendarActivity could be good starting points. Which one do you want to start with?

After each Activity I'd like to add a review/do amending commits and then we can continue to the next Activity.

@rfc2822 rfc2822 added this to the 2.1 milestone Feb 11, 2023
@ArnyminerZ
Copy link
Member

I'll start with CalendarListActivity since it's only a "display" and it seems quite simpler. Then I'll handle permissions, which means removing the starting request, and requesting them just when synchronization runs.

Then I'll work on AddCalendarActivity and finally EditCalendarActivity

@ArnyminerZ
Copy link
Member

By the way, we should really suspend all the functions from the dao just to make sure we don't call them from the UI thread, or errors like this will be thrown:

java.lang.IllegalStateException: Cannot access database on the main thread since it may potentially lock the UI for a long period of time.

@ArnyminerZ
Copy link
Member

permissions

@rfc2822
Copy link
Member Author

rfc2822 commented Feb 17, 2023

Should be finally done :)

@rfc2822 rfc2822 closed this as completed Feb 17, 2023
rfc2822 pushed a commit that referenced this issue Feb 25, 2024
* Note

Signed-off-by: Arnau Mora <arnyminerz@proton.me>

* Migrate to Kotlin DSL (#19)

Signed-off-by: Arnau Mora <arnyminerz@proton.me>

* Upgrade all dependencies (#22)

* Upgrade to Android 14 (#21)

Signed-off-by: Arnau Mora <arnyminerz@proton.me>

* Rewrite CredentialsFragment to compose (#26)

* Update import (#27)

* Update README.md

* Fix NPE on adding subscription (#33)

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Arnau Mora <arnyminerz@proton.me>

* Make CredentialsFragment into a composable (#35)

* Using regular ubuntu image

Signed-off-by: Arnau Mora <arnyminerz@proton.me>

* Migrate SubscriptionSettingsFragment to compose (#29)

* Migrate `AddCalendarValidationFragment` to Jetpack Compose (#31)

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at>

* Migrate `AddCalendarEnterUrlFragment` to Jetpack Compose (#38)

Signed-off-by: Arnau Mora <arnyminerz@proton.me>
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at>

* Migrate AddCalendarDetailsFragment to compose (#40)

* Upgrade AGP to 8.2.1 (#42)

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Upgrade Kotlin, KSP, Compose and others (#43)

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at>

* Migrate `AddCalendarActivity` to Jetpack Compose (#45)

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at>

* Added missing line break (#52)

* Remove unused view and layout (#54)

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Added Dependabot (#51)

* Bump github/codeql-action from 2 to 3 (#62)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/checkout from 3 to 4 (#61)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/setup-java from 3 to 4 (#58)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump joda-time:joda-time from 2.12.5 to 2.12.6 (#56)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump androidx.work:work-testing from 2.8.1 to 2.9.0 (#60)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Using BOM for OkHttp and downgrade to stable (#64)

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Migrate EditCalendarActivity to jetpack compose (#46)

* Bump actions/cache from 3 to 4 (#65)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump com.android.tools.build:gradle from 8.2.1 to 8.2.2 (#66)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump androidx.compose.runtime:runtime-livedata from 1.5.4 to 1.6.0 (#78)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump androidx.compose:compose-bom from 2023.10.01 to 2024.01.00 (#79)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump com.google.accompanist:accompanist-themeadapter-material from 0.32.0 to 0.34.0 (#80)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arnau Mora <arnyminerz@proton.me>

* Bump gradle/gradle-build-action from 2 to 3 (#82)

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arnau Mora <arnyminerz@proton.me>

* Fix: Can't add subscription after going back once (#83)

* Update ical4android and cert4android (#73)

Signed-off-by: Arnau Mora <arnyminerz@proton.me>

* Cleanup of Dialogs (#67)

Signed-off-by: Arnau Mora <arnyminerz@proton.me>
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Bump actions/upload-artifact from 2 to 4 (#63)

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arnau Mora <arnyminerz@proton.me>

* Migrate `DonateDialogFragment` to Jetpack Compose (#75)

Signed-off-by: Arnau Mora <arnyminerz@proton.me>
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at>

* Final layout cleanup (#68)

Signed-off-by: Arnau Mora <arnyminerz@proton.me>
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at>

* Ensured toast error is never null (#91)

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Crash when going back into `CalendarListActivity` (standard flavour) (#90)

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Migrate ColorPickerActivity to Jetpack Compose (closes #53, #87) (#94)

* Bump androidx.compose:compose-bom from 2024.01.00 to 2024.02.00 (#96)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump androidx.compose.runtime:runtime-livedata from 1.6.0 to 1.6.1 (#95)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump joda-time:joda-time from 2.12.6 to 2.12.7 (#93)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Edit Subscription: requires-auth toggle and credential fields trigger save-dismiss mechanism (#92)

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Arnau Mora Gras <arnyminerz@proton.me>

* Removed package definition from manifest (#101)

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Bump com.maxkeppeler.sheets-compose-dialogs:core from 1.2.1 to 1.3.0 (#103)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Use compose theming engine, (drop compatibility MdcTheming etc) (#48)

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at>

* Migrated to Gradle Version Catalog (#99)

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Check if we can reuse more composables and improve project structure (#106)

* Bump aboutLibs from 10.7.0 to 10.10.0 (#108)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump org.jetbrains.kotlinx:kotlinx-coroutines-android from 1.7.3 to 1.8.0 (#110)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Migrate to Material 3 (#109)

* Bump compose-ui from 1.6.1 to 1.6.2 (#111)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump androidx.compose.material:material-icons-extended from 1.6.1 to 1.6.2 (#112)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump androidx.compose.runtime:runtime-livedata from 1.6.1 to 1.6.2 (#113)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arnau Mora <arnyminerz@proton.me>

* Quickfix for pull to refresh (#114)

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at>

* Fix warnings (#115)

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at>

---------

Signed-off-by: Arnau Mora <arnyminerz@proton.me>
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants