(cherry picked from commit f0eb42e72d1e267049777a303bd97d96517a9a1f) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupRestore.kt # app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/Backup.kt # app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/BackupManga.kt # app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/models/Backup.kt # app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt # app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt # app/src/main/java/eu/kanade/tachiyomi/ui/base/changehandler/OneWayFadeChangeHandler.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/SelectionHeader.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceItem.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterSheet.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryHolder.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryListHolder.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPageSheet.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/model/ReaderPage.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt # app/src/main/java/eu/kanade/tachiyomi/util/view/ViewExtensions.kt
71 lines
2.7 KiB
Kotlin
71 lines
2.7 KiB
Kotlin
package exh.log
|
|
|
|
import android.content.Context
|
|
import android.view.View
|
|
import android.view.ViewGroup
|
|
import android.widget.LinearLayout
|
|
import android.widget.TextView
|
|
import androidx.core.text.HtmlCompat
|
|
import com.ms_square.debugoverlay.DataObserver
|
|
import com.ms_square.debugoverlay.OverlayModule
|
|
import eu.kanade.tachiyomi.BuildConfig
|
|
import eu.kanade.tachiyomi.R
|
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
|
import eu.kanade.tachiyomi.util.system.dpToPx
|
|
import uy.kohesive.injekt.injectLazy
|
|
import java.util.Locale
|
|
|
|
class EHDebugModeOverlay(private val context: Context) : OverlayModule<String>(null, null) {
|
|
private var textView: TextView? = null
|
|
private val preferences: PreferencesHelper by injectLazy()
|
|
|
|
override fun start() {}
|
|
override fun stop() {}
|
|
override fun notifyObservers() {}
|
|
override fun addObserver(observer: DataObserver<Any>) {
|
|
observer.onDataAvailable(buildInfo())
|
|
}
|
|
override fun removeObserver(observer: DataObserver<Any>) {}
|
|
override fun onDataAvailable(data: String?) {
|
|
textView?.text = HtmlCompat.fromHtml(data.orEmpty(), HtmlCompat.FROM_HTML_MODE_LEGACY)
|
|
}
|
|
|
|
override fun createView(root: ViewGroup, textColor: Int, textSize: Float, textAlpha: Float): View {
|
|
val view = LinearLayout(root.context).apply {
|
|
layoutParams = ViewGroup.LayoutParams(
|
|
ViewGroup.LayoutParams.WRAP_CONTENT,
|
|
ViewGroup.LayoutParams.WRAP_CONTENT,
|
|
)
|
|
setPadding(4.dpToPx, 0, 4.dpToPx, 4.dpToPx)
|
|
}
|
|
|
|
val textView = TextView(view.context).apply {
|
|
setTextColor(textColor)
|
|
this.textSize = textSize
|
|
alpha = textAlpha
|
|
text = HtmlCompat.fromHtml(buildInfo(), HtmlCompat.FROM_HTML_MODE_LEGACY)
|
|
layoutParams = LinearLayout.LayoutParams(
|
|
ViewGroup.LayoutParams.WRAP_CONTENT,
|
|
ViewGroup.LayoutParams.WRAP_CONTENT,
|
|
)
|
|
}
|
|
|
|
view.addView(textView)
|
|
this.textView = textView
|
|
return view
|
|
}
|
|
|
|
private fun buildInfo() =
|
|
"""
|
|
<font color='green'>===[ ${context.getString(R.string.app_name)} ]===</font><br>
|
|
<b>Build type:</b> ${BuildConfig.BUILD_TYPE}<br>
|
|
<b>Debug mode:</b> ${BuildConfig.DEBUG.asEnabledString()}<br>
|
|
<b>Version code:</b> ${BuildConfig.VERSION_CODE}<br>
|
|
<b>Commit SHA:</b> ${BuildConfig.COMMIT_SHA}<br>
|
|
<b>Log level:</b> ${EHLogLevel.currentLogLevel.name.lowercase(Locale.getDefault())}<br>
|
|
<b>Source blacklist:</b> ${preferences.enableSourceBlacklist().get().asEnabledString()}
|
|
""".trimIndent()
|
|
|
|
private fun Boolean.asEnabledString() = if (this) "enabled" else "disabled"
|
|
}
|