• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Idrinth / habit-evaluator / 21971550702
40%

Build:
DEFAULT BRANCH: the-one
Ran 13 Feb 2026 01:50AM UTC
Jobs 6
Files 263
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

13 Feb 2026 01:50AM UTC coverage: 36.509% (-0.05%) from 36.561%
21971550702

push

github

web-flow
Extract notification logic into flavor-specific NotificationHelper and add POST_NOTIFICATIONS permission handling (#384)

* Extract notification logic into flavor-specific NotificationHelper and add POST_NOTIFICATIONS permission handling

The NotificationChannel creation is now in flavor-specific source sets:
- modern (API 26+): creates channel unconditionally
- legacy (API 21+): guards with Build.VERSION.SDK_INT >= O check

Both flavors gain POST_NOTIFICATIONS runtime permission handling for
API 33+, requested when any reminder is enabled in settings. Without
this, notifications silently fail on Android 13+ devices.

https://claude.ai/code/session_01XixYUToNd4atuyNUxQttHB

* Extract POST_NOTIFICATIONS permission into handler classes

Replace inline version checks with a NotificationPermissionHandler
interface and two implementations:
- PreApi33PermissionHandler: no-op, always grants permission
- Api33PermissionHandler: checks POST_NOTIFICATIONS at runtime

NotificationHelper.permissionHandler() selects the right one based
on the device API level.

https://claude.ai/code/session_01XixYUToNd4atuyNUxQttHB

* Rename flavors to Android version names and add tiramisu (API 33+)

Rename legacy→lollipop (API 21+), modern→oreo (API 26+), and add a
new tiramisu flavor (API 33+). Each flavor's NotificationHelper now
directly returns the right NotificationPermissionHandler without a
runtime version check:
- lollipop/oreo: PreApi33PermissionHandler (no-op)
- tiramisu: Api33PermissionHandler (real permission check)

Updates CI and release workflows to build all three flavors.

https://claude.ai/code/session_01XixYUToNd4atuyNUxQttHB

* Make lollipop NotificationHelper.ensureNotificationChannel a no-op

Devices running API 26+ install the oreo flavor, so the lollipop
flavor only runs on API 21–25 where notification channels do not
exist. The API 26 guard was dead code.

https://claude.ai/code/session_01XixYUToNd4atuyNUxQttHB

---------

Co-authored-by: Claude <norepl... (continued)

1968 of 6167 branches covered (31.91%)

Branch coverage included in aggregate %.

6887 of 18087 relevant lines covered (38.08%)

1.77 hits per line

Coverage Regressions

Lines Coverage ∆ File
143
0.0
0.0% de/idrinth/habitevaluator/android/SettingsFragment.java
35
0.0
0.0% de/idrinth/habitevaluator/android/ReminderReceiver.java
Jobs
ID Job ID Ran Files Coverage
4 homepage - 21971550702.4 13 Feb 2026 01:50AM UTC 4
100.0
GitHub Action Run
5 website - 21971550702.5 13 Feb 2026 01:50AM UTC 3
95.26
GitHub Action Run
6 android - 21971550702.6 13 Feb 2026 01:51AM UTC 92
12.41
GitHub Action Run
6 shared - 21970672993.6 13 Feb 2026 01:09AM UTC 75
71.58
GitHub Action Run
4 webserver - 21970672993.4 13 Feb 2026 01:10AM UTC 64
57.78
GitHub Action Run
2 desktop - 21970672993.2 13 Feb 2026 01:10AM UTC 25
35.59
GitHub Action Run
Source Files on build 21971550702
  • Tree
  • List 263
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #21971550702
  • ed599c9b on github
  • Prev Build on the-one (#21971076916)
  • Next Build on the-one (#21971740933)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc