diff --git a/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxStatusFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxStatusFragment.java index e4c0c44d3..c4382a0a2 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxStatusFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxStatusFragment.java @@ -143,7 +143,7 @@ public class MailboxStatusFragment extends Fragment { title = getString(R.string.mailbox_status_problem_title); tintRes = R.color.briar_orange_500; showUnlinkWarning = false; - wizardButton.setVisibility(GONE); + wizardButton.setVisibility(VISIBLE); } else { tintRes = R.color.briar_red_500; title = getString(R.string.mailbox_status_failure_title); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxViewModel.java b/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxViewModel.java index 566ee76c9..27dbab0f5 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxViewModel.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxViewModel.java @@ -206,20 +206,16 @@ class MailboxViewModel extends DbViewModel MutableLiveData liveData = new MutableLiveData<>(); checkConnection(success -> { liveData.postValue(success); - if (!success) { // force failure screen - MailboxStatus lastStatus = status.getValue(); - long lastSuccess = lastStatus == null ? - -1 : lastStatus.getTimeOfLastSuccess(); - long now = System.currentTimeMillis(); - status.postValue(new MailboxStatus(now, lastSuccess, 999)); - } + if (!success) onConnectionCheckFailure(); }); return liveData; } void checkConnectionFromWizard() { checkConnection(success -> { + if (!success) onConnectionCheckFailure(); boolean isOnline = isTorActive(); + // make UI move back to status fragment by changing pairingState pairingState.postEvent(new MailboxState.IsPaired(isOnline)); }); } @@ -234,6 +230,15 @@ class MailboxViewModel extends DbViewModel }); } + private void onConnectionCheckFailure() { + MailboxStatus lastStatus = status.getValue(); + long lastSuccess = lastStatus == null ? + -1 : lastStatus.getTimeOfLastSuccess(); + long now = System.currentTimeMillis(); + // force failure screen + status.postValue(new MailboxStatus(now, lastSuccess, 999)); + } + @UiThread void unlink() { ioExecutor.execute(() -> { diff --git a/briar-android/src/main/res/layout/briar_button.xml b/briar-android/src/main/res/layout/briar_button.xml index 780bb5b5a..77f1d22f3 100644 --- a/briar-android/src/main/res/layout/briar_button.xml +++ b/briar-android/src/main/res/layout/briar_button.xml @@ -11,7 +11,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" - android:visibility="gone" + android:visibility="invisible" tools:visibility="visible" /> diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml index 8d5985d16..660fc00c5 100644 --- a/briar-android/src/main/res/values/strings.xml +++ b/briar-android/src/main/res/values/strings.xml @@ -662,11 +662,14 @@ Open the Mailbox app. What do you see? I see instructions for setting up the Mailbox I see a QR code - I see \"Mailbox is online\" - I see \"Mailbox is offline\" + I see \"Mailbox is running\" + I see \"Device offline\" Please unlink your Mailbox using the button below, then follow the instructions on the Mailbox device to link it again. Please unlink your Mailbox using the button below, then scan the QR code to link it again. - Please use the button below to check the connection between Briar and the Mailbox.\n\nIf the connection fails again:\n* Check that the Mailbox and Briar apps are updated to the latest version.\n* Restart your Mailbox and Briar devices and try again. + Please use the button below to check the connection between Briar and the Mailbox.\n\n + If the connection fails again:\n + \u2022 Check that the Mailbox and Briar apps are updated to the latest version.\n + \u2022 Restart your Mailbox and Briar devices and try again. Check that the mailbox device is properly connected to the Internet.\n\nCheck that the clock on the Mailbox device shows the right time, date and timezone.\n\nCheck that the Mailbox and Briar apps are updated to the latest version.\n\nRestart your Mailbox and Briar devices and try again. Please come back to this screen when you have access to the device. Please unlink your mailbox using the button below.\n\nAfter unlinking your old Mailbox, you can set up a new Mailbox at any time.