Skip to content

feat(mail): GC-Kontakt als Master, Favoriten und Termin-Widget auf Start (Mail 1.4.0) - #167

Merged
CallMeTechie merged 1 commit into
mainfrom
feature/contacts-master-favorites
Oct 31, 2026
Merged

CallMeTechie merged 1 commit into
mainfrom
feature/contacts-master-favorites

Conversation

@CallMeTechie

Copy link
Copy Markdown
Owner

Android-Seite von Mail 1.4.0 (CallMeTechie/gatecontrol-plugins#134): der GC-Kontakt als Master, Favoriten und das Termin-Widget auf Start.

Kontakte

  • Liste: nur GC-Kontakte und unverknüpfte Karten. Verknüpfte Konto-Karten erscheinen als Quellen-Punkte (sources) am Kontakt, im Kontakt als „verknüpft mit Outlook (…)“. Stern für Favoriten, dezenter Punkt bei conflicts > 0. Eine verknüpfte Karte öffnet ihren Master.
  • Kontakt: ein Hinweis je Konflikt („Outlook (…) hat eine andere Mobilnummer: … (bisher …)“) mit Übernehmen (replace), Zusätzlich (add, bei Nummern/Anschriften mit replaces) und Verwerfen. Abschnitt „Quellen“ mit Verknüpfung lösen (unmerge { ids: [id] }). Stern, lange drücken auf eine Nummer → „Als Hauptnummer“ (mainPhone), „Auf Start anheften“.
  • Bearbeiten: ganzes Formular wie bisher. writeBack der Antwort wird kurz angezeigt: „Auch in Outlook geändert“ bzw. „Nicht bei … geändert“. Beim Löschen eines GC-Kontakts mit Verknüpfungen fragt die App per Kästchen (Standard aus), ob die verknüpften Kontakte beim Anbieter mitgelöscht werden (?linked=delete).
  • Dubletten: oben „Automatisch zusammengeführt (n)“ aus cards/merges mit Rückgängig (Hinweis, wenn der Master dabei verschwindet). Darunter die unsicheren Fälle (duplicates?details=1): je Karte Herkunft (Adressbuch/Konto), Miniaturbild, Nummern, Mails, Anschrift; Werte, die nur diese Karte hat, sind hervorgehoben. Dann „So wird der Kontakt“ (preview), Zusammenführen (ohne primaryId, wie die Vorschau) und Keine Dublette. Der alte Dialog entfällt.

Start

  • Favoriten-Kacheln: in der Reihe der Schnellaktionen, Bild oder Initialen und Name. Ein Tipp ruft die Hauptnummer an: mit ACTION_CALL nur bei erteilter CALL_PHONE, sonst ACTION_DIAL. Es kommt keine neue Berechtigung ins Manifest. Lange drücken öffnet den Kontakt, ohne Nummer öffnet auch der Tipp den Kontakt. Die Kacheln folgen GET cards/favorites, ein Nicht-mehr-Favorit verschwindet.
  • Termin-Widget: GET events/upcoming?days=2&limit=8, heute und morgen mit Zeit, Titel und Kalenderfarbe. Ein Tipp öffnet den Termin (bzw. den Kalender bei Overlays), die Kopfzeile den Kalender (Seite neben Start, sonst neue Route mail/calendar). Es lädt beim Anzeigen, bei calendar-Live-Ereignissen und um Mitternacht neu, offline zeigt es den letzten Stand ohne Vergangenes.
  • Anheften/Entfernen: „Schnellaktionen und Widgets“ hat einen Abschnitt „Mail“ (Termine, jeder Favorit mit Schalter). „Start anordnen“ ordnet und entfernt sie wie Kacheln und Karten. Das Widget hat zusätzlich lange drücken → „Von Start entfernen“, der Kontakt „Auf Start anheften“. Neue Layout-Einträge contact:<id> und agenda, die ältere Apps überspringen und beim Speichern behalten. Die Pins liegen je Gerät in der Offline-Kopie von Mail.

Rahmen

  • JSON nur über den Gson-Baum (R8-sicher), Texte DE/EN, bestehendes Design inkl. dunklem Modus.
  • Server ≤ 1.3.x: Ohne favorite gibt es keinen Stern und keine Hauptnummer; ohne sources und conflicts keine Hinweise und keine Quellen. Antworten 404/feature_off auf cards/favorites, events/upcoming und cards/merges blenden Kacheln, Widget und Protokoll aus. Bei Dubletten lädt die App dann die Karten selbst, baut die Vorschau selbst und schickt primaryId.
  • Tests: MailContactLogicTest (JSON, Hinweise, Vorschau, Favoriten, Hauptnummer, Kacheln, Anrufart, Widget-Daten, writeBack), StartLayoutTest, StartPagesTest.
  • Lokal grün: :app:testDebugUnitTest, :app:lintRelease, :app:assembleDebug, :app:minifyReleaseWithR8.

Generated by Claude Code

…art (Mail 1.4.0)

- Kontaktliste: nur GC-Kontakte und lose Karten, verknüpfte Karten als
  Quellen-Punkte; Stern für Favoriten, dezenter Punkt bei abweichenden Werten
- Kontakt: Hinweis je Konflikt mit Übernehmen, Zusätzlich (wo es passt) und
  Verwerfen; Quellen mit „Verknüpfung lösen“; Stern; lange drücken auf eine
  Nummer → „Als Hauptnummer“; Auf Start anheften / von Start entfernen
- Bearbeiten: writeBack der Antwort als „Auch in Outlook geändert“ bzw.
  „Nicht bei … geändert“; Löschen fragt bei Verknüpfungen, ob die
  verknüpften Kontakte beim Anbieter mitgelöscht werden (Standard nein)
- Dubletten neu: „Automatisch zusammengeführt (n)“ mit Rückgängig; je
  unsicherem Fall jede Karte mit Herkunft, Bild, Nummern, Mails, Anschrift,
  darunter „So wird der Kontakt“, Zusammenführen und Keine Dublette; der alte
  Auswahl-Dialog entfällt (ältere Server: Karten und Vorschau aus der App)
- Start: Favoriten als Kacheln (Bild/Initialen, Name; Tipp ruft die
  Hauptnummer an, ohne CALL_PHONE über den Wähler, lange drücken öffnet den
  Kontakt) und Termin-Widget (heute und morgen über events/upcoming, Live-
  Ereignis calendar, Tageswechsel, offline der letzte Stand); anheften und
  entfernen über „Schnellaktionen und Widgets“, Anordnen und das Widget-Menü
- Layout: neue Einträge contact:<id> und agenda, Pins je Gerät in der
  Offline-Kopie; Route mail/calendar für den Kalender ohne Seite
- JSON ohne Reflection; Server bis 1.3.x: fehlende Felder/Endpunkte blenden
  die neuen Elemente aus
- Tests: MailContactLogicTest, StartLayoutTest, StartPagesTest

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016xX1efcZF1f6G9rhmaJNLD
@CallMeTechie
CallMeTechie merged commit 2bad7cc into main Oct 31, 2026
9 checks passed
CallMeTechie pushed a commit that referenced this pull request Oct 31, 2026
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

Successfully merging this pull request may close these issues.

2 participants