[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [Git][tpo/applications/firefox-android][firefox-android-115.2.1-13.5-1] Bug 1906024 - Format download file names better a=diannaS [BP131]



Title: GitLab

ma1 pushed to branch firefox-android-115.2.1-13.5-1 at The Tor Project / Applications / firefox-android

Commits:

  • 257aa5e5
    by hackademix at 2024-09-30T21:41:21+02:00
    Bug 1906024 - Format download file names better  a=diannaS [BP131]
    

1 changed file:

Changes:

  • android-components/components/support/ktx/src/main/java/mozilla/components/support/ktx/kotlin/String.kt
    ... ... @@ -49,6 +49,8 @@ const val MAX_URI_LENGTH = 25000
    49 49
     
    
    50 50
     private const val FILE_PREFIX = "file://"
    
    51 51
     private const val MAX_VALID_PORT = 65_535
    
    52
    +private const val SPACE = " "
    
    53
    +private const val UNDERSCORE = "_"
    
    52 54
     
    
    53 55
     /**
    
    54 56
      * Shortens URLs to be more user friendly.
    
    ... ... @@ -303,7 +305,27 @@ fun String.sanitizeFileName(): String {
    303 305
             file.name.replace("\\.\\.+".toRegex(), ".")
    
    304 306
         } else {
    
    305 307
             file.name.replace(".", "")
    
    306
    -    }
    
    308
    +    }.replaceContinuousSpaces()
    
    309
    +        .replaceEscapedCharacters()
    
    310
    +        .trim()
    
    311
    +}
    
    312
    +
    
    313
    +
    
    314
    +/**
    
    315
    + * Replaces control characters from ASCII 0 to ASCII 19 with '_' so the file name is valid
    
    316
    + * and is correctly displayed.
    
    317
    + */
    
    318
    +private fun String.replaceEscapedCharacters(): String {
    
    319
    +    val escapedCharactersRegex = "[\\x00-\\x13*\"?<>:|\\\\]".toRegex()
    
    320
    +    return replace(escapedCharactersRegex, UNDERSCORE)
    
    321
    +}
    
    322
    +
    
    323
    +/**
    
    324
    + * Replaces continuous spaces with a single space.
    
    325
    + */
    
    326
    +private fun String.replaceContinuousSpaces(): String {
    
    327
    +    val escapedCharactersRegex = "[\\p{Z}\\s]+".toRegex()
    
    328
    +    return replace(escapedCharactersRegex, SPACE)
    
    307 329
     }
    
    308 330
     
    
    309 331
     /**
    

  • _______________________________________________
    tor-commits mailing list
    tor-commits@xxxxxxxxxxxxxxxxxxxx
    https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits