summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
diff options
context:
space:
mode:
authorByteHamster <ByteHamster@users.noreply.github.com>2022-09-10 16:09:26 +0200
committerGitHub <noreply@github.com>2022-09-10 16:09:26 +0200
commitad9de4467bac4b8ca235010a6b8532621c3a03e1 (patch)
treecdcf5bcf47166ef4072b657372204e7456c55cba /app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
parent5ace16b31bdbed175c4f65a14a15bd7f133ba504 (diff)
downloadAntennaPod-ad9de4467bac4b8ca235010a6b8532621c3a03e1.zip
Add 'default screen' setting (replaces 'back button behavior') (#6041)
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java63
1 files changed, 20 insertions, 43 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
index 5e570828c..d453af615 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
@@ -16,11 +16,9 @@ import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
-import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.ActionBarDrawerToggle;
-import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.core.content.ContextCompat;
import androidx.drawerlayout.widget.DrawerLayout;
@@ -88,7 +86,6 @@ public class MainActivity extends CastEnabledActivity {
private @Nullable ActionBarDrawerToggle drawerToggle;
private View navDrawer;
private LockableBottomSheetBehavior sheetBehavior;
- private long lastBackButtonPressTime = 0;
private RecyclerView.RecycledViewPool recycledViewPool = new RecyclerView.RecycledViewPool();
private int lastTheme = 0;
@@ -117,17 +114,21 @@ public class MainActivity extends CastEnabledActivity {
final FragmentManager fm = getSupportFragmentManager();
if (fm.findFragmentByTag(MAIN_FRAGMENT_TAG) == null) {
- String lastFragment = NavDrawerFragment.getLastNavFragment(this);
- if (ArrayUtils.contains(NavDrawerFragment.NAV_DRAWER_TAGS, lastFragment)) {
- loadFragment(lastFragment, null);
+ if (!UserPreferences.DEFAULT_PAGE_REMEMBER.equals(UserPreferences.getDefaultPage())) {
+ loadFragment(UserPreferences.getDefaultPage(), null);
} else {
- try {
- loadFeedFragmentById(Integer.parseInt(lastFragment), null);
- } catch (NumberFormatException e) {
- // it's not a number, this happens if we removed
- // a label from the NAV_DRAWER_TAGS
- // give them a nice default...
- loadFragment(QueueFragment.TAG, null);
+ String lastFragment = NavDrawerFragment.getLastNavFragment(this);
+ if (ArrayUtils.contains(NavDrawerFragment.NAV_DRAWER_TAGS, lastFragment)) {
+ loadFragment(lastFragment, null);
+ } else {
+ try {
+ loadFeedFragmentById(Integer.parseInt(lastFragment), null);
+ } catch (NumberFormatException e) {
+ // it's not a number, this happens if we removed
+ // a label from the NAV_DRAWER_TAGS
+ // give them a nice default...
+ loadFragment(HomeFragment.TAG, null);
+ }
}
}
}
@@ -467,36 +468,12 @@ public class MainActivity extends CastEnabledActivity {
} else if (getSupportFragmentManager().getBackStackEntryCount() != 0) {
super.onBackPressed();
} else {
- switch (UserPreferences.getBackButtonBehavior()) {
- case OPEN_DRAWER:
- if (drawerLayout != null) { // Tablet layout does not have drawer
- drawerLayout.openDrawer(navDrawer);
- }
- break;
- case SHOW_PROMPT:
- new AlertDialog.Builder(this)
- .setMessage(R.string.close_prompt)
- .setPositiveButton(R.string.yes, (dialogInterface, i) -> MainActivity.super.onBackPressed())
- .setNegativeButton(R.string.no, null)
- .setCancelable(false)
- .show();
- break;
- case DOUBLE_TAP:
- if (lastBackButtonPressTime < System.currentTimeMillis() - 2000) {
- Toast.makeText(this, R.string.double_tap_toast, Toast.LENGTH_SHORT).show();
- lastBackButtonPressTime = System.currentTimeMillis();
- } else {
- super.onBackPressed();
- }
- break;
- case GO_TO_PAGE:
- if (NavDrawerFragment.getLastNavFragment(this).equals(UserPreferences.getBackButtonGoToPage())) {
- super.onBackPressed();
- } else {
- loadFragment(UserPreferences.getBackButtonGoToPage(), null);
- }
- break;
- default: super.onBackPressed();
+ String toPage = UserPreferences.getDefaultPage();
+ if (NavDrawerFragment.getLastNavFragment(this).equals(toPage)
+ || UserPreferences.DEFAULT_PAGE_REMEMBER.equals(toPage)) {
+ super.onBackPressed();
+ } else {
+ loadFragment(toPage, null);
}
}
}