Add optional summary text to transport cards.

This commit is contained in:
akwizgran
2020-08-14 12:32:30 +01:00
parent 4310e4d1af
commit 7fcb3394ca
2 changed files with 44 additions and 14 deletions

View File

@@ -157,6 +157,14 @@ public class TransportsActivity extends BriarActivity {
switchCompat.isChecked()));
switchCompat.setChecked(t.isSwitchChecked);
TextView summary = view.findViewById(R.id.summary);
if (t.summary == 0) {
summary.setVisibility(GONE);
} else {
summary.setText(t.summary);
summary.setVisibility(VISIBLE);
}
TextView deviceStatus = view.findViewById(R.id.deviceStatus);
deviceStatus.setText(getBulletString(t.deviceStatus));
@@ -170,19 +178,20 @@ public class TransportsActivity extends BriarActivity {
Transport tor = createTransport(TorConstants.ID,
R.drawable.transport_tor, R.string.transport_tor,
R.string.tor_enable_title, R.string.tor_device_status_offline,
R.string.tor_enable_title, R.string.tor_enable_summary,
R.string.tor_device_status_offline,
R.string.tor_plugin_status_inactive);
transports.add(tor);
Transport wifi = createTransport(LanTcpConstants.ID,
R.drawable.transport_lan, R.string.transport_lan_long,
R.string.wifi_setting, R.string.lan_device_status_off,
R.string.wifi_setting, 0, R.string.lan_device_status_off,
R.string.lan_plugin_status_inactive);
transports.add(wifi);
Transport bt = createTransport(BluetoothConstants.ID,
R.drawable.transport_bt, R.string.transport_bt,
R.string.bluetooth_setting, R.string.bt_device_status_off,
R.string.bluetooth_setting, 0, R.string.bt_device_status_off,
R.string.bt_plugin_status_inactive);
transports.add(bt);
@@ -294,11 +303,11 @@ public class TransportsActivity extends BriarActivity {
private Transport createTransport(TransportId id,
@DrawableRes int iconDrawable, @StringRes int title,
@StringRes int switchLabel, @StringRes int deviceStatus,
@StringRes int pluginStatus) {
@StringRes int switchLabel, @StringRes int summary,
@StringRes int deviceStatus, @StringRes int pluginStatus) {
int iconColor = getIconColor(STARTING_STOPPING);
Transport transport = new Transport(id, iconDrawable, iconColor, title,
switchLabel, false, deviceStatus, pluginStatus, false);
switchLabel, false, summary, deviceStatus, pluginStatus, false);
viewModel.getPluginState(id).observe(this, state -> {
transport.iconColor = getIconColor(state);
transport.pluginStatus = getPluginStatus(transport.id, state);
@@ -318,7 +327,7 @@ public class TransportsActivity extends BriarActivity {
@DrawableRes
private final int iconDrawable;
@StringRes
private final int title, switchLabel;
private final int title, switchLabel, summary;
@ColorRes
private int iconColor;
@@ -326,10 +335,15 @@ public class TransportsActivity extends BriarActivity {
private int deviceStatus, pluginStatus;
private boolean isSwitchChecked, showPluginStatus;
private Transport(TransportId id, @DrawableRes int iconDrawable,
@ColorRes int iconColor, @StringRes int title,
@StringRes int switchLabel, boolean isSwitchChecked,
@StringRes int deviceStatus, @StringRes int pluginStatus,
private Transport(TransportId id,
@DrawableRes int iconDrawable,
@ColorRes int iconColor,
@StringRes int title,
@StringRes int switchLabel,
boolean isSwitchChecked,
@StringRes int summary,
@StringRes int deviceStatus,
@StringRes int pluginStatus,
boolean showPluginStatus) {
this.id = id;
this.iconDrawable = iconDrawable;
@@ -337,6 +351,7 @@ public class TransportsActivity extends BriarActivity {
this.title = title;
this.switchLabel = switchLabel;
this.isSwitchChecked = isSwitchChecked;
this.summary = summary;
this.deviceStatus = deviceStatus;
this.pluginStatus = pluginStatus;
this.showPluginStatus = showPluginStatus;

View File

@@ -15,7 +15,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:orientation="horizontal">
android:orientation="horizontal"
tools:ignore="UseCompoundDrawables">
<ImageView
android:id="@+id/icon"
@@ -31,8 +32,8 @@
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="?android:attr/textColorPrimary"
android:textSize="@dimen/text_size_large"
tools:text="@string/transport_tor" />
</LinearLayout>
@@ -41,13 +42,27 @@
android:id="@+id/switchCompat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:textColor="?android:attr/textColorPrimary"
android:textSize="@dimen/text_size_medium"
android:widgetLayout="@layout/preference_switch_compat"
tools:checked="true"
tools:text="@string/tor_enable_title" />
<TextView
android:id="@+id/summary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="32dp"
android:layout_marginRight="32dp"
android:textColor="?android:attr/textColorSecondary"
android:visibility="gone"
tools:text="@string/tor_enable_summary"
tools:visibility="visible" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/status_heading"
android:textColor="?android:attr/textColorPrimary" />