summaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
authorPetar Kukolj <petarkukolj3@yahoo.com>2018-11-15 20:54:40 +0100
committerPetar Kukolj <petarkukolj3@yahoo.com>2018-11-15 20:58:54 +0100
commit6262f98e39badde997d3e5793411a398cc062e09 (patch)
treebca46514bec4d1c0ea8ba9f2a86fc0cd0bf4ff79 /app/src
parentb3fbb0ec7574cf1090bfb410589753ba8ef51bbb (diff)
downloadAntennaPod-6262f98e39badde997d3e5793411a398cc062e09.zip
Add go to page option
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java28
-rw-r--r--app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java27
2 files changed, 49 insertions, 6 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 fffd751c9..4c25c5c28 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
@@ -656,12 +656,7 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi
case SHOW_PROMPT:
new AlertDialog.Builder(this)
.setMessage(R.string.close_prompt)
- .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- MainActivity.super.onBackPressed();
- }
- })
+ .setPositiveButton(R.string.yes, (dialogInterface, i) -> MainActivity.super.onBackPressed())
.setNegativeButton(R.string.no, null)
.setCancelable(false)
.show();
@@ -674,6 +669,27 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi
super.onBackPressed();
}
break;
+ case GO_TO_QUEUE:
+ if(getLastNavFragment().equals(QueueFragment.TAG)) {
+ super.onBackPressed();
+ } else {
+ loadFragment(QueueFragment.TAG, null);
+ }
+ break;
+ case GO_TO_EPISODES:
+ if(getLastNavFragment().equals(EpisodesFragment.TAG)) {
+ super.onBackPressed();
+ } else {
+ loadFragment(EpisodesFragment.TAG, null);
+ }
+ break;
+ case GO_TO_SUBSCRIPTIONS:
+ if(getLastNavFragment().equals(SubscriptionFragment.TAG)) {
+ super.onBackPressed();
+ } else {
+ loadFragment(SubscriptionFragment.TAG, null);
+ }
+ break;
default: super.onBackPressed();
}
}
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index 1d93afad9..56af71dc4 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -227,6 +227,33 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
return true;
});
+ ui.findPreference(UserPreferences.PREF_BACK_BUTTON_BEHAVIOR)
+ .setOnPreferenceChangeListener((preference, newValue) -> {
+ if(newValue.equals("page")) {
+ final Context context = ui.getActivity();
+ final String[] navTitles = context.getResources().getStringArray(R.array.back_button_go_to_pages);
+ final int choice[] = { UserPreferences.getBackButtonGoToPage() };
+
+ AlertDialog.Builder builder = new AlertDialog.Builder(context);
+ builder.setTitle(R.string.back_button_go_to_page_title);
+ builder.setSingleChoiceItems(navTitles, choice[0], (dialogInterface, i) -> {
+ if(i >= 0) {
+ choice[0] = i;
+ }
+ });
+ builder.setPositiveButton(R.string.confirm_label, (dialogInterface, i) -> {
+ if (choice[0] != UserPreferences.getBackButtonGoToPage()) {
+ UserPreferences.setBackButtonGoToPage(choice[0]);
+ }
+ });
+ builder.setNegativeButton(R.string.cancel_label, null);
+ builder.create().show();
+ return true;
+ } else {
+ return true;
+ }
+ });
+
if (Build.VERSION.SDK_INT >= 26) {
ui.findPreference(UserPreferences.PREF_EXPANDED_NOTIFICATION).setVisible(false);
}