mirror of
https://github.com/aniyomiorg/aniyomi.git
synced 2024-11-29 09:39:03 +03:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
ce74fda529
109 changed files with 1235 additions and 1007 deletions
|
@ -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")
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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 -> ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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" />
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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" />
|
||||
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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" />
|
||||
|
||||
|
|
|
@ -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" />
|
||||
|
||||
|
|
|
@ -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>
|
|
@ -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"
|
||||
|
|
|
@ -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" />
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -17,6 +17,6 @@
|
|||
android:gravity="center_vertical|start"
|
||||
android:maxLines="1"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:textAppearance="?attr/textAppearanceBody2" />
|
||||
android:textAppearance="?attr/textAppearanceBodyMedium" />
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
@ -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:" />
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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"
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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" />
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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" />
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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" />
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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" />
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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" />
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"/>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
|
@ -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>
|
||||
|
|
44
app/src/main/res/values-night-v31/themes.xml
Normal file
44
app/src/main/res/values-night-v31/themes.xml
Normal 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>
|
|
@ -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>
|
||||
|
|
36
app/src/main/res/values-night/greenapple_colors.xml
Normal file
36
app/src/main/res/values-night/greenapple_colors.xml
Normal 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>
|
36
app/src/main/res/values-night/midnightdusk_colors.xml
Normal file
36
app/src/main/res/values-night/midnightdusk_colors.xml
Normal 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>
|
36
app/src/main/res/values-night/strawberry_colors.xml
Normal file
36
app/src/main/res/values-night/strawberry_colors.xml
Normal 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>
|
35
app/src/main/res/values-night/tachiyomi_colors.xml
Normal file
35
app/src/main/res/values-night/tachiyomi_colors.xml
Normal 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>
|
36
app/src/main/res/values-night/tako_colors.xml
Normal file
36
app/src/main/res/values-night/tako_colors.xml
Normal 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>
|
36
app/src/main/res/values-night/tealturqoise_colors.xml
Normal file
36
app/src/main/res/values-night/tealturqoise_colors.xml
Normal 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>
|
|
@ -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 -->
|
||||
|
|
30
app/src/main/res/values-night/yinyang_colors.xml
Normal file
30
app/src/main/res/values-night/yinyang_colors.xml
Normal 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>
|
36
app/src/main/res/values-night/yotsuba_colors.xml
Normal file
36
app/src/main/res/values-night/yotsuba_colors.xml
Normal 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>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<!-- Reader Theme -->
|
||||
<color name="reader_toolbar">#BF212121</color>
|
||||
|
||||
</resources>
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
36
app/src/main/res/values/greenapple_colors.xml
Normal file
36
app/src/main/res/values/greenapple_colors.xml
Normal 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>
|
36
app/src/main/res/values/midnightdusk_colors.xml
Normal file
36
app/src/main/res/values/midnightdusk_colors.xml
Normal 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
Loading…
Reference in a new issue