Skip to content

feat: Kivy-based Android companion app mirroring Badger2040 UI#25

Open
Copilot wants to merge 5 commits intomainfrom
copilot/make-android-app
Open

feat: Kivy-based Android companion app mirroring Badger2040 UI#25
Copilot wants to merge 5 commits intomainfrom
copilot/make-android-app

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 24, 2026

Addresses the request to make beanOS available as an Android app. Adds a self-contained Python/Kivy companion app under android/ — same language as the codebase, builds to APK via buildozer. The UI closely mirrors the Pimoroni Badger2040 E-Ink display in both visual style and interaction model, and is locked to landscape orientation.

New: android/

  • main.py — Kivy app with 4 screens (Home, Stats, Wartung, Achievements) and the same data model and all 15 achievement definitions as the Badger2040 version. Local persistence via beanos_data.json. Tracks caffeine and bean consumption estimates alongside drink counts.

    Home screen mirrors main_screen.svg:

    • Three tappable CounterBox widgets (ESPRESSO, CAPPUCCINO, ANDERE) fill the main area between the title bar and nav — tapping ESPRESSO or CAPPUCCINO adds +1 directly; tapping ANDERE opens the GETRÄNKEAUSWAHL popup (Lungo, Iced Latte, Affogato, Shakerato, Espresso Tonic, Other — each with today's count and a + button)
    • Bottom action bar: Tageswechsel (reset today with confirmation) | Statistik | Wartung | Menü
    • Menü popup mirrors the Badger2040 menu: Bohnen · Statistiken anzeigen · Tagesstatistiken zurücksetzen · Datum ändern · Wartungshistorie · Achievements · Information

    Wartung screen mirrors maintenance_menu.svg: all 5 maintenance tasks (Reinigung, Entkalken, Brühgruppe reinigen, Mühle reinigen, Grundreinigung) with last-done date, overdue ! indicator, and Erledigt button.

    Statistik screen mirrors statistics_view.svg: per-drink rows with per-day averages, inverted summary row at bottom.

    Visual style: E-Paper / E-Ink throughout — white paper background, black title bars with white text, 1 dp bordered counter boxes, thin separator lines, custom E-Ink progress bar.

  • buildozer.spec — targets Android API 33, arm64-v8a + armeabi-v7a, locked to orientation = landscape

  • README.md — quick-start for desktop testing and full APK build instructions

# Desktop / CI smoke test
pip install kivy && cd android && python main.py

# Android APK
pip install buildozer && cd android && buildozer android debug

Updated

  • README.md — Android companion entry in quick-features list
  • ROADMAP.md — "Mobile companion" item replaced with implemented checklist + future sync/notification work
  • .gitignorebeanos_data.json excluded

Original prompt

Können wir hieraus auch eine Androiden App machen?


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: neisinger <3244887+neisinger@users.noreply.github.com>
Copilot AI changed the title [WIP] Evaluate feasibility of creating Android app feat: Kivy-based Android companion app Feb 24, 2026
Copilot AI requested a review from neisinger February 24, 2026 14:45
@neisinger neisinger marked this pull request as ready for review February 24, 2026 15:01
@neisinger
Copy link
Copy Markdown
Owner

Kannst du das optisch wie ein epaper aussehen lassen?

Copy link
Copy Markdown
Owner

@neisinger neisinger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kannst du das optisch wie ein epaper aussehen lassen?

Co-authored-by: neisinger <3244887+neisinger@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Feb 24, 2026

Kannst du das optisch wie ein epaper aussehen lassen?

Done in c51733e. The app now uses an E-Paper visual style matching the Badger2040 display:

  • White paper background everywhere
  • Black title bars with white text on every screen (same as the hardware SVG screens)
  • Three bordered counter boxes on the home screen (ESPRESSO | CAPPUCCINO | GESAMT) with a 1 dp black border
  • Thin black separator lines between list rows
  • Section headers as smaller black bars
  • Custom E-Ink progress bar (white box, black outline, black fill)
  • Monochrome nav bar: active tab inverted (white on black), inactive tabs black on white

E-Paper styled beanOS Android app

Kannst du das optisch wie ein epaper aussehen lassen?

Done in c51733e. The app now uses an E-Paper visual style matching the Badger2040 display:

  • White paper background everywhere
  • Black title bars with white text on every screen (same as the hardware SVG screens)
  • Three bordered counter boxes on the home screen (ESPRESSO | CAPPUCCINO | GESAMT) with a 1 dp black border
  • Thin black separator lines between list rows
  • Section headers as smaller black bars
  • Custom E-Ink progress bar (white box, black outline, black fill)
  • Monochrome nav bar: active tab inverted (white on black), inactive tabs black on white

E-Paper styled beanOS Android app

Copilot AI changed the title feat: Kivy-based Android companion app feat: Kivy-based Android companion app with E-Paper visual theme Feb 24, 2026
Copilot AI requested a review from neisinger February 24, 2026 15:19
Copy link
Copy Markdown
Owner

@neisinger neisinger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Die App soll landscape zur Anzeige erfordern.

…scape

Co-authored-by: neisinger <3244887+neisinger@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Feb 24, 2026

Die App soll landscape zur Anzeige erfordern.

Done in 652225e. The app now requires landscape:

  • buildozer.spec: orientation = landscape — Android will refuse to rotate to portrait
  • Home screen redesigned for landscape: counter boxes + streak/caffeine info on the left (60 %), two large quick-add buttons stacked on the right (40 %), with a 1 dp vertical E-Ink separator — matches the wide Badger2040 display ratio

beanOS landscape layout

Copilot AI changed the title feat: Kivy-based Android companion app with E-Paper visual theme feat: Kivy-based Android companion app with E-Paper visual theme and landscape orientation Feb 24, 2026
Copilot AI requested a review from neisinger February 24, 2026 16:44
Copy link
Copy Markdown
Owner

@neisinger neisinger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Das Design soll möglichst ähnlich dem original auf dem Badger sein. Die Felder für Espresso und Cappuccino sollen gleich der Button +1 des jeweiligen Getränks sein. Bei Sonstige soll sich das Menü der Sonstigen Getränke öffnen.
Damit brauchen wir keine anderen Buttons für die Getränke. Die Buttons am unteren Rand sollen sein:
Tageswechsel, Statistik, Wartung, Menü. Menü soll das Menü wie auf dem Badger öffnen.

…ttons, Badger menu)

