mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-18 21:59:54 +01:00
Show warning if own mailbox's API version is incompatible
This commit is contained in:
@@ -47,7 +47,6 @@ import static org.briarproject.briar.android.util.UiUtils.showFragment;
|
|||||||
public class MailboxStatusFragment extends Fragment {
|
public class MailboxStatusFragment extends Fragment {
|
||||||
|
|
||||||
static final String TAG = MailboxStatusFragment.class.getName();
|
static final String TAG = MailboxStatusFragment.class.getName();
|
||||||
private static final int NUM_FAILURES = 4;
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
ViewModelProvider.Factory viewModelFactory;
|
ViewModelProvider.Factory viewModelFactory;
|
||||||
@@ -133,24 +132,30 @@ public class MailboxStatusFragment extends Fragment {
|
|||||||
@ColorRes int tintRes;
|
@ColorRes int tintRes;
|
||||||
@DrawableRes int iconRes;
|
@DrawableRes int iconRes;
|
||||||
String title;
|
String title;
|
||||||
if (status.getAttemptsSinceSuccess() == 0) {
|
if (status.hasProblem(System.currentTimeMillis())) {
|
||||||
iconRes = R.drawable.ic_check_circle_outline;
|
|
||||||
title = getString(R.string.mailbox_status_connected_title);
|
|
||||||
tintRes = R.color.briar_brand_green;
|
|
||||||
showUnlinkWarning = true;
|
|
||||||
wizardButton.setVisibility(GONE);
|
|
||||||
} else if (!status.hasProblem(System.currentTimeMillis())) {
|
|
||||||
iconRes = R.drawable.ic_help_outline_white;
|
|
||||||
title = getString(R.string.mailbox_status_problem_title);
|
|
||||||
tintRes = R.color.briar_orange_500;
|
|
||||||
showUnlinkWarning = false;
|
|
||||||
wizardButton.setVisibility(VISIBLE);
|
|
||||||
} else {
|
|
||||||
tintRes = R.color.briar_red_500;
|
tintRes = R.color.briar_red_500;
|
||||||
title = getString(R.string.mailbox_status_failure_title);
|
title = getString(R.string.mailbox_status_failure_title);
|
||||||
iconRes = R.drawable.alerts_and_states_error;
|
iconRes = R.drawable.alerts_and_states_error;
|
||||||
showUnlinkWarning = false;
|
showUnlinkWarning = false;
|
||||||
wizardButton.setVisibility(VISIBLE);
|
wizardButton.setVisibility(VISIBLE);
|
||||||
|
} else if (status.getAttemptsSinceSuccess() > 0) {
|
||||||
|
iconRes = R.drawable.ic_help_outline_white;
|
||||||
|
title = getString(R.string.mailbox_status_problem_title);
|
||||||
|
tintRes = R.color.briar_orange_500;
|
||||||
|
showUnlinkWarning = false;
|
||||||
|
wizardButton.setVisibility(VISIBLE);
|
||||||
|
} else if (status.isMailboxIncompatible()) {
|
||||||
|
tintRes = R.color.briar_red_500;
|
||||||
|
title = getString(R.string.mailbox_status_incompatible_title);
|
||||||
|
iconRes = R.drawable.alerts_and_states_error;
|
||||||
|
showUnlinkWarning = true;
|
||||||
|
wizardButton.setVisibility(GONE);
|
||||||
|
} else {
|
||||||
|
iconRes = R.drawable.ic_check_circle_outline;
|
||||||
|
title = getString(R.string.mailbox_status_connected_title);
|
||||||
|
tintRes = R.color.briar_brand_green;
|
||||||
|
showUnlinkWarning = true;
|
||||||
|
wizardButton.setVisibility(GONE);
|
||||||
}
|
}
|
||||||
imageView.setImageResource(iconRes);
|
imageView.setImageResource(iconRes);
|
||||||
int color = getColor(requireContext(), tintRes);
|
int color = getColor(requireContext(), tintRes);
|
||||||
|
|||||||
@@ -208,16 +208,12 @@ class MailboxViewModel extends DbViewModel
|
|||||||
|
|
||||||
LiveData<Boolean> checkConnection() {
|
LiveData<Boolean> checkConnection() {
|
||||||
MutableLiveData<Boolean> liveData = new MutableLiveData<>();
|
MutableLiveData<Boolean> liveData = new MutableLiveData<>();
|
||||||
checkConnection(success -> {
|
checkConnection(liveData::postValue);
|
||||||
liveData.postValue(success);
|
|
||||||
if (!success) onConnectionCheckFailure();
|
|
||||||
});
|
|
||||||
return liveData;
|
return liveData;
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkConnectionFromWizard() {
|
void checkConnectionFromWizard() {
|
||||||
checkConnection(success -> {
|
checkConnection(success -> {
|
||||||
if (!success) onConnectionCheckFailure();
|
|
||||||
boolean isOnline = isTorActive();
|
boolean isOnline = isTorActive();
|
||||||
// make UI move back to status fragment by changing pairingState
|
// make UI move back to status fragment by changing pairingState
|
||||||
pairingState.postEvent(new MailboxState.IsPaired(isOnline));
|
pairingState.postEvent(new MailboxState.IsPaired(isOnline));
|
||||||
@@ -234,15 +230,6 @@ 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
|
@UiThread
|
||||||
void unlink() {
|
void unlink() {
|
||||||
ioExecutor.execute(() -> {
|
ioExecutor.execute(() -> {
|
||||||
|
|||||||
@@ -640,6 +640,7 @@
|
|||||||
<string name="mailbox_status_connected_title">Mailbox is running</string>
|
<string name="mailbox_status_connected_title">Mailbox is running</string>
|
||||||
<string name="mailbox_status_problem_title">Briar is having trouble connecting to the Mailbox</string>
|
<string name="mailbox_status_problem_title">Briar is having trouble connecting to the Mailbox</string>
|
||||||
<string name="mailbox_status_failure_title">Mailbox is unavailable</string>
|
<string name="mailbox_status_failure_title">Mailbox is unavailable</string>
|
||||||
|
<string name="mailbox_status_incompatible_title">Mailbox is incompatible. Ensure Briar and Mailbox are updated to latest version.</string>
|
||||||
<string name="mailbox_status_check_button">Check Connection</string>
|
<string name="mailbox_status_check_button">Check Connection</string>
|
||||||
<!-- Example for string substitution: Last connection: 3min ago-->
|
<!-- Example for string substitution: Last connection: 3min ago-->
|
||||||
<string name="mailbox_status_connected_info">Last connection: %s</string>
|
<string name="mailbox_status_connected_info">Last connection: %s</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user