1
0
Fork 0
mirror of https://github.com/shlomif/PySolFC.git synced 2025-04-05 00:02:29 -04:00
PySolFC/pysollib/kivy/androidrot.py
lufebe16 901a04bbb4 Kivy/Android:
- reworked screen rotation lock
- refactorings
2023-10-14 14:24:11 +02:00

46 lines
1.4 KiB
Python

# flake8: noqa
# LB230914.
from pysollib.kivy.androidtoast import AndroidToaster
from pysollib.mygettext import _
try:
import jnius
except ImportError:
jnius = None
class AndroidRot(object):
def __init__(self):
self.locked = False
if jnius is None:
return
self.PythonActivity = jnius.autoclass('org.kivy.android.PythonActivity')
self.ActivityInfo = jnius.autoclass('android.content.pm.ActivityInfo')
self.currentActivity = jnius.cast('android.app.Activity', self.PythonActivity.mActivity)
def isLocked(self):
return self.locked
def lock(self):
if jnius is not None:
if not self.locked:
self.currentActivity.setRequestedOrientation(
self.ActivityInfo.SCREEN_ORIENTATION_LOCKED)
AndroidToaster.toastShort(_("screen rotation disabled"))
self.locked = True
def unlock(self):
if jnius is not None:
if self.locked:
self.currentActivity.setRequestedOrientation(
self.ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR)
AndroidToaster.toastShort(_("screen rotation enabled"))
self.locked = False
def toggle(self):
if self.locked:
self.unlock()
else:
self.lock()
return self.isLocked()
AndroidScreenRotation = AndroidRot()