Co-authored-by: neisinger <3244887+neisinger@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Feb 25, 2026

Das Design soll möglichst ähnlich dem original auf dem Badger sein. Die Felder für Espresso und Cappuccino sollen gleich der Button +1 des jeweiligen Getränks sein. Bei Sonstige soll sich das Men�...

Done in 4f29766. The app now closely mirrors the Badger2040 original:

  • Three tappable counter boxes (ESPRESSO, CAPPUCCINO, ANDERE) fill the main area — tapping ESPRESSO or CAPPUCCINO adds +1 directly; tapping ANDERE opens the GETRÄNKEAUSWAHL popup (Lungo, Iced Latte, Affogato, Shakerato, Espresso Tonic, Other — each with current count and + button). No separate drink button screen needed.
  • Bottom bar: Tageswechsel | Statistik | Wartung | Menü
  • Menü popup: Bohnen · Statistiken anzeigen · Tagesstatistiken zurücksetzen · Datum ändern · Wartungshistorie · Achievements · Information — same as the Badger2040 menu_options
  • Wartung screen: mirrors maintenance_menu.svg — all 5 tasks with last-done date, overdue ! indicator, and Erledigt button
  • Statistik screen: mirrors statistics_view.svg — per-drink rows with per-day averages, inverted summary row at bottom

beanOS Android – Badger-style home screen

Copilot AI changed the title feat: Kivy-based Android companion app with E-Paper visual theme and landscape orientation feat: Kivy-based Android companion app mirroring Badger2040 UI Feb 25, 2026
Copilot AI requested a review from neisinger February 25, 2026 09:30
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