diff options
| author | 2018-07-25 19:30:34 -0500 | |
|---|---|---|
| committer | 2018-07-26 05:17:43 +0200 | |
| commit | 9652fe99df68db5c483ea8e170f6e09f06a5e0d1 (patch) | |
| tree | d88fa5ef4fa4e53d605e6bce9d788960a80642de /app/src/main/java/com/wireguard/android/activity/BaseActivity.java | |
| parent | Application: use proper completablefuture for backend (diff) | |
| download | wireguard-android-9652fe99df68db5c483ea8e170f6e09f06a5e0d1.tar.xz wireguard-android-9652fe99df68db5c483ea8e170f6e09f06a5e0d1.zip | |
TunnelDetailFragment now restores state correctly after process death
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'app/src/main/java/com/wireguard/android/activity/BaseActivity.java')
| -rw-r--r-- | app/src/main/java/com/wireguard/android/activity/BaseActivity.java | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/app/src/main/java/com/wireguard/android/activity/BaseActivity.java b/app/src/main/java/com/wireguard/android/activity/BaseActivity.java index 51357d89..57c70367 100644 --- a/app/src/main/java/com/wireguard/android/activity/BaseActivity.java +++ b/app/src/main/java/com/wireguard/android/activity/BaseActivity.java @@ -13,7 +13,6 @@ import android.support.annotation.Nullable; import com.wireguard.android.Application; import com.wireguard.android.model.Tunnel; -import com.wireguard.android.model.TunnelManager; import java.util.Objects; @@ -39,15 +38,17 @@ public abstract class BaseActivity extends ThemeChangeAwareActivity { @Override protected void onCreate(@Nullable final Bundle savedInstanceState) { // Restore the saved tunnel if there is one; otherwise grab it from the arguments. - String savedTunnelName = null; + final String savedTunnelName; if (savedInstanceState != null) savedTunnelName = savedInstanceState.getString(KEY_SELECTED_TUNNEL); else if (getIntent() != null) savedTunnelName = getIntent().getStringExtra(KEY_SELECTED_TUNNEL); - if (savedTunnelName != null) { - final TunnelManager tunnelManager = Application.getTunnelManager(); - selectedTunnel = tunnelManager.getTunnels().get(savedTunnelName); - } + else + savedTunnelName = null; + + if (savedTunnelName != null) + Application.getTunnelManager().getTunnels() + .thenAccept(tunnels -> setSelectedTunnel(tunnels.get(savedTunnelName))); // The selected tunnel must be set before the superclass method recreates fragments. super.onCreate(savedInstanceState); |
