diff options
author | Samuel Holland <samuel@sholland.org> | 2017-08-09 07:25:11 -0500 |
---|---|---|
committer | Samuel Holland <samuel@sholland.org> | 2017-08-09 07:25:11 -0500 |
commit | 7d2d9f0cb3531acb9d0433a8e19ed64db329d64e (patch) | |
tree | 37a509834396c6492cab8c4da58e512ef78cec77 /app/src/main/java/com/wireguard/android | |
parent | 2c4f605b6674e2ca9659c46f686b8597baa431ff (diff) |
ProfileActivity: Also remember editing state
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'app/src/main/java/com/wireguard/android')
-rw-r--r-- | app/src/main/java/com/wireguard/android/ProfileActivity.java | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/app/src/main/java/com/wireguard/android/ProfileActivity.java b/app/src/main/java/com/wireguard/android/ProfileActivity.java index 87cc6aa0..40b81d2b 100644 --- a/app/src/main/java/com/wireguard/android/ProfileActivity.java +++ b/app/src/main/java/com/wireguard/android/ProfileActivity.java @@ -1,5 +1,6 @@ package com.wireguard.android; +import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; @@ -9,12 +10,14 @@ import android.view.MenuItem; */ abstract class ProfileActivity extends ServiceClientActivity<ProfileServiceInterface> { + public static final String KEY_IS_EDITING = "is_editing"; public static final String KEY_PROFILE_NAME = "profile_name"; protected static final String TAG_DETAIL = "detail"; protected static final String TAG_LIST = "list"; protected static final String TAG_PLACEHOLDER = "placeholder"; private String currentProfile; + private boolean isEditing; public ProfileActivity() { super(ProfileService.class); @@ -24,14 +27,22 @@ abstract class ProfileActivity extends ServiceClientActivity<ProfileServiceInter return currentProfile; } + protected boolean isEditing() { + return isEditing; + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Restore the saved profile if there is one; otherwise grab it from the intent. - if (savedInstanceState != null) + if (savedInstanceState != null) { currentProfile = savedInstanceState.getString(KEY_PROFILE_NAME); - else - currentProfile = getIntent().getStringExtra(KEY_PROFILE_NAME); + isEditing = savedInstanceState.getBoolean(KEY_IS_EDITING, false); + } else { + final Intent intent = getIntent(); + currentProfile = intent.getStringExtra(KEY_PROFILE_NAME); + isEditing = intent.getBooleanExtra(KEY_IS_EDITING, false); + } } @Override @@ -55,10 +66,15 @@ abstract class ProfileActivity extends ServiceClientActivity<ProfileServiceInter @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); + outState.putBoolean(KEY_IS_EDITING, isEditing); outState.putString(KEY_PROFILE_NAME, currentProfile); } protected void setCurrentProfile(String profile) { currentProfile = profile; } + + protected void setIsEditing(boolean isEditing) { + this.isEditing = isEditing; + } } |