Neamar / KISS

Lightning fast, open-source, < 250kb Android launcher
https://kisslauncher.com/
GNU General Public License v3.0
2.93k stars 579 forks source link

Widgets don't update #744

Closed qoheniac closed 4 years ago

qoheniac commented 6 years ago

Hey, I tried different widgets (calendars and messengers) and love the feature, but most of them are useless, because they don't update. They always show whatever they showed when I added them.

nmitsou commented 6 years ago

Hi, which android version are you using?

qoheniac commented 6 years ago

4.4.3

Wolf2789 commented 6 years ago

Same here. Android 6.0.1

justcomplaining commented 6 years ago

Me2. Android 6.0.1.

nmitsou commented 6 years ago

Is this happening for all widgets or some of them? e.g. is the clock widget working fine?

justcomplaining commented 6 years ago

Weirdly, the clock widget seems to work for me, while "Sectograph" doesnt.

Wolf2789 commented 6 years ago

For me clock widget works fine for some time and then it freezes until I readd the widget. For Evernote widget it updates when I change add, remove or edit note title.

I suspect that widgets tends to freeze after screen lock.

Fangh commented 6 years ago

Me too with the Google calendar widget

Gatienzo commented 6 years ago

I installed the beta from Play and the widget is not functional it works just as a shortcut. e.g. you won't get any temp, WhatsApp or anything updated in the widget.

Android 601 Samsung

Gatienzo commented 6 years ago

The clock works

ismail-s commented 6 years ago

I have the same issue, with orgzly. The workaround I use is to restart kiss.

Gatienzo commented 6 years ago

Restarting does not work for me.

Neamar commented 6 years ago

So, did some investigations.

Some widgets are fine and update themselves correctly -- for instance, a clock, or the adsense widget.

It looks like some widgets don't... I'm assuming there might be a way for a launcher to notify the widget that it has to be updated? Haven't seen any code related to this, but I haven't spent long enough on the widget codebase yet.

Neamar commented 6 years ago

Since I didn't get any answers for now, I'll consider the issue fixed as I can't reproduce. Feel free to ping me if you're still seeing the problem, and mention the widget you're using!

Spreadcat commented 6 years ago

Hi. Not sure what you mean with "ping" (email maybe), but when I was looking through the issues on KISS here on GitHub, I found this one. This error is still present for me. The data you requested:

The behavious I see is similiar to the one described above. The calendar widget displays the next entries but will not update the next day. New entries will not be shown, previous days are still visible. Restarting Kiss using the KISS menu updates the calendar though.

Pls. feel free to ping me for more information or for testing any configuration change.

dubst3pp4 commented 6 years ago

I have this problem, too. Some widgets update, some not.

The default Huawei system clock widget works without problems. I've added the Seven Time widget to the Battery Manager's app-whitelist, to make sure it doesn't get killed when devices fells into sleep. If you need more information, I will be glad to help!

doron-cohen commented 6 years ago

I have this too with Simpletask C KISS 3.3.0 Android 7.0 Simpletask C 10.1.15

Up until a few versions ago I only had to open the Simpletask app after editing the todo list and the widget would have updated. But now I have to restart KISS in order to see changes.

Is there anything I can do to help with this? This issue is really annoying.

Thanks

Neamar commented 6 years ago

Hey Doronc,

