stefan-niedermann / nextcloud-deck

📋 Android client for nextcloud deck app
https://play.google.com/store/apps/details?id=it.niedermann.nextcloud.deck.play
GNU General Public License v3.0
495 stars 53 forks source link

App crashes when clicking into single-card-widget #1078

Closed user13v31 closed 3 years ago

user13v31 commented 3 years ago

Describe the bug When I click into the single-card-widget I get a crash report and nothing else. If I click on the title of the widget/card it works.

Expected behavior I guess I should either be able to edit the card directly from the widget or also open the corresponding card.

Versions

Smartphone (please complete the following information):

Stacktrace

Full Crash:

App Version: 1.19.3
App Version Code: 1019003
App Flavor: fdroid

Files App Version Code: 30160190

---

OS Version: 4.9.218(8696)
OS API Level: 30
Device: starlte
Manufacturer: samsung
Model (and Product): SM-G960F (starltexx)

---

java.lang.RuntimeException: Unable to start activity ComponentInfo{it.niedermann.nextcloud.deck/it.niedermann.nextcloud.deck.ui.card.EditActivity}: java.lang.IllegalArgumentException: Provide at least account and boardLocalId and cardLocalId of the card that should be edited.
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3431)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3595)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:223)
    at android.app.ActivityThread.main(ActivityThread.java:7665)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:594)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.lang.IllegalArgumentException: Provide at least account and boardLocalId and cardLocalId of the card that should be edited.
    at it.niedermann.nextcloud.deck.ui.card.EditActivity.loadDataFromIntent(EditActivity.java:105)
    at it.niedermann.nextcloud.deck.ui.card.EditActivity.onCreate(EditActivity.java:90)
    at android.app.Activity.performCreate(Activity.java:7994)
    at android.app.Activity.performCreate(Activity.java:7978)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3404)
    ... 11 more
desperateCoder commented 3 years ago

Hi @user13v31, thanks for your report. Well have a look at it!

A quick test worked for me, can you try a different card? Does it crash as well? How many single card widgets do you have added to your home screen right now?

user13v31 commented 3 years ago

I tried it. As long as there is no description content it works, but as soo as there's a single character in the description it faults. I only hat one widget but it happens with the third, too, different cards, different boards.

desperateCoder commented 3 years ago

@user13v31 thanks for the research! I was able to reproduce it now.

Fun fact: it actually works if you tap on the title or the footer of the widget. Only if you tap on the center part (=description), it dies.

I guess it's some minor stuff, we'll fix that. I think @stefan-niedermann knows what to do here.

Thanks again for your response!

user13v31 commented 3 years ago

You're welcome. Thanks for putting your time into the Deck-App. I just love it.

stefan-niedermann commented 3 years ago

Hmm :thinking: @desperateCoder i'm not able to reproduce the issue. Which of our testing cards did you use?

Based on the description of @user13v31 i assume the :red_circle: red areas are "safe" and work properly.

as soon as there's a single character in the description it faults.

grafik grafik

desperateCoder commented 3 years ago

It doesn't matter which card. I'll send you a screen capture via telegram.

Stack:

Full Crash:

App Version: 1.19.3
App Version Code: 1019003
App Flavor: play

Files App Version Code: 30170090

---

OS Version: 4.19.196-Optimus_Drunk_Alioth_v11.1(eng.rayste.20210709.051657)
OS API Level: 30
Device: alioth
Manufacturer: Xiaomi
Model (and Product): POCO F3 (alioth)

---

java.lang.RuntimeException: Unable to start activity ComponentInfo{it.niedermann.nextcloud.deck.play/it.niedermann.nextcloud.deck.ui.card.EditActivity}: java.lang.IllegalArgumentException: Provide at least account and boardLocalId and cardLocalId of the card that should be edited.
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3431)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3595)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:223)
    at android.app.ActivityThread.main(ActivityThread.java:7664)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.lang.IllegalArgumentException: Provide at least account and boardLocalId and cardLocalId of the card that should be edited.
    at it.niedermann.nextcloud.deck.ui.card.EditActivity.loadDataFromIntent(EditActivity.java:105)
    at it.niedermann.nextcloud.deck.ui.card.EditActivity.onCreate(EditActivity.java:90)
    at android.app.Activity.performCreate(Activity.java:7994)
    at android.app.Activity.performCreate(Activity.java:7978)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1315)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3404)
    ... 11 more
user13v31 commented 3 years ago

Red and green works, blue crashes with lots of content and also with a single character (if the whole widget is filled it crashes)

Am 11. September 2021 11:49:20 MESZ schrieb Niedermann IT-Dienstleistungen @.***>:

Hmm :thinking: @desperateCoder i'm not able to reproduce the issue. Which of our testing cards did you use?

Based on the description of @user13v31 i assume the :red_circle: red areas are "safe" and work properly.

as soon as there's a single character in the description it faults.

  • Given there is no description: There is a :green_circle: green area too: Does clicking on it work?
  • Given there is a description:
    • Does clicking on the :green_circle: green area work?
    • Does clicking on the :large_blue_circle: blue area work?
    • Does it matter how much description there is? For example if you have a large text which fills the entire widget, there should be no :green_circle: green space left - Does clicking on the :large_blue_circle: blue area in this case work?

grafik grafik

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/stefan-niedermann/nextcloud-deck/issues/1078#issuecomment-917377790 -- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

user13v31 commented 3 years ago

Hallo

ich habe letztens eine andere CustomRom installiert. Vorher ArrowOS (Android 10), nun LineageOS18 (Android 11). Das Widget funktioniert nun reibungslos. Oder gab es ein Update?

Am 11. September 2021 15:03:36 MESZ schrieb level @.***>:

Red and green works, blue crashes with lots of content and also with a single character (if the whole widget is filled it crashes)

Am 11. September 2021 11:49:20 MESZ schrieb Niedermann IT-Dienstleistungen @.***>:

Hmm :thinking: @desperateCoder i'm not able to reproduce the issue. Which of our testing cards did you use?

Based on the description of @user13v31 i assume the :red_circle: red areas are "safe" and work properly.

as soon as there's a single character in the description it faults.

  • Given there is no description: There is a :green_circle: green area too: Does clicking on it work?
  • Given there is a description:
    • Does clicking on the :green_circle: green area work?
    • Does clicking on the :large_blue_circle: blue area work?
    • Does it matter how much description there is? For example if you have a large text which fills the entire widget, there should be no :green_circle: green space left - Does clicking on the :large_blue_circle: blue area in this case work?

grafik grafik

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/stefan-niedermann/nextcloud-deck/issues/1078#issuecomment-917377790 -- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

user13v31 commented 3 years ago

Sorry for the german. I installed another CustomRom (LineageOS18, Android 11) and the widget is working now nice and clean. There wasn't an update, right?

Am 19. September 2021 20:12:23 MESZ schrieb level @.***>:

Hallo

ich habe letztens eine andere CustomRom installiert. Vorher ArrowOS (Android 10), nun LineageOS18 (Android 11). Das Widget funktioniert nun reibungslos. Oder gab es ein Update?

Am 11. September 2021 15:03:36 MESZ schrieb level @.***>:

Red and green works, blue crashes with lots of content and also with a single character (if the whole widget is filled it crashes)

Am 11. September 2021 11:49:20 MESZ schrieb Niedermann IT-Dienstleistungen @.***>:

Hmm :thinking: @desperateCoder i'm not able to reproduce the issue. Which of our testing cards did you use?

Based on the description of @user13v31 i assume the :red_circle: red areas are "safe" and work properly.

as soon as there's a single character in the description it faults.

  • Given there is no description: There is a :green_circle: green area too: Does clicking on it work?
  • Given there is a description:
    • Does clicking on the :green_circle: green area work?
    • Does clicking on the :large_blue_circle: blue area work?
    • Does it matter how much description there is? For example if you have a large text which fills the entire widget, there should be no :green_circle: green space left - Does clicking on the :large_blue_circle: blue area in this case work?

grafik grafik

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/stefan-niedermann/nextcloud-deck/issues/1078#issuecomment-917377790 -- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet. -- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

desperateCoder commented 3 years ago

Sorry for the german

No problem 😅

There wasn't an update, right?

Afaik no. At least not one that was addressing this particular issue.

the widget is working now nice and clean

That's good news! That explains, (kind of), why @stefan-niedermann wasn't able to reproduce that at all. Weird thing: afaik he's on LOS as well with his physical device (Poco F1), I'm on crDroid (Poco F3) and could reproduce it. Smells like an issue with our launchers I guess, which is quite weird, because of this particular area causing the problems. I'd expect it either to work or die completely 🤷 Additionally the error message, which is in fact from our code, doesn't make sense at all. The code explicitly enforces the missing values to be set, so I'm kind of clueless here.

I'll let @stefan-niedermann decide how to proceed here, since I'm just the server communication guy and don't have any idea of widgets and all the android stuff around. Are you fine with that?

stefan-niedermann commented 3 years ago

Give the fact that this issue is not reproducible on various stock launchers as well as on LineageOS, i'd consider this to be a bug in the used launcher. I recommend to open a bug report at the issue tracker of the 3rd party launcher - at least i have no clue what we could change in order to workaround this bug.

Pull Requests are welcome of course, but for now, we'll close the issue here.

Thanks for the report and have a nice day 🙂