From 7f64577851ace130a85411831f74566100204a25 Mon Sep 17 00:00:00 2001 From: kalynstricklin Date: Tue, 16 Jun 2026 10:47:27 -0500 Subject: [PATCH 1/9] removed garmin association --- .../src/org/sensorhub/android/MainActivity.java | 15 --------------- sensorhub-android-lib/build.gradle | 2 +- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/sensorhub-android-app/src/org/sensorhub/android/MainActivity.java b/sensorhub-android-app/src/org/sensorhub/android/MainActivity.java index b0b27f2..fb6a33e 100644 --- a/sensorhub-android-app/src/org/sensorhub/android/MainActivity.java +++ b/sensorhub-android-app/src/org/sensorhub/android/MainActivity.java @@ -39,11 +39,9 @@ import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.Fragment; -import android.content.pm.PackageManager; import android.location.LocationManager; import android.location.LocationProvider; -import com.botts.impl.sensor.garmin.GarminConfig; import com.botts.impl.service.discovery.DiscoveryService; import com.botts.impl.service.discovery.DiscoveryServiceConfig; import com.google.android.material.appbar.MaterialToolbar; @@ -475,19 +473,6 @@ public boolean verify(String arg0, SSLSession arg1) { sensorhubConfig.add(kestrelConfig); } - // Garmin sensor - if (prefs.getBoolean("garmin_enabled", false)) { - GarminConfig garminConfig = new GarminConfig(); - garminConfig.id = "GARMIN"; - garminConfig.name = "Garmin [" + deviceName + "]"; - garminConfig.autoStart = true; - garminConfig.lastUpdated = ANDROID_SENSORS_LAST_UPDATED; - garminConfig.deviceAddress = prefs.getString("garmin_device_address", ""); - garminConfig.sdkLicenseKey = BuildConfig.GARMIN_SDK_KEY; - - sensorhubConfig.add(garminConfig); - } - // Controller if (prefs.getBoolean("controller_enabled", false)) { ControllerConfig controllerConfig = new ControllerConfig(); diff --git a/sensorhub-android-lib/build.gradle b/sensorhub-android-lib/build.gradle index d53b422..64f9aa0 100644 --- a/sensorhub-android-lib/build.gradle +++ b/sensorhub-android-lib/build.gradle @@ -9,7 +9,7 @@ dependencies { api project(':sensorhub-driver-angelsensor') api project(':sensorhub-driver-android') api project(':sensorhub-driver-kestrel') - api project(':sensorhub-android-garmin') +// api project(':sensorhub-android-garmin') // api project(':sensorhub-driver-flirone') // api project(':sensorhub-client-consys-okhttp') // api project(':sensorhub-android-flirone') From dd033e27336ee067a121949f687b329e33d8beb5 Mon Sep 17 00:00:00 2001 From: kalynstricklin Date: Tue, 16 Jun 2026 10:49:36 -0500 Subject: [PATCH 2/9] updates --- .../res/values-zh-rTW/strings.xml | 2 -- .../src/org/sensorhub/android/MainActivity.java | 17 ----------------- 2 files changed, 19 deletions(-) diff --git a/sensorhub-android-app/res/values-zh-rTW/strings.xml b/sensorhub-android-app/res/values-zh-rTW/strings.xml index 2210e79..2626ff5 100644 --- a/sensorhub-android-app/res/values-zh-rTW/strings.xml +++ b/sensorhub-android-app/res/values-zh-rTW/strings.xml @@ -40,7 +40,6 @@ 啟用 SOS 服務 啟用連線系統服務 啟用探索服務 - 執行名稱 啟用加速度計資料串流 啟用陀螺儀資料串流 @@ -62,7 +61,6 @@ 啟用 FLIR One 熱像儀資料串流(透過 USB 連接時) 啟用 STE RadPager 資料串流(感測器須在啟動時透過藍牙 LE 連接) 啟用範本驅動程式串流 - Stream biometric data from the Garmin Wearable Sensor diff --git a/sensorhub-android-app/src/org/sensorhub/android/MainActivity.java b/sensorhub-android-app/src/org/sensorhub/android/MainActivity.java index fb6a33e..2d1fed8 100644 --- a/sensorhub-android-app/src/org/sensorhub/android/MainActivity.java +++ b/sensorhub-android-app/src/org/sensorhub/android/MainActivity.java @@ -135,23 +135,6 @@ public class MainActivity extends AppCompatActivity implements SensorHubServiceP private TextView toolbarTitle; private BroadcastReceiver broadcastReceiver; - enum Sensors { - Android, - TruPulse, - TruPulseSim, - Angel, - FlirOne, - DJIDrone, - ProxySensor, - BLELocation, - Meshtastic, - PolarHRMonitor, - Kestrel, - Wardriving, - Controller, - Template - } - private final ServiceConnection sConn = new ServiceConnection() { public void onServiceConnected(ComponentName className, IBinder service) From bcc9400d6ba29be8ccce34cb9c7714cf48b4de1b Mon Sep 17 00:00:00 2001 From: kalynstricklin Date: Tue, 16 Jun 2026 10:55:31 -0500 Subject: [PATCH 3/9] add strings --- .../res/values-de/strings.xml | 21 +++++++++++++++++ .../res/values-es/strings.xml | 20 ++++++++++++++++ .../res/values-fr/strings.xml | 21 +++++++++++++++++ .../res/values-it/strings.xml | 21 +++++++++++++++++ .../res/values-pt/strings.xml | 21 +++++++++++++++++ .../res/values-zh-rTW/strings.xml | 23 +++++++++++++++++-- sensorhub-android-app/res/values/strings.xml | 16 +++++++++++++ 7 files changed, 141 insertions(+), 2 deletions(-) diff --git a/sensorhub-android-app/res/values-de/strings.xml b/sensorhub-android-app/res/values-de/strings.xml index 1b20577..a82915f 100644 --- a/sensorhub-android-app/res/values-de/strings.xml +++ b/sensorhub-android-app/res/values-de/strings.xml @@ -416,4 +416,25 @@ Port muss eine Zahl sein Port muss zwischen 1 und 65535 liegen + + Lizenzschlüssel erforderlich + Der Garmin Health SDK-Lizenzschlüssel ist nicht konfiguriert. Fügen Sie ihn in gradle.properties hinzu. + Garmin SDK-Fehler + Garmin Health SDK konnte nicht initialisiert werden: %s + Scan fehlgeschlagen + Garmin-Geräte-Scan fehlgeschlagen (Fehler %d) + Suche nach Garmin-Geräten… + Stellen Sie sicher, dass Ihr Garmin-Gerät in der Nähe und im Kopplungsmodus ist. + %d Garmin-Gerät(e) gefunden + Kopplungs-Zeitüberschreitung + Authentifizierung ist abgelaufen. Bitte versuchen Sie es erneut. + Kopplung… + Kopplung mit %s.\nBitte bestätigen Sie auf Ihrem Garmin-Gerät, wenn Sie dazu aufgefordert werden. + Erfolgreich gekoppelt + Gekoppelt mit %s + Kopplung fehlgeschlagen + Kopplung fehlgeschlagen: %s + Stopp + Weiter suchen… + IP-Adresse konnte nicht ermittelt werden diff --git a/sensorhub-android-app/res/values-es/strings.xml b/sensorhub-android-app/res/values-es/strings.xml index 22acc99..0b24dcf 100644 --- a/sensorhub-android-app/res/values-es/strings.xml +++ b/sensorhub-android-app/res/values-es/strings.xml @@ -184,4 +184,24 @@ El puerto debe estar entre 1 y 65535 + Clave de licencia requerida + La clave de licencia del SDK de Garmin Health no está configurada. Agréguela a gradle.properties. + Error del SDK de Garmin + Error al inicializar el SDK de Garmin Health: %s + Escaneo fallido + El escaneo del dispositivo Garmin falló (error %d) + Buscando dispositivos Garmin… + Asegúrese de que su dispositivo Garmin esté cerca y en modo de emparejamiento. + Se encontraron %d dispositivo(s) Garmin + Tiempo de emparejamiento agotado + La autenticación expiró. Por favor, intente de nuevo. + Emparejando… + Emparejando con %s.\nConfirme en su dispositivo Garmin si se le solicita. + Emparejado exitosamente + Emparejado con %s + Emparejamiento fallido + Error al emparejar: %s + Detener + Seguir buscando… + No se pudo obtener la dirección IP diff --git a/sensorhub-android-app/res/values-fr/strings.xml b/sensorhub-android-app/res/values-fr/strings.xml index 85716bf..bd2ec43 100644 --- a/sensorhub-android-app/res/values-fr/strings.xml +++ b/sensorhub-android-app/res/values-fr/strings.xml @@ -416,4 +416,25 @@ Le port doit être un nombre Le port doit être compris entre 1 et 65535 + + Clé de licence requise + La clé de licence du SDK Garmin Health n\'est pas configurée. Ajoutez-la dans gradle.properties. + Erreur du SDK Garmin + Échec de l\'initialisation du SDK Garmin Health : %s + Échec du scan + Le scan de l\'appareil Garmin a échoué (erreur %d) + Recherche d\'appareils Garmin… + Assurez-vous que votre appareil Garmin est à proximité et en mode d\'appairage. + %d appareil(s) Garmin trouvé(s) + Délai d\'appairage expiré + L\'authentification a expiré. Veuillez réessayer. + Appairage… + Appairage avec %s.\nVeuillez confirmer sur votre appareil Garmin si demandé. + Appairage réussi + Appairé avec %s + Échec de l\'appairage + Échec de l\'appairage : %s + Arrêter + Continuer la recherche… + Impossible d\'obtenir l\'adresse IP \ No newline at end of file diff --git a/sensorhub-android-app/res/values-it/strings.xml b/sensorhub-android-app/res/values-it/strings.xml index 52da53b..205bc21 100644 --- a/sensorhub-android-app/res/values-it/strings.xml +++ b/sensorhub-android-app/res/values-it/strings.xml @@ -416,4 +416,25 @@ La porta deve essere un numero La porta deve essere compresa tra 1 e 65535 + + Chiave di licenza richiesta + La chiave di licenza del SDK Garmin Health non è configurata. Aggiungila in gradle.properties. + Errore SDK Garmin + Inizializzazione SDK Garmin Health fallita: %s + Scansione fallita + Scansione dispositivo Garmin fallita (errore %d) + Ricerca dispositivi Garmin… + Assicurati che il dispositivo Garmin sia vicino e in modalità di associazione. + Trovati %d dispositivo/i Garmin + Timeout associazione + L\'autenticazione è scaduta. Riprova. + Associazione… + Associazione con %s.\nConferma sul dispositivo Garmin se richiesto. + Associazione riuscita + Associato con %s + Associazione fallita + Associazione fallita: %s + Ferma + Continua la ricerca… + Impossibile ottenere l\'indirizzo IP diff --git a/sensorhub-android-app/res/values-pt/strings.xml b/sensorhub-android-app/res/values-pt/strings.xml index 78e5adb..6deacaa 100644 --- a/sensorhub-android-app/res/values-pt/strings.xml +++ b/sensorhub-android-app/res/values-pt/strings.xml @@ -416,4 +416,25 @@ A porta deve ser um número A porta deve estar entre 1 e 65535 + + Chave de licença necessária + A chave de licença do SDK Garmin Health não está configurada. Adicione-a em gradle.properties. + Erro do SDK Garmin + Falha ao inicializar o SDK Garmin Health: %s + Falha na varredura + Varredura do dispositivo Garmin falhou (erro %d) + Procurando dispositivos Garmin… + Certifique-se de que o dispositivo Garmin está próximo e em modo de emparelhamento. + Encontrado(s) %d dispositivo(s) Garmin + Tempo de emparelhamento esgotado + A autenticação expirou. Por favor, tente novamente. + Emparelhando… + Emparelhando com %s.\nConfirme no seu dispositivo Garmin se solicitado. + Emparelhado com sucesso + Emparelhado com %s + Falha no emparelhamento + Falha ao emparelhar: %s + Parar + Continuar procurando… + Não foi possível obter o endereço IP diff --git a/sensorhub-android-app/res/values-zh-rTW/strings.xml b/sensorhub-android-app/res/values-zh-rTW/strings.xml index 2210e79..f1f8e12 100644 --- a/sensorhub-android-app/res/values-zh-rTW/strings.xml +++ b/sensorhub-android-app/res/values-zh-rTW/strings.xml @@ -40,7 +40,6 @@ 啟用 SOS 服務 啟用連線系統服務 啟用探索服務 - 執行名稱 啟用加速度計資料串流 啟用陀螺儀資料串流 @@ -62,7 +61,6 @@ 啟用 FLIR One 熱像儀資料串流(透過 USB 連接時) 啟用 STE RadPager 資料串流(感測器須在啟動時透過藍牙 LE 連接) 啟用範本驅動程式串流 - Stream biometric data from the Garmin Wearable Sensor @@ -250,4 +248,25 @@ 連接埠應為數字 連接埠應介於 1 到 65535 之間 + + 需要授權金鑰 + Garmin Health SDK 授權金鑰尚未配置。請將其新增至 gradle.properties。 + Garmin SDK 錯誤 + 無法初始化 Garmin Health SDK:%s + 掃描失敗 + Garmin 裝置掃描失敗(錯誤碼 %d) + 正在掃描 Garmin 裝置… + 請確認 Garmin 裝置在附近且處於配對模式。 + 找到 %d 個 Garmin 裝置 + 配對逾時 + 認證逾時,請重試。 + 配對中… + 正在與 %s 配對。\n如有提示,請在 Garmin 裝置上確認。 + 配對成功 + 已與 %s 配對 + 配對失敗 + 配對失敗:%s + 停止 + 繼續掃描… + 無法取得 IP 位址 diff --git a/sensorhub-android-app/res/values/strings.xml b/sensorhub-android-app/res/values/strings.xml index aebba8f..b757e81 100644 --- a/sensorhub-android-app/res/values/strings.xml +++ b/sensorhub-android-app/res/values/strings.xml @@ -423,4 +423,20 @@ Garmin Health SDK license key is not configured. Add it to gradle.properties. Garmin SDK Error Failed to initialize Garmin Health SDK: %s + Scan Failed + Garmin device scan failed (error %d) + Scanning for Garmin Devices… + Make sure your Garmin device is nearby and in pairing mode. + Found %d Garmin Device(s) + Pairing Timeout + Authentication timed out. Please try again. + Pairing… + Pairing with %s.\nPlease confirm on your Garmin device if prompted. + Paired Successfully + Paired with %s + Pairing Failed + Failed to pair: %s + Stop + Keep scanning… + Unable to get IP Address From a09c9e0c88de8eaadd368670d98e537982446b45 Mon Sep 17 00:00:00 2001 From: kalynstricklin Date: Thu, 25 Jun 2026 13:38:06 -0500 Subject: [PATCH 4/9] removed submodule and updated gradle --- .gitmodules | 3 --- settings.gradle | 4 +--- submodules/botts-addons | 1 - submodules/osh-addons | 2 +- submodules/osh-core | 2 +- 5 files changed, 3 insertions(+), 9 deletions(-) delete mode 160000 submodules/botts-addons diff --git a/.gitmodules b/.gitmodules index 437f68a..189cbdf 100644 --- a/.gitmodules +++ b/.gitmodules @@ -6,6 +6,3 @@ path = submodules/osh-core url = git@github.com:kalynstricklin/osh-core.git branch = update-moduleutils -[submodule "submodules/botts-addons"] - path = submodules/botts-addons - url = git@github.com:Botts-Innovative-Research/botts-addons.git diff --git a/settings.gradle b/settings.gradle index d9ac7b4..23bd0d4 100644 --- a/settings.gradle +++ b/settings.gradle @@ -31,9 +31,7 @@ def repos = [ 'sensors/weather/sensorhub-driver-kestrel', 'sensors/health/sensorhub-driver-angelsensor', 'processing/sensorhub-process-vecmath', - 'processing/sensorhub-process-geoloc' - ], - 'botts-addons' : [ + 'processing/sensorhub-process-geoloc', 'services/sensorhub-service-discovery' ] ] diff --git a/submodules/botts-addons b/submodules/botts-addons deleted file mode 160000 index 7271af1..0000000 --- a/submodules/botts-addons +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7271af1a739256a4170e5281f62efea0a57b41dc diff --git a/submodules/osh-addons b/submodules/osh-addons index 029d323..a7bc58a 160000 --- a/submodules/osh-addons +++ b/submodules/osh-addons @@ -1 +1 @@ -Subproject commit 029d3235e45bf3fe91b2ef619ab53fec7f7fc03e +Subproject commit a7bc58af4afce56385f117597e302ad37220f2ee diff --git a/submodules/osh-core b/submodules/osh-core index e2935bf..81bf0bf 160000 --- a/submodules/osh-core +++ b/submodules/osh-core @@ -1 +1 @@ -Subproject commit e2935bf3554ffec84ed5fb929782b8a389b7e3c0 +Subproject commit 81bf0bfc613a638f3331dace3c5fbb4e36ccef23 From 9af3fcffb4feefa226dd30fdc4b2e6990b695de7 Mon Sep 17 00:00:00 2001 From: kalynstricklin Date: Tue, 21 Apr 2026 12:06:05 -0500 Subject: [PATCH 5/9] Create gradle_build.yml --- .github/workflows/gradle_build.yml | 43 ++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/gradle_build.yml diff --git a/.github/workflows/gradle_build.yml b/.github/workflows/gradle_build.yml new file mode 100644 index 0000000..6a141d2 --- /dev/null +++ b/.github/workflows/gradle_build.yml @@ -0,0 +1,43 @@ +name: Build APK + +on: + push: + branches: [ master, dev ] + pull_request: + branches: [ master, dev ] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Setup Java + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + + - name: Build APK + run: | + chmod +x ./gradlew + ./gradlew assembleDebug + + - name: Upload APK artifact + uses: actions/upload-artifact@v4 + with: + name: osh-android-latest-APK + path: sensorhub-android-app/build/outputs/apk/debug/sensorhub-android-app-debug.apk + + - name: Create GitHub Release + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') + uses: softprops/action-gh-release@v2 + with: + files: app/build/outputs/apk/basic/release/*.apk + generate_release_notes: true \ No newline at end of file From f5fd083b133ce4f8c24fcfd1e38081cb98586c1c Mon Sep 17 00:00:00 2001 From: kalynstricklin Date: Thu, 23 Apr 2026 09:37:16 -0500 Subject: [PATCH 6/9] Update gradle_build.yml --- .github/workflows/gradle_build.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/gradle_build.yml b/.github/workflows/gradle_build.yml index 6a141d2..eccb93b 100644 --- a/.github/workflows/gradle_build.yml +++ b/.github/workflows/gradle_build.yml @@ -10,16 +10,22 @@ jobs: build: runs-on: ubuntu-latest steps: + - name: Configure SSH for private submodules + uses: webfactory/ssh-agent@v0.9.0 + with: + ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} + - name: Checkout code uses: actions/checkout@v4 with: submodules: recursive + repository: Botts-Innovative-Research/osh-android - name: Setup Java uses: actions/setup-java@v4 with: java-version: '17' - distribution: 'temurin' + distribution: 'zulu' - name: Setup Android SDK uses: android-actions/setup-android@v3 @@ -27,12 +33,12 @@ jobs: - name: Build APK run: | chmod +x ./gradlew - ./gradlew assembleDebug + ./gradlew build -x test -x osgi -x lintDebug - name: Upload APK artifact uses: actions/upload-artifact@v4 with: - name: osh-android-latest-APK + name: osh-android-APK path: sensorhub-android-app/build/outputs/apk/debug/sensorhub-android-app-debug.apk - name: Create GitHub Release From 8708fb4631b4b94895afd96bb97715916b455acd Mon Sep 17 00:00:00 2001 From: kalynstricklin Date: Thu, 25 Jun 2026 13:49:59 -0500 Subject: [PATCH 7/9] updated cicd to not build javadoc --- .github/workflows/gradle_build.yml | 2 +- submodules/osh-addons | 2 +- submodules/osh-core | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/gradle_build.yml b/.github/workflows/gradle_build.yml index eccb93b..d300f3b 100644 --- a/.github/workflows/gradle_build.yml +++ b/.github/workflows/gradle_build.yml @@ -33,7 +33,7 @@ jobs: - name: Build APK run: | chmod +x ./gradlew - ./gradlew build -x test -x osgi -x lintDebug + ./gradlew build -x test -x osgi -x lintDebug -x javadoc - name: Upload APK artifact uses: actions/upload-artifact@v4 diff --git a/submodules/osh-addons b/submodules/osh-addons index a7bc58a..dfcd8e3 160000 --- a/submodules/osh-addons +++ b/submodules/osh-addons @@ -1 +1 @@ -Subproject commit a7bc58af4afce56385f117597e302ad37220f2ee +Subproject commit dfcd8e3fcf63acfa421ca292b0315a64bca60735 diff --git a/submodules/osh-core b/submodules/osh-core index 81bf0bf..a413b4d 160000 --- a/submodules/osh-core +++ b/submodules/osh-core @@ -1 +1 @@ -Subproject commit 81bf0bfc613a638f3331dace3c5fbb4e36ccef23 +Subproject commit a413b4d19c5ec00d6bdef84305d9dd9992bc1a15 From 8bab098ca15dbc998693be7537394e905d770ed7 Mon Sep 17 00:00:00 2001 From: kalynstricklin Date: Thu, 25 Jun 2026 13:58:01 -0500 Subject: [PATCH 8/9] update addons --- submodules/osh-addons | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/osh-addons b/submodules/osh-addons index dfcd8e3..a7bc58a 160000 --- a/submodules/osh-addons +++ b/submodules/osh-addons @@ -1 +1 @@ -Subproject commit dfcd8e3fcf63acfa421ca292b0315a64bca60735 +Subproject commit a7bc58af4afce56385f117597e302ad37220f2ee From cf94c0b6ba8985d7577f6cbaac6f6a1ac7a5fda1 Mon Sep 17 00:00:00 2001 From: kalynstricklin Date: Thu, 25 Jun 2026 14:02:02 -0500 Subject: [PATCH 9/9] updated cicd --- .github/workflows/gradle_build.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/gradle_build.yml b/.github/workflows/gradle_build.yml index d300f3b..9523766 100644 --- a/.github/workflows/gradle_build.yml +++ b/.github/workflows/gradle_build.yml @@ -2,7 +2,7 @@ name: Build APK on: push: - branches: [ master, dev ] + branches: [ master, dev, ci-cd ] pull_request: branches: [ master, dev ] @@ -29,6 +29,8 @@ jobs: - name: Setup Android SDK uses: android-actions/setup-android@v3 + with: + packages: '' - name: Build APK run: |