Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DRAFT] Migrate app on new BLE api #1018

Draft
wants to merge 17 commits into
base: dev
Choose a base branch
from

Conversation

makeevrserg
Copy link
Collaborator

Background

This PR introducec entirely new and reactive approach by @LionZXY based on flows for ble connection.

Changes

  • Removed old bridge api entirely
  • Migrated all old bridge api onto new BLE api
  • Desktop sample USB api by @LionZXY

Test plan

  • Required full regress testing of application
  • Green CI

makeevrserg and others added 17 commits December 19, 2024 16:29
**Background**

Migrate modules into new BLE Api

**Changes**

- Added support into firstpair for new BLE api
- Removed all old bridge from synchronization
- Removed all old bridge from connection API

**Testing**

Can't be tested at current moment
**Background**

Device connection service for new API

**Changes**

- Add new connection service
- Start it in application

**Test plan**

- Install flipper from branch, open int
- See it now bottom bar display connection state and synchronization
**Background**

Migrate main screen  module to new api

**Changes**

- Add alarm feature
- Add device color feature
- Add GattInformation
- Migrate components of info to new ble api

**Test plan**

- Open app
- See info screen loading, alarm working
**Background**

Migrate FapHub module into new api

**Changes**

- Migrate `target` module
- Migrate `manifest` module
- Migrate `queue` module
- Migrate `button` module

**Test plan**

- Open FapHub
- Install some apps
- See they installed correctly 
- Try delete 
- See it's deleted
- Also try switch on dev branch and do the same
**Background**

Migrate screenstreaming to new api

**Changes**

- Migrated screenstreaming module
- Added screenstreaming feature module

**Test plan**

- Open screenstreaming in mobile app
- Close it
- See there's no evet subscription leaks
- See it's working as intended
**Background**

Migrate archive to new api

**Changes**

- Replaced fserial speed api

**Test plan**

- Open archive and see sync ui now displays speed
**Background**

Just migration of mfkey32 to new api

**Changes**

- Only migrated mfkey32

**Test plan**

- Use mfkey32 feature and see it's the same as before
**Background**

Migration of all update modules into new api

**Changes**

- Added new feature for update
- Migrated every update submodules into new api

**Test plan**

- Open flipper android app and run update
- See flipper is update correctly with all it's flow (image changed,
rebooted, location sub-ghz working)
- See all tests previously located is passed

### TODO

- Device reconnect after it being shutdown(we don't get success message
on mobile)(the problem is on another layer. Not actually related to
feature)
**Background**

Experimental desktop support added to sample to support KMP

**Changes**
- Add desktop target to sample
- Remove unnecessary dependendencies

**Test plan**
Launch desktop and android project
```bash
./gradlew :components:bridge:connection:sample:desktop:run
```
**Background**

Migrated emulate to new BLE api

**Changes**

- Moved helpers into emulate feautre

**Test plan**

- Open app archive
- Select key and emulate
**Background**

Migrated stresstest to new api

**Changes**

- Migrated one module of stresstest to new ble api

**Test plan**

- Open stresstest and see it's working just as before!
**Background**

Migrated infrared module on new api

**Changes**

- Migrated one module
- Also removed unused bridge api in keyscreen

**Test plan**

- Open app and see infrared emulation works
**Background**

Migrate other half of wearable and widget to new ble api

**Changes**

- Migrate wearable to new api
- Migrate widget to new api

**Test plan**

- Assemble and launch
**Background**

Migrate remote-controls to new api

**Changes**

- Migration all modules of remote-controls to new api

**Test plan**
- Open remote controls feature and see its working just as before
**Background**

Right now we have some code related to usb connection, but we can't
check it

**Changes**

- Add usb device search connection screen 
- Add speedup for bluetooth connection

**Test plan**

Try open filemanager by usb on desktop
**Background**

Fix tests, detekt and build issues

**Changes**

- Fix tests for Helerps of emulate
- Move tests of helpers into commonMain
- Fix sample android build
- Fix detekt issues

**Test plan**

- Build project, run tests
**Background**

Removed entire old brige

**Changes**

- Remove all old bridge modules
- Moved api/impl of bridge into firstpair
- Remove old pbutils

**Test plan**

- Build project
- Launch project
- Run tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants