quitegreensky / akivymd

A set of fancy widgets for KivyMD
MIT License
40 stars 9 forks source link

Dialog crashes kivy app on android #14

Closed kengoon closed 3 years ago

kengoon commented 3 years ago

Whenever I launch my app on Android AKDialog always crashes my app with the following error TypeError 'float' object not iterable. The error is not specifically pointing to a line in akivymd library. I guess from what I'm seeing float was assigned to a radius instead of an integer

I can't post the full error because I don't have access to my laptop right now

It works fine on desktop but crashes on Android

Please I seriously need this to be fixed my company is in production mode and this is the current problem holding us(please help me)

quitegreensky commented 3 years ago

I'm not getting any error on Android. Please share a minimal code that generates the error plus some logs.

kengoon commented 3 years ago

I can't access the computer remotely(today is Sunday and in my company, everything is turned off on Sunday). Please I will post the error tomorrow

right now I'm remaking an example code to test it on my phone, I will give feedback when I'm done

kengoon commented 3 years ago

this is the error

File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/akivymd/uix/dialogs.py", line 118, in __init__
10-25 17:26:09.406  6108  6159 I python  :    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivymd/theming.py", line 908, in __init__
10-25 17:26:09.408  6108  6159 I python  :    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/uix/modalview.py", line 187, in __init__
10-25 17:26:09.409  6108  6159 I python  :    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/uix/anchorlayout.py", line 68, in __init__
10-25 17:26:09.411  6108  6159 I python  :    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/uix/layout.py", line 76, in __init__
10-25 17:26:09.413  6108  6159 I python  :    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/uix/widget.py", line 361, in __init__
10-25 17:26:09.415  6108  6159 I python  :    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/uix/widget.py", line 465, in apply_class_lang_rules
10-25 17:26:09.417  6108  6159 I python  :    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/lang/builder.py", line 543, in apply
10-25 17:26:09.419  6108  6159 I python  :    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/lang/builder.py", line 597, in _apply_rule
10-25 17:26:09.421  6108  6159 I python  :    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/lang/builder.py", line 931, in _build_canvas
10-25 17:26:09.423  6108  6159 I python  :  kivy.lang.builder.BuilderException: Parser: File "<inline>", line 12:
10-25 17:26:09.423  6108  6159 I python  :  ...
10-25 17:26:09.424  6108  6159 I python  :       10:            pos: self.pos
10-25 17:26:09.425  6108  6159 I python  :       11:            size: self.size
10-25 17:26:09.426  6108  6159 I python  :  >>   12:            radius: root.radius
10-25 17:26:09.427  6108  6159 I python  :       13:        Scale:
10-25 17:26:09.428  6108  6159 I python  :       14:            origin: self.center
10-25 17:26:09.428  6108  6159 I python  :  ...
10-25 17:26:09.429  6108  6159 I python  :  TypeError: 'float' object is not iterable
10-25 17:26:09.430  6108  6159 I python  :    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/lang/builder.py", line 926, in _build_canvas
10-25 17:26:09.431  6108  6159 I python  :    File "kivy/graphics/vertex_instructions.pyx", line 1574, in kivy.graphics.vertex_instructions.RoundedRectangle.radius.__set__
10-25 17:26:09.432  6108  6159 I python  :    File "kivy/graphics/vertex_instructions.pyx", line 1334, in kivy.graphics.vertex_instructions.RoundedRectangle._check_radius
10-25 17:26:09.432  6108  6159 I python  :  
10-25 17:26:09.433  6108  6159 I python  : Python for android ended.

this Is the code that causes the error

       self.dialog = AKAlertDialog(
            header_icon='close-circle-outline',
            header_bg=[1, 0, 0, 1]
        )
        content = Factory.ServerError()
        self.dialog.content_cls = content
        self.dialog.open()

I'm thinking if it is from the kivy version, I'm using the latest pre-release version. I'm currently building with the kivy version on your demo buildozer.spec

kengoon commented 3 years ago
from kivy.factory import Factory
from kivy.lang import Builder
from kivymd.app import MDApp
from akivymd.uix.dialogs import AKAlertDialog
Builder.load_string(
            """
<ServerError@BoxLayout>:
    orientation: 'vertical'
    spacing: dp(10)
    padding: dp(20)

    MDLabel:
        text: 'Server Down'
        halign: 'center'
        theme_text_color: 'Custom'
        text_color: [0.9, 0, 0, 1]

    MDLabel:
        text: 'Server is Currently Down, We are working So hard to fix it'
        halign: 'center'
        theme_text_color: 'Custom'
        text_color: [0.9, 0, 0, 1]
        font_style: 'Caption'

    MDFillRoundFlatButton:
        id: button
        text: 'Exit App'
        md_bg_color: [0.9, 0, 0, 1]
        pos_hint: {'center_x': .5}
        on_release:
            app.stop()

            """
        )
class TestApp(MDApp):
    def on_start(self):
        self.dialog = AKAlertDialog(
            header_icon='close-circle-outline',
            header_bg=[1, 0, 0, 1]
        )
        content = Factory.ServerError()
        self.dialog.content_cls = content
        self.dialog.open()

TestApp().run()
kengoon commented 3 years ago

Notice I used the latest i.e kivy==master

quitegreensky commented 3 years ago

I'm currently building with the kivy version on your demo buildozer.spec

did you try this?

kengoon commented 3 years ago

I'm currently building with the kivy version on your demo buildozer.spec

did you try this?

yes I've, it is giving me the same error

kengoon commented 3 years ago

here

Traceback (most recent call last):
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/lang/builder.py", line 924, in _build_canvas
I/python  ( 7409):    File "kivy/graphics/vertex_instructions.pyx", line 1574, in kivy.graphics.vertex_instructions.RoundedRectangle.radius.__set__
I/python  ( 7409):    File "kivy/graphics/vertex_instructions.pyx", line 1334, in kivy.graphics.vertex_instructions.RoundedRectangle._check_radius
I/python  ( 7409):  TypeError: 'float' object is not iterable
I/python  ( 7409):  
I/python  ( 7409):  During handling of the above exception, another exception occurred:
I/python  ( 7409):  
I/python  ( 7409):  Traceback (most recent call last):
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/app/main.py", line 919, in <module>
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/app.py", line 950, in run
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/base.py", line 560, in runTouchApp
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/base.py", line 334, in mainloop
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/base.py", line 375, in idle
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/clock.py", line 648, in tick
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/clock.py", line 691, in post_idle
I/python  ( 7409):    File "kivy/_clock.pyx", line 384, in kivy._clock.CyClockBase._process_events
I/python  ( 7409):    File "kivy/_clock.pyx", line 414, in kivy._clock.CyClockBase._process_events
I/python  ( 7409):    File "kivy/_clock.pyx", line 412, in kivy._clock.CyClockBase._process_events
I/python  ( 7409):    File "kivy/_clock.pyx", line 167, in kivy._clock.ClockEvent.tick
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/network/urlrequest.py", line 533, in _dispatch_result
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/app/main.py", line 807, in network_error
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/akivymd/uix/dialogs.py", line 116, in __init__
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivymd/theming.py", line 908, in __init__
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/uix/modalview.py", line 186, in __init__
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/uix/anchorlayout.py", line 68, in __init__
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/uix/layout.py", line 76, in __init__
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/uix/widget.py", line 361, in __init__
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/uix/widget.py", line 465, in apply_class_lang_rules
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/lang/builder.py", line 541, in apply
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/lang/builder.py", line 595, in _apply_rule
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/lang/builder.py", line 929, in _build_canvas
I/python  ( 7409):  kivy.lang.builder.BuilderException: Parser: File "<inline>", line 12:
I/python  ( 7409):  ...
I/python  ( 7409):       10:            pos: self.pos
I/python  ( 7409):       11:            size: self.size
I/python  ( 7409):  >>   12:            radius: root.radius
I/python  ( 7409):       13:        Scale:
I/python  ( 7409):       14:            origin: self.center
I/python  ( 7409):  ...
I/python  ( 7409):  TypeError: 'float' object is not iterable
I/python  ( 7409):    File "/home/kengo/PycharmProjects/NOCENSTORES/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/nocenstore/kivy/lang/builder.py", line 924, in _build_canvas
I/python  ( 7409):    File "kivy/graphics/vertex_instructions.pyx", line 1574, in kivy.graphics.vertex_instructions.RoundedRectangle.radius.__set__
I/python  ( 7409):    File "kivy/graphics/vertex_instructions.pyx", line 1334, in kivy.graphics.vertex_instructions.RoundedRectangle._check_radius
I/python  ( 7409):  
I/python  ( 7409): Python for android ended.
kengoon commented 3 years ago

please can you post the apk link of the demo(can't compile mine now, not enough time)? Maybe I can figure something out

quitegreensky commented 3 years ago

@kengoon https://gofile.io/d/m5wjoT

kengoon commented 3 years ago

it works fine on your apk. I figured out I'm using the old android p4a(i just love it). changing now..... and checking if the error occurs again

kengoon commented 3 years ago

also I'm using kivymd 0.104.2.dev0(i would not want to downgrade because there are cool features here)

kengoon commented 3 years ago

@quitegreensky I'm building the apk without AKDialog(I was forced to use normal MDDialog because the production is today). I will continue digging whenever I'm free. You can close the issue now, I can reopen it when The bug persists.

Also I use python3.7.7 and hostpython3.7.7

quitegreensky commented 3 years ago

@kengoon ok. so let me know