Show reason why Tor is disabled.

This commit is contained in:
akwizgran
2020-04-28 15:44:38 +01:00
parent b189a38f62
commit 08a8a0b281
4 changed files with 34 additions and 4 deletions

View File

@@ -162,6 +162,11 @@ public class PluginViewModel extends AndroidViewModel implements EventListener {
return bluetoothTurnedOn;
}
int getReasonsTorDisabled() {
Plugin plugin = pluginManager.getPlugin(TorConstants.ID);
return plugin == null ? 0 : plugin.getReasonsDisabled();
}
void enableTransport(TransportId id, boolean enable) {
Settings s = new Settings();
s.putBoolean(PREF_PLUGIN_ENABLE, enable);

View File

@@ -47,6 +47,9 @@ import static org.briarproject.bramble.api.plugin.Plugin.State.ACTIVE;
import static org.briarproject.bramble.api.plugin.Plugin.State.DISABLED;
import static org.briarproject.bramble.api.plugin.Plugin.State.ENABLING;
import static org.briarproject.bramble.api.plugin.Plugin.State.STARTING_STOPPING;
import static org.briarproject.bramble.api.plugin.TorConstants.REASON_BATTERY;
import static org.briarproject.bramble.api.plugin.TorConstants.REASON_COUNTRY_BLOCKED;
import static org.briarproject.bramble.api.plugin.TorConstants.REASON_MOBILE_DATA;
@MethodsNotNullByDefault
@ParametersNotNullByDefault
@@ -253,10 +256,24 @@ public class TransportsActivity extends BriarActivity {
@StringRes
private int getTorPluginStatus(State state) {
if (state == ENABLING) return R.string.tor_plugin_status_enabling;
else if (state == ACTIVE) return R.string.tor_plugin_status_active;
else if (state == DISABLED) return R.string.tor_plugin_status_disabled;
else return R.string.tor_plugin_status_inactive;
if (state == ENABLING) {
return R.string.tor_plugin_status_enabling;
} else if (state == ACTIVE) {
return R.string.tor_plugin_status_active;
} else if (state == DISABLED) {
int reasons = viewModel.getReasonsTorDisabled();
if ((reasons & REASON_MOBILE_DATA) != 0) {
return R.string.tor_plugin_status_disabled_mobile_data;
} else if ((reasons & REASON_BATTERY) != 0) {
return R.string.tor_plugin_status_disabled_battery;
} else if ((reasons & REASON_COUNTRY_BLOCKED) != 0) {
return R.string.tor_plugin_status_disabled_country_blocked;
} else {
return R.string.tor_plugin_status_disabled;
}
} else {
return R.string.tor_plugin_status_inactive;
}
}
@StringRes

View File

@@ -79,6 +79,9 @@
<string name="tor_plugin_status_active">Briar is connected to the Internet</string>
<string name="tor_plugin_status_inactive">Briar can\'t connect to the Internet</string>
<string name="tor_plugin_status_disabled">Briar is configured not to use the Internet</string>
<string name="tor_plugin_status_disabled_mobile_data">Briar is configured not to use mobile data</string>
<string name="tor_plugin_status_disabled_battery">Briar is configured not to use the Internet when running on battery</string>
<string name="tor_plugin_status_disabled_country_blocked">Briar is configured not to use the Internet in this country</string>
<!-- Transports: Wi-Fi -->
<string name="transport_lan">Wi-Fi</string>