From 9cb53e93d0470b356d3eee58e272713d90223555 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 10 Apr 2018 22:48:53 +0200 Subject: [PATCH] allow Bluetooth swap to work when there is no available internet #1393 --- app/src/main/java/org/fdroid/fdroid/UpdateService.java | 7 +++++-- .../java/org/fdroid/fdroid/net/BluetoothDownloader.java | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/UpdateService.java b/app/src/main/java/org/fdroid/fdroid/UpdateService.java index ab0dc40dc..20360a5f8 100644 --- a/app/src/main/java/org/fdroid/fdroid/UpdateService.java +++ b/app/src/main/java/org/fdroid/fdroid/UpdateService.java @@ -47,6 +47,7 @@ import org.fdroid.fdroid.data.Repo; import org.fdroid.fdroid.data.RepoProvider; import org.fdroid.fdroid.data.Schema; import org.fdroid.fdroid.installer.InstallManagerService; +import org.fdroid.fdroid.net.BluetoothDownloader; import org.fdroid.fdroid.net.ConnectivityMonitorService; import org.fdroid.fdroid.views.main.MainActivity; @@ -332,7 +333,7 @@ public class UpdateService extends IntentService { boolean forcedUpdate = false; String address = null; if (intent != null) { - address = intent.getStringExtra(EXTRA_ADDRESS); + address = intent.getStringExtra(EXTRA_ADDRESS); // TODO switch to Intent.setData() manualUpdate = intent.getBooleanExtra(EXTRA_MANUAL_UPDATE, false); forcedUpdate = intent.getBooleanExtra(EXTRA_FORCED_UPDATE, false); } @@ -340,7 +341,9 @@ public class UpdateService extends IntentService { try { // See if it's time to actually do anything yet... int netState = ConnectivityMonitorService.getNetworkState(this); - if (netState == ConnectivityMonitorService.FLAG_NET_UNAVAILABLE) { + if (address != null && address.startsWith(BluetoothDownloader.SCHEME)) { + Utils.debugLog(TAG, "skipping internet check, this is bluetooth"); + } else if (netState == ConnectivityMonitorService.FLAG_NET_UNAVAILABLE) { Utils.debugLog(TAG, "No internet, cannot update"); if (manualUpdate) { sendNoInternetToast(); diff --git a/app/src/main/java/org/fdroid/fdroid/net/BluetoothDownloader.java b/app/src/main/java/org/fdroid/fdroid/net/BluetoothDownloader.java index cb4f54abf..225be7434 100644 --- a/app/src/main/java/org/fdroid/fdroid/net/BluetoothDownloader.java +++ b/app/src/main/java/org/fdroid/fdroid/net/BluetoothDownloader.java @@ -24,6 +24,8 @@ public class BluetoothDownloader extends Downloader { private static final String TAG = "BluetoothDownloader"; + public static final String SCHEME = "bluetooth"; + private final BluetoothConnection connection; private FileDetails fileDetails; private final String sourcePath;