diff --git a/app/src/full/java/org/fdroid/fdroid/localrepo/SwapService.java b/app/src/full/java/org/fdroid/fdroid/localrepo/SwapService.java index 427f3a40b..e6e8a0b2e 100644 --- a/app/src/full/java/org/fdroid/fdroid/localrepo/SwapService.java +++ b/app/src/full/java/org/fdroid/fdroid/localrepo/SwapService.java @@ -230,6 +230,14 @@ public class SwapService extends Service { this.peer = peer; } + public void addCurrentPeerToActive() { + activePeers.add(peer); + } + + public void removeCurrentPeerFromActive() { + activePeers.remove(peer); + } + public boolean isConnectingWithPeer() { return peer != null; } diff --git a/app/src/full/java/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java b/app/src/full/java/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java index 5949b15c8..79c238df7 100644 --- a/app/src/full/java/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java +++ b/app/src/full/java/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java @@ -659,7 +659,7 @@ public class SwapWorkflowActivity extends AppCompatActivity { // can or cannot be in STEP_INTRO with a full blown repo ready to swap. swapWith(peer); } else { - getSwapService().swapWith(repoConfig.toPeer()); + getSwapService().swapWith(peer); startSwappingWithPeer(); } } @@ -1286,10 +1286,12 @@ public class SwapWorkflowActivity extends AppCompatActivity { status == UpdateService.STATUS_ERROR_LOCAL_SMALL) { progressBar.setVisibility(View.GONE); tryAgainButton.setVisibility(View.VISIBLE); + getSwapService().removeCurrentPeerFromActive(); return; } else { progressBar.setVisibility(View.VISIBLE); tryAgainButton.setVisibility(View.GONE); + getSwapService().addCurrentPeerToActive(); } if (status == UpdateService.STATUS_COMPLETE_AND_SAME