summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorH. Lehmann <ByteHamster@users.noreply.github.com>2018-11-28 01:06:27 +0100
committerGitHub <noreply@github.com>2018-11-28 01:06:27 +0100
commite70a9001dc08c02a51ddda7251387840c2f3ed46 (patch)
tree52082c127492ab16272340cd330623a9992abc20 /core
parent1d61647df0fbabfb65a1df3f636e391423c39de6 (diff)
parent2393d4512c25cdd9095a3546c2bc9aa139bca798 (diff)
downloadAntennaPod-e70a9001dc08c02a51ddda7251387840c2f3ed46.zip
Merge pull request #2904 from qkolj/back-button
Add configurable behavior of the back button
Diffstat (limited to 'core')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java27
-rw-r--r--core/src/main/res/values/arrays.xml22
-rw-r--r--core/src/main/res/values/strings.xml11
3 files changed, 60 insertions, 0 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java b/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java
index e6b5f9e1b..c44999c88 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java
@@ -52,6 +52,8 @@ public class UserPreferences {
public static final String PREF_COMPACT_NOTIFICATION_BUTTONS = "prefCompactNotificationButtons";
public static final String PREF_LOCKSCREEN_BACKGROUND = "prefLockscreenBackground";
private static final String PREF_SHOW_DOWNLOAD_REPORT = "prefShowDownloadReport";
+ public static final String PREF_BACK_BUTTON_BEHAVIOR = "prefBackButtonBehavior";
+ private static final String PREF_BACK_BUTTON_GO_TO_PAGE = "prefBackButtonGoToPage";
// Queue
private static final String PREF_QUEUE_ADD_TO_FRONT = "prefQueueAddToFront";
@@ -809,4 +811,29 @@ public class UserPreferences {
public enum VideoBackgroundBehavior {
STOP, PICTURE_IN_PICTURE, CONTINUE_PLAYING
}
+
+ public enum BackButtonBehavior {
+ DEFAULT, OPEN_DRAWER, DOUBLE_TAP, SHOW_PROMPT, GO_TO_PAGE
+ }
+
+ public static BackButtonBehavior getBackButtonBehavior() {
+ switch (prefs.getString(PREF_BACK_BUTTON_BEHAVIOR, "default")) {
+ case "default": return BackButtonBehavior.DEFAULT;
+ case "drawer": return BackButtonBehavior.OPEN_DRAWER;
+ case "doubletap": return BackButtonBehavior.DOUBLE_TAP;
+ case "prompt": return BackButtonBehavior.SHOW_PROMPT;
+ case "page": return BackButtonBehavior.GO_TO_PAGE;
+ default: return BackButtonBehavior.DEFAULT;
+ }
+ }
+
+ public static String getBackButtonGoToPage() {
+ return prefs.getString(PREF_BACK_BUTTON_GO_TO_PAGE, "QueueFragment");
+ }
+
+ public static void setBackButtonGoToPage(String tag) {
+ prefs.edit()
+ .putString(PREF_BACK_BUTTON_GO_TO_PAGE, tag)
+ .apply();
+ }
}
diff --git a/core/src/main/res/values/arrays.xml b/core/src/main/res/values/arrays.xml
index 7e2fed054..3a618b8c2 100644
--- a/core/src/main/res/values/arrays.xml
+++ b/core/src/main/res/values/arrays.xml
@@ -277,4 +277,26 @@
<item>@string/select_all_above</item>
<item>@string/select_all_below</item>
</string-array>
+
+ <string-array name="back_button_behavior_options">
+ <item>@string/back_button_default</item>
+ <item>@string/back_button_go_to_page</item>
+ <item>@string/back_button_open_drawer</item>
+ <item>@string/back_button_double_tap</item>
+ <item>@string/back_button_show_prompt</item>
+ </string-array>
+
+ <string-array name="back_button_behavior_values">
+ <item>default</item>
+ <item>page</item>
+ <item>drawer</item>
+ <item>doubletap</item>
+ <item>prompt</item>
+ </string-array>
+
+ <string-array name="back_button_go_to_pages">
+ <item>@string/queue_label</item>
+ <item>@string/episodes_label</item>
+ <item>@string/subscriptions_label</item>
+ </string-array>
</resources>
diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml
index ad91ecc76..1a3c2373c 100644
--- a/core/src/main/res/values/strings.xml
+++ b/core/src/main/res/values/strings.xml
@@ -470,6 +470,17 @@
<string name="pref_videoBehavior_sum">Behavior when leaving video playback</string>
<string name="stop_playback">Stop playback</string>
<string name="continue_playback">Continue audio playback</string>
+ <string name="behavior">Behavior</string>
+ <string name="pref_back_button_behavior_title">Back Button Behavior</string>
+ <string name="pref_back_button_behavior_sum">Change behavior of the back button.</string>
+ <string name="back_button_default">Default</string>
+ <string name="back_button_open_drawer">Open navigation drawer</string>
+ <string name="back_button_double_tap">Double tap to exit</string>
+ <string name="back_button_show_prompt">Confirm to exit</string>
+ <string name="close_prompt">Are you sure you want to close AntennaPod?</string>
+ <string name="double_tap_toast">Tap back button again to exit</string>
+ <string name="back_button_go_to_page">Go to page</string>
+ <string name="back_button_go_to_page_title">Select page</string>
<!-- Auto-Flattr dialog -->
<string name="auto_flattr_enable">Enable automatic flattring</string>