Skip to content

Releases: iblur01/portal-launcher

v1.0 — première version stable

Choose a tag to compare

@iblur01 iblur01 released this 13 Aug 20:33
c96f706

Première version stable de Portal Launcher, sortie de beta après 0.0.7-beta.

Performance

  • Store observable par entité : un state_changed sur light.salon n'invalide que les composables qui lisent light.salon. De 122-145 ms par push à une seule frame sur petit appareil.
  • Interface optimiste : l'état prédit s'affiche immédiatement, retour arrière automatique après 4 s sans confirmation, gestion des entités assumed_state.
  • Snapshot immuable côté socket : PersistentMap à écrivain unique, plus de copie défensive de 765 entrées par événement.
  • Latence action → confirmation divisée par six (échantillonnage 100 ms → 16 ms).
  • Découverte des pills mémoïsée et index d'entités en une passe.
  • Profil baseline (profileinstaller) pour un démarrage à froid compilé AOT.

Nouveautés

  • Configuration à distance depuis un téléphone : serveur HTTP local, QR code et code d'accès à usage unique pour saisir Home Assistant, MQTT et les pills au clavier du téléphone.
  • Dossiers dans la grille d'applications, création par dépôt, renommage, dissolution automatique.
  • Packs d'icônes tiers (ADW / GO / Nova).
  • Pastilles de notification sur les apps et les dossiers.
  • Sauvegarde et restauration de la disposition en JSON, sans aucun secret.
  • Provisionnement root automatique de toutes les autorisations système.
  • Panneaux Porte et Mouvement, catégorie de pill Mouvement.
  • Logos de source sur les pochettes média (40 fournisseurs).
  • Page Maison groupée par pièce ou par type, prévisions météo à onglets.

Esthétique et onboarding

  • Panneaux adaptatifs pilotés par leurs propres dimensions, pleine page sur écran compact.
  • Divulgation progressive du média, horloge et bandeau compacts revus.
  • Icônes météo Meteocons embarquées, disponibles hors ligne.
  • Onboarding retravaillé : voie téléphone ou manuelle, fond d'écran personnalisé, récapitulatif final.
  • Textes français au vouvoiement.

Détail complet dans CHANGELOG.md.


APK signé (schéma v2, minSdk 28).

v0.0.7-beta — Home Assistant extended support

Choose a tag to compare

@iblur01 iblur01 released this 12 Aug 15:36
23c87d1

Points forts

  • Nouvelle page Maison configurable avec grille responsive, favoris, pièces et groupes.
  • Panneaux et contrôles Home Assistant étendus, avec icônes HA/MDI natives et personnalisées.
  • Navigation du launcher, accessibilité, performances et compatibilité Android TV améliorées.
  • Provisionnement Home Assistant protégé via ADB pour les appareils administrés.

Consultez le CHANGELOG.md pour le détail complet.

v0.0.5-beta — Panel redesign, responsive controls

Choose a tag to compare

@iblur01 iblur01 released this 07 Aug 21:12
1ffe35d

v0.0.5-beta

Added

  • Entity contractsClimateEntityContract + FanEntityContract extract HA capabilities for mode-appropriate controls
  • PortalThreeWayControl — reusable three-action capsule (media + covers)
  • PortalVacuum — dedicated vacuum controls (run button, status chip, action chips, room selection)
  • HorizontalSegmentedSelector — Apple Home-style horizontal picker with drag + haptics
  • Alarm alert priorityPanelSource.ALERT forces keyboard open, alarmHold keeps screen on until disarmed
  • Battery indicator — vacuum battery % in panel header + quick tiles
  • Domain accent colors — lock turquoise, fan blue, thermostat orange/blue
  • Playground screen — interactive panel lab with 14 fake entities
  • WallpaperPage activated + native Android wallpaper picker
  • ~30 new tests — PanelState (28+), entity contracts

Changed

  • All panels are responsive — proportional scaling replaces fixed dp (sliders, switches, selectors, keypad)
  • Unified PanelHeader — frosted header with battery, used by all panels
  • Light panel: single AdaptiveLightDetail, softer color presets
  • Thermostat panel: ClimateEntityContract + responsive arc, WheelPicker mode selector, optimistic UI
  • Cover panel: PortalThreeWayControl replaces 3 separate buttons
  • Vacuum panel: VacuumRunButton + action chips + WheelPicker speed
  • Fan/Switch: FanEntityContract with mode-appropriate controls, optimistic UI
  • Alarm panel: responsive VerticalSegmentedSelector, keypad pulse on code verify
  • Media player: PortalThreeWayControl + PanelHeader with source title

