Repository navigation
Conversation
… state refreshing
…ing status detection changes
… for notifications and progress
…diaTek and TCL devices
…s localized resource files
…live updates and snoozing
|
Hi! How does this affect the existing fold support in island? |
|
This extends Island’s existing fold support by giving each display its own saved camera placement, while retaining the existing configuration-change handling and cutout detection. On my Pixel 11 Pro Fold, the cover and inner cameras have different cutout sizes and positions. With current main, I’m seeing automatic placement use the cover camera’s size and position on the inner screen. One display may need centered placement while the other needs corner placement. The resolver requests the exterior display’s cutout for both interior and exterior screens. Currently, Island’s manual X/Y offsets, camera-size scale, and left/center/right selection are shared. Correcting the inner camera therefore also changes the cover-screen settings. This PR saves those values per display using the display-profile mechanism Duo already uses. Status Glance also gains per-display X/Y offsets. You adjust the cover screen, unfold, and adjust the inner screen. Folding or unfolding selects the appropriate profile automatically. “Separate portrait and landscape placement” optionally gives each display separate orientation settings, including offsets, size and left/center/right anchoring. This lets centered and corner cameras have different configurations. Existing global settings remain the fallback, and automatic cutout detection remains available. There’s also a per-screen/per-orientation hide option. |
…and-profiles # Conflicts: # app/build.gradle.kts # app/src/main/java/com/sameerasw/essentials/island/plugins/timer/TimerPlugin.kt # app/src/main/java/com/sameerasw/essentials/island/service/IslandCoordinator.kt # app/src/main/java/com/sameerasw/essentials/island/state/IslandController.kt # app/src/main/java/com/sameerasw/essentials/services/LiveUpdateSnoozer.kt # app/src/main/java/com/sameerasw/essentials/services/NotificationListener.kt # app/src/main/java/com/sameerasw/essentials/ui/features/display/IslandSettingsUI.kt # app/src/main/java/com/sameerasw/essentials/ui/features/display/IslandSubSettingsUI.kt # app/src/main/java/com/sameerasw/essentials/utils/DeviceUtils.kt
sameerasw
left a comment
There was a problem hiding this comment.
Thanks for your contributions <3
Why
Foldables can have a cover-display front camera and a separate inner-display front camera. On the Pixel 11 Pro Fold, the active screen changes between a 1080 × 2342 cover panel and a 2076 × 2152 inner panel, and the camera moves relative to the top edge as the phone rotates. A single camera offset can make Duo, Island, or Status Glance align on one screen while covering content on the other.
What changed
docs/foldable-camera-profiles.md.Validation
:app:compileReleaseKotlinpassed with a temporary localcompileSdkMinor = 0against installed Android 37.0. The committed project setting remains Android 37.1; Google returned HTTP 502 when Gradle tried to download that platform.xmllint --noout app/src/main/res/values/strings.xmlandgit diff --checkpassed.