Releases: iblur01/portal-launcher
Releases · iblur01/portal-launcher
Release list
v1.0 — première version stable
Première version stable de Portal Launcher, sortie de beta après 0.0.7-beta.
Performance
- Store observable par entité : un
state_changedsurlight.salonn'invalide que les composables qui lisentlight.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
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
v0.0.5-beta
Added
- Entity contracts —
ClimateEntityContract+FanEntityContractextract 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 priority —
PanelSource.ALERTforces keyboard open,alarmHoldkeeps 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,WheelPickermode selector, optimistic UI - Cover panel:
PortalThreeWayControlreplaces 3 separate buttons - Vacuum panel:
VacuumRunButton+ action chips +WheelPickerspeed - Fan/Switch:
FanEntityContractwith mode-appropriate controls, optimistic UI - Alarm panel: responsive
VerticalSegmentedSelector, keypad pulse on code verify - Media player:
PortalThreeWayControl+PanelHeaderwith source title
Performance
WheelPickeremits only when scroll stops, not on every item
v0.0.4-beta — Onboarding redesign
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, legacySetupWizard
Performance
- LauncherPager / ClockHeader scroll optimizations
- AppGridPage recomposition fix
v0.0.3-beta
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.xmlfile — 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) orcontext.getString(R.string.*)(non-Compose) - Plurals support for dynamic counts (e.g. "1 shortcut" / "2 shortcuts")
PillPriorityEnginerefactored fromobjecttoclasswith Context injection for resource access- All 162 unit tests updated to assert against English string resources
v0.0.2-beta
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
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/.LauncherActivityOr, 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