All Projects → adrianwitaszak → PexWallpapers

adrianwitaszak / PexWallpapers

Licence: MIT license
Android application following best practices: Jetpack, Jetpack Compose, Modularity, Clean Architecture, Kotlin Coroutines, Tests, MVVM, DI, Static Analysis

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to PexWallpapers

Android Showcase
💎 Android application following best practices: Kotlin, Coroutines, JetPack, Clean Architecture, Feature Modules, Tests, MVVM, DI, Static Analysis...
Stars: ✭ 5,214 (+5962.79%)
Mutual labels:  clean-architecture, kotlin-coroutines
Android Clean Arch Coroutines Koin
Implemented by Clean Architecture, MVVM, Koin, Coroutines, Moshi, Mockk, LiveData & DataBinding
Stars: ✭ 173 (+101.16%)
Mutual labels:  clean-architecture, kotlin-coroutines
Posts Mvvm Daggerhilt Dynamic Feature Rxjava3 Flow Sample
Posts Api sample with Kotlin RxJava3/Coroutines Flow, Clean Architecture, Offline first/last with Room + Retrofit2, Dagger Hilt, Dynamic Feature Modules, Static Code Analysis, Gradle DSL, MockK+ MockWebServer with Test Driven Development including Api and Database tests
Stars: ✭ 41 (-52.33%)
Mutual labels:  clean-architecture, kotlin-coroutines
bitcoin-market-android
Bitcoin Market app shows you the current Bitcoin market price and price chart of different time intervals 💰
Stars: ✭ 284 (+230.23%)
Mutual labels:  clean-architecture, jetpack-compose
Awesome-Android-Open-Source-Projects
👓 A curated list of awesome android projects by open-source contributors.
Stars: ✭ 401 (+366.28%)
Mutual labels:  clean-architecture, jetpack-compose
Compose-BreakingBad
🧪 ☠︎ Jetpack Compose - Breaking Bad ☢︎
Stars: ✭ 26 (-69.77%)
Mutual labels:  clean-architecture, jetpack-compose
Modular App Core
Core implementations for a modular Android App
Stars: ✭ 127 (+47.67%)
Mutual labels:  clean-architecture, kotlin-coroutines
foodies
A clean MVVM architecture android application
Stars: ✭ 14 (-83.72%)
Mutual labels:  kotlin-coroutines, jetpack-compose
Photos
No description or website provided.
Stars: ✭ 74 (-13.95%)
Mutual labels:  kotlin-coroutines, jetpack-compose
Delish
Delish, a Food Recipes App in Jetpack Compose and Hilt based on modern Android tech-stacks and MVI clean architecture.
Stars: ✭ 356 (+313.95%)
Mutual labels:  kotlin-coroutines, jetpack-compose
kmm
Rick & Morty Kotlin Multiplatform Mobile: Ktor, Sqldelight, Koin, Flow, MVI, SwiftUI, Compose
Stars: ✭ 52 (-39.53%)
Mutual labels:  clean-architecture, jetpack-compose
Android-MVVM-News-App
MVVM News Application with clean code architecture & android jetpack components.
Stars: ✭ 38 (-55.81%)
Mutual labels:  clean-architecture, kotlin-coroutines
Coffeegram
Android app using Jetpack Compose together with StateFlow and MVI
Stars: ✭ 155 (+80.23%)
Mutual labels:  kotlin-coroutines, jetpack-compose
FootballNews2
Personal Android project for Football daily updates
Stars: ✭ 16 (-81.4%)
Mutual labels:  clean-architecture, kotlin-coroutines
NYTimes-Compose
An offline-first application in Jetpack Compose with MVVM architecture, representing a minimalistic implementation of Top Stories API.
Stars: ✭ 98 (+13.95%)
Mutual labels:  kotlin-coroutines, jetpack-compose
Covid 19 Tracker
Android app to track COVID-19 cases in India and globally.
Stars: ✭ 96 (+11.63%)
Mutual labels:  clean-architecture, kotlin-coroutines
Updoot
A reddit client built for android
Stars: ✭ 51 (-40.7%)
Mutual labels:  kotlin-coroutines, jetpack-compose
stack
An Android app for browsing Stack Overflow and other Stack Exchange sites.
Stars: ✭ 218 (+153.49%)
Mutual labels:  kotlin-coroutines, jetpack-compose
MVI-Clean-Architecture
MVI + Clean Architecture + Best Practices | Example of Clean Architecture of Android app using MVI design pattern with Jetpack and popular libraries
Stars: ✭ 50 (-41.86%)
Mutual labels:  modular, clean-architecture
StarWarsSearch-MVI
Star wars sample android project showcasing the use of View components for rendering UI in Fragments and Activities. Uses Android Jetpack, clean architecture with MVI (Uni-directional data flow), dagger hilt, and kotlin coroutines with StateFlow
Stars: ✭ 189 (+119.77%)
Mutual labels:  clean-architecture, kotlin-coroutines

