diff --git a/base b/base index 21ac242ab..2210b65f5 160000 --- a/base +++ b/base @@ -1 +1 @@ -Subproject commit 21ac242ab2d536c9923dcb263830fd204b100960 +Subproject commit 2210b65f5af6895e516cc7e672e42c43269da45f diff --git a/frontend/device/android/device.lua b/frontend/device/android/device.lua index b7529e1c1..1e2224518 100644 --- a/frontend/device/android/device.lua +++ b/frontend/device/android/device.lua @@ -224,6 +224,11 @@ function Device:init() android.setVolumeKeysIgnored(true) end + -- check if we ignore the back button completely + if G_reader_settings:isTrue("android_ignore_back_button") then + android.setBackButtonIgnored(true) + end + -- check if we enable a custom light level for this activity local last_value = G_reader_settings:readSetting("fl_last_level") if type(last_value) == "number" and last_value >= 0 then diff --git a/frontend/ui/elements/common_settings_menu_table.lua b/frontend/ui/elements/common_settings_menu_table.lua index be29ce51f..8311cc735 100644 --- a/frontend/ui/elements/common_settings_menu_table.lua +++ b/frontend/ui/elements/common_settings_menu_table.lua @@ -239,6 +239,16 @@ if Device:isAndroid() then callback = function() G_reader_settings:flipNilOrFalse("camera_key_toggles_touchscreen") end, } + common_settings.android_back_button = { + text = _("Ignore back button completely"), + checked_func = function() return android.isBackButtonIgnored() end, + callback = function() + local is_ignored = android.isBackButtonIgnored() + android.setBackButtonIgnored(not is_ignored) + G_reader_settings:saveSetting("android_ignore_back_button", not is_ignored) + end, + } + -- fullscreen toggle on devices with compatible fullscreen methods (apis 14-18) if Device.firmware_rev < 19 then common_settings.fullscreen = { diff --git a/frontend/ui/elements/filemanager_menu_order.lua b/frontend/ui/elements/filemanager_menu_order.lua index 49e6988bd..d4f50df95 100644 --- a/frontend/ui/elements/filemanager_menu_order.lua +++ b/frontend/ui/elements/filemanager_menu_order.lua @@ -55,6 +55,7 @@ local order = { "android_volume_keys", "android_camera_key", "android_haptic_feedback", + "android_back_button", "----------------------------", "invert_page_turn_buttons", }, diff --git a/frontend/ui/elements/reader_menu_order.lua b/frontend/ui/elements/reader_menu_order.lua index 388c50bf1..8d3173c80 100644 --- a/frontend/ui/elements/reader_menu_order.lua +++ b/frontend/ui/elements/reader_menu_order.lua @@ -75,6 +75,7 @@ local order = { "android_volume_keys", "android_camera_key", "android_haptic_feedback", + "android_back_button", "----------------------------", "invert_page_turn_gestures", "invert_page_turn_buttons", diff --git a/platform/android/luajit-launcher b/platform/android/luajit-launcher index fc4982b4a..b6eaf1e50 160000 --- a/platform/android/luajit-launcher +++ b/platform/android/luajit-launcher @@ -1 +1 @@ -Subproject commit fc4982b4afd50d2b86ae56e97b3bf09d191c81bb +Subproject commit b6eaf1e50fbb193c499882763d302b8a854044c1