From 8084d08a3a27a3c64432cd4f8dd03698d01aaea5 Mon Sep 17 00:00:00 2001 From: akwizgran <akwizgran@users.sourceforge.net> Date: Thu, 17 Dec 2015 17:52:16 +0000 Subject: [PATCH] Update dashboard icons when resuming activity. #186 --- .../android/DashboardActivity.java | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/briar-android/src/org/briarproject/android/DashboardActivity.java b/briar-android/src/org/briarproject/android/DashboardActivity.java index ea8d8258d1..6a49600ea7 100644 --- a/briar-android/src/org/briarproject/android/DashboardActivity.java +++ b/briar-android/src/org/briarproject/android/DashboardActivity.java @@ -71,14 +71,13 @@ public class DashboardActivity extends BriarActivity implements EventListener { @Override public void onResume() { super.onResume(); - + updateTransports(); eventBus.addListener(this); } @Override public void onPause() { super.onPause(); - eventBus.removeListener(this); } @@ -282,8 +281,7 @@ public class DashboardActivity extends BriarActivity implements EventListener { Transport tor = new Transport(); tor.id = new TransportId("tor"); Plugin torPlugin = pluginManager.getPlugin(tor.id); - if (torPlugin == null) tor.enabled = false; - else tor.enabled = torPlugin.isRunning(); + tor.enabled = torPlugin != null && torPlugin.isRunning(); tor.iconId = R.drawable.transport_tor; tor.textId = R.string.transport_tor; transports.add(tor); @@ -291,8 +289,7 @@ public class DashboardActivity extends BriarActivity implements EventListener { Transport bt = new Transport(); bt.id = new TransportId("bt"); Plugin btPlugin = pluginManager.getPlugin(bt.id); - if (btPlugin == null) bt.enabled = false; - else bt.enabled = btPlugin.isRunning(); + bt.enabled = btPlugin != null && btPlugin.isRunning(); bt.iconId = R.drawable.transport_bt; bt.textId = R.string.transport_bt; transports.add(bt); @@ -300,8 +297,7 @@ public class DashboardActivity extends BriarActivity implements EventListener { Transport lan = new Transport(); lan.id = new TransportId("lan"); Plugin lanPlugin = pluginManager.getPlugin(lan.id); - if (lanPlugin == null) lan.enabled = false; - else lan.enabled = lanPlugin.isRunning(); + lan.enabled = lanPlugin != null && lanPlugin.isRunning(); lan.iconId = R.drawable.transport_lan; lan.textId = R.string.transport_lan; transports.add(lan); @@ -357,19 +353,26 @@ public class DashboardActivity extends BriarActivity implements EventListener { runOnUiThread(new Runnable() { public void run() { if (transports == null || transportsAdapter == null) return; - for (Transport t : transports) { if (t.id.equals(id)) { t.enabled = enabled; + transportsAdapter.notifyDataSetChanged(); break; } } - - transportsAdapter.notifyDataSetChanged(); } }); } + private void updateTransports() { + if (transports == null || transportsAdapter == null) return; + for (Transport t : transports) { + Plugin plugin = pluginManager.getPlugin(t.id); + t.enabled = plugin != null && plugin.isRunning(); + } + transportsAdapter.notifyDataSetChanged(); + } + private static class Transport { TransportId id; boolean enabled; -- GitLab