Android permissions
* Patched If function to work with actions * Added AskPermission class action * Added storage permission request for mods menu
This commit is contained in:
parent
012084ca10
commit
d14fe598b5
@ -278,7 +278,7 @@ screen navigation(title=None):
|
|||||||
textbutton _("Preferences") action ShowMenu("preferences") sensitive is_sensitive
|
textbutton _("Preferences") action ShowMenu("preferences") sensitive is_sensitive
|
||||||
|
|
||||||
if main_menu:
|
if main_menu:
|
||||||
textbutton _("Mods") sensitive (bool(mods_list) and is_sensitive) action ShowMenu("mods")
|
textbutton _("Mods") sensitive (bool(mods_list) and is_sensitive) action If(AskPermission("android.permission.WRITE_EXTERNAL_STORAGE"), ShowMenu("mods"), Function(renpy.notify, "Please grant storage permissions to enable modding functionality."))
|
||||||
textbutton _("Credits") action Jump("credits") sensitive is_sensitive
|
textbutton _("Credits") action Jump("credits") sensitive is_sensitive
|
||||||
if not renpy.mobile:
|
if not renpy.mobile:
|
||||||
textbutton _("Quit") action Quit(confirm=not main_menu) sensitive is_sensitive
|
textbutton _("Quit") action Quit(confirm=not main_menu) sensitive is_sensitive
|
||||||
|
@ -80,3 +80,13 @@ init python:
|
|||||||
mods.add(name)
|
mods.add(name)
|
||||||
|
|
||||||
renpy.restart_interaction()
|
renpy.restart_interaction()
|
||||||
|
|
||||||
|
class AskPermission(Action, NoRollback):
|
||||||
|
def __init__(self, name):
|
||||||
|
self.name = name
|
||||||
|
|
||||||
|
def __call__(self):
|
||||||
|
if not renpy.android:
|
||||||
|
return True
|
||||||
|
|
||||||
|
return renpy.android and (renpy.check_permission(self.name) or renpy.request_permission(self.name))
|
||||||
|
@ -180,3 +180,5 @@ init python:
|
|||||||
build.classify("cache/**", "android")
|
build.classify("cache/**", "android")
|
||||||
build.classify("game/saves/**", None)
|
build.classify("game/saves/**", None)
|
||||||
build.classify("game/mods/**", None)
|
build.classify("game/mods/**", None)
|
||||||
|
|
||||||
|
build.android_permissions = ["android.permission.WRITE_EXTERNAL_STORAGE"]
|
||||||
|
@ -202,3 +202,12 @@ init -100 python:
|
|||||||
|
|
||||||
for k, v in compressed.items():
|
for k, v in compressed.items():
|
||||||
setattr(self, k, v)
|
setattr(self, k, v)
|
||||||
|
|
||||||
|
# The original does not support nested actions.
|
||||||
|
@renpy.pure
|
||||||
|
def If(expression, true=None, false=None):
|
||||||
|
|
||||||
|
if isinstance(expression, Action):
|
||||||
|
expression = expression()
|
||||||
|
|
||||||
|
return true if expression else false
|
Loading…
Reference in New Issue
Block a user