I understand that this is probably quite painful, but none of the core developers managed to reproduce this on their devices :( Do you have experience with Android development? If so, you might be able to help by running the code locally and checking if there is anything weird happening in the logs

On Fri, Jun 1, 2018 at 12:34 PM doronc notifications@github.com wrote:

I have this too with Simpletask C KISS 3.3.0 Android 7.0 Simpletask C 10.1.15

Up until a few versions ago I only had to open the Simpletask app after editing the todo list and the widget would have updated. But now I have to restart KISS in order to see changes.

Is there anything I can do to help with this? This issue is really annoying.

Thanks

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/Neamar/KISS/issues/744#issuecomment-393854197, or mute the thread https://github.com/notifications/unsubscribe-auth/AAgxDDFNb4_2AQP6kHPJN5Kc94FUC2NXks5t4SbUgaJpZM4QUvMI .

doron-cohen commented 6 years ago

I dont have tge experience but could give it a try. Do you have any instructions?

Spreadcat commented 6 years ago

I chime in here as well: With a bit of guidelining I volunteer for some testing as well.

Neamar commented 6 years ago

Hey guys,

Thanks for volunteering!

You'll need to install and setup Android Studio on your computer. You can then check out this source code and press the green little arrow to get started;

Hopefully, in the LogCat window, you'll see some useful information about what's happening... but I'm afraid you'll need to dig deeper to fix this

rustymh commented 6 years ago

Same problem here.

Device: Android 6.0 (ZTE Blade A601)

I install Calendar Widget (link)

The Calendar widget only update after phone or launcher restart.

michaelof commented 6 years ago

Hi all, maybe this might help with this issue, I'm also affected

Android 6.0 Lenovo K10a40 Widget "Event list" from SimpleMobileTools/SimpleCalendar

Both KISS and SimpleCalendar most recent F-Droid versions.

Thought at first a widget issue and opened an issue for it: https://github.com/SimpleMobileTools/Simple-Calendar/issues/547

Digging more into it showed, that missing refresh happens only with KISS, not with the default launcher.

Good news: At least for this widget a WORKAROUND exists, as described in other issue.

Tibor, the developer of SimpleCalendar, explains in the issue, how the refresh should be triggered, hopefully this helps, and SimpleCalendar is FOSS, too

ildar commented 6 years ago

@Neamar , is there a really way to help identify the issue? I'm not sure that logcat can help (logcatting for an hour?) Also you made a suggestion at https://github.com/Neamar/KISS/issues/744#issuecomment-368266918 . Do you think you can elaborate it?

Neamar commented 6 years ago

Heya!

Sadly I can't reproduce this on any of the device I own. I think the best way forward for this bug is for someone impacted by the bug on his device to have a look at what's happening and understand when the widgets stops updating?

ildar commented 6 years ago

any idea what to look at? I'd help if knew how

Neamar commented 6 years ago

I'd start checking the logcat for any error line, see if an exception happens. Otherwise no good idea :(

On Thu, Aug 2, 2018 at 11:59 AM ildar notifications@github.com wrote:

any idea what to look at? I'd help if knew how

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Neamar/KISS/issues/744#issuecomment-409888755, or mute the thread https://github.com/notifications/unsubscribe-auth/AAgxDLs8Sy8qkZB6GyBNmxXvBW3SbEBNks5uMtudgaJpZM4QUvMI .

doron-cohen commented 6 years ago

anything to grep in logcat?

doron-cohen commented 6 years ago

uploaded a filtered logcat. if anything is missing tell me and I will add it. I filtered by logic (widget, todo, tasklist etc) https://pastebin.com/9fkNdvYE

Neamar commented 6 years ago

I'll try to have a look, thanks for sharing!

Just an idea, is the app providing the widget on the sd card?

On Thu, Aug 2, 2018, 19:48 doronc notifications@github.com wrote:

uploaded a filtered logcat. if anything is missing tell me and I will add it. I filtered by logic (widget, todo, tasklist etc) https://pastebin.com/9fkNdvYE

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Neamar/KISS/issues/744#issuecomment-410011715, or mute the thread https://github.com/notifications/unsubscribe-auth/AAgxDPSWMXcSi01zKQq1jMmMBbr8TuNmks5uMzthgaJpZM4QUvMI .

michaelof commented 6 years ago

Neamar,

at least for Android 6 or later I can confirm that it i impossible to use any app's widgets if the sdcard is used as "adoptable storage" and the app has been moved to sdcard.

IMHO a totally ridiculous limitation of 6+

Also from 6+, no app could be moved to sdcard, if sdcard has not been formatted as adoptable storage

TBog commented 6 years ago

On my version I sometimes see a widget that doesn't update, sometimes it's also unresponsive to touch. It's always the same widget. Not sure what happens as it works when I plug it in for debugging 😕

ildar commented 6 years ago

чт, 2 авг. 2018 г. в 23:50, Matthieu Bacconnier notifications@github.com:

Just an idea, is the app providing the widget on the sd card?

no

doron-cohen commented 6 years ago

@Neamar what do you mean by on the sdcard? Its storage or the app itself? How do I check it?

ildar commented 6 years ago

https://duckduckgo.com/?q=android+app+install+sdcard This ability was removed in later versions of Android. Anyway it's irrelevant to the bug.

doron-cohen commented 6 years ago

I appreciate the effort but this issue is a deal breaker for me. I am now trying OpenLauncher which looks solid for now

junkbond07 commented 6 years ago

Bonjour, Appareil : Fairphone 2 (FP2) Android AOSP : 6.0.1 Kiss : 3.5.2 (installé de F-DROID)

Même chose pour moi : les widgets de calendrier (j'en ai essayées plusieurs :google calendar (aosp), calendar widget (F-droid) etc...) ne se mettent pas à jour automatiquement. En relançant kiss ça met à jour le widget de google calendar (aosp) mais pas calendar widget (F-droid). Dommage car votre lanceur est excellent. Mais à cause des widget je vais en prendre un autre en attendant que ce bug soit réparé. Bon courage à tous.

ghost commented 5 years ago

I know this is an old issue, but I'd like to add some things I've noticed.

I have a Samsung Galaxy Note 3 (model N900A), running Android 4.4.2 rooted on a custom ROM (FireKatDeodexV24XxXRN4). KISS Launcher is version 3.5.2, and the widget I'm using is from Simple Clock (com.simplemobiletools.clock), version 4.3.0.

Some actions will cause the widget to freeze, and others will not. From my testing, these actions will cause freezing:

These actions will NOT cause a freeze:

I tried removing the widget, converting Simple Clock to a system app, restarting, and adding the widget back. It behaved identically in all cases. If none of the freezing actions are performed, the widget will run indefinitely.

I'll try to dig into some logs to see what's going on, although I'm not very knowledgeable about Android development.

I hope this helps!

ildar commented 5 years ago

Do you mean you see the issue interactively? Then it should definitely boost the issue!

Neamar commented 4 years ago

I set up com.simplemobiletools.clock and can't reproduce.

This bug has been plaguing KISS for years and it looks like we're still not even close to finding the root cause :\

Neamar commented 4 years ago

Widgets were completely revamped in v3.14.2 and above.

I'll close this, if it happens again it'll be a new bug.

imonemus commented 4 years ago

It is actually quite easy to reproduce this problem in Android Studio, but don't use the clock widget which seems always to work. Use (eg.) the bookmarks widget. It looks like the problem exists up to and including API 26. It seems to be okay on 27.

In class Widgets extends Fowarder, the first call to startListening in onStart() works just fine. Thereafter, stopListening in onStop() appears also to do what it should, but subsequent calls to startListening in onStart() don't work. I couldn't figure out what the problem was.

I found you can fix this problem by putting startListening in onCreate() with stopListening in a newly forwarded onDestroy(). You may, however, prefer the potential efficiencies of start/stop rather than create/destroy, in which case, the following amendment to onStop will make the problem go away:

void onStop() {
    // Stop listening for widget update
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
        mAppWidgetHost.stopListening();
    }
}

I've got a sideloaded version of KISS with this fix on my old H815(Marshmallow) and it's working fine. Re-calling startListening without calling stopListening doesn't appear to be creating a leak.

Neamar commented 4 years ago

Amazing :) Do you think you can contribute a PR? This should be really nice and helpful for a ton of users!

imonemus commented 4 years ago

Sure! I'll try to do it in the next few days.

alaireselene commented 3 years ago

Android 4.4.4 Widget used: com.nullium.nicesimplebattery (now you cannot see it on Google Play)

Neamar commented 3 years ago

Which version of Kiss are you running @kaizerstudio?