Repository navigation
Conversation
…Android One condition, written once: build.rs turns the `mobile_only` cfg on for `target_os = "android"` (cargo-makepad passes no features) and for `--features mobile-only` (a desktop build of the same shell). Under it the Android phone shell is the whole app: the desk bar — the style dropdown, the Desktop/Phone toggle, Light/Dark, rotate — is gone, the style menu's rows and the bar's presses are compiled out, startup is Android everywhere, and `phone:<ios|android>` is a logged no-op. The universal desktop build keeps every style and the bar. What the bar provided moves: Light/Dark is the shade's Dark mode tile (the same style path, so the shell and every hosted app follow); rotation is the device's. The shell keeps the platform's safe-area insets for itself: the wallpaper runs edge to edge, the status bar and the navigation band lay out inside them. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
ymote
force-pushed
the
feat/mobile-shell
branch
from
September 19, 2026 23:56
698ed79 to
de33b65
Compare
ymote
force-pushed
the
feat/mobile-standalone
branch
from
September 19, 2026 23:56
8197abf to
5bd9d58
Compare
Contributor
Author
|
Closing as superseded: every commit in this stack (#22–#28) is already on OctoSense-ROM 🤖 Generated with Claude Code |
chrislearn
pushed a commit
to chrislearn/OctoSense
that referenced
this pull request
Sep 29, 2026
…age-op-api28 android: the usage-access check works on Android 9
chrislearn
pushed a commit
to chrislearn/OctoSense
that referenced
this pull request
Sep 29, 2026
…roviders Home: AI providers system app and the llm host service
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On Android the app IS the phone shell: full screen, one theme, no switcher. The desktop build stays universal unless it asks for the same shell.
Removed (under
mobile_only)Android ▾), the Desktop/Phone toggle, Light/Dark, the rotate button — thebarstrip is not shown, the phone strip's drawing and itsPhoneHit::{Rotate, Style, Appearance, Desktop}are compiled out, as arephone.desktop_size/_clients/_style(what Desktop restored),open_style_menu, the bar's Appearance/Style presses, the menu's "Desktop style" rows and NextStep's "Appearance" row, and the bar-metrics code.Androidon every OS (policy::startup_style), nothing offers another style, and--test-action phone:<ios|android>is a logged no-op. TheDesktopStyleenum itself stays — it is the hosted apps' wire-protocol style family and Android's sheet rides on it.How it is gated
build.rsemits one cfg,mobile_only, when themobile-onlyCargo feature is on orCARGO_CFG_TARGET_OS == "android". The code reads#[cfg(mobile_only)]/crate::MOBILE_ONLYand never the feature or the target — so the condition is written once,cargo makepad android run(which cannot pass features) gets the standalone shell without flags, and plaincargo checkstays the universal desktop. A default feature would have inverted every desktop invocation instead.What moved
Toggle::DarkMode). It drives the sametoggle_desktop_appearancepath the bar used, so the shell and every hosted app follow;ShadeState::darkmirrorsstyle.darkfromset_desktop_style. (Also present in the universal build.)PhoneState::insets, set from the window geometry: the wallpaper fills the desk, the shell (status bar, nav band, shade, apps) lays out insideinsets.inset(desk). On the OnePlus in the buildtool's non-immersive mode the insets are zero and the window already sits between Android's status bar and gesture bar.Verification
cargo check,--features mobile-only,mobile-only,app-appcard,mobile-only,mobile-apps: all clean, no dead-code warnings.cargo test: 255 passed (universal);cargo test --features mobile-only: 252 passed (the three bar-metrics tests are gated with the bar).--features mobile-only,mobile-apps:standalone-desktop.png(home fills the 412×892 window, no bar),standalone-shade-notes.png,standalone-shade-controls.png(Dark mode tile),standalone-glance.png,standalone-island.png,standalone-group.png,standalone-split.png,standalone-phone-noop.png.universal-desktop.png(Omarchy with the shell bar),universal-phone.png(phone style with itsAndroid ▾ / Desktop / Light / ↻strip still there).cargo makepad android run --releasewith the bundled kernel:standalone-home.png(no bar, shell under Android's status bar, nav band above the gesture bar),standalone-shade-notes-phone.png,standalone-shade-controls-phone.png,standalone-shade-dark.png(tile toggled),standalone-dark.png(dark home),standalone-glance-phone.png,standalone-app.png(Reference opened, dark),standalone-home-dark.png(swipe up from the bottom → home). logcat:Shade(Notifications),Shade(Controls),Page(Right),Page(Left),HomeUpall commit;android-dark applied; no panics. Note the shade pull now starts in the top 42 pt of the app (y≈150 px), since the 48 pt bar above the status band is gone.🤖 Generated with Claude Code