Merge remote-tracking branch 'upstream/master'

This commit is contained in:
jmir1 2021-11-18 13:17:03 +01:00
commit ce74fda529
109 changed files with 1235 additions and 1007 deletions

View file

@ -28,7 +28,6 @@ android {
applicationId = "xyz.jmir.tachiyomi.mi"
minSdk = AndroidConfig.minSdk
targetSdk = AndroidConfig.targetSdk
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
versionCode = 71
versionName = "0.12.3.2"
@ -44,6 +43,8 @@ android {
ndk {
abiFilters += SUPPORTED_ABIS
}
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
splits {
@ -112,6 +113,11 @@ android {
buildFeatures {
viewBinding = true
// Disable some unused things
aidl = false
renderScript = false
shaders = false
}
lint {
@ -141,10 +147,10 @@ dependencies {
implementation("org.tachiyomi:source-api:1.1")
// AndroidX libraries
implementation("androidx.annotation:annotation:1.3.0-rc01")
implementation("androidx.annotation:annotation:1.3.0")
implementation("androidx.appcompat:appcompat:1.4.0-rc01")
implementation("androidx.biometric:biometric-ktx:1.2.0-alpha03")
implementation("androidx.browser:browser:1.4.0-rc01")
implementation("androidx.browser:browser:1.4.0")
implementation("androidx.constraintlayout:constraintlayout:2.1.1")
implementation("androidx.coordinatorlayout:coordinatorlayout:1.1.0")
implementation("androidx.core:core-ktx:1.7.0")
@ -172,13 +178,13 @@ dependencies {
implementation("com.squareup.okhttp3:okhttp:$okhttpVersion")
implementation("com.squareup.okhttp3:logging-interceptor:$okhttpVersion")
implementation("com.squareup.okhttp3:okhttp-dnsoverhttps:$okhttpVersion")
implementation("com.squareup.okio:okio:2.10.0")
implementation("com.squareup.okio:okio:3.0.0")
// TLS 1.3 support for Android < 10
implementation("org.conscrypt:conscrypt-android:2.5.2")
// Data serialization (JSON, protobuf)
val kotlinSerializationVersion = "1.3.0"
val kotlinSerializationVersion = "1.3.1"
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinSerializationVersion")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-protobuf:$kotlinSerializationVersion")
@ -229,7 +235,7 @@ dependencies {
implementation("com.github.gpanther:java-nat-sort:natural-comparator-1.1")
// UI libraries
implementation("com.google.android.material:material:1.5.0-alpha05")
implementation("com.google.android.material:material:1.5.0-beta01")
implementation("com.github.dmytrodanylyk.android-process-button:library:1.0.4")
implementation("com.github.arkon.FlexibleAdapter:flexible-adapter:c8013533")
implementation("com.github.arkon.FlexibleAdapter:flexible-adapter-ui:c8013533")
@ -259,7 +265,7 @@ dependencies {
// Crash reports/analytics
implementation("ch.acra:acra-http:5.8.1")
"standardImplementation"("com.google.firebase:firebase-analytics:19.0.2")
"standardImplementation"("com.google.firebase:firebase-analytics-ktx:20.0.0")
// Licenses
implementation("com.mikepenz:aboutlibraries-core:${BuildPluginsVersion.ABOUTLIB_PLUGIN}")
@ -282,7 +288,7 @@ dependencies {
// debugImplementation("com.squareup.leakcanary:leakcanary-android:2.7")
// Exoplayer
val exoplayerVersion = "2.13.3"
val exoplayerVersion = "2.16.0"
implementation("com.google.android.exoplayer:exoplayer:$exoplayerVersion")
implementation("com.google.android.exoplayer:exoplayer-core:$exoplayerVersion")
implementation("com.google.android.exoplayer:exoplayer-dash:$exoplayerVersion")

View file

@ -33,6 +33,7 @@ import eu.kanade.tachiyomi.network.NetworkHelper
import eu.kanade.tachiyomi.ui.security.SecureActivityDelegate
import eu.kanade.tachiyomi.util.system.AuthenticatorUtil
import eu.kanade.tachiyomi.util.system.animatorDurationScale
import eu.kanade.tachiyomi.util.system.logcat
import eu.kanade.tachiyomi.util.system.notification
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
@ -147,7 +148,11 @@ open class App : Application(), DefaultLifecycleObserver, ImageLoaderFactory {
}
protected open fun setupNotificationChannels() {
Notifications.createChannels(this)
try {
Notifications.createChannels(this)
} catch (e: Exception) {
logcat(LogPriority.ERROR, e) { "Failed to modify notification channels" }
}
}
private inner class DisableIncognitoReceiver : BroadcastReceiver() {

View file

@ -31,11 +31,11 @@ object PreferenceValues {
GREEN_APPLE(R.string.theme_greenapple),
TEALTURQUOISE(R.string.theme_tealturquoise),
YINYANG(R.string.theme_yinyang),
BLUE(R.string.theme_blue),
// Deprecated
DARK_BLUE(null),
HOT_PINK(null),
BLUE(null),
}
enum class TappingInvertMode(val shouldInvertHorizontal: Boolean = false, val shouldInvertVertical: Boolean = false) {
@ -53,6 +53,7 @@ object PreferenceValues {
}
enum class TabletUiMode {
AUTOMATIC,
ALWAYS,
LANDSCAPE,
NEVER,
@ -61,6 +62,6 @@ object PreferenceValues {
enum class ExtensionInstaller {
LEGACY,
PACKAGEINSTALLER,
SHIZUKU
SHIZUKU,
}
}

View file

@ -20,7 +20,6 @@ import eu.kanade.tachiyomi.ui.library.setting.SortModeSetting
import eu.kanade.tachiyomi.ui.reader.setting.OrientationType
import eu.kanade.tachiyomi.ui.reader.setting.ReadingModeType
import eu.kanade.tachiyomi.util.system.MiuiUtil
import eu.kanade.tachiyomi.util.system.isTablet
import eu.kanade.tachiyomi.widget.ExtendedNavigationView
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.onEach
@ -207,7 +206,7 @@ class PreferencesHelper(val context: Context) {
fun jumpToEpisodes() = prefs.getBoolean(Keys.jumpToEpisodes, false)
fun updateOnlyNonCompleted() = prefs.getBoolean(Keys.updateOnlyNonCompleted, false)
fun updateOnlyNonCompleted() = prefs.getBoolean(Keys.updateOnlyNonCompleted, true)
fun autoUpdateTrack() = prefs.getBoolean(Keys.autoUpdateTrack, true)
@ -401,10 +400,7 @@ class PreferencesHelper(val context: Context) {
fun incognitoMode() = flowPrefs.getBoolean(Keys.incognitoMode, false)
fun tabletUiMode() = flowPrefs.getEnum(
Keys.tabletUiMode,
if (context.applicationContext.isTablet()) Values.TabletUiMode.ALWAYS else Values.TabletUiMode.NEVER
)
fun tabletUiMode() = flowPrefs.getEnum(Keys.tabletUiMode, Values.TabletUiMode.AUTOMATIC)
fun extensionInstaller() = flowPrefs.getEnum(
Keys.extensionInstaller,

View file

@ -17,9 +17,9 @@ class AppUpdateChecker {
private val networkService: NetworkHelper by injectLazy()
private val preferences: PreferencesHelper by injectLazy()
suspend fun checkForUpdate(context: Context): AppUpdateResult {
suspend fun checkForUpdate(context: Context, isUserPrompt: Boolean = false): AppUpdateResult {
// Limit checks to once a day at most
if (Date().time < preferences.lastAppCheck().get() + TimeUnit.DAYS.toMillis(1)) {
if (isUserPrompt.not() && Date().time < preferences.lastAppCheck().get() + TimeUnit.DAYS.toMillis(1)) {
return AppUpdateResult.NoNewUpdate
}

View file

@ -22,6 +22,7 @@ import androidx.appcompat.view.ActionMode
import androidx.core.content.FileProvider
import androidx.core.net.toFile
import androidx.core.os.bundleOf
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.doOnLayout
import androidx.core.view.isVisible
@ -314,17 +315,13 @@ class AnimeController :
}
}
binding.swipeRefresh.doOnLayout { swipeRefresh ->
ViewCompat.setOnApplyWindowInsetsListener(binding.swipeRefresh) { swipeRefresh, windowInsets ->
swipeRefresh as SwipeRefreshLayout
swipeRefresh.setOnApplyWindowInsetsListener { _, windowInsets ->
val topStatusBarInset = WindowInsetsCompat.toWindowInsetsCompat(windowInsets)
.getInsets(WindowInsetsCompat.Type.statusBars())
.top
swipeRefresh.isRefreshing = false
swipeRefresh.setProgressViewEndTarget(false, getMainAppBarHeight() + topStatusBarInset)
updateRefreshing()
windowInsets
}
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.statusBars())
swipeRefresh.isRefreshing = false
swipeRefresh.setProgressViewEndTarget(false, getMainAppBarHeight() + insets.top)
updateRefreshing()
windowInsets
}
}

View file

@ -39,10 +39,6 @@ abstract class BaseThemedActivity : AppCompatActivity() {
PreferenceValues.AppTheme.MONET -> {
resIds += R.style.Theme_Tachiyomi_Monet
}
PreferenceValues.AppTheme.BLUE -> {
resIds += R.style.Theme_Tachiyomi_Blue
resIds += R.style.ThemeOverlay_Tachiyomi_ColoredBars
}
PreferenceValues.AppTheme.GREEN_APPLE -> {
resIds += R.style.Theme_Tachiyomi_GreenApple
}

View file

@ -6,7 +6,7 @@ import coil.clear
import coil.load
import eu.davidea.viewholders.FlexibleViewHolder
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.databinding.ExtensionCardItemBinding
import eu.kanade.tachiyomi.databinding.ExtensionItemBinding
import eu.kanade.tachiyomi.extension.model.AnimeExtension
import eu.kanade.tachiyomi.extension.model.InstallStep
import eu.kanade.tachiyomi.util.system.LocaleHelper
@ -14,7 +14,7 @@ import eu.kanade.tachiyomi.util.system.LocaleHelper
class AnimeExtensionHolder(view: View, val adapter: AnimeExtensionAdapter) :
FlexibleViewHolder(view, adapter) {
private val binding = ExtensionCardItemBinding.bind(view)
private val binding = ExtensionItemBinding.bind(view)
init {
binding.extButton.setOnClickListener {
@ -28,7 +28,7 @@ class AnimeExtensionHolder(view: View, val adapter: AnimeExtensionAdapter) :
fun bind(item: AnimeExtensionItem) {
val extension = item.extension
binding.extTitle.text = extension.name
binding.name.text = extension.name
binding.version.text = extension.versionName
binding.lang.text = LocaleHelper.getSourceDisplayName(extension.lang, itemView.context)
binding.warning.text = when {
@ -39,11 +39,11 @@ class AnimeExtensionHolder(view: View, val adapter: AnimeExtensionAdapter) :
else -> ""
}.uppercase()
binding.image.clear()
binding.icon.clear()
if (extension is AnimeExtension.Available) {
binding.image.load(extension.iconUrl)
binding.icon.load(extension.iconUrl)
} else {
extension.getApplicationIcon(itemView.context)?.let { binding.image.setImageDrawable(it) }
extension.getApplicationIcon(itemView.context)?.let { binding.icon.setImageDrawable(it) }
}
bindButtons(item)
}

View file

@ -27,7 +27,7 @@ data class AnimeExtensionItem(
* Returns the layout resource of this item.
*/
override fun getLayoutRes(): Int {
return R.layout.extension_card_item
return R.layout.extension_item
}
/**

View file

@ -6,7 +6,7 @@ import coil.clear
import coil.load
import eu.davidea.viewholders.FlexibleViewHolder
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.databinding.ExtensionCardItemBinding
import eu.kanade.tachiyomi.databinding.ExtensionItemBinding
import eu.kanade.tachiyomi.extension.model.Extension
import eu.kanade.tachiyomi.extension.model.InstallStep
import eu.kanade.tachiyomi.util.system.LocaleHelper
@ -14,7 +14,7 @@ import eu.kanade.tachiyomi.util.system.LocaleHelper
class ExtensionHolder(view: View, val adapter: ExtensionAdapter) :
FlexibleViewHolder(view, adapter) {
private val binding = ExtensionCardItemBinding.bind(view)
private val binding = ExtensionItemBinding.bind(view)
init {
binding.extButton.setOnClickListener {
@ -28,7 +28,7 @@ class ExtensionHolder(view: View, val adapter: ExtensionAdapter) :
fun bind(item: ExtensionItem) {
val extension = item.extension
binding.extTitle.text = extension.name
binding.name.text = extension.name
binding.version.text = extension.versionName
binding.lang.text = LocaleHelper.getSourceDisplayName(extension.lang, itemView.context)
binding.warning.text = when {
@ -39,11 +39,11 @@ class ExtensionHolder(view: View, val adapter: ExtensionAdapter) :
else -> ""
}.uppercase()
binding.image.clear()
binding.icon.clear()
if (extension is Extension.Available) {
binding.image.load(extension.iconUrl)
binding.icon.load(extension.iconUrl)
} else {
extension.getApplicationIcon(itemView.context)?.let { binding.image.setImageDrawable(it) }
extension.getApplicationIcon(itemView.context)?.let { binding.icon.setImageDrawable(it) }
}
bindButtons(item)
}

View file

@ -27,7 +27,7 @@ data class ExtensionItem(
* Returns the layout resource of this item.
*/
override fun getLayoutRes(): Int {
return R.layout.extension_card_item
return R.layout.extension_item
}
/**

View file

@ -33,7 +33,6 @@ import eu.kanade.tachiyomi.BuildConfig
import eu.kanade.tachiyomi.Migrations
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.notification.NotificationReceiver
import eu.kanade.tachiyomi.data.preference.PreferenceValues
import eu.kanade.tachiyomi.data.preference.asImmediateFlow
import eu.kanade.tachiyomi.data.updater.AppUpdateChecker
import eu.kanade.tachiyomi.data.updater.AppUpdateResult
@ -617,8 +616,7 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() {
binding.root.isLiftAppBarOnScroll = to !is NoAppBarElevationController
binding.appbar.isTransparentWhenNotLifted = (to is MangaController || to is AnimeController) &&
preferences.appTheme().get() != PreferenceValues.AppTheme.BLUE
binding.appbar.isTransparentWhenNotLifted = to is MangaController || to is AnimeController
binding.controllerContainer.overlapHeader = to is MangaController || to is AnimeController
}
}

View file

@ -18,6 +18,7 @@ import androidx.annotation.FloatRange
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.view.ActionMode
import androidx.core.os.bundleOf
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.doOnLayout
import androidx.core.view.isVisible
@ -293,17 +294,13 @@ class MangaController :
}
}
binding.swipeRefresh.doOnLayout { swipeRefresh ->
ViewCompat.setOnApplyWindowInsetsListener(binding.swipeRefresh) { swipeRefresh, windowInsets ->
swipeRefresh as SwipeRefreshLayout
swipeRefresh.setOnApplyWindowInsetsListener { _, windowInsets ->
val topStatusBarInset = WindowInsetsCompat.toWindowInsetsCompat(windowInsets)
.getInsets(WindowInsetsCompat.Type.statusBars())
.top
swipeRefresh.isRefreshing = false
swipeRefresh.setProgressViewEndTarget(false, getMainAppBarHeight() + topStatusBarInset)
updateRefreshing()
windowInsets
}
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.statusBars())
swipeRefresh.isRefreshing = false
swipeRefresh.setProgressViewEndTarget(false, getMainAppBarHeight() + insets.top)
updateRefreshing()
windowInsets
}
}

View file

@ -107,7 +107,7 @@ class AboutController : SettingsController(), NoAppBarElevationController {
launchNow {
try {
when (val result = updateChecker.checkForUpdate(activity!!)) {
when (val result = updateChecker.checkForUpdate(activity!!, isUserPrompt = true)) {
is AppUpdateResult.NewUpdate -> {
NewUpdateDialogController(result).showDialog(router)
}

View file

@ -18,13 +18,13 @@ import com.github.vkay94.dtpv.DoubleTapPlayerView
import com.github.vkay94.dtpv.youtube.YouTubeOverlay
import com.google.android.exoplayer2.DefaultLoadControl
import com.google.android.exoplayer2.DefaultRenderersFactory
import com.google.android.exoplayer2.ExoPlaybackException
import com.google.android.exoplayer2.ExoPlayer
import com.google.android.exoplayer2.MediaItem
import com.google.android.exoplayer2.PlaybackException
import com.google.android.exoplayer2.PlaybackParameters
import com.google.android.exoplayer2.Player
import com.google.android.exoplayer2.SimpleExoPlayer
import com.google.android.exoplayer2.analytics.AnalyticsCollector
import com.google.android.exoplayer2.database.ExoDatabaseProvider
import com.google.android.exoplayer2.database.StandaloneDatabaseProvider
import com.google.android.exoplayer2.source.DefaultMediaSourceFactory
import com.google.android.exoplayer2.source.MediaSourceFactory
import com.google.android.exoplayer2.source.TrackGroupArray
@ -33,7 +33,7 @@ import com.google.android.exoplayer2.trackselection.TrackSelectionArray
import com.google.android.exoplayer2.ui.AspectRatioFrameLayout
import com.google.android.exoplayer2.upstream.DataSource
import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory
import com.google.android.exoplayer2.upstream.DefaultDataSource
import com.google.android.exoplayer2.upstream.DefaultHttpDataSource
import com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException
import com.google.android.exoplayer2.upstream.HttpDataSource.InvalidResponseCodeException
@ -75,10 +75,8 @@ import rx.schedulers.Schedulers
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.io.File
import java.io.IOException
import java.util.Date
const val STATE_RESUME_WINDOW = "resumeWindow"
const val STATE_RESUME_POSITION = "resumePosition"
const val STATE_PLAYER_FULLSCREEN = "playerFullscreen"
const val STATE_PLAYER_PLAYING = "playerOnPlay"
@ -90,9 +88,9 @@ class PlayerActivity : AppCompatActivity() {
private val db: AnimeDatabaseHelper = Injekt.get()
private val downloadManager: AnimeDownloadManager = Injekt.get()
private val delayedTrackingStore: DelayedTrackingStore = Injekt.get()
private lateinit var exoPlayer: SimpleExoPlayer
private lateinit var exoPlayer: ExoPlayer
private lateinit var dataSourceFactory: DataSource.Factory
private lateinit var dbProvider: ExoDatabaseProvider
private lateinit var dbProvider: StandaloneDatabaseProvider
private val cacheSize = 100L * 1024L * 1024L // 100 MB
private lateinit var simpleCache: SimpleCache
private lateinit var cacheFactory: CacheDataSource.Factory
@ -121,7 +119,6 @@ class PlayerActivity : AppCompatActivity() {
private var currentQuality = 0
private var duration: Long = 0
private var currentWindow = 0
private var playbackPosition = 0L
private var isFullscreen = false
private var isPlayerPlaying = true
@ -168,7 +165,6 @@ class PlayerActivity : AppCompatActivity() {
initDummyPlayer()
if (savedInstanceState != null) {
currentWindow = savedInstanceState.getInt(STATE_RESUME_WINDOW)
playbackPosition = intent.extras!!.getLong("second")
isFullscreen = savedInstanceState.getBoolean(STATE_PLAYER_FULLSCREEN)
isPlayerPlaying = savedInstanceState.getBoolean(STATE_PLAYER_PLAYING)
@ -176,9 +172,9 @@ class PlayerActivity : AppCompatActivity() {
}
private fun initDummyPlayer() {
mediaSourceFactory = DefaultMediaSourceFactory(DefaultDataSourceFactory(this))
mediaSourceFactory = DefaultMediaSourceFactory(DefaultDataSource.Factory(this))
exoPlayer = newPlayer()
dbProvider = ExoDatabaseProvider(baseContext)
dbProvider = StandaloneDatabaseProvider(baseContext)
simpleCache = SimpleCache(
File(baseContext.filesDir, "media"),
LeastRecentlyUsedCacheEvictor(cacheSize),
@ -204,11 +200,11 @@ class PlayerActivity : AppCompatActivity() {
onGetLinksError()
return@launchUI
}
dbProvider = ExoDatabaseProvider(baseContext)
dbProvider = StandaloneDatabaseProvider(baseContext)
isLocal = (EpisodeLoader.isDownloaded(episode, anime) || source is LocalAnimeSource)
if (isLocal) {
uri = videos.first().uri!!.toString()
dataSourceFactory = DefaultDataSourceFactory(context)
dataSourceFactory = DefaultDataSource.Factory(context)
} else {
uri = videos.first().videoUrl!!
dataSourceFactory = newDataSourceFactory()
@ -363,7 +359,7 @@ class PlayerActivity : AppCompatActivity() {
speedAlert.setView(linear)
speedAlert.setPositiveButton(android.R.string.ok) { speedDialog, _ ->
exoPlayer.setPlaybackParameters(PlaybackParameters(newSpeed))
exoPlayer.playbackParameters = PlaybackParameters(newSpeed)
preferences.setPlayerSpeed(newSpeed)
speedDialog.dismiss()
}
@ -377,7 +373,7 @@ class PlayerActivity : AppCompatActivity() {
val newProgress = floatItems.indexOf(newSpeed)
text.text = items[newProgress]
seek.progress = newProgress
exoPlayer.setPlaybackParameters(PlaybackParameters(newSpeed))
exoPlayer.playbackParameters = PlaybackParameters(newSpeed)
preferences.setPlayerSpeed(newSpeed)
}
@ -431,7 +427,6 @@ class PlayerActivity : AppCompatActivity() {
youTubeDoubleTap.player(exoPlayer)
isPlayerPlaying = exoPlayer.playWhenReady
playbackPosition = exoPlayer.currentPosition
currentWindow = exoPlayer.currentWindowIndex
exoPlayer.release()
}
@ -484,7 +479,7 @@ class PlayerActivity : AppCompatActivity() {
private fun changePlayer(resumeAt: Long, isLocal: Boolean) {
dataSourceFactory = if (isLocal) {
DefaultDataSourceFactory(this)
DefaultDataSource.Factory(this)
} else {
newDataSourceFactory()
}
@ -503,21 +498,22 @@ class PlayerActivity : AppCompatActivity() {
playerView.player = exoPlayer
}
private fun newPlayer(): SimpleExoPlayer {
return SimpleExoPlayer.Builder(
private fun newPlayer(): ExoPlayer {
return ExoPlayer.Builder(
this,
DefaultRenderersFactory(this),
DefaultTrackSelector(this),
mediaSourceFactory,
DefaultTrackSelector(this),
DefaultLoadControl(),
DefaultBandwidthMeter.Builder(this).build(),
AnalyticsCollector(Clock.DEFAULT)
).build().apply {
setPlaybackParameters(PlaybackParameters(preferences.getPlayerSpeed()))
}
).setSeekForwardIncrementMs(85000L)
.build().apply {
playbackParameters = PlaybackParameters(preferences.getPlayerSpeed())
}
}
class PlayerEventListener(private val playerView: DoubleTapPlayerView, val baseContext: Context) : Player.EventListener {
class PlayerEventListener(private val playerView: DoubleTapPlayerView, val baseContext: Context) : Player.Listener {
override fun onPlayerStateChanged(playWhenReady: Boolean, playbackState: Int) {
playerView.keepScreenOn = !(
playbackState == Player.STATE_IDLE || playbackState == Player.STATE_ENDED ||
@ -527,30 +523,28 @@ class PlayerActivity : AppCompatActivity() {
override fun onTracksChanged(trackGroups: TrackGroupArray, trackSelections: TrackSelectionArray) {}
override fun onLoadingChanged(isLoading: Boolean) {}
override fun onRepeatModeChanged(repeatMode: Int) {}
override fun onPlayerError(error: ExoPlaybackException) {
if (error.type == ExoPlaybackException.TYPE_SOURCE) {
val cause: IOException = error.sourceException
if (cause is HttpDataSourceException) {
// An HTTP error occurred.
// This is the request for which the error occurred.
val requestDataSpec = cause.dataSpec
for (header in requestDataSpec.httpRequestHeaders) {
var message = ""
message += header.key + " - " + header.value
}
// It's possible to find out more about the error both by casting and by
// querying the cause.
if (cause is InvalidResponseCodeException) {
// Cast to InvalidResponseCodeException and retrieve the response code,
// message and headers.
val errorMessage =
"Error " + cause.responseCode.toString() + ": " + cause.message
baseContext.toast(errorMessage, Toast.LENGTH_SHORT)
} else {
cause.cause
// Try calling httpError.getCause() to retrieve the underlying cause,
// although note that it may be null.
}
override fun onPlayerError(error: PlaybackException) {
val cause: Throwable? = error.cause
if (cause is HttpDataSourceException) {
// An HTTP error occurred.
// This is the request for which the error occurred.
val requestDataSpec = cause.dataSpec
for (header in requestDataSpec.httpRequestHeaders) {
var message = ""
message += header.key + " - " + header.value
}
// It's possible to find out more about the error both by casting and by
// querying the cause.
if (cause is InvalidResponseCodeException) {
// Cast to InvalidResponseCodeException and retrieve the response code,
// message and headers.
val errorMessage =
"Error " + cause.responseCode.toString() + ": " + cause.message
baseContext.toast(errorMessage, Toast.LENGTH_SHORT)
} else {
cause.cause
// Try calling httpError.getCause() to retrieve the underlying cause,
// although note that it may be null.
}
}
}
@ -558,7 +552,6 @@ class PlayerActivity : AppCompatActivity() {
}
override fun onSaveInstanceState(outState: Bundle) {
outState.putInt(STATE_RESUME_WINDOW, exoPlayer.currentWindowIndex)
outState.putLong(STATE_RESUME_POSITION, exoPlayer.currentPosition)
outState.putBoolean(STATE_PLAYER_FULLSCREEN, isFullscreen)
outState.putBoolean(STATE_PLAYER_PLAYING, isPlayerPlaying)
@ -749,6 +742,5 @@ class PlayerActivity : AppCompatActivity() {
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
}
}
const val REQUEST_COOKIES = 1337
}
}

View file

@ -41,7 +41,6 @@ import eu.kanade.tachiyomi.util.preference.switchPreference
import eu.kanade.tachiyomi.util.preference.titleRes
import eu.kanade.tachiyomi.util.system.MiuiUtil
import eu.kanade.tachiyomi.util.system.isPackageInstalled
import eu.kanade.tachiyomi.util.system.isTablet
import eu.kanade.tachiyomi.util.system.powerManager
import eu.kanade.tachiyomi.util.system.toast
import uy.kohesive.injekt.injectLazy
@ -258,13 +257,9 @@ class SettingsAdvancedController : SettingsController() {
key = Keys.tabletUiMode
titleRes = R.string.pref_tablet_ui_mode
summary = "%s"
entriesRes = arrayOf(R.string.lock_always, R.string.landscape, R.string.lock_never)
entriesRes = arrayOf(R.string.automatic_background, R.string.lock_always, R.string.landscape, R.string.lock_never)
entryValues = PreferenceValues.TabletUiMode.values().map { it.name }.toTypedArray()
defaultValue = if (context.isTablet()) {
PreferenceValues.TabletUiMode.ALWAYS
} else {
PreferenceValues.TabletUiMode.NEVER
}.name
defaultValue = PreferenceValues.TabletUiMode.AUTOMATIC.name
onChange {
activity?.toast(R.string.requires_app_restart)

View file

@ -237,7 +237,7 @@ class SettingsLibraryController : SettingsController() {
switchPreference {
key = Keys.updateOnlyNonCompleted
titleRes = R.string.pref_update_only_non_completed
defaultValue = false
defaultValue = true
}
preference {
key = Keys.animelibUpdateCategories

View file

@ -60,7 +60,10 @@ fun Anime.shouldDownloadNewEpisodes(db: AnimeDatabaseHelper, prefs: PreferencesH
if (!downloadNew) return false
val categoriesToDownload = prefs.downloadNewCategoriesAnime().get().map(String::toInt)
if (categoriesToDownload.isEmpty()) return true
val categoriesToExclude = prefs.downloadNewCategoriesAnimeExclude().get().map(String::toInt)
// Default: download from all categories
if (categoriesToDownload.isEmpty() && categoriesToExclude.isEmpty()) return true
// Get all categories, else default category (0)
val categoriesForAnime =
@ -68,8 +71,9 @@ fun Anime.shouldDownloadNewEpisodes(db: AnimeDatabaseHelper, prefs: PreferencesH
.mapNotNull { it.id }
.takeUnless { it.isEmpty() } ?: listOf(0)
val categoriesToExclude = prefs.downloadNewCategoriesAnimeExclude().get().map(String::toInt)
// In excluded category
if (categoriesForAnime.intersect(categoriesToExclude).isNotEmpty()) return false
// In included category
return categoriesForAnime.intersect(categoriesToDownload).isNotEmpty()
}

View file

@ -60,7 +60,10 @@ fun Manga.shouldDownloadNewChapters(db: DatabaseHelper, prefs: PreferencesHelper
if (!downloadNew) return false
val categoriesToDownload = prefs.downloadNewCategories().get().map(String::toInt)
if (categoriesToDownload.isEmpty()) return true
val categoriesToExclude = prefs.downloadNewCategoriesExclude().get().map(String::toInt)
// Default: download from all categories
if (categoriesToDownload.isEmpty() && categoriesToExclude.isEmpty()) return true
// Get all categories, else default category (0)
val categoriesForManga =
@ -68,8 +71,9 @@ fun Manga.shouldDownloadNewChapters(db: DatabaseHelper, prefs: PreferencesHelper
.mapNotNull { it.id }
.takeUnless { it.isEmpty() } ?: listOf(0)
val categoriesToExclude = prefs.downloadNewCategoriesExclude().get().map(String::toInt)
// In excluded category
if (categoriesForManga.intersect(categoriesToExclude).isNotEmpty()) return false
// In included category
return categoriesForManga.intersect(categoriesToDownload).isNotEmpty()
}

View file

@ -307,26 +307,27 @@ fun Context.createFileInCacheDir(name: String): File {
}
/**
* We consider anything with a width of >= 720dp as a tablet, i.e. with layouts in layout-w720dp.
* We consider anything with a width of >= 720dp as a tablet, i.e. with layouts in layout-sw720dp.
*/
fun Context.isTablet(): Boolean {
return resources.configuration.screenWidthDp >= TABLET_UI_MIN_SCREEN_WIDTH_DP
return resources.configuration.smallestScreenWidthDp >= TABLET_UI_MIN_SCREEN_WIDTH_DP
}
fun Context.prepareTabletUiContext(): Context {
val configuration = resources.configuration
val expected = when (Injekt.get<PreferencesHelper>().tabletUiMode().get()) {
PreferenceValues.TabletUiMode.AUTOMATIC -> isTablet()
PreferenceValues.TabletUiMode.ALWAYS -> true
PreferenceValues.TabletUiMode.LANDSCAPE -> configuration.orientation == Configuration.ORIENTATION_LANDSCAPE
PreferenceValues.TabletUiMode.NEVER -> false
}
if (configuration.screenWidthDp >= TABLET_UI_MIN_SCREEN_WIDTH_DP != expected) {
if (configuration.smallestScreenWidthDp >= TABLET_UI_MIN_SCREEN_WIDTH_DP != expected) {
val overrideConf = Configuration()
overrideConf.setTo(configuration)
overrideConf.screenWidthDp = if (expected) {
overrideConf.screenWidthDp.coerceAtLeast(TABLET_UI_MIN_SCREEN_WIDTH_DP)
overrideConf.smallestScreenWidthDp = if (expected) {
overrideConf.smallestScreenWidthDp.coerceAtLeast(TABLET_UI_MIN_SCREEN_WIDTH_DP)
} else {
overrideConf.screenWidthDp.coerceAtMost(TABLET_UI_MIN_SCREEN_WIDTH_DP - 1)
overrideConf.smallestScreenWidthDp.coerceAtMost(TABLET_UI_MIN_SCREEN_WIDTH_DP - 1)
}
return createConfigurationContext(overrideConf)
}

View file

@ -1,11 +1,14 @@
package eu.kanade.tachiyomi.widget
import android.content.Context
import android.text.InputFilter
import android.text.SpannableStringBuilder
import android.text.Spanned
import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
import android.widget.LinearLayout
import androidx.core.text.isDigitsOnly
import androidx.core.widget.doOnTextChanged
import eu.kanade.tachiyomi.databinding.DownloadCustomAmountBinding
import eu.kanade.tachiyomi.util.system.logcat
@ -45,6 +48,7 @@ class DialogCustomDownloadView @JvmOverloads constructor(context: Context, attrs
// Set download count to 0.
binding.myNumber.text = SpannableStringBuilder(getAmount(0).toString())
binding.myNumber.filters = arrayOf(DigitInputFilter())
// When user presses button decrease amount by 10.
binding.btnDecrease10.setOnClickListener {
@ -102,3 +106,20 @@ class DialogCustomDownloadView @JvmOverloads constructor(context: Context, attrs
}
}
}
private class DigitInputFilter : InputFilter {
override fun filter(
source: CharSequence,
start: Int,
end: Int,
dest: Spanned,
dstart: Int,
dend: Int,
): CharSequence {
return when {
source.toString().isDigitsOnly() -> source.toString()
else -> ""
}
}
}

View file

@ -15,7 +15,7 @@ import androidx.core.view.forEach
import androidx.core.view.get
import com.tfcporciuncula.flow.Preference
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.databinding.SpinnerPreferenceBinding
import eu.kanade.tachiyomi.databinding.PrefSpinnerBinding
import eu.kanade.tachiyomi.util.system.getResourceColor
class MaterialSpinnerView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
@ -46,7 +46,7 @@ class MaterialSpinnerView @JvmOverloads constructor(context: Context, attrs: Att
}
}
private val binding = SpinnerPreferenceBinding.inflate(LayoutInflater.from(context), this, false)
private val binding = PrefSpinnerBinding.inflate(LayoutInflater.from(context), this, false)
init {
addView(binding.root)

View file

@ -4,6 +4,7 @@ import android.content.Context
import android.content.res.ColorStateList
import android.util.AttributeSet
import androidx.appcompat.widget.AppCompatTextView
import androidx.core.widget.TextViewCompat
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.util.system.getThemeColor
@ -31,7 +32,7 @@ class QuadStateTextView @JvmOverloads constructor(context: Context, attrs: Attri
context.getThemeColor(R.attr.colorAccent)
}
if (tint != 0) {
compoundDrawableTintList = ColorStateList.valueOf(tint)
TextViewCompat.setCompoundDrawableTintList(this, ColorStateList.valueOf(tint))
}
}

View file

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:duration="2000"
android:fillAfter="true"
android:fromAlpha="0.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="1.0" />
</set>

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/accent_monet" android:alpha="0.12" />
</selector>

View file

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Based on mtrl_bottom_nav_colored_item_tint
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:alpha="1.0" android:color="?attr/colorPrimary" android:state_checked="true" />
<item android:alpha="0.6" android:color="?attr/colorOnSurface" />
</selector>

View file

@ -2,184 +2,33 @@
xmlns:aapt="http://schemas.android.com/aapt">
<aapt:attr name="android:drawable">
<vector
android:name="vector"
android:width="1080dp"
android:height="1080dp"
android:viewportWidth="1080"
android:viewportHeight="1080">
<group android:name="_R_G">
<group android:name="_R_G_L_3_G">
<path
android:name="_R_G_L_3_G_D_0_P_0"
android:fillAlpha="1"
android:fillColor="#292929"
android:fillType="nonZero"
android:pathData=" M180.45 270.69 C180.45,270.69 90.53,270.69 90.53,270.69 C90.53,270.69 90.53,900.15 90.53,900.15 C90.53,949.61 131,990.08 180.45,990.08 C180.45,990.08 809.92,990.08 809.92,990.08 C809.92,990.08 809.92,900.15 809.92,900.15 C809.92,900.15 180.45,900.15 180.45,900.15 C180.45,900.15 180.45,270.69 180.45,270.69c M899.84 90.84 C899.84,90.84 360.3,90.84 360.3,90.84 C310.84,90.84 270.38,131.3 270.38,180.76 C270.38,180.76 270.38,720.31 270.38,720.31 C270.38,769.76 310.84,810.23 360.3,810.23 C360.3,810.23 899.84,810.23 899.84,810.23 C949.3,810.23 989.77,769.76 989.77,720.31 C989.77,720.31 989.77,180.76 989.77,180.76 C989.77,131.3 949.3,90.84 899.84,90.84c M899.84 720.31 C899.84,720.31 360.3,720.31 360.3,720.31 C360.3,720.31 360.3,180.76 360.3,180.76 C360.3,180.76 585.11,180.76 585.11,180.76 C585.11,180.76 585.11,585.42 585.11,585.42 C585.11,585.42 720,484.26 720,484.26 C720,484.26 854.88,585.42 854.88,585.42 C854.88,585.42 854.88,180.76 854.88,180.76 C854.88,180.76 899.84,180.76 899.84,180.76 C899.84,180.76 899.84,720.31 899.84,720.31c " />
</group>
<group
android:name="_R_G_L_2_G"
android:scaleY="0">
<path
android:name="_R_G_L_2_G_D_0_P_0"
android:fillAlpha="1"
android:fillColor="#292929"
android:fillType="nonZero"
android:pathData=" M180.25 270.53 C180.25,270.53 90.27,270.53 90.27,270.53 C90.27,270.53 90.27,900.36 90.27,900.36 C90.27,949.85 130.76,990.33 180.25,990.33 C180.25,990.33 810.07,990.33 810.07,990.33 C810.07,990.33 810.07,900.36 810.07,900.36 C810.07,900.36 180.25,900.36 180.25,900.36 C180.25,900.36 180.25,270.53 180.25,270.53c " />
<path
android:name="_R_G_L_2_G_D_1_P_0"
android:fillAlpha="1"
android:fillColor="#292929"
android:fillType="nonZero"
android:pathData=" M900.05 90.58 C900.05,90.58 360.2,90.58 360.2,90.58 C310.71,90.58 270.22,131.07 270.22,180.56 C270.22,180.56 270.22,720.41 270.22,720.41 C270.22,769.89 310.71,810.38 360.2,810.38 C360.2,810.38 900.05,810.38 900.05,810.38 C949.54,810.38 990.02,769.89 990.02,720.41 C990.02,720.41 990.02,180.56 990.02,180.56 C990.02,131.07 949.54,90.58 900.05,90.58c M825.51 289.73 C825.51,289.73 789.04,224.2 789.04,224.2 C789.04,224.2 752.57,289.88 752.57,289.88 C752.57,289.88 755.11,181.78 755.11,181.78 C755.11,181.78 824.05,181.83 824.05,181.83 C824.05,181.83 825.51,289.73 825.51,289.73c " />
</group>
<group
android:name="_R_G_L_1_G"
android:scaleY="0">
<path
android:name="_R_G_L_1_G_D_0_P_0"
android:fillAlpha="1"
android:fillColor="#292929"
android:fillType="nonZero"
android:pathData=" M180.25 270.53 C180.25,270.53 90.27,270.53 90.27,270.53 C90.27,270.53 90.27,900.36 90.27,900.36 C90.27,949.85 130.76,990.33 180.25,990.33 C180.25,990.33 810.07,990.33 810.07,990.33 C810.07,990.33 810.07,900.36 810.07,900.36 C810.07,900.36 180.25,900.36 180.25,900.36 C180.25,900.36 180.25,270.53 180.25,270.53c " />
<path
android:name="_R_G_L_1_G_D_1_P_0"
android:fillAlpha="1"
android:fillColor="#292929"
android:fillType="nonZero"
android:pathData=" M900.05 90.58 C900.05,90.58 360.2,90.58 360.2,90.58 C310.71,90.58 270.22,131.07 270.22,180.56 C270.22,180.56 270.22,720.41 270.22,720.41 C270.22,769.89 310.71,810.38 360.2,810.38 C360.2,810.38 900.05,810.38 900.05,810.38 C949.54,810.38 990.02,769.89 990.02,720.41 C990.02,720.41 990.02,180.56 990.02,180.56 C990.02,131.07 949.54,90.58 900.05,90.58c M900.05 540.46 C900.05,540.46 781.58,472.43 781.58,472.43 C781.58,472.43 655.11,538.68 655.11,538.68 C655.11,538.68 655.11,178.78 655.11,178.78 C655.11,178.78 900.05,180.56 900.05,180.56 C900.05,180.56 900.05,540.46 900.05,540.46c " />
</group>
<group
android:name="_R_G_L_0_G"
android:scaleY="0">
<path
android:name="_R_G_L_0_G_D_0_P_0"
android:fillAlpha="1"
android:fillColor="#292929"
android:fillType="nonZero"
android:pathData=" M180.45 270.69 C180.45,270.69 90.53,270.69 90.53,270.69 C90.53,270.69 90.53,900.15 90.53,900.15 C90.53,949.61 131,990.08 180.45,990.08 C180.45,990.08 809.92,990.08 809.92,990.08 C809.92,990.08 809.92,900.15 809.92,900.15 C809.92,900.15 180.45,900.15 180.45,900.15 C180.45,900.15 180.45,270.69 180.45,270.69c M899.84 90.84 C899.84,90.84 360.3,90.84 360.3,90.84 C310.84,90.84 270.38,131.3 270.38,180.76 C270.38,180.76 270.38,720.31 270.38,720.31 C270.38,769.76 310.84,810.23 360.3,810.23 C360.3,810.23 899.84,810.23 899.84,810.23 C949.3,810.23 989.77,769.76 989.77,720.31 C989.77,720.31 989.77,180.76 989.77,180.76 C989.77,131.3 949.3,90.84 899.84,90.84c M899.84 720.31 C899.84,720.31 360.3,720.31 360.3,720.31 C360.3,720.31 360.3,180.76 360.3,180.76 C360.3,180.76 349.11,181.07 349.11,181.07 C349.11,181.07 349.11,733.42 349.11,733.42 C349.11,733.42 628,736.26 628,736.26 C628,736.26 911.08,733.42 911.08,733.42 C911.08,733.42 910.88,181.07 910.88,181.07 C910.88,181.07 899.84,180.76 899.84,180.76 C899.84,180.76 899.84,720.31 899.84,720.31c " />
</group>
<group android:name="outline">
<path
android:name="path"
android:fillColor="#000000"
android:fillType="evenOdd"
android:pathData="M 180.45 270.69 C 180.45 270.69 90.53 270.69 90.53 270.69 C 90.53 270.69 90.53 900.15 90.53 900.15 C 90.53 949.61 131 990.08 180.45 990.08 C 180.45 990.08 809.92 990.08 809.92 990.08 C 809.92 990.08 809.92 900.15 809.92 900.15 C 809.92 900.15 180.45 900.15 180.45 900.15 C 180.45 900.15 180.45 270.69 180.45 270.69 M 899.84 90.84 C 899.84 90.84 360.3 90.84 360.3 90.84 C 310.84 90.84 270.38 131.3 270.38 180.76 C 270.38 180.76 270.38 720.31 270.38 720.31 C 270.38 769.76 310.84 810.23 360.3 810.23 C 360.3 810.23 899.84 810.23 899.84 810.23 C 949.3 810.23 989.77 769.76 989.77 720.31 C 989.77 720.31 989.77 180.76 989.77 180.76 C 989.77 131.3 949.3 90.84 899.84 90.84 M 899.84 720.31 C 899.84 720.31 360.3 720.31 360.3 720.31 C 360.3 720.31 360.3 180.76 360.3 180.76 C 360.3 180.76 585.11 180.76 585.11 180.76 C 585.11 180.76 585.11 585.42 585.11 585.42 C 585.11 585.42 720 484.26 720 484.26 C 720 484.26 854.88 585.42 854.88 585.42 C 854.88 585.42 854.88 180.76 854.88 180.76 C 854.88 180.76 899.84 180.76 899.84 180.76 C 899.84 180.76 899.84 720.31 899.84 720.31" />
</group>
<group android:name="time_group" />
<path
android:name="path_3"
android:fillColor="#000000"
android:pathData="M 899.84 90.84 C 899.84 90.84 360.3 90.84 360.3 90.84 C 310.84 90.84 270.38 131.3 270.38 180.76 C 270.38 180.76 270.38 720.31 270.38 720.31 C 270.38 769.76 310.84 810.23 360.3 810.23 C 360.3 810.23 899.84 810.23 899.84 810.23 C 949.3 810.23 989.77 769.76 989.77 720.31 C 989.77 720.31 989.77 180.76 989.77 180.76 C 989.77 131.3 949.3 90.84 899.84 90.84 M 899.84 720.31 C 899.84 720.31 360.3 720.31 360.3 720.31 C 360.3 720.31 360.3 180.76 360.3 180.76 C 360.3 180.76 585.11 180.76 585.11 180.76 C 854.88 180.76 899.84 180.76 899.84 180.76 C 899.84 180.76 899.84 720.31 899.84 720.31" />
</vector>
</aapt:attr>
<target android:name="_R_G_L_3_G_D_0_P_0">
<target android:name="path">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="33"
android:propertyName="pathData"
android:startOffset="0"
android:valueFrom=" M180.45 270.69 C180.45,270.69 90.53,270.69 90.53,270.69 C90.53,270.69 90.53,900.15 90.53,900.15 C90.53,949.61 131,990.08 180.45,990.08 C180.45,990.08 809.92,990.08 809.92,990.08 C809.92,990.08 809.92,900.15 809.92,900.15 C809.92,900.15 180.45,900.15 180.45,900.15 C180.45,900.15 180.45,270.69 180.45,270.69c M899.84 90.84 C899.84,90.84 360.3,90.84 360.3,90.84 C310.84,90.84 270.38,131.3 270.38,180.76 C270.38,180.76 270.38,720.31 270.38,720.31 C270.38,769.76 310.84,810.23 360.3,810.23 C360.3,810.23 899.84,810.23 899.84,810.23 C949.3,810.23 989.77,769.76 989.77,720.31 C989.77,720.31 989.77,180.76 989.77,180.76 C989.77,131.3 949.3,90.84 899.84,90.84c M899.84 720.31 C899.84,720.31 360.3,720.31 360.3,720.31 C360.3,720.31 360.3,180.76 360.3,180.76 C360.3,180.76 585.11,180.76 585.11,180.76 C585.11,180.76 585.11,585.42 585.11,585.42 C585.11,585.42 720,484.26 720,484.26 C720,484.26 854.88,585.42 854.88,585.42 C854.88,585.42 854.88,180.76 854.88,180.76 C854.88,180.76 899.84,180.76 899.84,180.76 C899.84,180.76 899.84,720.31 899.84,720.31c "
android:valueTo=" M180.45 270.69 C180.45,270.69 90.53,270.69 90.53,270.69 C90.53,270.69 90.53,900.15 90.53,900.15 C90.53,949.61 131,990.08 180.45,990.08 C180.45,990.08 809.92,990.08 809.92,990.08 C809.92,990.08 809.92,900.15 809.92,900.15 C809.92,900.15 180.45,900.15 180.45,900.15 C180.45,900.15 180.45,270.69 180.45,270.69c M899.84 90.84 C899.84,90.84 360.3,90.84 360.3,90.84 C310.84,90.84 270.38,131.3 270.38,180.76 C270.38,180.76 270.38,720.31 270.38,720.31 C270.38,769.76 310.84,810.23 360.3,810.23 C360.3,810.23 899.84,810.23 899.84,810.23 C949.3,810.23 989.77,769.76 989.77,720.31 C989.77,720.31 989.77,180.76 989.77,180.76 C989.77,131.3 949.3,90.84 899.84,90.84c M899.84 720.31 C899.84,720.31 360.3,720.31 360.3,720.31 C360.3,720.31 360.3,180.76 360.3,180.76 C360.3,180.76 585.11,180.76 585.11,180.76 C585.11,180.76 585.11,585.42 585.11,585.42 C585.11,585.42 720,484.26 720,484.26 C720,484.26 854.88,585.42 854.88,585.42 C854.88,585.42 854.88,180.76 854.88,180.76 C854.88,180.76 899.84,180.76 899.84,180.76 C899.84,180.76 899.84,720.31 899.84,720.31c "
android:valueType="pathType">
<aapt:attr name="android:interpolator">
<pathInterpolator android:pathData="M 0.0,0.0 c0.91,0 0.67,1 1.0,1.0" />
</aapt:attr>
</objectAnimator>
<objectAnimator
android:duration="183"
android:propertyName="pathData"
android:startOffset="33"
android:valueFrom=" M180.45 270.69 C180.45,270.69 90.53,270.69 90.53,270.69 C90.53,270.69 90.53,900.15 90.53,900.15 C90.53,949.61 131,990.08 180.45,990.08 C180.45,990.08 809.92,990.08 809.92,990.08 C809.92,990.08 809.92,900.15 809.92,900.15 C809.92,900.15 180.45,900.15 180.45,900.15 C180.45,900.15 180.45,270.69 180.45,270.69c M899.84 90.84 C899.84,90.84 360.3,90.84 360.3,90.84 C310.84,90.84 270.38,131.3 270.38,180.76 C270.38,180.76 270.38,720.31 270.38,720.31 C270.38,769.76 310.84,810.23 360.3,810.23 C360.3,810.23 899.84,810.23 899.84,810.23 C949.3,810.23 989.77,769.76 989.77,720.31 C989.77,720.31 989.77,180.76 989.77,180.76 C989.77,131.3 949.3,90.84 899.84,90.84c M899.84 720.31 C899.84,720.31 360.3,720.31 360.3,720.31 C360.3,720.31 360.3,180.76 360.3,180.76 C360.3,180.76 585.11,180.76 585.11,180.76 C585.11,180.76 585.11,585.42 585.11,585.42 C585.11,585.42 720,484.26 720,484.26 C720,484.26 854.88,585.42 854.88,585.42 C854.88,585.42 854.88,180.76 854.88,180.76 C854.88,180.76 899.84,180.76 899.84,180.76 C899.84,180.76 899.84,720.31 899.84,720.31c "
android:valueTo=" M180.45 270.69 C180.45,270.69 90.53,270.69 90.53,270.69 C90.53,270.69 90.53,900.15 90.53,900.15 C90.53,949.61 131,990.08 180.45,990.08 C180.45,990.08 809.92,990.08 809.92,990.08 C809.92,990.08 809.92,900.15 809.92,900.15 C809.92,900.15 180.45,900.15 180.45,900.15 C180.45,900.15 180.45,270.69 180.45,270.69c M899.84 90.84 C899.84,90.84 360.3,90.84 360.3,90.84 C310.84,90.84 270.38,131.3 270.38,180.76 C270.38,180.76 270.38,720.31 270.38,720.31 C270.38,769.76 310.84,810.23 360.3,810.23 C360.3,810.23 899.84,810.23 899.84,810.23 C949.3,810.23 989.77,769.76 989.77,720.31 C989.77,720.31 989.77,180.76 989.77,180.76 C989.77,131.3 949.3,90.84 899.84,90.84c M899.84 720.31 C899.84,720.31 360.3,720.31 360.3,720.31 C360.3,720.31 360.3,180.76 360.3,180.76 C360.3,180.76 349.11,181.07 349.11,181.07 C349.11,181.07 349.11,733.42 349.11,733.42 C349.11,733.42 628,736.26 628,736.26 C628,736.26 911.08,733.42 911.08,733.42 C911.08,733.42 910.88,181.07 910.88,181.07 C910.88,181.07 899.84,180.76 899.84,180.76 C899.84,180.76 899.84,720.31 899.84,720.31c "
android:valueType="pathType">
<aapt:attr name="android:interpolator">
<pathInterpolator android:pathData="M 0.0,0.0 c0.91,0 0.67,1 1.0,1.0" />
</aapt:attr>
</objectAnimator>
</set>
<objectAnimator
android:duration="300"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="pathData"
android:valueFrom="M 899.84 90.84 C 886.994 90.84 874.148 90.84 861.301 90.84 C 848.455 90.84 835.609 90.84 822.763 90.84 C 809.917 90.84 797.07 90.84 784.224 90.84 C 771.378 90.84 758.532 90.84 745.686 90.84 C 732.84 90.84 719.993 90.84 707.147 90.84 C 694.301 90.84 681.455 90.84 668.609 90.84 C 655.762 90.84 642.916 90.84 630.07 90.84 C 540.147 90.84 450.223 90.84 360.3 90.84 C 310.84 90.84 270.38 131.3 270.38 180.76 C 270.38 360.61 270.38 540.46 270.38 720.31 C 270.38 769.76 310.84 810.23 360.3 810.23 C 540.147 810.23 719.993 810.23 899.84 810.23 C 949.3 810.23 989.77 769.76 989.77 720.31 C 989.77 540.46 989.77 360.61 989.77 180.76 C 989.77 131.3 949.3 90.84 899.84 90.84 M 180.45 270.69 C 165.463 270.69 150.477 270.69 135.49 270.69 C 120.503 270.69 105.517 270.69 90.53 270.69 C 90.53 480.51 90.53 690.33 90.53 900.15 C 90.53 949.61 131 990.08 180.45 990.08 C 390.273 990.08 600.097 990.08 809.92 990.08 C 809.92 960.103 809.92 930.127 809.92 900.15 C 600.097 900.15 390.273 900.15 180.45 900.15 C 180.45 690.33 180.45 480.51 180.45 270.69 M 899.84 720.31 C 899.84 630.385 899.84 540.46 899.84 450.535 C 899.84 360.61 899.84 270.685 899.84 180.76 C 892.347 180.76 884.853 180.76 877.36 180.76 C 869.867 180.76 862.373 180.76 854.88 180.76 L 585.11 180.76 C 510.173 180.76 435.237 180.76 360.3 180.76 C 360.3 270.685 360.3 360.61 360.3 450.535 C 360.3 540.46 360.3 630.385 360.3 720.31 C 540.147 720.31 719.993 720.31 899.84 720.31 M 854.88 315.647 C 854.88 293.166 854.88 270.684 854.88 248.203 C 854.88 225.722 854.88 203.241 854.88 180.76 L 585.11 180.76 C 585.11 315.647 585.11 450.533 585.11 585.42 C 630.073 551.7 675.037 517.98 720 484.26 C 764.96 517.98 809.92 551.7 854.88 585.42 C 854.88 562.939 854.88 540.458 854.88 517.977 C 854.88 495.496 854.88 473.014 854.88 450.533 C 854.88 428.052 854.88 405.571 854.88 383.09 C 854.88 371.849 854.88 360.609 854.88 349.368 C 854.88 338.128 854.88 326.887 854.88 315.647"
android:valueTo="M 900 180 C 900 180 900 180 900 180 C 900 180 900 180 900 180 C 900 180 900 180 900 180 C 900 180 900 180 900 180 C 900 180 900 180 900 180 C 881.25 180 862.5 180 843.75 180 C 825 180 806.25 180 787.5 180 C 768.75 180 750 180 731.25 180 C 712.5 180 693.75 180 675 180 C 675 300 675 420 675 540 C 712.5 517.5 750 495 787.5 472.5 C 825 495 862.5 517.5 900 540 C 900 540 900 540 900 540 C 900 420 900 300 900 180 C 900 180 900 180 900 180 M 180 270 C 180 270 180 270 180 270 C 150 270 120 270 90 270 C 90 480 90 690 90 900 C 90 949.5 130.5 990 180 990 C 390 990 600 990 810 990 C 810 960 810 930 810 900 C 600 900 390 900 180 900 C 180 690 180 480 180 270 M 900 810 C 949.5 810 990 769.5 990 720 C 990 540 990 360 990 180 C 990 130.5 949.5 90 900 90 C 900 90 900 90 900 90 L 360 90 C 310.5 90 270 130.5 270 180 C 270 360 270 540 270 720 C 270 769.5 310.5 810 360 810 C 540 810 720 810 900 810 M 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645 L 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645"
android:valueType="pathType" />
</aapt:attr>
</target>
<target android:name="_R_G_L_3_G">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="0"
android:propertyName="scaleY"
android:startOffset="0"
android:valueFrom="0"
android:valueTo="1"
android:valueType="floatType" />
</set>
</aapt:attr>
</target>
<target android:name="_R_G_L_3_G">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="0"
android:propertyName="scaleY"
android:startOffset="217"
android:valueFrom="1"
android:valueTo="0"
android:valueType="floatType" />
</set>
</aapt:attr>
</target>
<target android:name="_R_G_L_2_G_D_1_P_0">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="217"
android:propertyName="pathData"
android:startOffset="0"
android:valueFrom=" M900.05 90.58 C900.05,90.58 360.2,90.58 360.2,90.58 C310.71,90.58 270.22,131.07 270.22,180.56 C270.22,180.56 270.22,720.41 270.22,720.41 C270.22,769.89 310.71,810.38 360.2,810.38 C360.2,810.38 900.05,810.38 900.05,810.38 C949.54,810.38 990.02,769.89 990.02,720.41 C990.02,720.41 990.02,180.56 990.02,180.56 C990.02,131.07 949.54,90.58 900.05,90.58c M825.51 289.73 C825.51,289.73 789.04,224.2 789.04,224.2 C789.04,224.2 752.57,289.88 752.57,289.88 C752.57,289.88 755.11,181.78 755.11,181.78 C755.11,181.78 824.05,181.83 824.05,181.83 C824.05,181.83 825.51,289.73 825.51,289.73c "
android:valueTo=" M900.05 90.58 C900.05,90.58 360.2,90.58 360.2,90.58 C310.71,90.58 270.22,131.07 270.22,180.56 C270.22,180.56 270.22,720.41 270.22,720.41 C270.22,769.89 310.71,810.38 360.2,810.38 C360.2,810.38 900.05,810.38 900.05,810.38 C949.54,810.38 990.02,769.89 990.02,720.41 C990.02,720.41 990.02,180.56 990.02,180.56 C990.02,131.07 949.54,90.58 900.05,90.58c M825.51 289.73 C825.51,289.73 789.04,224.2 789.04,224.2 C789.04,224.2 752.57,289.88 752.57,289.88 C752.57,289.88 755.11,181.78 755.11,181.78 C755.11,181.78 824.05,181.83 824.05,181.83 C824.05,181.83 825.51,289.73 825.51,289.73c "
android:valueType="pathType">
<aapt:attr name="android:interpolator">
<pathInterpolator android:pathData="M 0.0,0.0 c0.15,0 0.07,1 1.0,1.0" />
</aapt:attr>
</objectAnimator>
<objectAnimator
android:duration="267"
android:propertyName="pathData"
android:startOffset="217"
android:valueFrom=" M900.05 90.58 C900.05,90.58 360.2,90.58 360.2,90.58 C310.71,90.58 270.22,131.07 270.22,180.56 C270.22,180.56 270.22,720.41 270.22,720.41 C270.22,769.89 310.71,810.38 360.2,810.38 C360.2,810.38 900.05,810.38 900.05,810.38 C949.54,810.38 990.02,769.89 990.02,720.41 C990.02,720.41 990.02,180.56 990.02,180.56 C990.02,131.07 949.54,90.58 900.05,90.58c M825.51 289.73 C825.51,289.73 789.04,224.2 789.04,224.2 C789.04,224.2 752.57,289.88 752.57,289.88 C752.57,289.88 755.11,181.78 755.11,181.78 C755.11,181.78 824.05,181.83 824.05,181.83 C824.05,181.83 825.51,289.73 825.51,289.73c "
android:valueTo=" M900.05 90.58 C900.05,90.58 360.2,90.58 360.2,90.58 C310.71,90.58 270.22,131.07 270.22,180.56 C270.22,180.56 270.22,720.41 270.22,720.41 C270.22,769.89 310.71,810.38 360.2,810.38 C360.2,810.38 900.05,810.38 900.05,810.38 C949.54,810.38 990.02,769.89 990.02,720.41 C990.02,720.41 990.02,180.56 990.02,180.56 C990.02,131.07 949.54,90.58 900.05,90.58c M900.05 540.46 C900.05,540.46 781.58,472.43 781.58,472.43 C781.58,472.43 655.11,538.68 655.11,538.68 C655.11,538.68 655.11,178.78 655.11,178.78 C655.11,178.78 900.05,180.56 900.05,180.56 C900.05,180.56 900.05,540.46 900.05,540.46c "
android:valueType="pathType">
<aapt:attr name="android:interpolator">
<pathInterpolator android:pathData="M 0.0,0.0 c0.15,0 0.07,1 1.0,1.0" />
</aapt:attr>
</objectAnimator>
</set>
</aapt:attr>
</target>
<target android:name="_R_G_L_2_G">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="0"
android:propertyName="scaleY"
android:startOffset="217"
android:valueFrom="0"
android:valueTo="1"
android:valueType="floatType" />
</set>
</aapt:attr>
</target>
<target android:name="_R_G_L_1_G">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="0"
android:propertyName="scaleY"
android:startOffset="817"
android:valueFrom="0"
android:valueTo="1"
android:valueType="floatType" />
</set>
</aapt:attr>
</target>
<target android:name="time_group">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="817"
android:propertyName="translateX"
android:startOffset="0"
android:valueFrom="0"
android:valueTo="1"
android:valueType="floatType" />
</set>
</aapt:attr>
</target>
</animated-vector>
</animated-vector>

View file

@ -2,145 +2,33 @@
xmlns:aapt="http://schemas.android.com/aapt">
<aapt:attr name="android:drawable">
<vector
android:name="vector"
android:width="1080dp"
android:height="1080dp"
android:viewportWidth="1080"
android:viewportHeight="1080">
<group android:name="_R_G">
<group android:name="_R_G_L_1_G">
<path
android:name="_R_G_L_1_G_D_0_P_0"
android:fillAlpha="1"
android:fillColor="#292929"
android:fillType="nonZero"
android:pathData=" M180.25 270.53 C180.25,270.53 90.27,270.53 90.27,270.53 C90.27,270.53 90.27,900.36 90.27,900.36 C90.27,949.85 130.76,990.33 180.25,990.33 C180.25,990.33 810.07,990.33 810.07,990.33 C810.07,990.33 810.07,900.36 810.07,900.36 C810.07,900.36 180.25,900.36 180.25,900.36 C180.25,900.36 180.25,270.53 180.25,270.53c " />
<path
android:name="_R_G_L_1_G_D_1_P_0"
android:fillAlpha="1"
android:fillColor="#292929"
android:fillType="nonZero"
android:pathData=" M900.05 90.58 C900.05,90.58 360.2,90.58 360.2,90.58 C310.71,90.58 270.22,131.07 270.22,180.56 C270.22,180.56 270.22,720.41 270.22,720.41 C270.22,769.89 310.71,810.38 360.2,810.38 C360.2,810.38 900.05,810.38 900.05,810.38 C949.54,810.38 990.02,769.89 990.02,720.41 C990.02,720.41 990.02,180.56 990.02,180.56 C990.02,131.07 949.54,90.58 900.05,90.58c M900.05 540.46 C900.05,540.46 781.58,472.43 781.58,472.43 C781.58,472.43 655.11,538.68 655.11,538.68 C655.11,538.68 655.11,178.78 655.11,178.78 C655.11,178.78 900.05,180.56 900.05,180.56 C900.05,180.56 900.05,540.46 900.05,540.46c " />
</group>
<group
android:name="_R_G_L_0_G"
android:scaleY="0">
<path
android:name="_R_G_L_0_G_D_0_P_0"
android:fillAlpha="1"
android:fillColor="#292929"
android:fillType="nonZero"
android:pathData=" M180.45 270.69 C180.45,270.69 90.53,270.69 90.53,270.69 C90.53,270.69 90.53,900.15 90.53,900.15 C90.53,949.61 131,990.08 180.45,990.08 C180.45,990.08 809.92,990.08 809.92,990.08 C809.92,990.08 809.92,900.15 809.92,900.15 C809.92,900.15 180.45,900.15 180.45,900.15 C180.45,900.15 180.45,270.69 180.45,270.69c M899.84 90.84 C899.84,90.84 360.3,90.84 360.3,90.84 C310.84,90.84 270.38,131.3 270.38,180.76 C270.38,180.76 270.38,720.31 270.38,720.31 C270.38,769.76 310.84,810.23 360.3,810.23 C360.3,810.23 899.84,810.23 899.84,810.23 C949.3,810.23 989.77,769.76 989.77,720.31 C989.77,720.31 989.77,180.76 989.77,180.76 C989.77,131.3 949.3,90.84 899.84,90.84c M899.84 720.31 C899.84,720.31 360.3,720.31 360.3,720.31 C360.3,720.31 360.3,180.76 360.3,180.76 C360.3,180.76 349.11,181.07 349.11,181.07 C349.11,181.07 349.11,733.42 349.11,733.42 C349.11,733.42 628,736.26 628,736.26 C628,736.26 911.08,733.42 911.08,733.42 C911.08,733.42 910.88,181.07 910.88,181.07 C910.88,181.07 899.84,180.76 899.84,180.76 C899.84,180.76 899.84,720.31 899.84,720.31c " />
</group>
<group android:name="outline">
<path
android:name="path"
android:fillColor="#000000"
android:fillType="evenOdd"
android:pathData="M 180.45 270.69 C 180.45 270.69 90.53 270.69 90.53 270.69 C 90.53 270.69 90.53 900.15 90.53 900.15 C 90.53 949.61 131 990.08 180.45 990.08 C 180.45 990.08 809.92 990.08 809.92 990.08 C 809.92 990.08 809.92 900.15 809.92 900.15 C 809.92 900.15 180.45 900.15 180.45 900.15 C 180.45 900.15 180.45 270.69 180.45 270.69 M 899.84 90.84 C 899.84 90.84 360.3 90.84 360.3 90.84 C 310.84 90.84 270.38 131.3 270.38 180.76 C 270.38 180.76 270.38 720.31 270.38 720.31 C 270.38 769.76 310.84 810.23 360.3 810.23 C 360.3 810.23 899.84 810.23 899.84 810.23 C 949.3 810.23 989.77 769.76 989.77 720.31 C 989.77 720.31 989.77 180.76 989.77 180.76 C 989.77 131.3 949.3 90.84 899.84 90.84 M 899.84 720.31 C 899.84 720.31 360.3 720.31 360.3 720.31 C 360.3 720.31 360.3 180.76 360.3 180.76 C 360.3 180.76 585.11 180.76 585.11 180.76 C 585.11 180.76 585.11 585.42 585.11 585.42 C 585.11 585.42 720 484.26 720 484.26 C 720 484.26 854.88 585.42 854.88 585.42 C 854.88 585.42 854.88 180.76 854.88 180.76 C 854.88 180.76 899.84 180.76 899.84 180.76 C 899.84 180.76 899.84 720.31 899.84 720.31" />
</group>
<group android:name="time_group" />
<path
android:name="path_3"
android:fillColor="#000000"
android:pathData="M 899.84 90.84 C 899.84 90.84 360.3 90.84 360.3 90.84 C 310.84 90.84 270.38 131.3 270.38 180.76 C 270.38 180.76 270.38 720.31 270.38 720.31 C 270.38 769.76 310.84 810.23 360.3 810.23 C 360.3 810.23 899.84 810.23 899.84 810.23 C 949.3 810.23 989.77 769.76 989.77 720.31 C 989.77 720.31 989.77 180.76 989.77 180.76 C 989.77 131.3 949.3 90.84 899.84 90.84 M 899.84 720.31 C 899.84 720.31 360.3 720.31 360.3 720.31 C 360.3 720.31 360.3 180.76 360.3 180.76 C 360.3 180.76 585.11 180.76 585.11 180.76 C 854.88 180.76 899.84 180.76 899.84 180.76 C 899.84 180.76 899.84 720.31 899.84 720.31" />
</vector>
</aapt:attr>
<target android:name="_R_G_L_1_G_D_1_P_0">
<target android:name="path">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="33"
android:propertyName="pathData"
android:startOffset="0"
android:valueFrom=" M900.05 90.58 C900.05,90.58 360.2,90.58 360.2,90.58 C310.71,90.58 270.22,131.07 270.22,180.56 C270.22,180.56 270.22,720.41 270.22,720.41 C270.22,769.89 310.71,810.38 360.2,810.38 C360.2,810.38 900.05,810.38 900.05,810.38 C949.54,810.38 990.02,769.89 990.02,720.41 C990.02,720.41 990.02,180.56 990.02,180.56 C990.02,131.07 949.54,90.58 900.05,90.58c M900.05 540.46 C900.05,540.46 781.58,472.43 781.58,472.43 C781.58,472.43 655.11,538.68 655.11,538.68 C655.11,538.68 655.11,178.78 655.11,178.78 C655.11,178.78 900.05,180.56 900.05,180.56 C900.05,180.56 900.05,540.46 900.05,540.46c "
android:valueTo=" M900.05 90.58 C900.05,90.58 360.2,90.58 360.2,90.58 C310.71,90.58 270.22,131.07 270.22,180.56 C270.22,180.56 270.22,720.41 270.22,720.41 C270.22,769.89 310.71,810.38 360.2,810.38 C360.2,810.38 900.05,810.38 900.05,810.38 C949.54,810.38 990.02,769.89 990.02,720.41 C990.02,720.41 990.02,180.56 990.02,180.56 C990.02,131.07 949.54,90.58 900.05,90.58c M900.05 540.46 C900.05,540.46 781.58,472.43 781.58,472.43 C781.58,472.43 655.11,538.68 655.11,538.68 C655.11,538.68 655.11,178.78 655.11,178.78 C655.11,178.78 900.05,180.56 900.05,180.56 C900.05,180.56 900.05,540.46 900.05,540.46c "
android:valueType="pathType">
<aapt:attr name="android:interpolator">
<pathInterpolator android:pathData="M 0.0,0.0 c0.33,0 0.25,1 1.0,1.0" />
</aapt:attr>
</objectAnimator>
<objectAnimator
android:duration="117"
android:propertyName="pathData"
android:startOffset="33"
android:valueFrom=" M900.05 90.58 C900.05,90.58 360.2,90.58 360.2,90.58 C310.71,90.58 270.22,131.07 270.22,180.56 C270.22,180.56 270.22,720.41 270.22,720.41 C270.22,769.89 310.71,810.38 360.2,810.38 C360.2,810.38 900.05,810.38 900.05,810.38 C949.54,810.38 990.02,769.89 990.02,720.41 C990.02,720.41 990.02,180.56 990.02,180.56 C990.02,131.07 949.54,90.58 900.05,90.58c M900.05 540.46 C900.05,540.46 781.58,472.43 781.58,472.43 C781.58,472.43 655.11,538.68 655.11,538.68 C655.11,538.68 655.11,178.78 655.11,178.78 C655.11,178.78 900.05,180.56 900.05,180.56 C900.05,180.56 900.05,540.46 900.05,540.46c "
android:valueTo=" M900.05 90.58 C900.05,90.58 360.2,90.58 360.2,90.58 C310.71,90.58 270.22,131.07 270.22,180.56 C270.22,180.56 270.22,720.41 270.22,720.41 C270.22,769.89 310.71,810.38 360.2,810.38 C360.2,810.38 900.05,810.38 900.05,810.38 C949.54,810.38 990.02,769.89 990.02,720.41 C990.02,720.41 990.02,180.56 990.02,180.56 C990.02,131.07 949.54,90.58 900.05,90.58c M825.51 289.73 C825.51,289.73 789.04,224.2 789.04,224.2 C789.04,224.2 752.57,289.88 752.57,289.88 C752.57,289.88 755.11,181.78 755.11,181.78 C755.11,181.78 824.05,181.83 824.05,181.83 C824.05,181.83 825.51,289.73 825.51,289.73c "
android:valueType="pathType">
<aapt:attr name="android:interpolator">
<pathInterpolator android:pathData="M 0.0,0.0 c0.33,0 0.25,1 1.0,1.0" />
</aapt:attr>
</objectAnimator>
</set>
<objectAnimator
android:duration="300"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="pathData"
android:valueFrom="M 900 180 C 900 180 900 180 900 180 C 900 180 900 180 900 180 C 900 180 900 180 900 180 C 900 180 900 180 900 180 C 900 180 900 180 900 180 C 881.25 180 862.5 180 843.75 180 C 825 180 806.25 180 787.5 180 C 768.75 180 750 180 731.25 180 C 712.5 180 693.75 180 675 180 C 675 300 675 420 675 540 C 712.5 517.5 750 495 787.5 472.5 C 825 495 862.5 517.5 900 540 C 900 540 900 540 900 540 C 900 420 900 300 900 180 C 900 180 900 180 900 180 M 180 270 C 180 270 180 270 180 270 C 150 270 120 270 90 270 C 90 480 90 690 90 900 C 90 949.5 130.5 990 180 990 C 390 990 600 990 810 990 C 810 960 810 930 810 900 C 600 900 390 900 180 900 C 180 690 180 480 180 270 M 900 810 C 949.5 810 990 769.5 990 720 C 990 540 990 360 990 180 C 990 130.5 949.5 90 900 90 C 900 90 900 90 900 90 L 360 90 C 310.5 90 270 130.5 270 180 C 270 360 270 540 270 720 C 270 769.5 310.5 810 360 810 C 540 810 720 810 900 810 M 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645 L 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645 C 719.995 315.645 719.995 315.645 719.995 315.645"
android:valueTo="M 899.84 90.84 C 886.994 90.84 874.148 90.84 861.301 90.84 C 848.455 90.84 835.609 90.84 822.763 90.84 C 809.917 90.84 797.07 90.84 784.224 90.84 C 771.378 90.84 758.532 90.84 745.686 90.84 C 732.84 90.84 719.993 90.84 707.147 90.84 C 694.301 90.84 681.455 90.84 668.609 90.84 C 655.762 90.84 642.916 90.84 630.07 90.84 C 540.147 90.84 450.223 90.84 360.3 90.84 C 310.84 90.84 270.38 131.3 270.38 180.76 C 270.38 360.61 270.38 540.46 270.38 720.31 C 270.38 769.76 310.84 810.23 360.3 810.23 C 540.147 810.23 719.993 810.23 899.84 810.23 C 949.3 810.23 989.77 769.76 989.77 720.31 C 989.77 540.46 989.77 360.61 989.77 180.76 C 989.77 131.3 949.3 90.84 899.84 90.84 M 180.45 270.69 C 165.463 270.69 150.477 270.69 135.49 270.69 C 120.503 270.69 105.517 270.69 90.53 270.69 C 90.53 480.51 90.53 690.33 90.53 900.15 C 90.53 949.61 131 990.08 180.45 990.08 C 390.273 990.08 600.097 990.08 809.92 990.08 C 809.92 960.103 809.92 930.127 809.92 900.15 C 600.097 900.15 390.273 900.15 180.45 900.15 C 180.45 690.33 180.45 480.51 180.45 270.69 M 899.84 720.31 C 899.84 630.385 899.84 540.46 899.84 450.535 C 899.84 360.61 899.84 270.685 899.84 180.76 C 892.347 180.76 884.853 180.76 877.36 180.76 C 869.867 180.76 862.373 180.76 854.88 180.76 L 585.11 180.76 C 510.173 180.76 435.237 180.76 360.3 180.76 C 360.3 270.685 360.3 360.61 360.3 450.535 C 360.3 540.46 360.3 630.385 360.3 720.31 C 540.147 720.31 719.993 720.31 899.84 720.31 M 854.88 315.647 C 854.88 293.166 854.88 270.684 854.88 248.203 C 854.88 225.722 854.88 203.241 854.88 180.76 L 585.11 180.76 C 585.11 315.647 585.11 450.533 585.11 585.42 C 630.073 551.7 675.037 517.98 720 484.26 C 764.96 517.98 809.92 551.7 854.88 585.42 C 854.88 562.939 854.88 540.458 854.88 517.977 C 854.88 495.496 854.88 473.014 854.88 450.533 C 854.88 428.052 854.88 405.571 854.88 383.09 C 854.88 371.849 854.88 360.609 854.88 349.368 C 854.88 338.128 854.88 326.887 854.88 315.647"
android:valueType="pathType" />
</aapt:attr>
</target>
<target android:name="_R_G_L_1_G">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="0"
android:propertyName="scaleY"
android:startOffset="0"
android:valueFrom="0"
android:valueTo="1"
android:valueType="floatType" />
</set>
</aapt:attr>
</target>
<target android:name="_R_G_L_1_G">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="0"
android:propertyName="scaleY"
android:startOffset="150"
android:valueFrom="1"
android:valueTo="0"
android:valueType="floatType" />
</set>
</aapt:attr>
</target>
<target android:name="_R_G_L_0_G_D_0_P_0">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="117"
android:propertyName="pathData"
android:startOffset="0"
android:valueFrom=" M180.45 270.69 C180.45,270.69 90.53,270.69 90.53,270.69 C90.53,270.69 90.53,900.15 90.53,900.15 C90.53,949.61 131,990.08 180.45,990.08 C180.45,990.08 809.92,990.08 809.92,990.08 C809.92,990.08 809.92,900.15 809.92,900.15 C809.92,900.15 180.45,900.15 180.45,900.15 C180.45,900.15 180.45,270.69 180.45,270.69c M899.84 90.84 C899.84,90.84 360.3,90.84 360.3,90.84 C310.84,90.84 270.38,131.3 270.38,180.76 C270.38,180.76 270.38,720.31 270.38,720.31 C270.38,769.76 310.84,810.23 360.3,810.23 C360.3,810.23 899.84,810.23 899.84,810.23 C949.3,810.23 989.77,769.76 989.77,720.31 C989.77,720.31 989.77,180.76 989.77,180.76 C989.77,131.3 949.3,90.84 899.84,90.84c M899.84 720.31 C899.84,720.31 360.3,720.31 360.3,720.31 C360.3,720.31 360.3,180.76 360.3,180.76 C360.3,180.76 349.11,181.07 349.11,181.07 C349.11,181.07 349.11,733.42 349.11,733.42 C349.11,733.42 628,736.26 628,736.26 C628,736.26 911.08,733.42 911.08,733.42 C911.08,733.42 910.88,181.07 910.88,181.07 C910.88,181.07 899.84,180.76 899.84,180.76 C899.84,180.76 899.84,720.31 899.84,720.31c "
android:valueTo=" M180.45 270.69 C180.45,270.69 90.53,270.69 90.53,270.69 C90.53,270.69 90.53,900.15 90.53,900.15 C90.53,949.61 131,990.08 180.45,990.08 C180.45,990.08 809.92,990.08 809.92,990.08 C809.92,990.08 809.92,900.15 809.92,900.15 C809.92,900.15 180.45,900.15 180.45,900.15 C180.45,900.15 180.45,270.69 180.45,270.69c M899.84 90.84 C899.84,90.84 360.3,90.84 360.3,90.84 C310.84,90.84 270.38,131.3 270.38,180.76 C270.38,180.76 270.38,720.31 270.38,720.31 C270.38,769.76 310.84,810.23 360.3,810.23 C360.3,810.23 899.84,810.23 899.84,810.23 C949.3,810.23 989.77,769.76 989.77,720.31 C989.77,720.31 989.77,180.76 989.77,180.76 C989.77,131.3 949.3,90.84 899.84,90.84c M899.84 720.31 C899.84,720.31 360.3,720.31 360.3,720.31 C360.3,720.31 360.3,180.76 360.3,180.76 C360.3,180.76 349.11,181.07 349.11,181.07 C349.11,181.07 349.11,733.42 349.11,733.42 C349.11,733.42 628,736.26 628,736.26 C628,736.26 911.08,733.42 911.08,733.42 C911.08,733.42 910.88,181.07 910.88,181.07 C910.88,181.07 899.84,180.76 899.84,180.76 C899.84,180.76 899.84,720.31 899.84,720.31c "
android:valueType="pathType">
<aapt:attr name="android:interpolator">
<pathInterpolator android:pathData="M 0.0,0.0 c0.33,0 0.25,1 1.0,1.0" />
</aapt:attr>
</objectAnimator>
<objectAnimator
android:duration="133"
android:propertyName="pathData"
android:startOffset="117"
android:valueFrom=" M180.45 270.69 C180.45,270.69 90.53,270.69 90.53,270.69 C90.53,270.69 90.53,900.15 90.53,900.15 C90.53,949.61 131,990.08 180.45,990.08 C180.45,990.08 809.92,990.08 809.92,990.08 C809.92,990.08 809.92,900.15 809.92,900.15 C809.92,900.15 180.45,900.15 180.45,900.15 C180.45,900.15 180.45,270.69 180.45,270.69c M899.84 90.84 C899.84,90.84 360.3,90.84 360.3,90.84 C310.84,90.84 270.38,131.3 270.38,180.76 C270.38,180.76 270.38,720.31 270.38,720.31 C270.38,769.76 310.84,810.23 360.3,810.23 C360.3,810.23 899.84,810.23 899.84,810.23 C949.3,810.23 989.77,769.76 989.77,720.31 C989.77,720.31 989.77,180.76 989.77,180.76 C989.77,131.3 949.3,90.84 899.84,90.84c M899.84 720.31 C899.84,720.31 360.3,720.31 360.3,720.31 C360.3,720.31 360.3,180.76 360.3,180.76 C360.3,180.76 349.11,181.07 349.11,181.07 C349.11,181.07 349.11,733.42 349.11,733.42 C349.11,733.42 628,736.26 628,736.26 C628,736.26 911.08,733.42 911.08,733.42 C911.08,733.42 910.88,181.07 910.88,181.07 C910.88,181.07 899.84,180.76 899.84,180.76 C899.84,180.76 899.84,720.31 899.84,720.31c "
android:valueTo=" M180.45 270.69 C180.45,270.69 90.53,270.69 90.53,270.69 C90.53,270.69 90.53,900.15 90.53,900.15 C90.53,949.61 131,990.08 180.45,990.08 C180.45,990.08 809.92,990.08 809.92,990.08 C809.92,990.08 809.92,900.15 809.92,900.15 C809.92,900.15 180.45,900.15 180.45,900.15 C180.45,900.15 180.45,270.69 180.45,270.69c M899.84 90.84 C899.84,90.84 360.3,90.84 360.3,90.84 C310.84,90.84 270.38,131.3 270.38,180.76 C270.38,180.76 270.38,720.31 270.38,720.31 C270.38,769.76 310.84,810.23 360.3,810.23 C360.3,810.23 899.84,810.23 899.84,810.23 C949.3,810.23 989.77,769.76 989.77,720.31 C989.77,720.31 989.77,180.76 989.77,180.76 C989.77,131.3 949.3,90.84 899.84,90.84c M899.84 720.31 C899.84,720.31 360.3,720.31 360.3,720.31 C360.3,720.31 360.3,180.76 360.3,180.76 C360.3,180.76 585.11,180.76 585.11,180.76 C585.11,180.76 585.11,585.42 585.11,585.42 C585.11,585.42 720,484.26 720,484.26 C720,484.26 854.88,585.42 854.88,585.42 C854.88,585.42 854.88,180.76 854.88,180.76 C854.88,180.76 899.84,180.76 899.84,180.76 C899.84,180.76 899.84,720.31 899.84,720.31c "
android:valueType="pathType">
<aapt:attr name="android:interpolator">
<pathInterpolator android:pathData="M 0.0,0.0 c0.33,0 0.25,1 1.0,1.0" />
</aapt:attr>
</objectAnimator>
</set>
</aapt:attr>
</target>
<target android:name="_R_G_L_0_G">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="0"
android:propertyName="scaleY"
android:startOffset="150"
android:valueFrom="0"
android:valueTo="1"
android:valueType="floatType" />
</set>
</aapt:attr>
</target>
<target android:name="time_group">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="817"
android:propertyName="translateX"
android:startOffset="0"
android:valueFrom="0"
android:valueTo="1"
android:valueType="floatType" />
</set>
</aapt:attr>
</target>
</animated-vector>
</animated-vector>

View file

@ -1,10 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:alpha=".38"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/black"
android:pathData="M21,5v6.59l-3,-3.01 -4,4.01 -4,-4 -4,4 -3,-3.01L3,5c0,-1.1 0.9,-2 2,-2h14c1.1,0 2,0.9 2,2zM18,11.42l3,3.01L21,19c0,1.1 -0.9,2 -2,2L5,21c-1.1,0 -2,-0.9 -2,-2v-6.58l3,2.99 4,-4 4,4 4,-3.99z" />
</vector>

View file

@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/black"
android:pathData="M23.25,12.77l-2.57,-2.57 -1.41,1.41 2.22,2.22 -5.66,5.66L4.51,8.17l5.66,-5.66 2.1,2.1 1.41,-1.41L11.23,0.75c-0.59,-0.59 -1.54,-0.59 -2.12,0L2.75,7.11c-0.59,0.59 -0.59,1.54 0,2.12l12.02,12.02c0.59,0.59 1.54,0.59 2.12,0l6.36,-6.36c0.59,-0.59 0.59,-1.54 0,-2.12zM8.47,20.48C5.2,18.94 2.86,15.76 2.5,12L1,12c0.51,6.16 5.66,11 11.95,11l0.66,-0.03 -3.81,-3.82 -1.33,1.33zM16,9h5c0.55,0 1,-0.45 1,-1L22,4c0,-0.55 -0.45,-1 -1,-1v-0.5C21,1.12 19.88,0 18.5,0S16,1.12 16,2.5L16,3c-0.55,0 -1,0.45 -1,1v4c0,0.55 0.45,1 1,1zM16.8,2.5c0,-0.94 0.76,-1.7 1.7,-1.7s1.7,0.76 1.7,1.7L20.2,3h-3.4v-0.5z" />
</vector>

View file

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners
android:topLeftRadius="4dp"
android:topRightRadius="4dp" />
<solid android:color="@android:color/white" />
</shape>

View file

@ -69,14 +69,14 @@
android:layout_marginBottom="4dp"
android:gravity="center"
android:text="@string/manga_info_full_title_label"
android:textAppearance="?attr/textAppearanceHeadline6"
android:textAppearance="?attr/textAppearanceTitleLarge"
android:textIsSelectable="false" />
<TextView
android:id="@+id/manga_author"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
android:textColor="?android:attr/textColorSecondary"
android:textAlignment="center"
android:textIsSelectable="false"
@ -87,7 +87,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
android:textColor="?android:attr/textColorSecondary"
android:textIsSelectable="false"
tools:text="Artist" />
@ -112,7 +112,7 @@
android:layout_height="match_parent"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
android:textIsSelectable="false"
tools:text="Status" />
@ -123,7 +123,7 @@
android:layout_marginStart="4dp"
android:layout_marginEnd="4dp"
android:text="•"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
android:textIsSelectable="false"
tools:ignore="HardcodedText" />
@ -134,7 +134,7 @@
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
android:textIsSelectable="false"
tools:text="Source" />

View file

@ -25,7 +25,8 @@
<androidx.appcompat.widget.ActionMenuView
android:id="@+id/menu"
android:layout_width="match_parent"
android:layout_height="match_parent" />
android:layout_height="match_parent"
android:layout_gravity="center" />
</com.google.android.material.appbar.MaterialToolbar>

View file

@ -29,7 +29,7 @@
android:layout_marginStart="16dp"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
app:layout_constraintBottom_toTopOf="@+id/chapter_title"
app:layout_constraintEnd_toStartOf="@+id/download"
app:layout_constraintStart_toEndOf="@+id/manga_cover"
@ -49,8 +49,7 @@
app:layout_constraintEnd_toStartOf="@id/chapter_title"
app:srcCompat="@drawable/ic_bookmark_24dp"
app:tint="?attr/colorAccent"
tools:visibility="visible"
/>
tools:visibility="visible" />
<TextView
android:id="@+id/chapter_title"
@ -58,7 +57,7 @@
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="parent"

View file

@ -33,9 +33,9 @@
android:layout_weight="1"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
tools:text="Category Title" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</com.google.android.material.card.MaterialCardView>

View file

@ -31,7 +31,7 @@
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
app:layout_constraintBottom_toTopOf="@+id/chapter_description"
app:layout_constraintEnd_toStartOf="@+id/download"
app:layout_constraintStart_toEndOf="@+id/bookmark_icon"
@ -46,7 +46,7 @@
android:layout_marginTop="6dp"
android:ellipsize="end"
android:singleLine="true"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/download"

View file

@ -10,7 +10,7 @@
android:id="@+id/description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceBody2" />
android:textAppearance="?attr/textAppearanceBodyMedium" />
<CheckBox
android:id="@+id/checkbox_option"

View file

@ -12,7 +12,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
android:textSize="48sp"
tools:text="-_-" />
@ -23,7 +23,7 @@
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:gravity="center"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
tools:text="Label" />

View file

@ -6,7 +6,6 @@
android:paddingVertical="16dp">
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:id="@+id/text_field"
android:layout_width="match_parent"
android:layout_height="wrap_content">

View file

@ -37,7 +37,7 @@
android:layout_toEndOf="@id/reorder"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
app:layout_constraintEnd_toStartOf="@+id/download_progress_text"
app:layout_constraintStart_toEndOf="@+id/reorder"
app:layout_constraintTop_toTopOf="parent"
@ -51,7 +51,7 @@
android:layout_toEndOf="@id/reorder"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textSize="12sp"
app:layout_constraintEnd_toStartOf="@+id/menu"
app:layout_constraintStart_toStartOf="@+id/manga_full_title"
@ -75,7 +75,7 @@
android:layout_height="wrap_content"
android:layout_toEndOf="@id/manga_full_title"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:textColorSecondary"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="@+id/manga_full_title"

View file

@ -31,7 +31,7 @@
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
app:layout_constraintBottom_toTopOf="@+id/episode_description"
app:layout_constraintEnd_toStartOf="@+id/animedownload"
app:layout_constraintStart_toEndOf="@+id/bookmark_icon"
@ -46,7 +46,7 @@
android:layout_marginTop="6dp"
android:ellipsize="end"
android:singleLine="true"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/animedownload"

View file

@ -40,7 +40,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:elevation="3dp"
android:textAppearance="?attr/textAppearanceSubtitle1"
android:textAppearance="?attr/textAppearanceTitleMedium"
app:layout_constraintStart_toEndOf="@id/icon"
app:layout_constraintTop_toTopOf="parent"
tools:text="Tachiyomi: Extension" />
@ -53,7 +53,7 @@
android:layout_weight="1"
android:elevation="3dp"
android:gravity="center"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
app:layout_constraintStart_toStartOf="@id/title"
app:layout_constraintTop_toBottomOf="@id/title"
tools:text="Version: 1.0.0" />
@ -66,7 +66,7 @@
android:layout_weight="1"
android:elevation="3dp"
android:gravity="center"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
app:layout_constraintStart_toStartOf="@id/title"
app:layout_constraintTop_toBottomOf="@id/version"
tools:text="Language: English" />
@ -80,7 +80,7 @@
android:elevation="3dp"
android:gravity="center"
android:text="@string/ext_nsfw_warning"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
android:textColor="?attr/colorError"
android:visibility="gone"
app:layout_constraintStart_toStartOf="@id/title"
@ -94,7 +94,7 @@
android:elevation="3dp"
android:ellipsize="middle"
android:singleLine="true"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/title"
app:layout_constraintTop_toBottomOf="@id/nsfw"

View file

@ -4,11 +4,11 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="64dp"
android:layout_marginEnd="16dp"
android:background="@drawable/list_item_selector_background">
android:background="@drawable/list_item_selector_background"
android:paddingEnd="16dp">
<ImageView
android:id="@+id/image"
android:id="@+id/icon"
android:layout_width="0dp"
android:layout_height="0dp"
android:paddingStart="16dp"
@ -21,16 +21,16 @@
tools:src="@mipmap/ic_launcher_round" />
<TextView
android:id="@+id/ext_title"
android:id="@+id/name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="4dp"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
app:layout_constraintBottom_toTopOf="@id/lang"
app:layout_constraintEnd_toStartOf="@id/ext_button"
app:layout_constraintStart_toEndOf="@id/image"
app:layout_constraintStart_toEndOf="@id/icon"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"
tools:text="Batoto" />
@ -40,10 +40,10 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/image"
app:layout_constraintTop_toBottomOf="@+id/ext_title"
app:layout_constraintStart_toEndOf="@id/icon"
app:layout_constraintTop_toBottomOf="@+id/name"
tools:text="English"
tools:visibility="visible" />
@ -53,9 +53,9 @@
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
app:layout_constraintStart_toEndOf="@id/lang"
app:layout_constraintTop_toBottomOf="@+id/ext_title"
app:layout_constraintTop_toBottomOf="@+id/name"
tools:text="Version" />
<TextView
@ -64,10 +64,10 @@
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
android:textColor="?attr/colorError"
app:layout_constraintStart_toEndOf="@id/version"
app:layout_constraintTop_toBottomOf="@+id/ext_title"
app:layout_constraintTop_toBottomOf="@+id/name"
tools:text="Warning" />
<Button

View file

@ -17,7 +17,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
app:layout_constraintBottom_toTopOf="@+id/subtitle"
app:layout_constraintEnd_toStartOf="@+id/title_more_icon"
app:layout_constraintStart_toStartOf="parent"
@ -31,7 +31,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textSize="12sp"
android:visibility="gone"
android:textColor="?android:attr/textColorSecondary"

View file

@ -55,7 +55,7 @@
android:paddingEnd="3dp"
android:paddingBottom="1dp"
android:text="@string/in_library"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
android:textColor="?attr/colorOnSecondary"
android:visibility="gone"
tools:visibility="visible" />
@ -71,7 +71,7 @@
android:ellipsize="end"
android:maxLines="2"
android:padding="4dp"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="@+id/card"
app:layout_constraintStart_toStartOf="@+id/card"

View file

@ -42,7 +42,7 @@
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="2"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
tools:text="Title" />
<TextView
@ -50,7 +50,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
tools:text="Subtitle" />

View file

@ -12,14 +12,14 @@
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
tools:text="Library name" />
<TextView
android:id="@+id/artifact_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
tools:text="artifact:id:1.0" />
@ -27,7 +27,7 @@
android:id="@+id/license"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
tools:text="Apache Version 2.0" />

View file

@ -1,57 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<eu.kanade.tachiyomi.widget.ElevationAppBarLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_scrollFlags="scroll|enterAlways" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@+id/downloaded_only"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorTertiary"
android:visibility="gone"
tools:visibility="visible">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="4dp"
android:text="@string/label_downloaded_only"
android:textColor="?attr/colorOnTertiary" />
</FrameLayout>
<FrameLayout
android:id="@+id/incognito_mode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:visibility="gone"
tools:visibility="visible">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="4dp"
android:text="@string/pref_incognito_mode"
android:textColor="?attr/colorOnPrimary" />
</FrameLayout>
</eu.kanade.tachiyomi.widget.ElevationAppBarLayout>

View file

@ -16,7 +16,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/chapters"
android:textAppearance="?attr/textAppearanceSubtitle1"
android:textAppearance="?attr/textAppearanceTitleMedium"
android:textIsSelectable="false"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/btn_chapters_filter"

View file

@ -73,7 +73,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/manga_info_full_title_label"
android:textAppearance="?attr/textAppearanceHeadline6"
android:textAppearance="?attr/textAppearanceTitleLarge"
android:textIsSelectable="false" />
<TextView
@ -81,7 +81,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
android:textColor="?android:attr/textColorSecondary"
android:textIsSelectable="false"
tools:text="Author" />
@ -91,7 +91,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
android:textColor="?android:attr/textColorSecondary"
android:textIsSelectable="false"
tools:text="Artist" />
@ -117,7 +117,7 @@
android:layout_height="match_parent"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
android:textIsSelectable="false"
tools:text="Status" />
@ -128,7 +128,7 @@
android:layout_marginStart="4dp"
android:layout_marginEnd="4dp"
android:text="•"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
android:textIsSelectable="false"
tools:ignore="HardcodedText" />
@ -139,7 +139,7 @@
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
android:textIsSelectable="false"
tools:text="Source" />

View file

@ -11,7 +11,7 @@
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:ellipsize="end"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
android:textIsSelectable="false"
app:firstBaselineToTopHeight="0dp"

View file

@ -18,7 +18,7 @@
android:gravity="center_vertical|start"
android:maxLines="1"
android:paddingHorizontal="16dp"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
tools:text="Title" />
</LinearLayout>

View file

@ -16,7 +16,7 @@
android:drawablePadding="16dp"
android:gravity="center_vertical|start"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
tools:text="Title" />
</LinearLayout>

View file

@ -24,6 +24,7 @@
android:id="@+id/expand_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:tint="?attr/colorOnBackground" />
app:tint="?attr/colorOnBackground"
tools:ignore="ContentDescription" />
</LinearLayout>

View file

@ -17,6 +17,6 @@
android:gravity="center_vertical|start"
android:maxLines="1"
android:paddingHorizontal="16dp"
android:textAppearance="?attr/textAppearanceBody2" />
android:textAppearance="?attr/textAppearanceBodyMedium" />
</LinearLayout>

View file

@ -17,7 +17,7 @@
android:ellipsize="end"
android:maxLines="1"
android:paddingEnd="8dp"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
tools:text="Filter:" />

View file

@ -10,7 +10,7 @@
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/nav_view_item_wrapper"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
style="@style/Widget.Material3.TextInputLayout.OutlinedBox.Dense"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -23,7 +23,7 @@
android:imeOptions="actionDone"
android:inputType="text"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2" />
android:textAppearance="?attr/textAppearanceBodyMedium" />
</com.google.android.material.textfield.TextInputLayout>

View file

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorToolbar"
@ -12,6 +13,7 @@
android:layout_height="56dp"
android:layout_gravity="center"
app:srcCompat="@drawable/ic_tachi"
app:tint="?attr/colorOnToolbar" />
app:tint="?attr/colorOnToolbar"
tools:ignore="ContentDescription" />
</FrameLayout>

View file

@ -10,7 +10,6 @@
<com.google.android.material.textview.MaterialTextView
android:id="@+id/title"
style="@style/TextAppearance.MaterialComponents.Body2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
@ -26,7 +25,6 @@
<com.google.android.material.textview.MaterialTextView
android:id="@+id/details"
style="@style/TextAppearance.MaterialComponents.Body2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:maxLines="1"

View file

@ -121,7 +121,7 @@
android:maxLines="2"
android:layout_marginTop="4dp"
android:textAlignment="center"
android:textAppearance="@style/TextAppearance.MaterialComponents.Caption"
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
tools:text="Theme Name" />
</LinearLayout>

View file

@ -35,7 +35,7 @@
android:ellipsize="end"
android:maxLines="1"
android:paddingHorizontal="16dp"
android:textAppearance="?attr/textAppearanceSubtitle1"
android:textAppearance="?attr/textAppearanceTitleMedium"
tools:text="MyAnimeList" />
<ImageView

View file

@ -22,7 +22,7 @@
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:padding="4dp"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
android:textDirection="ltr"
android:textStyle="bold" />

View file

@ -30,7 +30,7 @@
android:layout_height="wrap_content"
android:paddingStart="16dp"
android:text="@string/color_filter_r_value"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
app:layout_constraintBottom_toBottomOf="@id/slider_color_filter_red"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/slider_color_filter_red" />
@ -54,7 +54,7 @@
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginEnd="16dp"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
app:layout_constraintBottom_toBottomOf="@id/slider_color_filter_red"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/slider_color_filter_red"
@ -68,7 +68,7 @@
android:layout_height="wrap_content"
android:paddingStart="16dp"
android:text="@string/color_filter_g_value"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
app:layout_constraintBottom_toBottomOf="@id/slider_color_filter_green"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/slider_color_filter_green" />
@ -92,7 +92,7 @@
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginEnd="16dp"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
app:layout_constraintBottom_toBottomOf="@id/slider_color_filter_green"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/slider_color_filter_green"
@ -106,7 +106,7 @@
android:layout_height="wrap_content"
android:paddingStart="16dp"
android:text="@string/color_filter_b_value"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
app:layout_constraintBottom_toBottomOf="@id/slider_color_filter_blue"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/slider_color_filter_blue" />
@ -130,7 +130,7 @@
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginEnd="16dp"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
app:layout_constraintBottom_toBottomOf="@id/slider_color_filter_blue"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/slider_color_filter_blue"
@ -144,7 +144,7 @@
android:layout_height="wrap_content"
android:paddingStart="16dp"
android:text="@string/color_filter_a_value"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
app:layout_constraintBottom_toBottomOf="@id/slider_color_filter_alpha"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/slider_color_filter_alpha" />
@ -168,7 +168,7 @@
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginEnd="16dp"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
app:layout_constraintBottom_toBottomOf="@id/slider_color_filter_alpha"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/slider_color_filter_alpha"
@ -226,7 +226,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="16dp"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
android:tint="?attr/colorOnBackground"
app:layout_constraintBottom_toBottomOf="@id/slider_brightness"
app:layout_constraintStart_toStartOf="parent"
@ -252,7 +252,7 @@
android:layout_width="30dp"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
app:layout_constraintBottom_toBottomOf="@id/slider_brightness"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/slider_brightness"

View file

@ -12,7 +12,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:textAppearance="?attr/textAppearanceSubtitle1"
android:textAppearance="?attr/textAppearanceTitleMedium"
tools:text="Top" />
<LinearLayout
@ -35,7 +35,7 @@
android:id="@+id/warning_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceSubtitle1"
android:textAppearance="?attr/textAppearanceTitleMedium"
tools:text="Warning" />
</LinearLayout>
@ -44,7 +44,7 @@
android:id="@+id/lower_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceSubtitle1"
android:textAppearance="?attr/textAppearanceTitleMedium"
tools:text="Bottom" />
</LinearLayout>

View file

@ -29,7 +29,7 @@
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
android:textColor="?android:attr/textColorPrimary"
tools:text="Location" />

View file

@ -53,7 +53,7 @@
android:ellipsize="end"
android:maxLines="2"
android:padding="4dp"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
android:textSize="12sp"
android:textColor="@color/source_comfortable_item_title"
app:layout_constraintStart_toStartOf="parent"

View file

@ -46,7 +46,7 @@
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="4"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
android:textSize="12sp"
android:textColor="@color/md_white_1000"
tools:text="Sample name" />

View file

@ -24,7 +24,7 @@
android:paddingEnd="3dp"
android:paddingBottom="1dp"
android:text="@string/local_source_badge"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
android:textColor="?attr/colorOnTertiary"
android:visibility="gone"
tools:visibility="visible" />
@ -39,7 +39,7 @@
android:paddingTop="1dp"
android:paddingEnd="3dp"
android:paddingBottom="1dp"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
android:textColor="?attr/colorOnTertiary"
android:visibility="gone"
tools:text="120"
@ -55,7 +55,7 @@
android:paddingTop="1dp"
android:paddingEnd="3dp"
android:paddingBottom="1dp"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
android:textColor="?attr/colorOnSecondary"
android:visibility="gone"
tools:text="120"
@ -72,7 +72,7 @@
android:paddingEnd="3dp"
android:paddingBottom="1dp"
android:text="@string/in_library"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
android:textColor="?attr/colorOnSecondary"
android:visibility="gone"
tools:visibility="visible" />
@ -100,7 +100,7 @@
android:paddingTop="1dp"
android:paddingEnd="3dp"
android:paddingBottom="1dp"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
android:textColor="?attr/colorOnTertiary"
android:visibility="gone"
tools:text="EN"

View file

@ -29,7 +29,7 @@
android:layout_marginEnd="8dp"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceSubtitle1"
android:textAppearance="?attr/textAppearanceTitleMedium"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/badges"
app:layout_constraintHorizontal_bias="0.007"
@ -59,7 +59,7 @@
android:paddingEnd="3dp"
android:paddingBottom="1dp"
android:text="@string/local_source_badge"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
android:textColor="?attr/colorOnTertiary"
android:visibility="gone"
tools:visibility="visible" />
@ -74,7 +74,7 @@
android:paddingTop="1dp"
android:paddingEnd="3dp"
android:paddingBottom="1dp"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
android:textColor="?attr/colorOnTertiary"
android:visibility="gone"
tools:text="122"
@ -90,7 +90,7 @@
android:paddingTop="1dp"
android:paddingEnd="3dp"
android:paddingBottom="1dp"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
android:textColor="?attr/colorOnSecondary"
android:visibility="gone"
tools:text="130"
@ -107,7 +107,7 @@
android:paddingEnd="3dp"
android:paddingBottom="1dp"
android:text="@string/in_library"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
android:textColor="?attr/colorOnSecondary"
android:visibility="gone"
tools:visibility="visible" />
@ -123,7 +123,7 @@
android:paddingEnd="3dp"
android:paddingBottom="1dp"
tools:text="EN"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
android:textColor="?attr/colorOnTertiary"
android:visibility="gone"
tools:visibility="visible" />

View file

@ -27,7 +27,7 @@
android:maxLines="1"
android:paddingStart="0dp"
android:paddingEnd="8dp"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
app:layout_constraintBottom_toTopOf="@id/subtitle"
app:layout_constraintEnd_toStartOf="@+id/source_latest"
app:layout_constraintStart_toEndOf="@+id/image"
@ -40,7 +40,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/source_latest"

View file

@ -59,7 +59,7 @@
android:gravity="center_vertical"
android:maxLines="1"
android:paddingHorizontal="16dp"
android:textAppearance="?attr/textAppearanceSubtitle1"
android:textAppearance="?attr/textAppearanceTitleMedium"
tools:text="Title" />
<ImageButton
@ -78,6 +78,7 @@
<com.google.android.material.card.MaterialCardView
android:id="@+id/card"
style="@style/Widget.Material3.CardView.Outlined"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
@ -105,7 +106,7 @@
android:gravity="center"
android:maxLines="1"
android:padding="12dp"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
tools:text="Reading" />
<View
@ -124,7 +125,7 @@
android:gravity="center"
android:maxLines="1"
android:padding="12dp"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
tools:text="12/24" />
<View
@ -143,7 +144,7 @@
android:gravity="center"
android:maxLines="1"
android:padding="12dp"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
tools:text="10" />
</LinearLayout>
@ -170,7 +171,7 @@
android:gravity="center"
android:maxLines="1"
android:padding="12dp"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
tools:text="4/16/2020" />
<View
@ -189,7 +190,7 @@
android:gravity="center"
android:maxLines="1"
android:padding="12dp"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
tools:text="4/16/2020" />
</LinearLayout>

View file

@ -30,7 +30,7 @@
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/title_input"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
style="@style/Widget.Material3.TextInputLayout.OutlinedBox.Dense"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="12dp"
@ -66,7 +66,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:visibility="gone"
tools:text="@string/no_results_found" />

View file

@ -2,12 +2,14 @@
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
style="@style/Widget.Material3.CardView.Outlined"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:checkable="true"
android:clickable="true"
android:focusable="true"
android:elevation="0dp"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.MaterialCardView.Tracker">
<androidx.constraintlayout.widget.ConstraintLayout
@ -38,7 +40,7 @@
android:layout_marginEnd="36dp"
android:ellipsize="end"
android:maxLines="2"
android:textAppearance="?attr/textAppearanceHeadline6"
android:textAppearance="?attr/textAppearanceTitleLarge"
android:textSize="17sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/track_search_cover"
@ -51,7 +53,7 @@
android:layout_height="wrap_content"
android:maxLines="1"
android:text="@string/track_type"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
app:layout_constraintStart_toStartOf="@+id/track_search_title"
app:layout_constraintTop_toBottomOf="@id/track_search_title" />
@ -62,7 +64,7 @@
android:layout_marginStart="4dp"
android:layout_marginEnd="12dp"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/track_search_type"
@ -75,7 +77,7 @@
android:layout_height="wrap_content"
android:maxLines="1"
android:text="@string/track_start_date"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
app:layout_constraintStart_toStartOf="@+id/track_search_type"
app:layout_constraintTop_toBottomOf="@id/track_search_type" />
@ -87,7 +89,7 @@
android:layout_marginEnd="12dp"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/track_search_start"
@ -101,7 +103,7 @@
android:ellipsize="end"
android:maxLines="1"
android:text="@string/track_status"
android:textAppearance="?attr/textAppearanceSubtitle2"
android:textAppearance="?attr/textAppearanceTitleSmall"
app:layout_constraintStart_toStartOf="@+id/track_search_start"
app:layout_constraintTop_toBottomOf="@id/track_search_start" />
@ -113,7 +115,7 @@
android:layout_marginEnd="12dp"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/track_search_status"
@ -129,7 +131,7 @@
android:layout_marginEnd="12dp"
android:ellipsize="end"
android:maxLines="4"
android:textAppearance="?attr/textAppearanceCaption"
android:textAppearance="?attr/textAppearanceBodySmall"
android:textColor="?android:attr/textColorSecondary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View file

@ -29,7 +29,7 @@
android:layout_marginStart="16dp"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
app:layout_constraintBottom_toTopOf="@+id/chapter_title"
app:layout_constraintEnd_toStartOf="@+id/download"
app:layout_constraintStart_toEndOf="@+id/manga_cover"
@ -49,8 +49,7 @@
app:layout_constraintEnd_toStartOf="@id/chapter_title"
app:srcCompat="@drawable/ic_bookmark_24dp"
app:tint="?attr/colorAccent"
tools:visibility="visible"
/>
tools:visibility="visible" />
<TextView
android:id="@+id/chapter_title"
@ -58,7 +57,7 @@
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceBody2"
android:textAppearance="?attr/textAppearanceBodyMedium"
android:textColor="?android:attr/textColorSecondary"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="parent"

View file

@ -17,7 +17,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
app:controller_layout_id="@layout/watcher_controls_view"
app:fastforward_increment="85000"
app:dtpv_controller="@id/youtube_overlay"
app:show_buffering="when_playing"/>

View file

@ -1,54 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<item
android:id="@+id/action_download"
android:icon="@drawable/ic_get_app_24dp"
android:title="@string/action_download"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
<item
android:id="@+id/action_delete"
android:icon="@drawable/ic_delete_24dp"
android:title="@string/action_delete"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
<item
android:id="@+id/action_bookmark"
android:icon="@drawable/ic_bookmark_border_24dp"
android:title="@string/action_bookmark"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
<item
android:id="@+id/action_remove_bookmark"
android:icon="@drawable/ic_bookmark_24dp"
android:title="@string/action_remove_bookmark"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
<item
android:id="@+id/action_mark_as_read"
android:icon="@drawable/ic_done_24dp"
android:title="@string/action_mark_as_read"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
<item
android:id="@+id/action_mark_as_unread"
android:icon="@drawable/ic_done_outline_24dp"
android:title="@string/action_mark_as_unread"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
<item
android:id="@+id/action_mark_previous_as_read"
android:icon="@drawable/ic_done_prev_24dp"
android:title="@string/action_mark_previous_as_read"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
</menu>

View file

@ -7,7 +7,7 @@
android:icon="@drawable/ic_share_24dp"
android:title="@string/action_share"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_save_cover"
android:icon="@drawable/ic_save_24dp"
@ -21,4 +21,4 @@
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="ifRoom" />
</menu>
</menu>

View file

@ -1,40 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<item
android:id="@+id/action_move_to_category"
android:icon="@drawable/ic_label_24dp"
android:title="@string/action_move_category"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
<item
android:id="@+id/action_download_unread"
android:icon="@drawable/ic_get_app_24dp"
android:title="@string/action_download_unread"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
<item
android:id="@+id/action_mark_as_read"
android:icon="@drawable/ic_done_24dp"
android:title="@string/action_mark_as_read"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
<item
android:id="@+id/action_mark_as_unread"
android:icon="@drawable/ic_done_outline_24dp"
android:title="@string/action_mark_as_unread"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
<item
android:id="@+id/action_delete"
android:icon="@drawable/ic_delete_24dp"
android:title="@string/action_delete"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
</menu>

View file

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_change_source"
android:icon="@drawable/ic_filter_list_24dp"
android:title="@string/action_filter"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
</menu>

View file

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
<menu xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
@ -7,41 +8,47 @@
android:icon="@drawable/ic_get_app_24dp"
android:title="@string/action_download"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
<item
android:id="@+id/action_delete"
android:icon="@drawable/ic_delete_24dp"
android:title="@string/action_delete"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
<item
android:id="@+id/action_bookmark"
android:icon="@drawable/ic_bookmark_border_24dp"
android:title="@string/action_bookmark"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
<item
android:id="@+id/action_remove_bookmark"
android:icon="@drawable/ic_bookmark_24dp"
android:title="@string/action_remove_bookmark"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
<item
android:id="@+id/action_mark_as_read"
android:icon="@drawable/ic_done_24dp"
android:title="@string/action_mark_as_read"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
<item
android:id="@+id/action_mark_as_unread"
android:icon="@drawable/ic_done_outline_24dp"
android:title="@string/action_mark_as_unread"
app:iconTint="?attr/colorOnToolbar"
app:showAsAction="always" />
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
</menu>

View file

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- From ThemeOverlay.Material3.DynamicColors.Dark -->
<style name="Theme.Tachiyomi.Monet">
<!-- Color palettes -->
<item name="colorPrimary">@color/m3_sys_color_dynamic_dark_primary</item>
<item name="colorOnPrimary">@color/m3_sys_color_dynamic_dark_on_primary</item>
<item name="colorPrimaryInverse">@color/m3_sys_color_dynamic_dark_inverse_primary</item>
<item name="colorPrimaryContainer">@color/m3_sys_color_dynamic_dark_primary_container</item>
<item name="colorOnPrimaryContainer">@color/m3_sys_color_dynamic_dark_on_primary_container</item>
<item name="colorSecondary">@color/m3_sys_color_dynamic_dark_secondary</item>
<item name="colorOnSecondary">@color/m3_sys_color_dynamic_dark_on_secondary</item>
<item name="colorSecondaryContainer">@color/m3_sys_color_dynamic_dark_secondary_container</item>
<item name="colorOnSecondaryContainer">@color/m3_sys_color_dynamic_dark_on_secondary_container</item>
<item name="colorTertiary">@color/m3_sys_color_dynamic_dark_tertiary</item>
<item name="colorOnTertiary">@color/m3_sys_color_dynamic_dark_on_tertiary</item>
<item name="colorTertiaryContainer">@color/m3_sys_color_dynamic_dark_tertiary_container</item>
<item name="colorOnTertiaryContainer">@color/m3_sys_color_dynamic_dark_on_tertiary_container</item>
<item name="android:colorBackground">@color/m3_sys_color_dynamic_dark_background</item>
<item name="colorOnBackground">@color/m3_sys_color_dynamic_dark_on_background</item>
<item name="colorSurface">@color/m3_sys_color_dynamic_dark_surface</item>
<item name="colorOnSurface">@color/m3_sys_color_dynamic_dark_on_surface</item>
<item name="colorSurfaceVariant">@color/m3_sys_color_dynamic_dark_surface_variant</item>
<item name="colorOnSurfaceVariant">@color/m3_sys_color_dynamic_dark_on_surface_variant</item>
<item name="colorSurfaceInverse">@color/m3_sys_color_dynamic_dark_inverse_surface</item>
<item name="colorOnSurfaceInverse">@color/m3_sys_color_dynamic_dark_inverse_on_surface</item>
<item name="colorOutline">@color/m3_sys_color_dynamic_dark_outline</item>
<!-- Default Framework Text Colors. -->
<item name="android:textColorPrimary">@color/m3_dynamic_dark_default_color_primary_text</item>
<item name="android:textColorPrimaryInverse">@color/m3_dynamic_default_color_primary_text</item>
<item name="android:textColorSecondary">@color/m3_dynamic_dark_default_color_secondary_text</item>
<item name="android:textColorSecondaryInverse">@color/m3_dynamic_default_color_secondary_text</item>
<item name="android:textColorTertiary">@color/m3_dynamic_dark_default_color_secondary_text</item>
<item name="android:textColorTertiaryInverse">@color/m3_dynamic_default_color_secondary_text</item>
<item name="android:textColorPrimaryDisableOnly">@color/m3_dynamic_dark_primary_text_disable_only</item>
<item name="android:textColorPrimaryInverseDisableOnly">@color/m3_dynamic_primary_text_disable_only</item>
<item name="android:textColorHint">@color/m3_dynamic_dark_hint_foreground</item>
<item name="android:textColorHintInverse">@color/m3_dynamic_hint_foreground</item>
<item name="android:textColorHighlight">@color/m3_dynamic_dark_highlighted_text</item>
<item name="android:textColorHighlightInverse">@color/m3_dynamic_highlighted_text</item>
<item name="android:textColorAlertDialogListItem">@color/m3_dynamic_dark_default_color_primary_text</item>
</style>
</resources>

View file

@ -1,47 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<color name="splash">@color/background_default</color>
<resources>
<color name="splash">#202125</color>
<color name="error">#FFB4A9</color>
<color name="errorContainer">#930006</color>
<color name="onError">#680003</color>
<color name="onErrorContainer">#FFDAD4</color>
<!-- Default Theme -->
<color name="accent_default">#3399FF</color>
<color name="divider_default">@color/md_white_1000_12</color>
<color name="surface_default">#242529</color>
<color name="background_default">#202125</color>
<color name="ripple_colored_default">#1F3399FF</color>
<!-- Monet Theme -->
<color name="accent_monet" tools:targetApi="31">@android:color/system_accent1_100</color>
<color name="on_accent_monet" tools:targetApi="31">@android:color/system_accent1_900</color>
<color name="divider_monet" tools:targetApi="31">@android:color/system_neutral1_700</color>
<color name="tertiary_monet" tools:targetApi="31">@android:color/system_accent3_100</color>
<color name="on_tertiary_monet" tools:targetApi="31">@android:color/system_accent3_900</color>
<color name="surface_monet" tools:targetApi="31">@android:color/system_neutral1_900</color>
<color name="on_surface_monet" tools:targetApi="31">@android:color/system_neutral1_50</color>
<!-- Green Apple Theme -->
<color name="accent_greenapple">#48E484</color>
<color name="color_on_primary_greenapple">@color/md_black_1000</color>
<color name="ripple_colored_greenapple">#1F48E484</color>
<!-- Tako Theme -->
<color name="accent_tako">#F3B375</color>
<color name="color_on_primary_tako">#242431</color>
<color name="tertiary_tako">@color/color_on_primary_tako</color>
<color name="color_on_tertiary_tako">@color/accent_tako</color>
<color name="ripple_colored_tako">#1FF3B375</color>
<color name="surface_tako">#2A2A3C</color>
<color name="background_tako">#21212E</color>
<color name="filter_tako">@color/accent_tako</color>
<!-- Teal & Turquoise Theme -->
<color name="accent_tealturquoise">#40E0D0</color>
<color name="color_on_primary_tealturquoise">#000000</color>
<color name="tertiary_tealturquoise">#BF1F2F</color>
<color name="color_on_tertiary_tealturquoise">#FFFFFF</color>
<color name="ripple_colored_tealturquoise">#1F40E0D0</color>
<!-- Yin & Yang Theme -->
<color name="accent_yinyang">#FFFFFF</color>
<color name="color_on_secondary_yinyang">#000000</color>
<color name="ripple_colored_yinyang">#777777</color>
</resources>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Green Apple theme
~ Original color scheme by CarlosEsco, Jays2Kings and CrepeTF
~ M3 colors generated by Material Theme Builder (https://goo.gle/material-theme-builder-web)
~
~ Key colors:
~ Primary #188140
~ Secondary #188140
~ Tertiary #D33131
~ Neutral #5D5F5B
-->
<resources>
<color name="greenapple_primary">#7ADB8F</color>
<color name="greenapple_onPrimary">#003915</color>
<color name="greenapple_primaryContainer">#005322</color>
<color name="greenapple_onPrimaryContainer">#96F8A9</color>
<color name="greenapple_secondary">#7ADB8F</color>
<color name="greenapple_onSecondary">#003915</color>
<color name="greenapple_secondaryContainer">#005322</color>
<color name="greenapple_onSecondaryContainer">#96F8A9</color>
<color name="greenapple_tertiary">#FFB3AA</color>
<color name="greenapple_onTertiary">#680006</color>
<color name="greenapple_tertiaryContainer">#93000D</color>
<color name="greenapple_onTertiaryContainer">#FFDAD5</color>
<color name="greenapple_background">#1A1C19</color>
<color name="greenapple_onBackground">#E1E3DD</color>
<color name="greenapple_surface">#1A1C19</color>
<color name="greenapple_onSurface">#E1E3DD</color>
<color name="greenapple_surfaceVariant">#414941</color>
<color name="greenapple_onSurfaceVariant">#C1C8BE</color>
<color name="greenapple_outline">#8B9389</color>
<color name="greenapple_inverseOnSurface">#1A1C19</color>
<color name="greenapple_inverseSurface">#E1E3DD</color>
<color name="greenapple_primaryInverse">#006D2F</color>
</resources>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Midnight Dusk theme
~ Original color scheme by CrepeTF
~ M3 color scheme generated by Material Theme Builder (https://goo.gle/material-theme-builder-web)
~
~ Key colors:
~ Primary #F02475
~ Secondary #F02475
~ Tertiary #7A5733
~ Neutral #16151D
-->
<resources>
<color name="midnightdusk_primary">#FFB1C4</color>
<color name="midnightdusk_onPrimary">#66002A</color>
<color name="midnightdusk_primaryContainer">#8F003F</color>
<color name="midnightdusk_onPrimaryContainer">#FFD9E1</color>
<color name="midnightdusk_secondary">#FFB1C4</color>
<color name="midnightdusk_onSecondary">#66002A</color>
<color name="midnightdusk_secondaryContainer">#8F003F</color>
<color name="midnightdusk_onSecondaryContainer">#FFD9E1</color>
<color name="midnightdusk_tertiary">#EDBE91</color>
<color name="midnightdusk_onTertiary">#462A09</color>
<color name="midnightdusk_tertiaryContainer">#60401D</color>
<color name="midnightdusk_onTertiaryContainer">#FFDCBA</color>
<color name="midnightdusk_background">#16151D</color>
<color name="midnightdusk_onBackground">#E5E1E5</color>
<color name="midnightdusk_surface">#16151D</color>
<color name="midnightdusk_onSurface">#E5E1E5</color>
<color name="midnightdusk_surfaceVariant">#524346</color>
<color name="midnightdusk_onSurfaceVariant">#D6C1C4</color>
<color name="midnightdusk_outline">#9F8C8F</color>
<color name="midnightdusk_inverseOnSurface">#1C1B1F</color>
<color name="midnightdusk_inverseSurface">#E5E1E5</color>
<color name="midnightdusk_primaryInverse">#BB0054</color>
</resources>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Strawberry Daiquiri theme
~ Original color scheme by Soitora
~ M3 colors generated by Material Theme Builder (https://goo.gle/material-theme-builder-web)
~
~ Key colors:
~ Primary #ED4A65
~ Secondary #ED4A65
~ Tertiary #775930
~ Neutral #655C5C
-->
<resources>
<color name="strawberry_primary">#FFB2B9</color>
<color name="strawberry_onPrimary">#67001B</color>
<color name="strawberry_primaryContainer">#91002A</color>
<color name="strawberry_onPrimaryContainer">#FFDADD</color>
<color name="strawberry_secondary">#FFB2B9</color>
<color name="strawberry_onSecondary">#67001B</color>
<color name="strawberry_secondaryContainer">#91002A</color>
<color name="strawberry_onSecondaryContainer">#FFDADD</color>
<color name="strawberry_tertiary">#E8C08E</color>
<color name="strawberry_onTertiary">#432C06</color>
<color name="strawberry_tertiaryContainer">#5D421B</color>
<color name="strawberry_onTertiaryContainer">#FFDDB1</color>
<color name="strawberry_background">#201A1A</color>
<color name="strawberry_onBackground">#ECDFDF</color>
<color name="strawberry_surface">#201A1A</color>
<color name="strawberry_onSurface">#ECDFDF</color>
<color name="strawberry_surfaceVariant">#534344</color>
<color name="strawberry_onSurfaceVariant">#D7C1C2</color>
<color name="strawberry_outline">#A08C8D</color>
<color name="strawberry_inverseOnSurface">#201A1A</color>
<color name="strawberry_inverseSurface">#ECDFDF</color>
<color name="strawberry_primaryInverse">#B61E40</color>
</resources>

View file

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Default theme
~ M3 colors generated by Material Theme Builder (https://goo.gle/material-theme-builder-web)
~
~ Key colors:
~ Primary #2979FF
~ Secondary #2979FF
~ Tertiary #47A84A
~ Neutral #5E5E62
-->
<resources>
<color name="tachiyomi_primary">#AEC6FF</color>
<color name="tachiyomi_onPrimary">#002C71</color>
<color name="tachiyomi_primaryContainer">#00419E</color>
<color name="tachiyomi_onPrimaryContainer">#D8E2FF</color>
<color name="tachiyomi_secondary">#AEC6FF</color>
<color name="tachiyomi_onSecondary">#002C71</color>
<color name="tachiyomi_secondaryContainer">#00419E</color>
<color name="tachiyomi_onSecondaryContainer">#D8E2FF</color>
<color name="tachiyomi_tertiary">#7ADC77</color>
<color name="tachiyomi_onTertiary">#003907</color>
<color name="tachiyomi_tertiaryContainer">#00530D</color>
<color name="tachiyomi_onTertiaryContainer">#95F990</color>
<color name="tachiyomi_background">#1B1B1E</color>
<color name="tachiyomi_onBackground">#E4E2E6</color>
<color name="tachiyomi_surface">#1B1B1E</color>
<color name="tachiyomi_onSurface">#E4E2E6</color>
<color name="tachiyomi_surfaceVariant">#44464E</color>
<color name="tachiyomi_onSurfaceVariant">#C5C6D0</color>
<color name="tachiyomi_outline">#8E9099</color>
<color name="tachiyomi_inverseOnSurface">#1B1B1E</color>
<color name="tachiyomi_inverseSurface">#E4E2E6</color>
<color name="tachiyomi_primaryInverse">#0057CE</color>
</resources>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Tako theme
~ Original color scheme by ghostbear
~ M3 color scheme generated by yours truly
~
~ Key colors:
~ Primary #F3B375
~ Secondary #F3B375
~ Tertiary #66577E
~ Neutral #21212E
-->
<resources>
<color name="tako_primary">#F3B375</color>
<color name="tako_onPrimary">#38294E</color>
<color name="tako_primaryContainer">#F3B375</color>
<color name="tako_onPrimaryContainer">#38294E</color>
<color name="tako_secondary">#F3B375</color>
<color name="tako_onSecondary">#38294E</color>
<color name="tako_secondaryContainer">#F3B375</color>
<color name="tako_onSecondaryContainer">#38294E</color>
<color name="tako_tertiary">#66577E</color>
<color name="tako_onTertiary">#F3B375</color>
<color name="tako_tertiaryContainer">#4E4065</color>
<color name="tako_onTertiaryContainer">#EDDCFF</color>
<color name="tako_background">#21212E</color>
<color name="tako_onBackground">#E3E0F2</color>
<color name="tako_surface">#21212E</color>
<color name="tako_onSurface">#E3E0F2</color>
<color name="tako_surfaceVariant">#49454E</color>
<color name="tako_onSurfaceVariant">#CBC4CE</color>
<color name="tako_outline">#958F99</color>
<color name="tako_inverseOnSurface">#1B1B1E</color>
<color name="tako_inverseSurface">#E5E1E6</color>
<color name="tako_primaryInverse">#84531E</color>
</resources>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Teal & Turquoise theme
~ Original color scheme by Riztard
~ M3 colors generated by Material Theme Builder (https://goo.gle/material-theme-builder-web)
~
~ Key colors:
~ Primary #008080
~ Secondary #008080
~ Tertiary #FF7F7F
~ Neutral #5B5F5F
-->
<resources>
<color name="tealturquoise_primary">#4DDADA</color>
<color name="tealturquoise_onPrimary">#003738</color>
<color name="tealturquoise_primaryContainer">#004F50</color>
<color name="tealturquoise_onPrimaryContainer">#6EF6F6</color>
<color name="tealturquoise_secondary">#4DDADA</color>
<color name="tealturquoise_onSecondary">#003738</color>
<color name="tealturquoise_secondaryContainer">#004F50</color>
<color name="tealturquoise_onSecondaryContainer">#6EF6F6</color>
<color name="tealturquoise_tertiary">#FFB3B1</color>
<color name="tealturquoise_onTertiary">#640914</color>
<color name="tealturquoise_tertiaryContainer">#842328</color>
<color name="tealturquoise_onTertiaryContainer">#FFDAD7</color>
<color name="tealturquoise_background">#191C1C</color>
<color name="tealturquoise_onBackground">#E0E3E2</color>
<color name="tealturquoise_surface">#191C1C</color>
<color name="tealturquoise_onSurface">#E0E3E2</color>
<color name="tealturquoise_surfaceVariant">#3F4848</color>
<color name="tealturquoise_onSurfaceVariant">#BEC9C8</color>
<color name="tealturquoise_outline">#889392</color>
<color name="tealturquoise_inverseOnSurface">#191C1C</color>
<color name="tealturquoise_inverseSurface">#E0E3E2</color>
<color name="tealturquoise_primaryInverse">#006A6A</color>
</resources>

View file

@ -1,16 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--== Midnight Dusk Theme ==-->
<style name="Theme.Tachiyomi.MidnightDusk">
<!-- Theme Colors -->
<item name="colorPrimary">@color/accent_midnightdusk</item>
<item name="colorTertiary">@color/md_blue_A400</item>
<item name="colorControlHighlight">@color/ripple_colored_midnightdusk</item>
<item name="colorSurface">@color/surface_midnightdusk</item>
<item name="android:colorBackground">@color/background_midnightdusk</item>
</style>
<!--== AMOLED Mode Overlay ==-->
<style name="ThemeOverlay.Tachiyomi.Amoled" parent="">
<!-- Theme Colors -->

View file

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Yin & Yang theme
~ Original color scheme by Riztard
~ M3 colors generated by yours truly
-->
<resources>
<color name="yinyang_primary">#FFFFFF</color>
<color name="yinyang_onPrimary">#5A5A5A</color>
<color name="yinyang_primaryContainer">#717171</color>
<color name="yinyang_onPrimaryContainer">#E4E4E4</color>
<color name="yinyang_secondary">#FFFFFF</color>
<color name="yinyang_onSecondary">#5A5A5A</color>
<color name="yinyang_secondaryContainer">#717171</color>
<color name="yinyang_onSecondaryContainer">#E4E4E4</color>
<color name="yinyang_tertiary">#AEC6FF</color>
<color name="yinyang_onTertiary">#002C71</color>
<color name="yinyang_tertiaryContainer">#00419E</color>
<color name="yinyang_onTertiaryContainer">#D8E2FF</color>
<color name="yinyang_background">#1E1E1E</color>
<color name="yinyang_onBackground">#E6E6E6</color>
<color name="yinyang_surface">#1E1E1E</color>
<color name="yinyang_onSurface">#E6E6E6</color>
<color name="yinyang_surfaceVariant">#4E4E4E</color>
<color name="yinyang_onSurfaceVariant">#D1D1D1</color>
<color name="yinyang_outline">#999999</color>
<color name="yinyang_inverseOnSurface">#1E1E1E</color>
<color name="yinyang_inverseSurface">#E6E6E6</color>
<color name="yinyang_primaryInverse">#CECECE</color>
</resources>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Yotsuba theme
~ Original color scheme by ztimms73
~ M3 colors generated by Material Theme Builder (https://goo.gle/material-theme-builder-web)
~
~ Key colors:
~ Primary #AE3200
~ Secondary #AE3200
~ Tertiary #6B5E2F
~ Neutral #655C5A
-->
<resources>
<color name="yotsuba_primary">#FFB59D</color>
<color name="yotsuba_onPrimary">#5F1600</color>
<color name="yotsuba_primaryContainer">#862200</color>
<color name="yotsuba_onPrimaryContainer">#FFDBCF</color>
<color name="yotsuba_secondary">#FFB59D</color>
<color name="yotsuba_onSecondary">#5F1600</color>
<color name="yotsuba_secondaryContainer">#862200</color>
<color name="yotsuba_onSecondaryContainer">#FFDBCF</color>
<color name="yotsuba_tertiary">#D7C68D</color>
<color name="yotsuba_onTertiary">#3A2F05</color>
<color name="yotsuba_tertiaryContainer">#524619</color>
<color name="yotsuba_onTertiaryContainer">#F5E2A7</color>
<color name="yotsuba_background">#211A18</color>
<color name="yotsuba_onBackground">#EDE0DD</color>
<color name="yotsuba_surface">#211A18</color>
<color name="yotsuba_onSurface">#EDE0DD</color>
<color name="yotsuba_surfaceVariant">#53433F</color>
<color name="yotsuba_onSurfaceVariant">#D8C2BC</color>
<color name="yotsuba_outline">#A08C87</color>
<color name="yotsuba_inverseOnSurface">#211A18</color>
<color name="yotsuba_inverseSurface">#EDE0DD</color>
<color name="yotsuba_primaryInverse">#AE3200</color>
</resources>

View file

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Reader Theme -->
<color name="reader_toolbar">#BF212121</color>
</resources>

View file

@ -1,17 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- From ThemeOverlay.Material3.DynamicColors.Light -->
<style name="Theme.Tachiyomi.Monet">
<item name="colorPrimary">@color/accent_monet</item>
<item name="colorOnPrimary">@color/on_accent_monet</item>
<item name="colorTertiary">@color/tertiary_monet</item>
<item name="colorOnTertiary">@color/on_tertiary_monet</item>
<item name="colorSurface">@color/surface_monet</item>
<item name="colorOnSurface">@color/on_surface_monet</item>
<item name="android:colorBackground">@color/background_monet</item>
<item name="colorOnBackground">@color/on_background_monet</item>
<item name="colorControlHighlight">@color/ripple_colored_monet</item>
<item name="android:divider">@color/divider_monet</item>
<item name="android:textColorPrimary">@color/text_primary_monet</item>
<item name="android:textColorSecondary">@color/text_secondary_monet</item>
<!-- Color palettes -->
<item name="colorPrimary">@color/m3_sys_color_dynamic_light_primary</item>
<item name="colorOnPrimary">@color/m3_sys_color_dynamic_light_on_primary</item>
<item name="colorPrimaryInverse">@color/m3_sys_color_dynamic_light_inverse_primary</item>
<item name="colorPrimaryContainer">@color/m3_sys_color_dynamic_light_primary_container</item>
<item name="colorOnPrimaryContainer">@color/m3_sys_color_dynamic_light_on_primary_container</item>
<item name="colorSecondary">@color/m3_sys_color_dynamic_light_secondary</item>
<item name="colorOnSecondary">@color/m3_sys_color_dynamic_light_on_secondary</item>
<item name="colorSecondaryContainer">@color/m3_sys_color_dynamic_light_secondary_container</item>
<item name="colorOnSecondaryContainer">@color/m3_sys_color_dynamic_light_on_secondary_container</item>
<item name="colorTertiary">@color/m3_sys_color_dynamic_light_tertiary</item>
<item name="colorOnTertiary">@color/m3_sys_color_dynamic_light_on_tertiary</item>
<item name="colorTertiaryContainer">@color/m3_sys_color_dynamic_light_tertiary_container</item>
<item name="colorOnTertiaryContainer">@color/m3_sys_color_dynamic_light_on_tertiary_container</item>
<item name="android:colorBackground">@color/m3_sys_color_dynamic_light_background</item>
<item name="colorOnBackground">@color/m3_sys_color_dynamic_light_on_background</item>
<item name="colorSurface">@color/m3_sys_color_dynamic_light_surface</item>
<item name="colorOnSurface">@color/m3_sys_color_dynamic_light_on_surface</item>
<item name="colorSurfaceVariant">@color/m3_sys_color_dynamic_light_surface_variant</item>
<item name="colorOnSurfaceVariant">@color/m3_sys_color_dynamic_light_on_surface_variant</item>
<item name="colorSurfaceInverse">@color/m3_sys_color_dynamic_light_inverse_surface</item>
<item name="colorOnSurfaceInverse">@color/m3_sys_color_dynamic_light_inverse_on_surface</item>
<item name="colorOutline">@color/m3_sys_color_dynamic_light_outline</item>
<!-- Default Framework Text Colors. -->
<item name="android:textColorPrimary">@color/m3_dynamic_default_color_primary_text</item>
<item name="android:textColorPrimaryInverse">@color/m3_dynamic_dark_default_color_primary_text</item>
<item name="android:textColorSecondary">@color/m3_dynamic_default_color_secondary_text</item>
<item name="android:textColorSecondaryInverse">@color/m3_dynamic_dark_default_color_secondary_text</item>
<item name="android:textColorTertiary">@color/m3_dynamic_default_color_secondary_text</item>
<item name="android:textColorTertiaryInverse">@color/m3_dynamic_dark_default_color_secondary_text</item>
<item name="android:textColorPrimaryDisableOnly">@color/m3_dynamic_primary_text_disable_only</item>
<item name="android:textColorPrimaryInverseDisableOnly">@color/m3_dynamic_dark_primary_text_disable_only</item>
<item name="android:textColorHint">@color/m3_dynamic_hint_foreground</item>
<item name="android:textColorHintInverse">@color/m3_dynamic_dark_hint_foreground</item>
<item name="android:textColorHighlight">@color/m3_dynamic_highlighted_text</item>
<item name="android:textColorHighlightInverse">@color/m3_dynamic_dark_highlighted_text</item>
<item name="android:textColorAlertDialogListItem">@color/m3_dynamic_default_color_primary_text</item>
</style>
</resources>

View file

@ -55,13 +55,6 @@
<item>@string/zoom_start_center</item>
</string-array>
<string-array name="zoom_start_values">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
</string-array>
<string-array name="rotation_type">
<item>@string/label_default</item>
<item>@string/rotation_free</item>

View file

@ -2,70 +2,16 @@
<resources xmlns:tools="http://schemas.android.com/tools">
<color name="splash">@color/accent_blue</color>
<!-- Default Theme -->
<color name="accent_default">@color/md_blue_A400</color>
<color name="divider_default">@color/md_black_1000_12</color>
<color name="surface_default">@color/md_white_1000</color>
<color name="background_default">@color/md_grey_50</color>
<color name="ripple_colored_default">@color/md_blue_A400_12</color>
<color name="error">#BA1B1B</color>
<color name="errorContainer">#FFDAD4</color>
<color name="onError">#FFFFFF</color>
<color name="onErrorContainer">#410001</color>
<!-- Monet Theme -->
<color name="accent_monet" tools:targetApi="31">@android:color/system_accent1_600</color>
<color name="on_accent_monet" tools:targetApi="31">@android:color/system_accent1_10</color>
<color name="divider_monet" tools:targetApi="31">@android:color/system_neutral1_200</color>
<color name="tertiary_monet" tools:targetApi="31">@android:color/system_accent3_600</color>
<color name="on_tertiary_monet" tools:targetApi="31">@android:color/system_accent3_10</color>
<color name="surface_monet" tools:targetApi="31">@android:color/system_neutral1_50</color>
<color name="on_surface_monet" tools:targetApi="31">@android:color/system_neutral1_900</color>
<color name="background_monet" tools:targetApi="31">@color/surface_monet</color>
<color name="on_background_monet" tools:targetApi="31">@color/on_surface_monet</color>
<!-- Default Theme -->
<color name="divider_default">@color/md_black_1000_12</color>
<!-- Blue Theme -->
<color name="primary_blue">#3598FE</color>
<color name="accent_blue">#54759E</color>
<color name="ripple_colored_blue">#1F54759E</color>
<!-- Green Apple Theme -->
<color name="accent_greenapple">#188140</color>
<color name="color_on_primary_greenapple">@color/md_white_1000</color>
<color name="ripple_colored_greenapple">#1F188140</color>
<!-- Midnight Dusk Theme -->
<color name="accent_midnightdusk">#F02475</color>
<color name="background_midnightdusk">#16151D</color>
<color name="surface_midnightdusk">#201F27</color>
<color name="ripple_colored_midnightdusk">#1FF02475</color>
<!-- Strawberry Daiquiri Theme -->
<color name="accent_strawberry">#ED4A65</color>
<color name="ripple_colored_strawberry">#1FED4A65</color>
<!-- Tako Theme -->
<color name="accent_tako">#66577E</color>
<color name="color_on_primary_tako">#F3B375</color>
<color name="tertiary_tako">@color/color_on_primary_tako</color>
<color name="color_on_tertiary_tako">#574360</color>
<color name="ripple_colored_tako">#1F66577E</color>
<color name="surface_tako">#F7F5FF</color>
<color name="background_tako">#F2EDF7</color>
<color name="filter_tako">#F29940</color>
<!-- Teal & Turquoise Theme -->
<color name="accent_tealturquoise">#008080</color>
<color name="color_on_primary_tealturquoise">#FFFFFF</color>
<color name="tertiary_tealturquoise">#FF7F7F</color>
<color name="color_on_tertiary_tealturquoise">#000000</color>
<color name="ripple_colored_tealturquoise">#1F008080</color>
<!-- Yin & Yang Theme -->
<color name="accent_yinyang">#000000</color>
<color name="color_on_secondary_yinyang">#FFFFFF</color>
<color name="ripple_colored_yinyang">#999999</color>
<color name="chip_text_yinyang">#000000</color>
<!-- Yotsuba Theme -->
<color name="accent_yotsuba">#FC8C5C</color>
<color name="ripple_colored_yotsuba">#1FFC8C5C</color>
<!-- AMOLED Mode -->
<color name="surface_amoled">#000001</color>
@ -114,8 +60,6 @@
<color name="md_blue_grey_900">#263238</color>
<color name="md_blue_grey_800">#37474F</color>
<color name="green">#47a84a</color>
<!-- Navigation Overlay Colors -->
<color name="navigation_next">#CB84E296</color>
<color name="navigation_prev">#CCFF7733</color>

View file

@ -4,12 +4,10 @@
<dimen name="bottom_sheet_width">0dp</dimen>
<dimen name="space_between_cards">4dp</dimen>
<dimen name="card_radius">4dp</dimen>
<dimen name="card_selector_radius">6dp</dimen>
<dimen name="dialog_radius">8dp</dimen>
<dimen name="fab_size">56dp</dimen>
<dimen name="fab_list_padding">88dp</dimen>
<dimen name="action_toolbar_list_padding">72dp</dimen>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Green Apple theme
~ Original color scheme by CarlosEsco, Jays2Kings and CrepeTF
~ M3 colors generated by Material Theme Builder (https://goo.gle/material-theme-builder-web)
~
~ Key colors:
~ Primary #188140
~ Secondary #188140
~ Tertiary #D33131
~ Neutral #5D5F5B
-->
<resources>
<color name="greenapple_primary">#006D2F</color>
<color name="greenapple_onPrimary">#FFFFFF</color>
<color name="greenapple_primaryContainer">#96F8A9</color>
<color name="greenapple_onPrimaryContainer">#002109</color>
<color name="greenapple_secondary">#006D2F</color>
<color name="greenapple_onSecondary">#FFFFFF</color>
<color name="greenapple_secondaryContainer">#96F8A9</color>
<color name="greenapple_onSecondaryContainer">#002109</color>
<color name="greenapple_tertiary">#B91D22</color>
<color name="greenapple_onTertiary">#FFFFFF</color>
<color name="greenapple_tertiaryContainer">#FFDAD5</color>
<color name="greenapple_onTertiaryContainer">#410003</color>
<color name="greenapple_background">#FBFDF7</color>
<color name="greenapple_onBackground">#1A1C19</color>
<color name="greenapple_surface">#FBFDF7</color>
<color name="greenapple_onSurface">#1A1C19</color>
<color name="greenapple_surfaceVariant">#DDE5DA</color>
<color name="greenapple_onSurfaceVariant">#414941</color>
<color name="greenapple_outline">#717970</color>
<color name="greenapple_inverseOnSurface">#F0F2EC</color>
<color name="greenapple_inverseSurface">#2F312E</color>
<color name="greenapple_primaryInverse">#7ADB8F</color>
</resources>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Midnight Dusk theme
~ Original color scheme by CrepeTF
~ M3 color scheme generated by Material Theme Builder (https://goo.gle/material-theme-builder-web)
~
~ Key colors:
~ Primary #F02475
~ Secondary #F02475
~ Tertiary #7A5733
~ Neutral #16151D
-->
<resources>
<color name="midnightdusk_primary">#BB0054</color>
<color name="midnightdusk_onPrimary">#FFFFFF</color>
<color name="midnightdusk_primaryContainer">#FFD9E1</color>
<color name="midnightdusk_onPrimaryContainer">#3F0017</color>
<color name="midnightdusk_secondary">#BB0054</color>
<color name="midnightdusk_onSecondary">#FFFFFF</color>
<color name="midnightdusk_secondaryContainer">#FFD9E1</color>
<color name="midnightdusk_onSecondaryContainer">#3F0017</color>
<color name="midnightdusk_tertiary">#7A5733</color>
<color name="midnightdusk_onTertiary">#FFFFFF</color>
<color name="midnightdusk_tertiaryContainer">#FFDCBA</color>
<color name="midnightdusk_onTertiaryContainer">#2D1600</color>
<color name="midnightdusk_background">#FFFBFF</color>
<color name="midnightdusk_onBackground">#1C1B1F</color>
<color name="midnightdusk_surface">#FFFBFF</color>
<color name="midnightdusk_onSurface">#1C1B1F</color>
<color name="midnightdusk_surfaceVariant">#F3DDE0</color>
<color name="midnightdusk_onSurfaceVariant">#524346</color>
<color name="midnightdusk_outline">#847376</color>
<color name="midnightdusk_inverseOnSurface">#F4F0F4</color>
<color name="midnightdusk_inverseSurface">#313033</color>
<color name="midnightdusk_primaryInverse">#FFB1C4</color>
</resources>

Some files were not shown because too many files have changed in this diff Show more