diff options
| author | LC <mathew1800@gmail.com> | 2020-08-06 19:46:16 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-06 19:46:16 -0400 |
| commit | 5ec65a20d64f718f8cd607a40573ed0f38134465 (patch) | |
| tree | 96f8997a7ee98265d796ddf3adaa3cf31fc4c17b /Source/Android/app/src/main/java | |
| parent | d8c0344ee8539d9f85a114ff211885c1e7c3edbd (diff) | |
| parent | 05e49b13ef5f28c0fe8705030bdd2fa975d02aff (diff) | |
Merge pull request #9009 from JosJuice/android-settings-recreation
Android: Fix SettingsActivity lifecycle management
Diffstat (limited to 'Source/Android/app/src/main/java')
3 files changed, 8 insertions, 48 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivity.java index 2e297050ee..837024c2ab 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivity.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivity.java @@ -112,15 +112,12 @@ public final class SettingsActivity extends AppCompatActivity implements Setting } @Override - public void onBackPressed() - { - mPresenter.onBackPressed(); - } - - @Override public void showSettingsFragment(MenuTag menuTag, Bundle extras, boolean addToStack, String gameID) { + if (!addToStack && getFragment() != null) + return; + FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); if (addToStack) @@ -135,7 +132,6 @@ public final class SettingsActivity extends AppCompatActivity implements Setting } transaction.addToBackStack(null); - mPresenter.addToStack(); } transaction.replace(R.id.frame_content, SettingsFragment.newInstance(menuTag, gameID, extras), FRAGMENT_TAG); @@ -278,12 +274,6 @@ public final class SettingsActivity extends AppCompatActivity implements Setting } @Override - public void popBackStack() - { - getSupportFragmentManager().popBackStackImmediate(); - } - - @Override public void onSettingChanged(String key) { mPresenter.onSettingChanged(key); diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityPresenter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityPresenter.java index 34e8ba2a10..3072333f5d 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityPresenter.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityPresenter.java @@ -23,8 +23,6 @@ public final class SettingsActivityPresenter private Settings mSettings; - private int mStackCount; - private boolean mShouldSave; private DirectoryStateReceiver directoryStateReceiver; @@ -43,16 +41,11 @@ public final class SettingsActivityPresenter public void onCreate(Bundle savedInstanceState, MenuTag menuTag, String gameId, Context context) { - if (savedInstanceState == null) - { - this.menuTag = menuTag; - this.gameId = gameId; - this.context = context; - } - else - { - mShouldSave = savedInstanceState.getBoolean(KEY_SHOULD_SAVE); - } + this.menuTag = menuTag; + this.gameId = gameId; + this.context = context; + + mShouldSave = savedInstanceState != null && savedInstanceState.getBoolean(KEY_SHOULD_SAVE); } public void onStart() @@ -148,24 +141,6 @@ public final class SettingsActivityPresenter } } - public void addToStack() - { - mStackCount++; - } - - public void onBackPressed() - { - if (mStackCount > 0) - { - mView.popBackStack(); - mStackCount--; - } - else - { - mView.finish(); - } - } - public boolean handleOptionsItem(int itemId) { switch (itemId) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityView.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityView.java index 266cb499bb..1507706e0f 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityView.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityView.java @@ -48,11 +48,6 @@ public interface SettingsActivityView void showToastMessage(String message); /** - * Show the previous fragment. - */ - void popBackStack(); - - /** * End the activity. */ void finish(); |
