- native_root(): pick app root by presence of gps_live/gps_points files. app_data_dir() is the root directly on this Tauri; the old .parent().parent() read the wrong dir, so background (screen-off) points were never imported. - recoverFromFiles: match file->session by id/date, plus session id stamped into the native file name (gps_points_<ms>_s<id>.jsonl) for exact binding (gps_set_session_id -> Kotlin bindSessionIfPending). Proximity dedup +-2.5s, recalc with noDelete (never runs the destructive glitch/>24h filter that once wiped real rides), delete already-imported files. Progress bar UI. - bike kcal is NET (daily balance already books BMR*activityLevel): pedaling = max(physics power/efficiency, MET-net by speed), coasting (power<=0, the bike would roll unpowered) = basal only. Elevation via cumulative hysteresis. recomputeAllStats + "recompute elevation/kcal" menu refresh stored tracks without touching points. - live recording: the native file is the DB source of truth; watchPosition only drives the live marker, so a fix is not stored twice with two timestamps. - track list pagination, SAF local-file picker, tile regions from router.
28 lines
706 B
TOML
28 lines
706 B
TOML
[package]
|
|
name = "baldav"
|
|
version = "0.1.382"
|
|
edition = "2021"
|
|
|
|
[lib]
|
|
name = "baldav_lib"
|
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [] }
|
|
|
|
[dependencies]
|
|
tauri = { version = "2", features = [] }
|
|
tauri-plugin-sql = { version = "2", features = ["sqlite"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
rusqlite = { version = "0.31", features = ["bundled"] }
|
|
|
|
lazy_static = "1"
|
|
ureq = "3"
|
|
base64 = "0.22"
|
|
|
|
[target.'cfg(not(target_os = "android"))'.dependencies]
|
|
btleplug = { version = "0.11", features = ["serde"] }
|
|
uuid = "1"
|
|
tokio = { version = "1", features = ["rt-multi-thread", "sync", "time"] }
|
|
tokio-stream = "0.1"
|