summaryrefslogtreecommitdiffhomepage
path: root/app/src/main
diff options
context:
space:
mode:
authorSamuel Holland <samuel@sholland.org>2017-08-16 00:46:43 -0500
committerSamuel Holland <samuel@sholland.org>2017-08-16 00:46:43 -0500
commitebb0091ad4f629dadb79e53926604931bf398c01 (patch)
treefb28b5abb8705c84ab6db605fbdd595f1add44b0 /app/src/main
parent61d6b89bbeeefd56af4886579db741ece0d88dc8 (diff)
ConfigActivity: Fix restoring layout on resume
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/com/wireguard/android/ConfigActivity.java11
1 files changed, 6 insertions, 5 deletions
diff --git a/app/src/main/java/com/wireguard/android/ConfigActivity.java b/app/src/main/java/com/wireguard/android/ConfigActivity.java
index 1500e08f..90ba754a 100644
--- a/app/src/main/java/com/wireguard/android/ConfigActivity.java
+++ b/app/src/main/java/com/wireguard/android/ConfigActivity.java
@@ -26,7 +26,7 @@ public class ConfigActivity extends BaseConfigActivity {
private ConfigListFragment listFragment;
private int mainContainer;
private final PlaceholderFragment placeholderFragment = new PlaceholderFragment();
- private boolean updateWasSkipped;
+ private boolean wasUpdateSkipped;
@Override
public void onBackPressed() {
@@ -63,11 +63,11 @@ public class ConfigActivity extends BaseConfigActivity {
// Avoid performing fragment transactions when it would be illegal or the service is null.
if (!isServiceAvailable || isStateSaved) {
// Signal that updates need to be performed once the activity is resumed.
- updateWasSkipped = true;
+ wasUpdateSkipped = true;
return;
} else {
// Now that an update is being performed, reset the flag.
- updateWasSkipped = false;
+ wasUpdateSkipped = false;
}
// If the config change came from the intent or ConfigEditFragment, forward it to the list.
// listFragment is guaranteed not to be null at this point by onServiceAvailable().
@@ -107,15 +107,16 @@ public class ConfigActivity extends BaseConfigActivity {
startActivity(new Intent(this, SettingsActivity.class));
return true;
default:
- return false;
+ return super.onOptionsItemSelected(item);
}
}
@Override
public void onPostResume() {
super.onPostResume();
+ final boolean wasStateSaved = isStateSaved;
isStateSaved = false;
- if (updateWasSkipped)
+ if (wasStateSaved || wasUpdateSkipped)
onCurrentConfigChanged(getCurrentConfig());
}