X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosdroid%2Fapp%2Fsrc%2Fmain%2Fjava%2Forg%2Faltusmetrum%2FAltosDroid%2FTelemetryService.java;h=b0b82ab9c9673643f8fead134a8a9e9445a8a1d8;hb=ed267e76eb03c34ec233c33a002ec9e5e53ec83a;hp=31616c825371d5e4f2f411343edf4c2464b622b0;hpb=ec46adee44ea08120b1940ca55a5fbdf56874bb1;p=fw%2Faltos diff --git a/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TelemetryService.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TelemetryService.java index 31616c82..b0b82ab9 100644 --- a/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TelemetryService.java +++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TelemetryService.java @@ -20,6 +20,7 @@ package org.altusmetrum.AltosDroid; import java.lang.ref.WeakReference; import java.util.concurrent.TimeoutException; +import java.io.*; import java.util.*; import android.app.*; @@ -340,6 +341,21 @@ public class TelemetryService extends Service implements AltosIdleMonitorListene send_idle_mode_to_client(client); } + private void send_file_failed_to_client(Messenger client, File f) { + Message m = Message.obtain(null, AltosDroid.MSG_FILE_FAILED, f); + try { + client.send(m); + } catch (RemoteException e) { + AltosDebug.error("Client %s disappeared", client.toString()); + remove_client(client); + } + } + + public void send_file_failed_to_clients(File f) { + for (Messenger client : clients) + send_file_failed_to_client(client, f); + } + private void telemetry_start() { if (telemetry_reader == null && idle_monitor == null && !ignite_running) { telemetry_reader = new TelemetryReader(altos_link, handler); @@ -416,7 +432,7 @@ public class TelemetryService extends Service implements AltosIdleMonitorListene } private void start_altos_bluetooth(DeviceAddress address, boolean pause) { - if (bluetooth_adapter == null || !bluetooth_adapter.isEnabled()) + if (bluetooth_adapter == null || !bluetooth_adapter.isEnabled() || address.address == null) return; disconnect(false);