Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ammargitham/WallFlow

Wallpaper app for Android using Jetpack Compose
https://github.com/ammargitham/WallFlow

android compose jetpack-compose kotlin material-design

Last synced: about 2 months ago
JSON representation

Wallpaper app for Android using Jetpack Compose

Awesome Lists containing this project

README

        


WallFlow

WallFlow




Github




F-Droid


F-Droid




CodeQL


Weblate





A wallpaper app for Android with beautiful wallpapers from wallhaven.cc, Reddit. Designed with Material Design 3 and supports wide screen devices like tablets.






devices

## Downloads



Get it on GitHub

| Regular | Plus |
|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| [Get it on GitHub](https://f-droid.org/packages/com.ammar.wallflow/) | [Get it on GitHub](https://f-droid.org/packages/com.ammar.wallflow.plus/) |
| [Get it on IzzyOnDroid](https://apt.izzysoft.de/fdroid/index/apk/com.ammar.wallflow/) | [Get it on IzzyOnDroid](https://apt.izzysoft.de/fdroid/index/apk/com.ammar.wallflow.plus/) |

\*[_What's the difference between Regular and Plus?_](#regular-vs-plus)

## Screenshots

| Home | Filters | Filters | Wallpaper Info |
|:-----------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------:|
| Home | Wallhaven Filters | Reddit Filters | Wallpaper Info |

| Search History | Crop and Set Wallpaper | Settings 1 |
|:---------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------:|
| Search History | Crop and Set Wallpaper | Settings |

## Features

- Supports wallhaven.cc and Reddit
- Multi-pane layout for tablets and other wide screen devices
- Auto wallpaper changer
- Save searches
- Favorite wallpapers
- Local Wallpapers
- Use saved searches, favorites, and local wallpapers for auto wallpaper changer
- Search history
- [Plus] Smart wallpaper cropping using on-device object detection powered by [Tensorflow Lite](https://www.tensorflow.org/lite/).
- Supports adding your own TFLite models. You can find more models [here](https://tfhub.dev/s?deployment-format=lite&module-type=image-object-detection/).
- Search results caching to reduce api calls
- Options to tweak the wallpaper grid layout
- QuickSettings tile, shortcut and broadcast to quickly change wallpaper
- Dynamic theme (Material You)
- Supports multi-display environments (eg. when connected to external monitors)

## Regular vs Plus

Two versions are provided (both free and open-source)

- Regular version without the Object detection feature (smaller apk size).
- Plus version with the Object detection feature. (Since Tensorflow adds around 8MB native libs to the apk size).

**All other features are same in both versions.**

## Broadcast details (for Tasker and similar apps)

- Package:
- For Regular: `com.ammar.wallflow`
- For Plus: `com.ammar.wallflow.plus`
- Action: `com.ammar.wallflow.ACTION_CHANGE_WALLPAPER`

ADB command:

- For Regular: `am broadcast --user 0 -a com.ammar.wallflow.ACTION_CHANGE_WALLPAPER com.ammar.wallflow`
- For Plus: `am broadcast --user 0 -a com.ammar.wallflow.ACTION_CHANGE_WALLPAPER com.ammar.wallflow.plus`

## Roadmap

- [ ] Support foldables inner and outer screens together
- [ ] More theme colors
- [ ] Learn from favorites (on-device) and suggest wallpapers
- [ ] Support Windows using [Kotlin multiplatform](https://kotlinlang.org/docs/multiplatform.html).

## Help with translations

Translation status

## Built using

- [Jetpack Compose](https://developer.android.com/jetpack/compose/)
- [Material Design 3 components for Compose](https://developer.android.com/jetpack/compose/designsystems/material3)
- [Compose Destinations](https://composedestinations.rafaelcosta.xyz/)
- [Hilt](https://developer.android.com/training/dependency-injection/hilt-android/)
- [Room](https://developer.android.com/training/data-storage/room/)
- [Datastore](https://developer.android.com/topic/libraries/architecture/datastore/)
- [Retrofit](https://square.github.io/retrofit/)
- [Coil](https://coil-kt.github.io/coil/)
- [Telephoto](https://github.com/saket/telephoto/)
- [Paging 3](https://developer.android.com/topic/libraries/architecture/paging/v3-overview/)
- [Accompanist](https://google.github.io/accompanist/)
- [WorkManager](https://developer.android.com/topic/libraries/architecture/workmanager/)
- [My fork](https://github.com/ammargitham/easycrop/) of [EasyCrop](https://github.com/mr0xf00/easycrop/)
- [Tensorflow Lite](https://www.tensorflow.org/lite/)
- [Cloudy](https://github.com/skydoves/Cloudy/)
- [partial-kt](https://github.com/MateriiApps/partial-kt/)
- [Ktlint](https://pinterest.github.io/ktlint/) using [Spotless](https://github.com/diffplug/spotless) plugin
- [Mockk](https://mockk.io/)
- Some more AndroidX libraries. Please see the [build.gradle](./app/build.gradle.kts) file.

## License

```
WallFlow
Copyright (C) 2023 Ammar Githam

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see .
```