# 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, toaster=True): if jnius is not None: if not self.locked: self.currentActivity.setRequestedOrientation( self.ActivityInfo.SCREEN_ORIENTATION_LOCKED) if toaster: AndroidToaster.toastShort(_("screen rotation disabled")) self.locked = True def unlock(self, toaster=True): if jnius is not None: if self.locked: self.currentActivity.setRequestedOrientation( self.ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR) if toaster: AndroidToaster.toastShort(_("screen rotation enabled")) self.locked = False def toggle(self): if self.locked: self.unlock() else: self.lock() return self.isLocked() AndroidScreenRotation = AndroidRot()