From 3787ed9e2fcb2de0054c003e980177e39eb52dda Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Fri, 26 Apr 2013 18:43:30 +0100 Subject: [PATCH] Progress spinners weren't shown when retrying invitation connections. Fixes issue #3611959. --- .../sf/briar/android/invitation/AddContactActivity.java | 8 ++++---- .../net/sf/briar/android/invitation/ConnectionView.java | 4 +--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/briar-android/src/net/sf/briar/android/invitation/AddContactActivity.java b/briar-android/src/net/sf/briar/android/invitation/AddContactActivity.java index c4fc69b0ab..c197ac8f58 100644 --- a/briar-android/src/net/sf/briar/android/invitation/AddContactActivity.java +++ b/briar-android/src/net/sf/briar/android/invitation/AddContactActivity.java @@ -174,11 +174,9 @@ implements InvitationListener { } void reset(AddContactView view) { - // Note: localAuthorId is not reset + // Don't reset localAuthorId, networkName or useBluetooth task = null; taskHandle = -1; - networkName = null; - useBluetooth = false; localInvitationCode = -1; localConfirmationCode = remoteConfirmationCode = -1; connectionFailed = false; @@ -255,12 +253,14 @@ implements InvitationListener { } void remoteInvitationCodeEntered(int code) { - setView(new ConnectionView(this)); if(localAuthorId == null) throw new IllegalStateException(); if(localInvitationCode == -1) throw new IllegalStateException(); + setView(new ConnectionView(this)); task = invitationTaskFactory.createTask(localAuthorId, localInvitationCode, code); taskHandle = referenceManager.putReference(task, InvitationTask.class); + // FIXME: Why can't the activity clean up the reference? If the task + // has a reference to the activity (as a listener), it won't be GCed task.addListener(AddContactActivity.this); task.addListener(new ReferenceCleaner(referenceManager, taskHandle)); task.connect(); diff --git a/briar-android/src/net/sf/briar/android/invitation/ConnectionView.java b/briar-android/src/net/sf/briar/android/invitation/ConnectionView.java index 11b22c02a4..ba5e089d11 100644 --- a/briar-android/src/net/sf/briar/android/invitation/ConnectionView.java +++ b/briar-android/src/net/sf/briar/android/invitation/ConnectionView.java @@ -32,7 +32,6 @@ public class ConnectionView extends AddContactView { code.setText(String.format("%06d", localCode)); addView(code); - // FIXME: These spinners don't appear when trying again after a failure String networkName = container.getNetworkName(); if(networkName != null) { LinearLayout innerLayout = new LinearLayout(ctx); @@ -53,8 +52,7 @@ public class ConnectionView extends AddContactView { addView(innerLayout); } - boolean useBluetooth = container.getUseBluetooth(); - if(useBluetooth) { + if(container.getUseBluetooth()) { LinearLayout innerLayout = new LinearLayout(ctx); innerLayout.setOrientation(HORIZONTAL); innerLayout.setGravity(CENTER); -- GitLab