mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-20 06:39:54 +01:00
Only show plugin status when it's relevant.
This commit is contained in:
@@ -41,6 +41,8 @@ import androidx.core.content.ContextCompat;
|
|||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
import androidx.lifecycle.ViewModelProviders;
|
import androidx.lifecycle.ViewModelProviders;
|
||||||
|
|
||||||
|
import static android.view.View.GONE;
|
||||||
|
import static android.view.View.VISIBLE;
|
||||||
import static org.briarproject.bramble.api.plugin.Plugin.State.ACTIVE;
|
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.DISABLED;
|
||||||
import static org.briarproject.bramble.api.plugin.Plugin.State.ENABLING;
|
import static org.briarproject.bramble.api.plugin.Plugin.State.ENABLING;
|
||||||
@@ -155,8 +157,9 @@ public class TransportsActivity extends BriarActivity {
|
|||||||
TextView deviceStatus = view.findViewById(R.id.deviceStatus);
|
TextView deviceStatus = view.findViewById(R.id.deviceStatus);
|
||||||
deviceStatus.setText(getBulletString(t.deviceStatus));
|
deviceStatus.setText(getBulletString(t.deviceStatus));
|
||||||
|
|
||||||
TextView appStatus = view.findViewById(R.id.appStatus);
|
TextView pluginStatus = view.findViewById(R.id.appStatus);
|
||||||
appStatus.setText(getBulletString(t.pluginStatus));
|
pluginStatus.setText(getBulletString(t.pluginStatus));
|
||||||
|
pluginStatus.setVisibility(t.showPluginStatus ? VISIBLE : GONE);
|
||||||
|
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
@@ -181,13 +184,13 @@ public class TransportsActivity extends BriarActivity {
|
|||||||
transports.add(bt);
|
transports.add(bt);
|
||||||
|
|
||||||
viewModel.getNetworkStatus().observe(this, status -> {
|
viewModel.getNetworkStatus().observe(this, status -> {
|
||||||
tor.deviceStatus = getTorDeviceStatus(status);
|
updateTorResources(tor, status);
|
||||||
wifi.deviceStatus = getWifiDeviceStatus(status);
|
updateWifiResources(wifi, status);
|
||||||
transportsAdapter.notifyDataSetChanged();
|
transportsAdapter.notifyDataSetChanged();
|
||||||
});
|
});
|
||||||
|
|
||||||
viewModel.getBluetoothTurnedOn().observe(this, on -> {
|
viewModel.getBluetoothTurnedOn().observe(this, on -> {
|
||||||
bt.deviceStatus = getBtDeviceStatus(on);
|
updateBtResources(bt, on);
|
||||||
transportsAdapter.notifyDataSetChanged();
|
transportsAdapter.notifyDataSetChanged();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -203,23 +206,38 @@ public class TransportsActivity extends BriarActivity {
|
|||||||
else return android.R.color.tertiary_text_light;
|
else return android.R.color.tertiary_text_light;
|
||||||
}
|
}
|
||||||
|
|
||||||
@StringRes
|
private void updateTorResources(Transport tor, NetworkStatus status) {
|
||||||
private int getTorDeviceStatus(NetworkStatus status) {
|
if (status.isConnected()) {
|
||||||
if (!status.isConnected()) return R.string.tor_device_status_offline;
|
if (status.isWifi()) {
|
||||||
if (status.isWifi()) return R.string.tor_device_status_online_wifi;
|
tor.deviceStatus = R.string.tor_device_status_online_wifi;
|
||||||
else return R.string.tor_device_status_online_mobile_data;
|
} else {
|
||||||
|
tor.deviceStatus = R.string.tor_device_status_online_mobile;
|
||||||
|
}
|
||||||
|
tor.showPluginStatus = true;
|
||||||
|
} else {
|
||||||
|
tor.deviceStatus = R.string.tor_device_status_offline;
|
||||||
|
tor.showPluginStatus = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@StringRes
|
private void updateWifiResources(Transport wifi, NetworkStatus status) {
|
||||||
private int getWifiDeviceStatus(NetworkStatus status) {
|
if (status.isWifi()) {
|
||||||
if (status.isWifi()) return R.string.lan_device_status_on;
|
wifi.deviceStatus = R.string.lan_device_status_on;
|
||||||
else return R.string.lan_device_status_off;
|
wifi.showPluginStatus = true;
|
||||||
|
} else {
|
||||||
|
wifi.deviceStatus = R.string.lan_device_status_off;
|
||||||
|
wifi.showPluginStatus = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@StringRes
|
private void updateBtResources(Transport bt, boolean on) {
|
||||||
private int getBtDeviceStatus(boolean on) {
|
if (on) {
|
||||||
if (on) return R.string.bt_device_status_on;
|
bt.deviceStatus = R.string.bt_device_status_on;
|
||||||
else return R.string.bt_device_status_off;
|
bt.showPluginStatus = true;
|
||||||
|
} else {
|
||||||
|
bt.deviceStatus = R.string.bt_device_status_off;
|
||||||
|
bt.showPluginStatus = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@StringRes
|
@StringRes
|
||||||
@@ -263,7 +281,7 @@ public class TransportsActivity extends BriarActivity {
|
|||||||
@StringRes int pluginStatus) {
|
@StringRes int pluginStatus) {
|
||||||
int iconColor = getIconColor(STARTING_STOPPING);
|
int iconColor = getIconColor(STARTING_STOPPING);
|
||||||
Transport transport = new Transport(id, iconDrawable, iconColor, title,
|
Transport transport = new Transport(id, iconDrawable, iconColor, title,
|
||||||
switchLabel, false, deviceStatus, pluginStatus);
|
switchLabel, false, deviceStatus, pluginStatus, false);
|
||||||
viewModel.getPluginState(id).observe(this, state -> {
|
viewModel.getPluginState(id).observe(this, state -> {
|
||||||
transport.iconColor = getIconColor(state);
|
transport.iconColor = getIconColor(state);
|
||||||
transport.pluginStatus = getPluginStatus(transport.id, state);
|
transport.pluginStatus = getPluginStatus(transport.id, state);
|
||||||
@@ -289,12 +307,13 @@ public class TransportsActivity extends BriarActivity {
|
|||||||
private int iconColor;
|
private int iconColor;
|
||||||
@StringRes
|
@StringRes
|
||||||
private int deviceStatus, pluginStatus;
|
private int deviceStatus, pluginStatus;
|
||||||
private boolean isSwitchChecked;
|
private boolean isSwitchChecked, showPluginStatus;
|
||||||
|
|
||||||
private Transport(TransportId id, @DrawableRes int iconDrawable,
|
private Transport(TransportId id, @DrawableRes int iconDrawable,
|
||||||
@ColorRes int iconColor, @StringRes int title,
|
@ColorRes int iconColor, @StringRes int title,
|
||||||
@StringRes int switchLabel, boolean isSwitchChecked,
|
@StringRes int switchLabel, boolean isSwitchChecked,
|
||||||
@StringRes int deviceStatus, @StringRes int pluginStatus) {
|
@StringRes int deviceStatus, @StringRes int pluginStatus,
|
||||||
|
boolean showPluginStatus) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.iconDrawable = iconDrawable;
|
this.iconDrawable = iconDrawable;
|
||||||
this.iconColor = iconColor;
|
this.iconColor = iconColor;
|
||||||
@@ -303,6 +322,7 @@ public class TransportsActivity extends BriarActivity {
|
|||||||
this.isSwitchChecked = isSwitchChecked;
|
this.isSwitchChecked = isSwitchChecked;
|
||||||
this.deviceStatus = deviceStatus;
|
this.deviceStatus = deviceStatus;
|
||||||
this.pluginStatus = pluginStatus;
|
this.pluginStatus = pluginStatus;
|
||||||
|
this.showPluginStatus = showPluginStatus;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,7 +73,7 @@
|
|||||||
<string name="transport_tor">Internet</string>
|
<string name="transport_tor">Internet</string>
|
||||||
<string name="tor_status">Internet status:</string>
|
<string name="tor_status">Internet status:</string>
|
||||||
<string name="tor_device_status_online_wifi">Your phone has Internet access via Wi-Fi</string>
|
<string name="tor_device_status_online_wifi">Your phone has Internet access via Wi-Fi</string>
|
||||||
<string name="tor_device_status_online_mobile_data">Your phone has Internet access via mobile data</string>
|
<string name="tor_device_status_online_mobile">Your phone has Internet access via mobile data</string>
|
||||||
<string name="tor_device_status_offline">Your phone does not have Internet access</string>
|
<string name="tor_device_status_offline">Your phone does not have Internet access</string>
|
||||||
<string name="tor_plugin_status_enabling">Briar is connecting to the Internet</string>
|
<string name="tor_plugin_status_enabling">Briar is connecting to the Internet</string>
|
||||||
<string name="tor_plugin_status_active">Briar is connected to the Internet</string>
|
<string name="tor_plugin_status_active">Briar is connected to the Internet</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user