diff --git a/testapps/testapp_setup/testapp/textinput_scatter.py b/testapps/testapp_setup/testapp/textinput_scatter.py new file mode 100644 index 0000000000..03e66aa3e1 --- /dev/null +++ b/testapps/testapp_setup/testapp/textinput_scatter.py @@ -0,0 +1,144 @@ +print('main.py was successfully called') + +import os +print('imported os') + +from kivy import platform + +if platform == 'android': + print('contents of ./lib/python2.7/site-packages/ etc.') + print(os.listdir('./lib')) + print(os.listdir('./lib/python2.7')) + print(os.listdir('./lib/python2.7/site-packages')) + + print('this dir is', os.path.abspath(os.curdir)) + + print('contents of this dir', os.listdir('./')) + + with open('./lib/python2.7/site-packages/kivy/app.pyo', 'rb') as fileh: + print('app.pyo size is', len(fileh.read())) + +import sys +print('pythonpath is', sys.path) + +import kivy +print('imported kivy') +print('file is', kivy.__file__) + +from kivy.app import App + +from kivy.lang import Builder +from kivy.properties import StringProperty + +from kivy.uix.popup import Popup +from kivy.clock import Clock + +print('Imported kivy') +from kivy.utils import platform +print('platform is', platform) + + +kv = ''' +#:import Metrics kivy.metrics.Metrics +#:import Window kivy.core.window.Window + +: + size_hint_y: None + height: dp(60) + + +BoxLayout: + orientation: 'vertical' + BoxLayout: + size_hint_y: None + height: dp(50) + orientation: 'horizontal' + Button: + text: 'None' + on_press: Window.softinput_mode = '' + Button: + text: 'pan' + on_press: Window.softinput_mode = 'pan' + Button: + text: 'below_target' + on_press: Window.softinput_mode = 'below_target' + Button: + text: 'resize' + on_press: Window.softinput_mode = 'resize' + Widget: + Scatter: + id: scatter + size_hint: None, None + size: dp(300), dp(80) + on_parent: self.pos = (300, 100) + BoxLayout: + size: scatter.size + orientation: 'horizontal' + canvas: + Color: + rgba: 1, 0, 0, 1 + Rectangle: + pos: 0, 0 + size: self.size + Widget: + size_hint_x: None + width: dp(30) + TextInput: + text: 'type in me' +''' + + +class ErrorPopup(Popup): + error_text = StringProperty('') + +def raise_error(error): + print('ERROR:', error) + ErrorPopup(error_text=error).open() + +class TestApp(App): + def build(self): + root = Builder.load_string(kv) + Clock.schedule_interval(self.print_something, 2) + # Clock.schedule_interval(self.test_pyjnius, 5) + print('testing metrics') + from kivy.metrics import Metrics + print('dpi is', Metrics.dpi) + print('density is', Metrics.density) + print('fontscale is', Metrics.fontscale) + return root + + def print_something(self, *args): + print('App print tick', Clock.get_boottime()) + + def on_pause(self): + return True + + def test_pyjnius(self, *args): + try: + from jnius import autoclass + except ImportError: + raise_error('Could not import pyjnius') + return + + print('Attempting to vibrate with pyjnius') + # PythonActivity = autoclass('org.renpy.android.PythonActivity') + # activity = PythonActivity.mActivity + PythonActivity = autoclass('org.kivy.android.PythonActivity') + activity = PythonActivity.mActivity + Intent = autoclass('android.content.Intent') + Context = autoclass('android.content.Context') + vibrator = activity.getSystemService(Context.VIBRATOR_SERVICE) + + vibrator.vibrate(1000) + + def test_ctypes(self, *args): + import ctypes + + def test_numpy(self, *args): + import numpy + + print(numpy.zeros(5)) + print(numpy.arange(5)) + print(numpy.random.random((3, 3))) + +TestApp().run()