Performance

  • WheelPicker emits only when scroll stops, not on every item

v0.0.4-beta — Onboarding redesign

Choose a tag to compare

@iblur01 iblur01 released this 06 Aug 15:23
55090be

v0.0.4-beta

Added

  • Onboarding wizard: 15-step guided setup replacing legacy SetupWizard
  • mDNS discovery: automatic HA and MQTT broker discovery
  • HA + MQTT connection tests with detailed diagnostics
  • 4 wallpaper modes: Calm, Nature, My Photo, Immich
  • productionTest build variant (release + debug key)
  • Settings > Information page with update checker
  • ~45 unit tests, ~315 i18n strings in EN/FR

Removed

  • SoundMonitor, legacy SetupWizard

Performance

  • LauncherPager / ClockHeader scroll optimizations
  • AppGridPage recomposition fix

v0.0.3-beta

Choose a tag to compare

@iblur01 iblur01 released this 30 Jul 21:47
7119042

0.0.3-beta

Added

  • i18n / internationalization: full translation system with English (default) and French. ~320 strings extracted from hardcoded values into string resources. Adding a new language only requires creating a new values-XX/strings.xml file — no code changes needed.

Changed

  • iOS-style selected chip: when a tray chip is selected (its panel is open), it now renders with a white background, dark text, and white border — matching the iOS Home app look. The colored icon circle retains its accent color.

Technical

  • All user-facing strings now use stringResource(R.string.*) (Compose) or context.getString(R.string.*) (non-Compose)
  • Plurals support for dynamic counts (e.g. "1 shortcut" / "2 shortcuts")
  • PillPriorityEngine refactored from object to class with Context injection for resource access
  • All 162 unit tests updated to assert against English string resources

v0.0.2-beta

Choose a tag to compare

@iblur01 iblur01 released this 30 Jul 19:52
4e3c2ca

Added

  • Device-scaled UI: automatic layout scaling based on screen density
  • Clock long-press shortcut: long-press clock header to jump directly to clock theme settings
  • Configurable grid density: adjustable icon size slider in settings

Removed

Experimental features not essential for the initial app scope:

  • Camera overlay (doorbell/motion sensor popup)
  • Web config server (NanoHTTPD embedded HTTP server)
  • Wireless ADB toggle from developer settings
  • Tap sensitivity slider
  • Temperature offset slider

Changed

  • Renamed reboot button from "Redémarrer le Portal" to "Redémarrer"

v0.0.1-beta

v0.0.1-beta Pre-release
Pre-release

Choose a tag to compare

@iblur01 iblur01 released this 30 Jul 06:50

First tagged beta. Sideload-only, signed release APK — not on any store.

Install

adb install -r portal-launcher-0.0.1-beta.apk
adb shell cmd package set-home-activity com.iblu01.portallauncher/.LauncherActivity

Or, on a device with a normal Home-app picker: install it, press Home, choose Portal Launcher — or long-press the clock once it's running and use "Définir comme launcher par défaut".

SHA-256: b7f814874b14148a7631a357c05e6fc3e3d3f18972b602ced87a4e1c6f8910bb

What's in this beta

  • Real Android launcher: swipeable app pages, icons placed exactly where you drop them, cross-page drag, widgets via the launcher's own AppWidgetHost
  • Long-press menu: app shortcuts, rename, hide, app info, uninstall; hidden apps recoverable from the top bar
  • Full home-role plumbing: back handling, pin-shortcut requests, wallpaper picker, default-home prompt when the role is missing
  • Underneath: full-screen clock idle screen, priority-ranked HA controls, real per-domain panels (lights, thermostat, alarm keypad, media, locks, covers, vacuum, scenes), MQTT bridge with HA MQTT Discovery, presence proxy, browser-based config server

Full detail in docs/FEATURES.md and the PR: #1

Known rough edges

  • UI is French-only (i18n is the top wanted contribution)
  • Landscape layout only
  • Tested on Meta Portal hardware; other Android 9+ wall panels are untested — reports welcome