Skip to content

Commit 108a4a3

Browse files
feat(wallpaper): Improve solid color wallpaper quality
The solid color wallpaper is now generated using the system's desired minimum width and height, rather than a 1x1 pixel bitmap. This improves the quality of the wallpaper set on both the home and lock screens.
1 parent 4b41ca1 commit 108a4a3

File tree

1 file changed

+22
-8
lines changed

1 file changed

+22
-8
lines changed

app/src/main/java/com/github/droidworksstudio/mlauncher/ui/BaseFragment.kt

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,17 +35,31 @@ open class BaseFragment : Fragment() {
3535
super.onStart()
3636

3737
if (prefs.forceWallpaper) {
38-
val wallpaperManager = WallpaperManager.getInstance(requireContext())
38+
val context = requireContext()
39+
val wallpaperManager = WallpaperManager.getInstance(context)
3940
val backgroundColor = prefs.backgroundColor
4041

41-
// Create a solid color bitmap
42-
val bitmap = createBitmap(1, 1).apply {
43-
eraseColor(backgroundColor)
44-
}
42+
val width = wallpaperManager.desiredMinimumWidth
43+
val height = wallpaperManager.desiredMinimumHeight
4544

46-
// Set the wallpaper
47-
wallpaperManager.setBitmap(bitmap, null, true, WallpaperManager.FLAG_SYSTEM) // home
48-
wallpaperManager.setBitmap(bitmap, null, true, WallpaperManager.FLAG_LOCK) // lock
45+
val bitmap = createBitmap(width, height)
46+
bitmap.eraseColor(backgroundColor)
47+
48+
// Home screen
49+
wallpaperManager.setBitmap(
50+
bitmap,
51+
null,
52+
true,
53+
WallpaperManager.FLAG_SYSTEM
54+
)
55+
56+
// Lock screen (API 24+)
57+
wallpaperManager.setBitmap(
58+
bitmap,
59+
null,
60+
true,
61+
WallpaperManager.FLAG_LOCK
62+
)
4963
}
5064
}
5165
}

0 commit comments

Comments
 (0)