visitors

Welcome to PexWallpapers!

Hi! PexWallpapers is one of my current projects in Jetpack Compose. The app use Pexels.com image library to show pictures/wallpapers in the app. You can browse different categories or just use Search to find some beautiful wallpapers for your phone. If you add wallpapers to favourites than you can turn on Auto Wallpaper Setter in Settings, to have your phone wallpaper changed every specific period of time.

Features

Home Screen

  • displays daily wallpapers in ViewPager
  • color categories in scrollable horizontal column LazyRow, click take you to Search screen, and starts search of color
  • curated images from Pexels.com in scrollable vertical column
  • every image can be added to favorites by long click
  • clickable elements has pressed effect
  • top bar expands and lets user leave feedback

Search Screen

  • search feature
  • every image can be added to favorites by long click
  • clickable elements has pressed effect
  • top bar expands and lets user leave feedback

Favorites Screen

  • displays favorites in scrollable vertical column
  • long click removes image from favorites
  • top bar expands and lets user leave feedback

Preview Screen

  • displays image preview
  • uses image cache form previous screen to speed up image loading
  • long click adds/removes image from favorites
  • top bar expands and lets user leave feedback
  • action buttons:
    • link to pexels.com
    • download image - uses worManager task
    • share image
    • add to/remove from favorites
  • set wallpaper button - lets user choose home or lock screen

Settings Screen

  • Notification settings
    • push notifications
    • new wallpaper set
    • wallpaper recommendations
  • Automation settings
    • enable disable automation
    • screen to change wallpaper
    • animated time picker - days, hours, minutes
  • save button - clears any previous automations, creates automation task for every favorite wallpaper
  • Data saver settings
    • download wallpapers only on Wi-Fi - part of workManager constraints
    • Download miniatures in lower resolution - every screen checks this setting on launch
    • Auto change only on Wi-Fi - every automation task checks this setting before launch
  • Performance settings
    • Shadows - every screen checks this setting on launch
    • Parallax effect - home screen checks this setting on launch
  • links (not fully implemented):
    • About us page
    • Privacy policy
    • Support

Automation flow

Automation

  • min time to select is 15 min
  • minimum one screen has to be chosen

WorkManager

  • creates task for every wallpaper
  • constraints - low battery, no network, low storage

Backup

  • backs up currently set wallpaper
  • getting removed if notification is dismissed

Set wallpaper

  • home screen
  • lock screen
  • or both

Notification

  • BigPicture style
  • Grouped notifications if more than one
  • Interaction:
    • Restore - restores previous wallpaper, and deletes backup
    • Preview - click take you to preview
    • Swipe off-screen - delete backup and cancels current task

Getting started 📦

There are a few ways to open this project.

Android Studio

  1. Android Studio -> File -> New -> From Version control -> Git
  2. Enter https://github.com/adrianwitaszak/PexWallpapers.git into URL field an press Clone button

Command-line + Android Studio

  1. Run git clone https://github.com/adrianwitaszak/PexWallpapers.git command to clone project
  2. Open Android Studio and select File | Open... from the menu. Select cloned directory and press Open button

Add API key

  1. git clone repo to Android studio

  2. Get your own Api Key from Pexels.com

  3. Add your own Api Key to gradle.properties in this format

    pex_api_access_key="234f9170000324234012343d044b1a3482ba588"

  4. And run in emulator or on physical device

Contributing 🤝

PRs Welcome

Read our contributing guide and let's build a better antd together.

We welcome all contributions. Please read our CONTRIBUTING.md first. You can submit any ideas as pull requests or as GitHub issues. If you'd like to improve code, check out the Development Instructions and have a good time! :)

Author

@adrianwita

@adrian-witaszak

License

MIT License

Copyright (c) 2022 Adrian Witaszak

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF  TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].