mirror of
https://github.com/ironfox-oss/IronFox.git
synced 2025-12-23 14:20:17 -05:00
fix: Get wallpaper metadata from a wallpapers.json file (instead of hardcoding like we've been doing - this is now closer to stock's approach) + fix metadata for our existing wallpapers (as they currently originate from Fennec F-Droid)
Signed-off-by: celenity <celenity@celenity.dev>
This commit is contained in:
@@ -118,10 +118,10 @@ index 5f0f76aa62..43b654a1e5 100644
|
||||
* Helper function used to migrate a legacy wallpaper's card colors that previously did not exist.
|
||||
*/
|
||||
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/wallpapers/WallpaperMetadataFetcher.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/wallpapers/WallpaperMetadataFetcher.kt
|
||||
index ab7ba29ba3..de133fc771 100644
|
||||
index ab7ba29ba34c88..c6e50be81d64f3 100644
|
||||
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/wallpapers/WallpaperMetadataFetcher.kt
|
||||
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/wallpapers/WallpaperMetadataFetcher.kt
|
||||
@@ -6,11 +6,11 @@ package org.mozilla.fenix.wallpapers
|
||||
@@ -6,15 +6,17 @@ package org.mozilla.fenix.wallpapers
|
||||
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
@@ -136,18 +136,21 @@ index ab7ba29ba3..de133fc771 100644
|
||||
import org.mozilla.fenix.utils.toHexColor
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Date
|
||||
@@ -21,24 +21,80 @@ import java.util.Locale
|
||||
*
|
||||
import java.util.Locale
|
||||
+import android.content.res.Resources
|
||||
+import org.mozilla.fenix.R
|
||||
|
||||
/**
|
||||
* Utility class for downloading wallpaper metadata from the remote server.
|
||||
@@ -22,23 +24,18 @@ import java.util.Locale
|
||||
* @param client The client that will be used to fetch metadata.
|
||||
*/
|
||||
-class WallpaperMetadataFetcher(
|
||||
class WallpaperMetadataFetcher(
|
||||
- private val client: Client,
|
||||
-) {
|
||||
+ private val resources: Resources,
|
||||
) {
|
||||
- private val metadataUrl = BuildConfig.WALLPAPER_URL.substringBefore("android") +
|
||||
- "metadata/v$CURRENT_JSON_VERSION/wallpapers.json"
|
||||
+class WallpaperMetadataFetcher {
|
||||
+// private val client: Client,
|
||||
+//) {
|
||||
+// private val metadataUrl = BuildConfig.WALLPAPER_URL.substringBefore("android") +
|
||||
+// "metadata/v$CURRENT_JSON_VERSION/wallpapers.json"
|
||||
|
||||
@@ -161,76 +164,16 @@ index ab7ba29ba3..de133fc771 100644
|
||||
- response.body.useBufferedReader {
|
||||
- val json = it.readText()
|
||||
- JSONObject(json).parseAsWallpapers()
|
||||
+// Result.runCatching {
|
||||
+// val request = Request(url = metadataUrl, method = Request.Method.GET, conservative = true)
|
||||
+// val response = client.fetch(request)
|
||||
+// response.body.useBufferedReader {
|
||||
+ val json = """
|
||||
+ {
|
||||
+ "last-updated-date": "2023-08-23",
|
||||
+ "collections": [
|
||||
+ {
|
||||
+ "id": "classic-firefox",
|
||||
+ "heading": null,
|
||||
+ "description": null,
|
||||
+ "available-locales": null,
|
||||
+ "availability-range": null,
|
||||
+ "learn-more-url": null,
|
||||
+ "wallpapers": [
|
||||
+ {
|
||||
+ "id": "algae",
|
||||
+ "text-color": "FBFBFE",
|
||||
+ "card-color": "15141A",
|
||||
+ "card-color-light": "E3F8F9",
|
||||
+ "card-color-dark": "1D2D32",
|
||||
+ "logo-text-color": "FBFBFE"
|
||||
+ },
|
||||
+ {
|
||||
+ "id": "colorful-bubbles",
|
||||
+ "text-color": "FBFBFE",
|
||||
+ "card-color": "15141A",
|
||||
+ "card-color-light": "E3F8F9",
|
||||
+ "card-color-dark": "1D2D32",
|
||||
+ "logo-text-color": "FBFBFE"
|
||||
+ },
|
||||
+ {
|
||||
+ "id": "dark-dune",
|
||||
+ "text-color": "FBFBFE",
|
||||
+ "card-color": "15141A",
|
||||
+ "card-color-light": "E3F8F9",
|
||||
+ "card-color-dark": "1D2D32",
|
||||
+ "logo-text-color": "FBFBFE"
|
||||
+ },
|
||||
+ {
|
||||
+ "id": "dune",
|
||||
+ "text-color": "FBFBFE",
|
||||
+ "card-color": "15141A",
|
||||
+ "card-color-light": "E3F8F9",
|
||||
+ "card-color-dark": "1D2D32",
|
||||
+ "logo-text-color": "FBFBFE"
|
||||
+ },
|
||||
+ {
|
||||
+ "id": "firey-red",
|
||||
+ "text-color": "FBFBFE",
|
||||
+ "card-color": "15141A",
|
||||
+ "card-color-light": "E3F8F9",
|
||||
+ "card-color-dark": "1D2D32",
|
||||
+ "logo-text-color": "FBFBFE"
|
||||
+ }
|
||||
+ ]
|
||||
+ }
|
||||
+ ]
|
||||
}
|
||||
- }
|
||||
- }.getOrElse { listOf() }
|
||||
+ """.trimIndent()
|
||||
+ val json = resources.openRawResource(R.raw.wallpapers).bufferedReader()
|
||||
+ .use { it.readText() }
|
||||
+ return@withContext JSONObject(json).parseAsWallpapers()
|
||||
+// }
|
||||
+// }.getOrElse { listOf() }
|
||||
}
|
||||
|
||||
private fun JSONObject.parseAsWallpapers(): List<Wallpaper> =
|
||||
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/wallpapers/WallpapersUseCases.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/wallpapers/WallpapersUseCases.kt
|
||||
index 2a696cacea..a4a9add6ab 100644
|
||||
index 2a696cacea3c7f..441df87ea560c2 100644
|
||||
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/wallpapers/WallpapersUseCases.kt
|
||||
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/wallpapers/WallpapersUseCases.kt
|
||||
@@ -45,9 +45,10 @@ class WallpapersUseCases(
|
||||
@@ -238,7 +181,7 @@ index 2a696cacea..a4a9add6ab 100644
|
||||
// in the app's lifetime to ensure that any potential long-running tasks can complete quickly.
|
||||
val initialize: InitializeWallpapersUseCase by lazy {
|
||||
- val metadataFetcher = WallpaperMetadataFetcher(client)
|
||||
+ val metadataFetcher = WallpaperMetadataFetcher()
|
||||
+ val metadataFetcher = WallpaperMetadataFetcher(context.resources)
|
||||
val migrationHelper = LegacyWallpaperMigration(
|
||||
storageRootDirectory = storageRootDirectory,
|
||||
+ assetManager = context.assets,
|
||||
|
||||
55
patches/fenix-overlay/app/src/main/res/raw/wallpapers.json
Normal file
55
patches/fenix-overlay/app/src/main/res/raw/wallpapers.json
Normal file
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"last-updated-date": "2025-12-22",
|
||||
"collections": [
|
||||
{
|
||||
"id": "fennec-fdroid",
|
||||
"heading": "Fennec F-Droid",
|
||||
"description": "Wallpapers from Fennec F-Droid.",
|
||||
"available-locales": null,
|
||||
"availability-range": null,
|
||||
"learn-more-url": "https://gitlab.com/relan/fennecmedia",
|
||||
"wallpapers": [
|
||||
{
|
||||
"id": "algae",
|
||||
"text-color": "FBFBFE",
|
||||
"card-color": "15141A",
|
||||
"card-color-light": "E3F8F9",
|
||||
"card-color-dark": "1D2D32",
|
||||
"logo-text-color": "FBFBFE"
|
||||
},
|
||||
{
|
||||
"id": "colorful-bubbles",
|
||||
"text-color": "FBFBFE",
|
||||
"card-color": "15141A",
|
||||
"card-color-light": "E3F8F9",
|
||||
"card-color-dark": "1D2D32",
|
||||
"logo-text-color": "FBFBFE"
|
||||
},
|
||||
{
|
||||
"id": "dark-dune",
|
||||
"text-color": "FBFBFE",
|
||||
"card-color": "15141A",
|
||||
"card-color-light": "E3F8F9",
|
||||
"card-color-dark": "1D2D32",
|
||||
"logo-text-color": "FBFBFE"
|
||||
},
|
||||
{
|
||||
"id": "dune",
|
||||
"text-color": "FBFBFE",
|
||||
"card-color": "15141A",
|
||||
"card-color-light": "E3F8F9",
|
||||
"card-color-dark": "1D2D32",
|
||||
"logo-text-color": "FBFBFE"
|
||||
},
|
||||
{
|
||||
"id": "firey-red",
|
||||
"text-color": "FBFBFE",
|
||||
"card-color": "15141A",
|
||||
"card-color-light": "E3F8F9",
|
||||
"card-color-dark": "1D2D32",
|
||||
"logo-text-color": "FBFBFE"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -109,6 +109,10 @@
|
||||
<!-- Toast shown after confirming the UnifiedPush configuration -->
|
||||
<string name="toast_change_unifiedpush_done">UnifiedPush setting modified. Quitting the application to apply changes…</string>
|
||||
|
||||
<!-- Wallpapers -->
|
||||
<string name="wallpaper_collection_fennec" translatable="false">Fennec F-Droid</string>
|
||||
<string name="wallpaper_collection_fennec_description">Wallpapers from Fennec F-Droid. %s</string>
|
||||
|
||||
<!-- WebAssembly -->
|
||||
<string name="preference_wasm_enabled">Enable WebAssembly (WASM)</string>
|
||||
|
||||
|
||||
@@ -378,6 +378,10 @@ mkdir -vp app/src/main/assets/wallpapers/dark-dune
|
||||
mkdir -vp app/src/main/assets/wallpapers/dune
|
||||
mkdir -vp app/src/main/assets/wallpapers/firey-red
|
||||
|
||||
# Display proper name and description for wallpaper collection
|
||||
$SED -i -e 's|R.string.wallpaper_artist_series_title|R.string.wallpaper_collection_fennec|' app/src/main/java/org/mozilla/fenix/settings/wallpaper/WallpaperSettings.kt
|
||||
$SED -i -e 's|R.string.wallpaper_artist_series_description_with_learn_more|R.string.wallpaper_collection_fennec_description|' app/src/main/java/org/mozilla/fenix/settings/wallpaper/WallpaperSettings.kt
|
||||
|
||||
# Set up target parameters
|
||||
case "$1" in
|
||||
arm)
|
||||
|
||||
Reference in New Issue
Block a user