WangDaYeeeeee / GeometricWeather

A Material Design Weather Application
GNU Lesser General Public License v3.0
2.44k stars 186 forks source link

Refresh on startup #378

Open Donkey-Doug opened 2 years ago

Donkey-Doug commented 2 years ago

I need to manually refresh every time I open the app.

papjul commented 2 years ago

Do you use a customized Android OS? Did you allow to run in background (without being killed)?

Donkey-Doug commented 2 years ago

I use lineageos.

I added a manual location.

It is allowed to run in the background and it does update at the specified interval in the background. But if my interval is set to 30 min and 12 min have past, then my info is 18 min outdated when I open the app. So updating in the background does work.

It does not update on startup, nor is there an option to update on startup in settings. Therefore I assumed update on startup is not implemented.

papjul commented 2 years ago

Alright, I thought you reported a bug, not a new feature ;)

However, if you open the app every minute, I don't think the app should trouble the weather server everytime. Plus, that would add workload that would slowdown your interaction with the app everytime you open it. We have many reports that the app is already slow on startup so I really don't think that would be a good idea to allow such a thing.

Donkey-Doug commented 2 years ago

Then make it optional. A toggle in settings to update at startup.

papjul commented 2 years ago

We would need #244 first, as this kind of behavior is contrary to terms of service, and would uselessly consume calls.

papjul commented 2 years ago

Actually, I just tested it and what you asked for is already implemented.

Geometric Weather will refresh weather data on startup if background task failed to do it within the configured time in settings.

30 minutes is the minimum allowed in Geometric Weather. If you want shorter options, then your issue is a duplicate of #322.

netsonicyxf commented 2 years ago

I have the same issue on my Samsung official oneui4.1, android 12. I disabled “后台纯净”,and set 1hr as update interval, but it never auto updates.

glocalglocal commented 2 years ago

Geometric Weather will refresh weather data on startup if background task failed to do it within the configured time in settings.

In my case, checking on startup would result in fewer connections actually. I would prefer the app not to check or run in the background at all. Instead, I would want it to refresh only the moment I open it, which may be once every few days, saving battery and calls. I am not interested in alerts anyway.

To prevent unnecessary calls when the user reopens the app within minutes, the startup call could be skipped if the data are, say, less than 30 minutes old.

papjul commented 2 years ago

I would want it to refresh only the moment I open it, which may be once every few days, saving battery and calls. I am not interested in alerts anyway.

To prevent unnecessary calls when the user reopens the app within minutes, the startup call could be skipped if the data are, say, less than 30 minutes old.

Yes, this is how it works:

Geometric Weather will refresh weather data on startup if background task failed to do it within the configured time in settings.

You could kill app and let background optimization enabled as a workaround for the "no refresh in the background" part.

glocalglocal commented 2 years ago

You could kill app and let background optimization enabled as a workaround for the "no refresh in the background" part.

I was suggesting a more elegant way to do this: (a) adding a 'no background refresh' option to the existing list of frequencies, (b) then the app would automatically stop running in the background as it can't alert the user about something new anyway (c) refreshing on startup but only if data are stale (eg over 30 minutes old).

That results in fewer refreshes and removes the need for manual refresh.

papjul commented 2 years ago

I don't think it would be compatible with an automatic refresh on startup unless we add an additional setting. Because how do you decide if the user wants 30 min, 1 h, 4 h, etc ?

glocalglocal commented 2 years ago

@papjul an additional setting is a possibility, but I would be in favour of making the harmless assumption that users who select 'no background refresh' will more likely have stale data most of the times, because that's what they probably want: rare refreshes on demand. For startup-only refreshes 30 mins is already considered safe and could be the default.

In other words, unless you want alerts, why would you want an app to refresh in the background at all? Some people like myself don't even use widgets. I would expect it to go well away and stay there until I run it. I appreciate apps that stay out of the way and leave my resources alone.