Mozart

Project Url: creativedrewy/Mozart
Introduction: Compose beautiful Android live wallpapers
More: Author   ReportBugs   
Tags:

Maven Central

Compose beautiful Android Live Wallpapers

Overview

Mozart is a library that allows you to create Android Live Wallpapers using Jetpack Compose. What sorts of wallpapers can you create? Well, anything you can dream up with Jetpack Compose:

Screen Recording

Installation

dependencies {
    implementation("io.github.creativedrewy:mozartwallpapers:<version>")
}

For version catalog:

[versions]
mozart = "<version>"

[libraries]
mozart = { module = "io.github.creativedrewy:mozartwallpapers", version = "mozart" }

Usage

Create your Wallpaper Service class and implement the required method:

class MyComposeWallpaper: MozartWallpaperService() {

    override val wallpaperContents: @Composable ((OffsetValues) -> Unit)
        get() = { offsets ->
            Box(
                modifier = Modifier
            ) {
                // Your Jetpack composables go here!
            }
        }
}

Create res/xml/wallpaper.xml:

<?xml version="1.0" encoding="utf-8"?>
<wallpaper
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:thumbnail="@drawable/ic_launcher_background"
    android:description="@string/app_name" />

And register the wallpaper in your manifest:

 <service
    android:name="com.myapp.package.MyComposeWallpaper"
    android:enabled="true"
    android:label="My Wallpaper"
    android:exported="true"
    android:permission="android.permission.BIND_WALLPAPER" >

    <intent-filter>
        <action android:name="android.service.wallpaper.WallpaperService" >
        </action>
    </intent-filter>

    <meta-data
        android:name="android.service.wallpaper"
        android:resource="@xml/wallpaper" >
    </meta-data>
</service>

You can apply your wallpaper by firing the relevant Intent:

val myPaperIntent = Intent(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER)
myPaperIntent.putExtra(
    WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT,
    ComponentName(this, MyComposeWallpaper::class.java)
)

License

Copyright 2026 Andrew Watson

Licensed under the Apache License, Version 2.0
Apps
About Me
GitHub: Trinea
Facebook: Dev Tools