# Conflicts: # README.md # app/build.gradle # app/src/main/java/eu/kanade/tachiyomi/App.kt # app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt # app/src/main/java/eu/kanade/tachiyomi/data/updater/UpdateDownloaderReceiver.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoPresenter.kt # app/src/main/res/menu/library.xml # app/src/main/res/values/strings.xml # app/src/test/java/eu/kanade/tachiyomi/data/database/ChapterRecognitionTest.kt
28 lines
919 B
Kotlin
Executable File
28 lines
919 B
Kotlin
Executable File
package eu.kanade.tachiyomi.util
|
|
|
|
import java.lang.Math.floor
|
|
|
|
/**
|
|
* Replaces the given string to have at most [count] characters using [replacement] at its end.
|
|
* If [replacement] is longer than [count] an exception will be thrown when `length > count`.
|
|
*/
|
|
fun String.chop(count: Int, replacement: String = "..."): String {
|
|
return if (length > count)
|
|
take(count - replacement.length) + replacement
|
|
else
|
|
this
|
|
|
|
}
|
|
|
|
/**
|
|
* Replaces the given string to have at most [count] characters using [replacement] near the center.
|
|
* If [replacement] is longer than [count] an exception will be thrown when `length > count`.
|
|
*/
|
|
fun String.truncateCenter(count: Int, replacement: String = "..."): String{
|
|
if(length <= count)
|
|
return this
|
|
|
|
val pieceLength:Int = floor((count - replacement.length).div(2.0)).toInt()
|
|
|
|
return "${ take(pieceLength) }$replacement${ takeLast(pieceLength) }"
|
|
} |