Calendar Lite 1.6: bundled TLS 1.2, renamed from GingerCal, new icons, English months #1

Merged
xocko merged 8 commits from bundled-tls into main 2026-10-19 17:11:39 +00:00
Owner

Use the normal Nextcloud https:// address directly from the phone.

  • NetHttp replaces the Apache HttpClient transport (any method: PROPFIND/REPORT/PUT/DELETE), keep-alive
  • http:// → https:// redirects on the same host are followed; redirects to another host are still refused (password protection)
  • bridge wording replaced (Galician/English), README updated; NetTest replaces BridgeTest

Tested: RedirectTest and I18nTest pass, as does NetTest (TLS to the real Nextcloud, self-signed pin, CalDAV discovery over Radicale). CoreTest has 1 failure (recurrence with EXDATE), the same on main, so it predates this change. Not yet on the emulator or the phone.

Same approach as the iPod ports (which bundle BearSSL): Android 2.3 only speaks TLS 1.0, so the app now carries Minamp's own HTTP/TLS client — Bouncy Castle TLS 1.2, Mozilla's root certificates (assets/roots), keep-alive and session resumption — and connects to the normal https:// address directly, at home and away. No bridge or legacy port needed.

The client lives in net/ (shared copy of Minamp's Http/CertVerifier, plus pinning for self-signed servers). Network threads get 256 KB stacks: the handshake overflows Android 2.x's default ones.

🤖 Generated with Claude Code

Renamed to Calendar Lite (was GingerCal): label, texts, User-Agent, PRODID, APK name. New launcher icon from the icon pack (ldpi–xhdpi, master in art/), and reminders now use a white calendar glyph in the status bar (stat_notify) instead of the system's colour alarm clock. Package name, database and signing key are unchanged, so it installs over GingerCal and keeps its data.

Use the normal Nextcloud `https://` address directly from the phone. - `NetHttp` replaces the Apache HttpClient transport (any method: PROPFIND/REPORT/PUT/DELETE), keep-alive - http:// → https:// redirects on the same host are followed; redirects to another host are still refused (password protection) - bridge wording replaced (Galician/English), README updated; `NetTest` replaces `BridgeTest` **Tested:** RedirectTest and I18nTest pass, as does NetTest (TLS to the real Nextcloud, self-signed pin, CalDAV discovery over Radicale). CoreTest has 1 failure (recurrence with EXDATE), the same on `main`, so it predates this change. Not yet on the emulator or the phone. Same approach as the iPod ports (which bundle BearSSL): Android 2.3 only speaks TLS 1.0, so the app now carries Minamp's own HTTP/TLS client — Bouncy Castle TLS 1.2, Mozilla's root certificates (`assets/roots`), keep-alive and session resumption — and connects to the normal `https://` address directly, at home and away. No bridge or legacy port needed. The client lives in `net/` (shared copy of Minamp's `Http`/`CertVerifier`, plus pinning for self-signed servers). Network threads get 256 KB stacks: the handshake overflows Android 2.x's default ones. 🤖 Generated with [Claude Code](https://claude.com/claude-code) **Renamed to Calendar Lite** (was GingerCal): label, texts, User-Agent, PRODID, APK name. New launcher icon from the icon pack (ldpi–xhdpi, master in `art/`), and reminders now use a white calendar glyph in the status bar (`stat_notify`) instead of the system's colour alarm clock. Package name, database and signing key are unchanged, so it installs over GingerCal and keeps its data.
xocko added 2 commits 2026-10-17 17:21:24 +00:00
CalDAV now goes through Minamp's own HTTP/TLS client (Bouncy Castle TLS 1.2, Mozilla
roots, keep-alive) instead of Apache HttpClient on Android 2.3's TLS 1.0, as the iPod
version does with BearSSL. The phone reaches the normal https:// Nextcloud address at
home and away; a pinned self-signed server or the old bridge still works.

- NetHttp transport; requests run on big-stack threads (the handshake overflows
  AsyncTask/IntentService stacks on Android 2.x)
- http:// -> https:// redirects on the same host are followed; other hosts still refused
- bridge wording replaced in Galician and English; README updated
- NetTest (TLS + CalDAV discovery through the new transport) replaces BridgeTest

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
xocko added 1 commit 2026-10-19 14:57:56 +00:00
Renames the app (label, texts, User-Agent, PRODID, APK) and uses the new launcher icon pack
(ldpi to xhdpi, master in art/) instead of drawing one at build time. Reminders show a white
calendar glyph in the status bar (stat_notify, 18-48 px) instead of the system's colour
alarm clock, which didn't fit the Gingerbread bar. The package name, database and signing key
stay, so it installs over GingerCal and keeps its data.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
xocko changed title from GingerCal 1.4: bundled TLS 1.2, no bridge needed to Calendar Lite 1.5: bundled TLS 1.2, renamed from GingerCal, new icons 2026-10-19 14:58:27 +00:00
xocko added 1 commit 2026-10-19 15:30:20 +00:00
xocko added 1 commit 2026-10-19 15:53:26 +00:00
xocko added 1 commit 2026-10-19 15:53:51 +00:00
xocko added 1 commit 2026-10-19 16:40:23 +00:00
xocko added 1 commit 2026-10-19 17:11:26 +00:00
They came from the phone's locale, so a phone set to Spanish showed "Octubre 2026" with an
English interface (and I18nTest failed on any machine not set to English).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
xocko changed title from Calendar Lite 1.5: bundled TLS 1.2, renamed from GingerCal, new icons to Calendar Lite 1.6: bundled TLS 1.2, renamed from GingerCal, new icons, English months 2026-10-19 17:11:35 +00:00
xocko merged commit a625e20a56 into main 2026-10-19 17:11:39 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: xocko/calendar-lite#1