summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorLC <mathew1800@gmail.com>2020-08-06 19:46:16 -0400
committerGitHub <noreply@github.com>2020-08-06 19:46:16 -0400
commit5ec65a20d64f718f8cd607a40573ed0f38134465 (patch)
tree96f8997a7ee98265d796ddf3adaa3cf31fc4c17b /Source/Android/app/src/main/java
parentd8c0344ee8539d9f85a114ff211885c1e7c3edbd (diff)
parent05e49b13ef5f28c0fe8705030bdd2fa975d02aff (diff)
Merge pull request #9009 from JosJuice/android-settings-recreation
Android: Fix SettingsActivity lifecycle management
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivity.java16
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityPresenter.java35
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityView.java5
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();