Merge pull request #9009 from JosJuice/android-settings-recreation

Android: Fix SettingsActivity lifecycle management
This commit is contained in:
LC 2020-08-06 19:46:16 -04:00 committed by GitHub
commit 5ec65a20d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 48 deletions

View File

@ -111,16 +111,13 @@ public final class SettingsActivity extends AppCompatActivity implements Setting
mPresenter.onStop(isFinishing());
}
@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);
@ -277,12 +273,6 @@ public final class SettingsActivity extends AppCompatActivity implements Setting
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}
@Override
public void popBackStack()
{
getSupportFragmentManager().popBackStackImmediate();
}
@Override
public void onSettingChanged(String key)
{

View File

@ -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)

View File

@ -47,11 +47,6 @@ public interface SettingsActivityView
*/
void showToastMessage(String message);
/**
* Show the previous fragment.
*/
void popBackStack();
/**
* End the activity.
*/