Skip to content

Develop - BLE, UI generalization, Seekbar, WebDAV, Refactor and AGP upgrades, Native call controls, Notifying app picker, background discovery and more#113

Merged
sameerasw merged 36 commits into
mainfrom
develop
May 26, 2026
Merged

Develop - BLE, UI generalization, Seekbar, WebDAV, Refactor and AGP upgrades, Native call controls, Notifying app picker, background discovery and more#113
sameerasw merged 36 commits into
mainfrom
develop

Conversation

@sameerasw
Copy link
Copy Markdown
Owner

  • Playback duration and seekbar support
  • Bluetooth LE connectivity
  • Updated re-connect logic and behavior
  • Upgrade and generalize all UI components across apps
  • Web DAV remote browsing
  • AGP and Build upgrade
  • Add support for Android 17 target
  • Native call controls
  • In-app notifying app picker is back
  • Background discovery
  • More fixes and improvements

This pull request introduces major updates to the AirSync Android app, focusing on adding BLE (Bluetooth Low Energy) connectivity support, updating dependencies and Android SDK versions, and improving network and device discovery features. The most significant changes include the addition of BLE connection management and chunking utilities, new permissions for BLE and local network access, and updates to the build configuration for compatibility with the latest Android and Java versions.

Bluetooth Low Energy (BLE) Support:

  • Added BleConnectionManager, BleChunkUtil, and BleConstants classes to support BLE communication, chunked data transfer, and protocol constants. This enables the app to advertise, connect, and transfer data over BLE, including handling chunked payloads for BLE's limited MTU size. [1] [2] [3]
  • Integrated BLE connection lifecycle into the main application via AirSyncApp, allowing global access and management of BLE connections.

Permissions and Manifest Updates:

  • Added new permissions for BLE (including scan, connect, advertise) and local network access in AndroidManifest.xml to enable BLE and network discovery features. [1] [2]

Build and Dependency Updates:

  • Updated compileSdk and targetSdk to 37, increased minSdk to 30, bumped versionCode and versionName to 29 and 4.0.0, and set Java/Kotlin compatibility to version 21 for improved performance and compatibility. [1] [2]
  • Added dependencies for Ktor server components to support WebDAV and improved network features.

Network and Device Discovery Improvements:

  • Modified MainActivity to check for local network permission before starting ADB and UDP discovery, ensuring discovery features only run when permitted. Also, discovery is now triggered on onResume for better reliability. [1] [2]
  • Added UDPDiscoveryManager import for managing UDP-based device discovery.

ProGuard Configuration:

  • Updated ProGuard rules to suppress warnings related to Ktor and SLF4J, avoiding build issues with missing classes on Android.

sameerasw and others added 30 commits May 13, 2026 21:45
…sBottomSheet accessed via LastConnectedDeviceCard
Ble - Bluetooth LE communication
  Handle mediaControl seekTo commands on Android and sync playback
  position metadata back to macOS.

  - add seekTo transport control support
  - include duration, position, timestamp, and buffering in status payloads
  - update sync logic so seekbar state can reconcile after remote scrubs
Implement Seekbar sync for now playing
…ce starts immediately in onStartCommand #205
@sameerasw sameerasw self-assigned this May 26, 2026
@sameerasw sameerasw added the enhancement New feature or request label May 26, 2026
@sameerasw sameerasw merged commit b451320 into main May 26, 2026
1 check passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in AirSync Features and Bugs May 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants