diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2020-01-23 15:54:22 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2020-01-23 16:12:26 +0100 |
commit | c3d97acb31b107ba948cc9657d71587681734ae2 (patch) | |
tree | 4ea188b53ad88d4023ac36085292826f53ad2328 /app/src/main/java/com/wireguard/android/fragment | |
parent | 8dbd464fa4ef0f8ffc3375b01ce5467779e5704d (diff) |
Rework timer in tunnel detail
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'app/src/main/java/com/wireguard/android/fragment')
-rw-r--r-- | app/src/main/java/com/wireguard/android/fragment/TunnelDetailFragment.java | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/app/src/main/java/com/wireguard/android/fragment/TunnelDetailFragment.java b/app/src/main/java/com/wireguard/android/fragment/TunnelDetailFragment.java index f28a7b67..353a5dff 100644 --- a/app/src/main/java/com/wireguard/android/fragment/TunnelDetailFragment.java +++ b/app/src/main/java/com/wireguard/android/fragment/TunnelDetailFragment.java @@ -34,18 +34,6 @@ public class TunnelDetailFragment extends BaseFragment { @Nullable private Timer timer; @Nullable private State lastState = State.TOGGLE; - private static class StatsTimerTask extends TimerTask { - final TunnelDetailFragment tdf; - private StatsTimerTask(final TunnelDetailFragment tdf) { - this.tdf = tdf; - } - - @Override - public void run() { - tdf.updateStats(); - } - } - @Override public void onCreate(@Nullable final Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -70,7 +58,12 @@ public class TunnelDetailFragment extends BaseFragment { public void onResume() { super.onResume(); timer = new Timer(); - timer.scheduleAtFixedRate(new StatsTimerTask(this), 0, 1000); + timer.scheduleAtFixedRate(new TimerTask() { + @Override + public void run() { + updateStats(); + } + }, 0, 1000); } @Override @@ -127,11 +120,14 @@ public class TunnelDetailFragment extends BaseFragment { private void updateStats() { if (binding == null || !isResumed()) return; - final State state = binding.getTunnel().getState(); + final Tunnel tunnel = binding.getTunnel(); + if (tunnel == null) + return; + final State state = tunnel.getState(); if (state != State.UP && lastState == state) return; lastState = state; - binding.getTunnel().getStatisticsAsync().whenComplete((statistics, throwable) -> { + tunnel.getStatisticsAsync().whenComplete((statistics, throwable) -> { if (throwable != null) { for (int i = 0; i < binding.peersLayout.getChildCount(); ++i) { final TunnelDetailPeerBinding peer = DataBindingUtil.getBinding(binding.peersLayout.getChildAt(i)); |