commit 0984644adcaddcc0a4efc18e7949d9b8f4dbe4d9
parent 79be5da030dd2fa582ad3c7cb0bdd57181d072dc
Author: rhunk <101876869+rhunk@users.noreply.github.com>
Date:   Sun,  3 Dec 2023 12:57:07 +0100
fix(core/media_downloader): public stories username
Diffstat:
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/core/src/main/kotlin/me/rhunk/snapenhance/core/features/impl/downloader/MediaDownloader.kt b/core/src/main/kotlin/me/rhunk/snapenhance/core/features/impl/downloader/MediaDownloader.kt
@@ -372,11 +372,16 @@ class MediaDownloader : MessagingRuleFeature("MediaDownloader", MessagingRuleTyp
         //public stories
         if ((snapSource == "PUBLIC_USER" || snapSource == "SAVED_STORY") &&
             (forceDownload || canAutoDownload("public_stories"))) {
-            val userDisplayName = (if (paramMap.containsKey("USER_DISPLAY_NAME")) paramMap["USER_DISPLAY_NAME"].toString() else "").sanitizeForPath()
+            val username = (
+                paramMap["USERNAME"]?.toString()?.substringAfter("value=")
+                    ?.substringBefore(")")?.substringBefore(",")
+                ?: paramMap["USER_DISPLAY_NAME"]?.toString()
+                ?: "unknown"
+            ).sanitizeForPath()
 
             downloadOperaMedia(provideDownloadManagerClient(
                 mediaIdentifier = paramMap["SNAP_ID"].toString(),
-                mediaAuthor = userDisplayName,
+                mediaAuthor = username,
                 downloadSource = MediaDownloadSource.PUBLIC_STORY,
                 creationTimestamp = paramMap["SNAP_TIMESTAMP"]?.toString()?.toLongOrNull(),
             ), mediaInfoMap)