Well I definitely am glad to hear that! Yeah the situation is just unfortunate, as there’s really nothing I can do for the users who are getting the issue - since as you’ve seen, Caffeinate is already really light on RAM usage (which would normally be one of the only ways to try to remedy the issue as a developer, from what I can tell).
In the end I just decided to keep it compatible for all mobile devices, though I did consider adding a “compatibility warning” type of banner to the app or a one-time notification for devices that had a small amount of RAM. Eventually the emails stopped coming in about it though so I figured either the problem ended up resolving itself as updates to the platform occurred, or everyone who was going to run into the issue already ran into the issue. I’ve pretty much considered the app to be feature complete now, short of any Android changes that break it (such as when notification channels was introduced, followed by full-on notification runtime permission requirements).
You said the app is feature complete. But, if you find the time and energy to spend. You can probably try to add a dark theme that utilizes the “follow system” theme setting. And later if desired material you theming support. Otherwise, it does the job and is good as far as it can go.
Hey, I read the top review of a samsung user. Even in my own testing, the app doesn’t appear to extend the screen timeout on samsung. It locks out after the default timeout.
Interesting, sounds like they’re killing the wakelock that Caffeinate acquires then (which is what actually keeps the screen active), rather than killing the whole app itself.
That’s another one of those issues that I don’t think there’s too many workarounds for. Theoretically I might be able to have the app check to see if the wakelock is still active and if not, re-acquire it… but if there’s no way for the app to “know” that the wakelock has been killed in the first place, the only way around it would be to constantly ask Android “Is the wakelock still active? Is the wakelock still active? Is the wakelock still active?” over and over again, which would definitely lead to battery issues.
I do know it works on some Samsung devices, as I bought an old A2… something to test it on, and couldn’t find any signs of a problem there.
I mean hell, I’d love for there to be a way to not even require a wakelock for Caffeinate, but the only other way is a “soft” wakelock, in which you tell Android “Never turn the screen off while my app’s window is open”, but of course that would mean you’d need to keep the actual app window in the foreground and would defeat the whole purpose (such as my favorite usecase, keeping the screen on while I’m reading a recipe - or keeping the screen on while I’m tracking a delivery from a food delivery application).
I do know it works on some Samsung devices, as I bought an old A2… something to test it on, and couldn’t find any signs of a problem there.
I tested on A22 5g android 13.
I mean hell, I’d love for there to be a way to not even require a wakelock for Caffeinate, but the only other way is a “soft” wakelock, in which you tell Android “Never turn the screen off while my app’s window is open”, but of course that would mean you’d need to keep the actual app window in the foreground and would defeat the whole purpose
You could also do it so it requests the draw over other apps’ permission and have a small UI element keeping the screen on(if it can work). But that could complicate things a bit further. The permission being misused(by malware), and it being restricted in secure places(banking apps, settings, etc). It would be an imperfect solution.
Well I definitely am glad to hear that! Yeah the situation is just unfortunate, as there’s really nothing I can do for the users who are getting the issue - since as you’ve seen, Caffeinate is already really light on RAM usage (which would normally be one of the only ways to try to remedy the issue as a developer, from what I can tell).
In the end I just decided to keep it compatible for all mobile devices, though I did consider adding a “compatibility warning” type of banner to the app or a one-time notification for devices that had a small amount of RAM. Eventually the emails stopped coming in about it though so I figured either the problem ended up resolving itself as updates to the platform occurred, or everyone who was going to run into the issue already ran into the issue. I’ve pretty much considered the app to be feature complete now, short of any Android changes that break it (such as when notification channels was introduced, followed by full-on notification runtime permission requirements).
You said the app is feature complete. But, if you find the time and energy to spend. You can probably try to add a dark theme that utilizes the “follow system” theme setting. And later if desired material you theming support. Otherwise, it does the job and is good as far as it can go.
Dark theming is definitely a fair point, I’ll definitely need to have a look into that.
Material You support is probably going to be out of scope though, as I feel that would be making it complex for the sake of being complex.
I do want to learn more about the Material You API that being said.
Hey, I read the top review of a samsung user. Even in my own testing, the app doesn’t appear to extend the screen timeout on samsung. It locks out after the default timeout.
Interesting, sounds like they’re killing the wakelock that Caffeinate acquires then (which is what actually keeps the screen active), rather than killing the whole app itself.
That’s another one of those issues that I don’t think there’s too many workarounds for. Theoretically I might be able to have the app check to see if the wakelock is still active and if not, re-acquire it… but if there’s no way for the app to “know” that the wakelock has been killed in the first place, the only way around it would be to constantly ask Android “Is the wakelock still active? Is the wakelock still active? Is the wakelock still active?” over and over again, which would definitely lead to battery issues.
I do know it works on some Samsung devices, as I bought an old A2… something to test it on, and couldn’t find any signs of a problem there.
I mean hell, I’d love for there to be a way to not even require a wakelock for Caffeinate, but the only other way is a “soft” wakelock, in which you tell Android “Never turn the screen off while my app’s window is open”, but of course that would mean you’d need to keep the actual app window in the foreground and would defeat the whole purpose (such as my favorite usecase, keeping the screen on while I’m reading a recipe - or keeping the screen on while I’m tracking a delivery from a food delivery application).
I tested on A22 5g android 13.
You could also do it so it requests the draw over other apps’ permission and have a small UI element keeping the screen on(if it can work). But that could complicate things a bit further. The permission being misused(by malware), and it being restricted in secure places(banking apps, settings, etc). It would be an imperfect solution.