summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2018-04-30 05:28:51 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2018-04-30 05:29:54 +0200
commit596904977a62c080254f94e1941c376edcec268e (patch)
tree831ecce74f208a218f69762c1cfcfc03dc5c7aaa
parent73b0c4ea8116c4b1088dcd84cb2f4d7181baf7ab (diff)
TunnelDetailFragment: rewrite and simplify
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r--app/src/main/java/com/wireguard/android/fragment/TunnelDetailFragment.java32
1 files changed, 10 insertions, 22 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 08f08298..8d0ae4cf 100644
--- a/app/src/main/java/com/wireguard/android/fragment/TunnelDetailFragment.java
+++ b/app/src/main/java/com/wireguard/android/fragment/TunnelDetailFragment.java
@@ -19,8 +19,6 @@ import com.wireguard.config.Config;
public class TunnelDetailFragment extends BaseFragment {
private TunnelDetailFragmentBinding binding;
- private boolean isViewStateRestored;
- private String originalName;
@Override
public void onCreate(final Bundle savedInstanceState) {
@@ -48,34 +46,24 @@ public class TunnelDetailFragment extends BaseFragment {
super.onDestroyView();
}
- private void onConfigLoaded(Config config) {
- binding.setConfig(new Config.Observable(config, originalName));
+ private void onConfigLoaded(final String name, final Config config) {
+ binding.setConfig(new Config.Observable(config, name));
}
@Override
public void onSelectedTunnelChanged(final Tunnel oldTunnel, final Tunnel newTunnel) {
- if (binding != null && isViewStateRestored) {
- binding.setTunnel(newTunnel);
- if (newTunnel == null)
- binding.setConfig(null);
- else {
- originalName = newTunnel.getName();
- newTunnel.getConfigAsync().thenAccept(this::onConfigLoaded);
- }
- }
+ if (binding == null)
+ return;
+ binding.setTunnel(newTunnel);
+ if (newTunnel == null)
+ binding.setConfig(null);
+ else
+ newTunnel.getConfigAsync().thenAccept(a -> onConfigLoaded(newTunnel.getName(), a));
}
@Override
public void onViewStateRestored(final Bundle savedInstanceState) {
+ onSelectedTunnelChanged(null, getSelectedTunnel());
super.onViewStateRestored(savedInstanceState);
- Tunnel tunnel = getSelectedTunnel();
- binding.setTunnel(tunnel);
- if (tunnel == null)
- binding.setConfig(null);
- else {
- originalName = tunnel.getName();
- tunnel.getConfigAsync().thenAccept(this::onConfigLoaded);
- }
- isViewStateRestored = true;
}
}