- cross-posted to:
- auai@programming.dev
- cross-posted to:
- auai@programming.dev
Hello there, fellow lemmings!
As the title suggests, I’ve made an app that changes your wallpaper regularly based on the parameters you set. It uses AI Horde (which uses Stable Diffusion) to generate the images and you can set the interval at which your wallpaper changes (from 1 time per day to 48 times per day).
Other features:
- completely free (in fact, will be open source next week)
- easy to use, but offers also advanced options
- there’s a help section with all the parameters explained
- works on both a phone and tablet
There’s also an optional Premium subscription which puts you higher in the priority queue, but most of the time it’s not needed - unless you’re generating during the most busy time, the wait is not really that long even without Premium. Note that if you’re a user of the AI Horde, you can put your own api key there and get the same benefits as having a Premium.
The open source version (released next week) will also allow (toggleable on or off) NSFW content, which is not possible in the Google Play version. It also doesn’t contain the Premium subscription.
Also please check https://dontkillmyapp.com and see steps for your phone vendor, this app needs to work in the background and most vendors kill background apps. It will ask for an exception for battery saver on its own when you set the schedule for the first time, but for some vendors that’s not enough.
Do let me know what do you think about the app! And if you want me to tag you when I make a release post for the open source version, let me know. Also huge thanks to @db0@lemmy.dbzer0.com for creating and maintaining the AI Horde, which makes this (and other cool apps) possible!
Very nice app and the kind of thing the ai horde was always meant to support. In this case it’s also the kind of integration where you can happily use it as anonymous
The open source version (released next week) will also allow (toggleable on or off) NSFW content, which is not possible in the Google Play version.
Huh.
Is that due to some sort of Google Play Store restriction?
googles
Apparently so.
https://www.androidauthority.com/best-porn-games-android-nsfw-781438/
Please note this is NSFW. Additionally, the Google Play Store doesn’t allow these types of games as a matter of policy. All of our recommendations are sources for downloading third-party games. You’ll have to sideload most of these, so make sure to check out our guide on installing third-party apps that aren’t on the Google Play Store.
I’m kind of surprised that there isn’t some alternate app repo that people have converged on that permits it, just be an F-Droid alternate repo or something.
thinks
Maybe you need to be in the Google Play Store to use Google Play Services and that’s required for DRM or something like that. That’d discourage commercial vendors.
I’m kind of surprised that there isn’t some alternate app repo
Well, usually when people make NSFW stuff, it’s because they want to get paid for it. And card companies don’t want you to pay for NSFW stuff. So the options are very, very limited. There’s nothing as universal and fast as a card payment, so you either implement a ton of local versions of some kind of instant payments, or you’re fucked.
Almost, but not quite. Card companies don’t want to be publicly known for not giving a single shit what you give them money for, but a large portion of their market are churchy, nosy fucks, so they need to play a certain part…
You’ll notice, they only go so far to enforce this sort of thing. The slightest bit of obfuscation in said transaction, and they’re back to comfy with sucking from the teat again.
The end-result is more or less the same, once the information that you’re doing it is out, you’re out of luck. And if you become successful, people will definitely know. And if you’re doing something, you probably want to be successful. That’s why there’s not much in terms of alternate NSFW app stores.
I personally use Obtainium to download apks from source (including mine own app from this post), that’s the next best thing to an uncensored app store.
I don’t believe we’re at odds here, though it seems we’re discussing two different points. Good luck with your smut, and thank you for your service!
All things considered, I’m curious why that list didn’t include F95? 😶
Can I use my locally hosted SD API rather than burden the Horde with something like this?
Honestly this is not a burden for the horde 😅
If you’re concerned you can add your gpu to the horde and give back way more than you will take
I guess burden was probably the wrong term. I appreciate your work, and I just get over protective of really cool freely available services from being overwhelmed. That’s an excellent suggestion.
Nope, but not a bad idea. Though I’d have to write an adapter for the api. Is there an OpenAPI specification anywhere?
I’m using Automatic1111’s SD web UI, so their API would be the most relevant to me, but there are others out there if you prefer to use something else an an optional backend.
Adding Automatic1111 API support in addition to the Horde would be a good idea. For people who don’t have a GPU, it’s also fine to use the Horde. And if you have resources to spare, it would also be a great idea to contribute to the Horde by running a worker.
Otherwise I think this project is fine. The devs seem to like to see their software being used. And they invented the ‘Kudos’ to handle this. And in my opinion building ontop of a solid service is better than reinventing the wheel all the time.
They once wrote a blog post explaining their opinion (specifically about paid services): https://dbzer0.com/blog/what-about-paid-services-on-top-of-the-ai-horde/
Well, I’m contributing already, that’s in fact how the Premium subscription works - it uses my api key, which has around ~2 million kudos, around 1 million of which is from my workers. I’m also contributing by building https://horde-ng.org.
Supporting another backend in the AI Wallpaper Changer will be a tough one, but I’ll tackle it when I have some spare time.
Wow, nice. I’m definitely going to check it out.
I don’t see the need for battery saver and don’t kill my app for wallpapers.
You only need to start the job in the server and then download, so the phone CPU usage must be minimal.
The wallpapers are changed automatically in the background. And many phone vendors will kill the background job, even if it doesn’t consume almost any resources. If you don’t disable battery optimizations, don’t be surprised that the app doesn’t work.
Edit: To cite https://dontkillmyapp.com/problem:
(…) This even gets so absurd that with some vendors (e.g. Nokia, Xiaomi, OnePlus, Samsung or Huawei) our smartphones are becoming dumbphones again.
Dumbphones are unable to do any useful tasks for you in the background unless you actively use your device at the time. This affects most of the apps that are not just another browser window. Most affected are alarm clocks, health trackers, automation apps, or simply anything that needs to do some job for you at a particular moment when you aren’t using your device.
Emphasis is mine. I can confirm that it indeed gets killed on my Samsung if I don’t disable battery optimizations. At the same time my phone reports 0% battery used since last charge even with battery optimizations disabled. Meaning I don’t abuse the privilege, but just do what the app should do on its own if some vendors weren’t way too eager.
I wonder how you’re using workmanager , and expect you to not be using services directly. These are the ones that could have an impact.
Wallpapers have their own instance of WallpaperEngine which is kept in use as long as the user is seeing the wallpaper. That’s my experience with my own wallpaper.
I schedule the job using an inexact alarm which then triggers the work manager job. Anyway, Samsung kills pretty much anything in the background unless you go out of your way to prevent it. I have no recent experience with other vendors. It would kill yours, too, no matter what code you use to write it.
You’ve got like 10 seconds to do what you need, should be enough to download your image?
You don’t seem to understand that the job will be killed before it’s even triggered. Like the scheduled job will not run at all.
I think the msg sent yesterday didn’t get through;
periodic alarms is the old way; periodic work manager is the new way.
trigger your workmanager schedule by either alarm or by opening the app. but use the alarm only once if you must.
my wallpaper used to handle reboots by listening to a boot event, which would trigger workmanager. Unfortunately I haven’t come to find an alternative for that for general apps. However, if your wallpaper is set to your app I bet there’s a way to check if you have any workmanager scheduled, and if it’s not, do it from there. I don’t mean from
Application
or anyActivity
, I mean fromWallpaperService
. Anyways, ifWallpaperService
never runs you shouldn’t have workmanager set and consume horde resources anyways.I think I’ve explained quite well already, but again, many vendors, like Samsung, kill any background jobs before they have a chance to run. No matter what technology you use, it will get killed. The only thing that doesn’t get killed is an exact alarm that’s allowed to wake your phone from sleep. Everything else will get killed on Samsung. Including periodic alarms and including work manager, periodic or not.
I have no idea what the rest of your message is even talking about, I don’t have any WallpaperService, I don’t do any of what you mention, so I don’t quite understand why are you even talking about it.
In conclusion, further discussion on this topic is unnecessary because you seem to be rambling on and on about stuff that’s not at all related to why the battery optimization exception is needed. It’s not because of stock Android, but because of other vendor’s flavors of Android.
Thanks for sharing!
Bro, how do I archive all of them?
There’s a history screen, you can click the Open in HordeNG button which should fill all the parameters in a separate app where you can generate them again.
Edit: I’ll be providing the option to save all generated wallpapers in a folder of your choosing in a future update.
Ah. Gotcha. Thanks. I did hit that button but it seemed fucky to generate it again.