Start of MD2 + White theme

This commit is contained in:
Jay 2020-02-01 01:29:26 -08:00
parent 9e36dccf4d
commit 25df36c60d
37 changed files with 288 additions and 51 deletions

View File

@ -113,7 +113,7 @@ dependencies {
// Android support library
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'com.google.android.material:material:1.0.0'
implementation 'com.google.android.material:material:1.2.0-alpha04'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.preference:preference:1.1.0'
implementation 'androidx.annotation:annotation:1.1.0'

View File

@ -3,6 +3,7 @@ package eu.kanade.tachiyomi.ui.library
import android.content.Context
import android.content.res.Configuration
import android.graphics.Color
import android.os.Build
import android.os.Bundle
import android.view.LayoutInflater
import android.view.Menu
@ -11,6 +12,7 @@ import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import android.view.WindowInsets
import android.view.WindowManager
import android.view.inputmethod.InputMethodManager
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.view.ActionMode
@ -41,6 +43,7 @@ import eu.kanade.tachiyomi.ui.base.controller.SecondaryDrawerController
import eu.kanade.tachiyomi.ui.base.controller.TabbedController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
import eu.kanade.tachiyomi.ui.category.CategoryController
import eu.kanade.tachiyomi.ui.download.DownloadController
import eu.kanade.tachiyomi.ui.main.MainActivity
import eu.kanade.tachiyomi.ui.manga.MangaController
import eu.kanade.tachiyomi.ui.migration.MigrationController
@ -443,9 +446,6 @@ class LibraryController(
searchView.clearFocus()
}
// Mutate the filter icon because it needs to be tinted and the resource is shared.
menu.findItem(R.id.action_filter).icon.mutate()
searchViewSubscription?.unsubscribe()
searchViewSubscription = searchView.queryTextChanges()
// Ignore events if this controller isn't at the top
@ -468,8 +468,10 @@ class LibraryController(
val filterItem = menu.findItem(R.id.action_filter)
// Tint icon if there's a filter active
val filterColor = if (navView.hasActiveFilters()) Color.rgb(255, 238, 7) else Color.WHITE
DrawableCompat.setTint(filterItem.icon, filterColor)
if (navView.hasActiveFilters())
DrawableCompat.setTint(filterItem.icon, Color.rgb(255, 238, 7))
else
DrawableCompat.clearColorFilter(filterItem.icon)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
@ -481,6 +483,9 @@ class LibraryController(
R.id.action_edit_categories -> {
router.pushController(CategoryController().withFadeTransaction())
}
R.id.action_downloads -> {
router.pushController(DownloadController().withFadeTransaction())
}
R.id.action_source_migration -> {
router.pushController(MigrationController().withFadeTransaction())
}

View File

@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.ui.main
import android.animation.ObjectAnimator
import android.app.SearchManager
import android.content.Intent
import android.content.res.Configuration
@ -8,12 +7,12 @@ import android.graphics.Color
import android.graphics.Rect
import android.os.Build
import android.os.Bundle
import android.provider.Settings
import android.view.MotionEvent
import android.view.View
import android.view.ViewGroup
import android.webkit.WebView
import android.widget.FrameLayout
import android.widget.LinearLayout
import android.widget.TextView
import androidx.appcompat.graphics.drawable.DrawerArrowDrawable
import androidx.biometric.BiometricManager
@ -126,7 +125,7 @@ open class MainActivity : BaseActivity() {
setSupportActionBar(toolbar)
drawerArrow = DrawerArrowDrawable(this)
drawerArrow?.color = Color.WHITE
drawerArrow?.color = getResourceColor(R.attr.actionBarTintColor)
toolbar.navigationIcon = drawerArrow
tabAnimator = TabsAnimator(tabs)
@ -158,9 +157,33 @@ open class MainActivity : BaseActivity() {
true
}
navigationView.setOnNavigationItemSelectedListener { item ->
val id = item.itemId
val currentRoot = router.backstack.firstOrNull()
if (currentRoot?.tag()?.toIntOrNull() != id) {
when (id) {
R.id.nav_drawer_library -> setRoot(LibraryController(), id)
R.id.nav_drawer_recent_updates -> setRoot(RecentChaptersController(), id)
R.id.nav_drawer_recently_read -> setRoot(RecentlyReadController(), id)
R.id.nav_drawer_catalogues -> setRoot(CatalogueController(), id)
R.id.nav_drawer_extensions -> setRoot(ExtensionController(), id)
R.id.nav_drawer_downloads -> {
setRoot(DownloadController(), id)
}
R.id.nav_drawer_settings -> {
setRoot(SettingsMainController(), id)
}
R.id.nav_drawer_help -> {
openInBrowser(URL_HELP)
}
}
}
true
}
val container: ViewGroup = findViewById(R.id.controller_container)
val content: LinearLayout = findViewById(R.id.main_content)
val content: ViewGroup = findViewById(R.id.main_content)
container.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
@ -209,6 +232,8 @@ open class MainActivity : BaseActivity() {
if (Build.VERSION.SDK_INT >= 26 && currentNightMode == Configuration.UI_MODE_NIGHT_NO) {
content.systemUiVisibility = View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
}
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && currentNightMode == Configuration.UI_MODE_NIGHT_NO) {
// content.systemUiVisibility = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
val drawerContainer: FrameLayout = findViewById(R.id.drawer_container)
drawerContainer.setOnApplyWindowInsetsListener { v, insets ->
@ -273,6 +298,23 @@ open class MainActivity : BaseActivity() {
setExtensionsBadge()
}
override fun startSupportActionMode(callback: androidx.appcompat.view.ActionMode.Callback): androidx.appcompat.view.ActionMode? {
window?.statusBarColor = getResourceColor(R.attr.colorPrimary)
return super.startSupportActionMode(callback)
}
override fun onSupportActionModeFinished(mode: androidx.appcompat.view.ActionMode) {
launchUI {
val scale = Settings.Global.getFloat(contentResolver, Settings.Global
.ANIMATOR_DURATION_SCALE, 1.0f)
val duration = resources.getInteger(android.R.integer.config_mediumAnimTime) * scale
delay(duration.toLong())
delay(100)
window?.statusBarColor = Color.TRANSPARENT
}
super.onSupportActionModeFinished(mode)
}
private fun setExtensionsBadge() {
val extUpdateText: TextView = nav_view.menu.findItem(
@ -283,10 +325,12 @@ open class MainActivity : BaseActivity() {
if (updates > 0) {
extUpdateText.text = updates.toString()
extUpdateText.visible()
navigationView.getOrCreateBadge(R.id.nav_drawer_settings).number = updates
}
else {
extUpdateText.text = null
extUpdateText.gone()
navigationView.getOrCreateBadge(R.id.nav_drawer_settings).clearNumber()
}
}
@ -390,8 +434,8 @@ open class MainActivity : BaseActivity() {
val backstackSize = router.backstackSize
if (drawer.isDrawerOpen(GravityCompat.START) || drawer.isDrawerOpen(GravityCompat.END)) {
drawer.closeDrawers()
} else if (backstackSize == 1 && router.getControllerWithTag("$startScreenId") == null) {
setSelectedDrawerItem(startScreenId)
//} else if (backstackSize == 1 && router.getControllerWithTag("$startScreenId") == null) {
// setSelectedDrawerItem(startScreenId)
} else if (!router.handleBack()) {
unlocked = false
super.onBackPressed()
@ -401,7 +445,9 @@ open class MainActivity : BaseActivity() {
fun setSelectedDrawerItem(itemId: Int) {
if (!isFinishing) {
nav_view.setCheckedItem(itemId)
navigationView.selectedItemId = itemId
nav_view.menu.performIdentifierAction(itemId, 0)
//navigationView.menu.performIdentifierAction(itemId, 0)
}
}
@ -441,13 +487,16 @@ open class MainActivity : BaseActivity() {
}
val showHamburger = router.backstackSize == 1
drawer.setDrawerLockMode(androidx.drawerlayout.widget.DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
if (showHamburger) {
drawer.setDrawerLockMode(androidx.drawerlayout.widget.DrawerLayout.LOCK_MODE_UNLOCKED)
toolbar.navigationIcon = null
//drawer.setDrawerLockMode(androidx.drawerlayout.widget.DrawerLayout.LOCK_MODE_UNLOCKED)
} else {
drawer.setDrawerLockMode(androidx.drawerlayout.widget.DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
toolbar.navigationIcon = drawerArrow
// drawer.setDrawerLockMode(androidx.drawerlayout.widget.DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
}
ObjectAnimator.ofFloat(drawerArrow, "progress", if (showHamburger) 0f else 1f).start()
drawerArrow?.progress = 1f
//ObjectAnimator.ofFloat(drawerArrow, "alpha", if (showHamburger) 0f else 1f).start()
if (from is TabbedController) {
from.cleanupTabs(tabs)

View File

@ -1,17 +1,39 @@
package eu.kanade.tachiyomi.ui.setting
import androidx.preference.PreferenceScreen
import com.bluelinelabs.conductor.Controller
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.data.preference.getOrDefault
import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.data.updater.UpdaterJob
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
import eu.kanade.tachiyomi.util.system.getResourceColor
import eu.kanade.tachiyomi.ui.extension.ExtensionController
import uy.kohesive.injekt.injectLazy
class SettingsMainController : SettingsController() {
override fun setupPreferenceScreen(screen: PreferenceScreen) = with(screen) {
titleRes = R.string.label_settings
val tintColor = context.getResourceColor(R.attr.colorAccent)
val preferencesH: PreferencesHelper by injectLazy()
val updateCount = preferencesH.extensionUpdatesCount().getOrDefault()
preference {
iconRes = R.drawable.ic_extension_black_24dp
iconTint = tintColor
if (updateCount == 0) {
titleRes = R.string.label_extensions
}
else {
title = "${resources?.getString(R.string.label_extensions)} ${resources
?.getQuantityString(R.plurals.extensions_updates_pendings, updateCount,
updateCount)}"
}
onClick { navigateTo(ExtensionController()) }
}
preference {
iconRes = R.drawable.ic_tune_black_24dp
@ -63,7 +85,7 @@ class SettingsMainController : SettingsController() {
}
}
private fun navigateTo(controller: SettingsController) {
private fun navigateTo(controller: Controller) {
router.pushController(controller.withFadeTransaction())
}
}

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:bottom="5dp">
<shape>
<solid android:color="?attr/colorPrimary"/>
</shape>
</item>
<item android:height="5dp" android:gravity="bottom">
<shape>
<gradient
android:angle="90"
android:endColor="@color/actionModeShadow"
android:startColor="@android:color/transparent"
android:type="linear" />
</shape>
</item>
</layer-list>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="?attr/tabBarIconColor" />
<item android:state_pressed="true" android:state_enabled="true" android:color="?attr/tabBarIconColor" />
<item android:state_focused="true"
android:color="?attr/tabBarIconColor" />
<item android:state_focused="false"
android:color="?attr/tabBarIconInactive" />
<item android:color="?attr/tabBarIconColor" />
</selector>

View File

@ -2,7 +2,8 @@
android:width="32dp"
android:height="32dp"
android:viewportHeight="32"
android:viewportWidth="32">
android:viewportWidth="32"
android:tint="?attr/actionBarTintColor">
<group
android:scaleX="0.8"
android:scaleY="0.8"

View File

@ -1,5 +1,7 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android"
android:tint="?attr/actionBarTintColor">
<path android:fillColor="#FF000000" android:pathData="M12,4l-1.41,1.41L16.17,11H4v2h12.17l-5.58,5.59L12,20l8,-8z"/>
</vector>

View File

@ -1,5 +1,6 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"
android:tint="?attr/actionBarTintColor">
<path android:fillColor="#FF000000" android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM19,5L8,5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h11c1.1,0 2,-0.9 2,-2L21,7c0,-1.1 -0.9,-2 -2,-2zM19,21L8,21L8,7h11v14z"/>
</vector>

View File

@ -2,7 +2,8 @@
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
android:viewportHeight="24.0"
android:tint="?attr/actionBarTintColor">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/>

View File

@ -1,5 +1,6 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"
android:tint="?attr/actionBarTintColor">
<path android:fillColor="#FF000000" android:pathData="M18,7l-1.41,-1.41 -6.34,6.34 1.41,1.41L18,7zM22.24,5.59L11.66,16.17 7.48,12l-1.41,1.41L11.66,19l12,-12 -1.42,-1.41zM0.41,13.41L6,19l1.41,-1.41L1.83,12 0.41,13.41z"/>
</vector>

View File

@ -1,5 +1,7 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android"
android:tint="?attr/actionBarTintColor">
<path android:fillColor="#FF000000" android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/>
</vector>

View File

@ -2,7 +2,8 @@
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
android:viewportHeight="24.0"
android:tint="?attr/actionBarTintColor">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z"/>

View File

@ -2,7 +2,8 @@
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
android:viewportHeight="24.0"
android:tint="?attr/actionBarTintColor">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M10,18h4v-2h-4v2zM3,6v2h18L21,6L3,6zM6,13h12v-2L6,11v2z"/>

View File

@ -2,7 +2,8 @@
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
android:viewportHeight="24.0"
android:tint="?attr/actionBarTintColor">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M17.63,5.84C17.27,5.33 16.67,5 16,5L5,5.01C3.9,5.01 3,5.9 3,7v10c0,1.1 0.9,1.99 2,1.99L16,19c0.67,0 1.27,-0.33 1.63,-0.84L22,12l-4.37,-6.16z"/>

View File

@ -2,7 +2,8 @@
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
android:viewportHeight="24.0"
android:tint="?attr/actionBarTintColor">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z"/>

View File

@ -2,7 +2,8 @@
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
android:viewportHeight="24.0"
android:tint="?attr/actionBarTintColor">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>

View File

@ -2,7 +2,8 @@
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
android:viewportHeight="24.0"
android:tint="?attr/actionBarTintColor">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M19.43,12.98c0.04,-0.32 0.07,-0.64 0.07,-0.98s-0.03,-0.66 -0.07,-0.98l2.11,-1.65c0.19,-0.15 0.24,-0.42 0.12,-0.64l-2,-3.46c-0.12,-0.22 -0.39,-0.3 -0.61,-0.22l-2.49,1c-0.52,-0.4 -1.08,-0.73 -1.69,-0.98l-0.38,-2.65C14.46,2.18 14.25,2 14,2h-4c-0.25,0 -0.46,0.18 -0.49,0.42l-0.38,2.65c-0.61,0.25 -1.17,0.59 -1.69,0.98l-2.49,-1c-0.23,-0.09 -0.49,0 -0.61,0.22l-2,3.46c-0.13,0.22 -0.07,0.49 0.12,0.64l2.11,1.65c-0.04,0.32 -0.07,0.65 -0.07,0.98s0.03,0.66 0.07,0.98l-2.11,1.65c-0.19,0.15 -0.24,0.42 -0.12,0.64l2,3.46c0.12,0.22 0.39,0.3 0.61,0.22l2.49,-1c0.52,0.4 1.08,0.73 1.69,0.98l0.38,2.65c0.03,0.24 0.24,0.42 0.49,0.42h4c0.25,0 0.46,-0.18 0.49,-0.42l0.38,-2.65c0.61,-0.25 1.17,-0.59 1.69,-0.98l2.49,1c0.23,0.09 0.49,0 0.61,-0.22l2,-3.46c0.12,-0.22 0.07,-0.49 -0.12,-0.64l-2.11,-1.65zM12,15.5c-1.93,0 -3.5,-1.57 -3.5,-3.5s1.57,-3.5 3.5,-3.5 3.5,1.57 3.5,3.5 -1.57,3.5 -3.5,3.5z"/>

View File

@ -2,7 +2,8 @@
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
android:viewportWidth="24.0"
android:tint="?attr/actionBarTintColor">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92 1.61,0 2.92,-1.31 2.92,-2.92s-1.31,-2.92 -2.92,-2.92z" />

View File

@ -2,7 +2,8 @@
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
android:viewportWidth="24.0"
android:tint="?attr/actionBarTintColor">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M7.78,7C9.08,7.04 10,7.53 10.57,8.46C11.13,9.4 11.41,10.56 11.39,11.95C11.4,13.5 11.09,14.73 10.5,15.62C9.88,16.5 8.95,16.97 7.71,17C6.45,16.96 5.54,16.5 4.96,15.56C4.38,14.63 4.09,13.45 4.09,12C4.09,10.55 4.39,9.36 5,8.44C5.59,7.5 6.5,7.04 7.78,7M7.75,8.63C7.31,8.63 6.96,8.9 6.7,9.46C6.44,10 6.32,10.87 6.32,12C6.31,13.15 6.44,14 6.69,14.54C6.95,15.1 7.31,15.37 7.77,15.37C8.69,15.37 9.16,14.24 9.17,12C9.17,9.77 8.7,8.65 7.75,8.63M13.33,17V15.22L13.76,15.24L14.3,15.22L15.34,15.03C15.68,14.92 16,14.78 16.26,14.58C16.59,14.35 16.86,14.08 17.07,13.76C17.29,13.45 17.44,13.12 17.53,12.78L17.5,12.77C17.05,13.19 16.38,13.4 15.47,13.41C14.62,13.4 13.91,13.15 13.34,12.65C12.77,12.15 12.5,11.43 12.46,10.5C12.47,9.5 12.81,8.69 13.47,8.03C14.14,7.37 15,7.03 16.12,7C17.37,7.04 18.29,7.45 18.88,8.24C19.47,9 19.76,10 19.76,11.19C19.75,12.15 19.61,13 19.32,13.76C19.03,14.5 18.64,15.13 18.12,15.64C17.66,16.06 17.11,16.38 16.47,16.61C15.83,16.83 15.12,16.96 14.34,17H13.33M16.06,8.63C15.65,8.64 15.32,8.8 15.06,9.11C14.81,9.42 14.68,9.84 14.68,10.36C14.68,10.8 14.8,11.16 15.03,11.46C15.27,11.77 15.63,11.92 16.11,11.93C16.43,11.93 16.7,11.86 16.92,11.74C17.14,11.61 17.3,11.46 17.41,11.28C17.5,11.17 17.53,10.97 17.53,10.71C17.54,10.16 17.43,9.69 17.2,9.28C16.97,8.87 16.59,8.65 16.06,8.63M9.25,5L12.5,1.75L15.75,5H9.25M15.75,19L12.5,22.25L9.25,19H15.75Z"/>

View File

@ -0,0 +1,6 @@
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"
android:tint="?attr/actionBarTintColor">
<path android:fillColor="#FF000000" android:pathData="M16,17.01V10h-2v7.01h-3L15,21l4,-3.99h-3zM9,3L5,6.99h3V14h2V6.99h3L9,3z"/>
</vector>

View File

@ -13,7 +13,7 @@
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<LinearLayout
<androidx.constraintlayout.widget.ConstraintLayout
android:orientation="vertical"
android:id="@+id/main_content"
android:layout_width="match_parent"
@ -23,6 +23,9 @@
<eu.kanade.tachiyomi.widget.ElevationAppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
@ -38,10 +41,12 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/Theme.ActionBar.Tab"
app:tabIndicatorColor="@android:color/white"
app:tabBackground="?colorPrimary"
app:tabIndicatorColor="?attr/tabBarIconColor"
app:tabTextColor="?attr/tabBarIconColor"
app:tabInlineLabel="true"
app:tabGravity="center"
app:tabMode="scrollable"
app:tabMode="auto"
app:tabMinWidth="75dp"/>
</eu.kanade.tachiyomi.widget.ElevationAppBarLayout>
@ -49,9 +54,30 @@
<com.bluelinelabs.conductor.ChangeHandlerFrameLayout
android:id="@+id/controller_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@+id/navigationView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/appbar">
</LinearLayout>
</com.bluelinelabs.conductor.ChangeHandlerFrameLayout>
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/navigationView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
app:tabBackground="@color/rippleColor"
app:itemIconTint="@drawable/bottom_nav_item_selector"
app:tabRippleColor="@color/rippleColor"
app:itemTextColor="?attr/tabBarIconColor"
app:tabTextColor="?attr/tabBarIconColor"
app:itemRippleColor="@color/rippleColor"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:menu="@menu/bottom_navigation" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.google.android.material.navigation.NavigationView
android:id="@+id/nav_view"

View File

@ -138,6 +138,7 @@
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
style="@style/Theme.Widget.FAB"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"

View File

@ -19,7 +19,7 @@
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
android:textColor="@color/md_white_1000"
android:textColor="?attr/actionBarTintColor"
tools:text="Header"/>
<ImageView

View File

@ -28,6 +28,7 @@
app:layout_anchor="@id/recycler"
app:layout_anchorGravity="bottom|right|end"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
app:layout_constraintEnd_toEndOf="parent"
app:backgroundTint="?attr/colorAccent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -13,7 +13,7 @@
android:id="@+id/section_text"
style="@style/TextAppearance.Regular.SubHeading.Light.Bold"
android:layout_width="wrap_content"
android:textColor="@color/md_white_1000"
android:textColor="?attr/actionBarTintColor"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:maxLines="1"/>

View File

@ -30,7 +30,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/Theme.ActionBar.Tab"
app:tabIndicatorColor="@android:color/white"
app:tabIndicatorColor="?attr/actionBarTintColor"
app:tabTextColor="?attr/actionBarTintColor"
app:tabInlineLabel="true"
app:tabGravity="center"
app:tabMode="scrollable"

View File

@ -0,0 +1,28 @@
<?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">
<group android:id="@+id/group_feature">
<item
android:checked="true"
android:id="@+id/nav_drawer_library"
android:icon="@drawable/ic_book_black_24dp"
android:title="@string/pref_category_library" />
<item
android:id="@+id/nav_drawer_recent_updates"
android:icon="@drawable/ic_update_black_24dp"
android:title="@string/short_recent_updates" />
<item
android:id="@+id/nav_drawer_recently_read"
android:icon="@drawable/ic_glasses_black_24dp"
android:title="@string/short_recently_read"/>
<item
android:id="@+id/nav_drawer_catalogues"
android:icon="@drawable/ic_explore_black_24dp"
android:title="@string/short_catalogues" />
<item
android:id="@+id/nav_drawer_settings"
android:icon="@drawable/ic_settings_black_24dp"
android:title="@string/label_settings"
android:checkable="false" />
</group>
</menu>

View File

@ -1,7 +1,8 @@
<menu 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"
tools:context=".MainActivity">
tools:context=".MainActivity"
app:tint="@android:color/black">
<item
android:id="@+id/action_search"
@ -16,6 +17,12 @@
android:title="@string/action_filter"
app:showAsAction="ifRoom"/>
<item
android:id="@+id/action_downloads"
android:icon="@drawable/ic_file_download_white_24dp"
android:title="@string/pref_category_downloads"
app:showAsAction="ifRoom"/>
<item
android:id="@+id/action_edit_categories"
android:title="@string/action_edit_categories"

View File

@ -20,19 +20,17 @@
<item
android:id="@+id/action_migrate"
android:icon="@drawable/ic_swap_calls_white_24dp"
android:title="@string/label_migration"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_hide_title"
android:title="@string/action_hide_title"
app:showAsAction="never" />
<item
android:id="@+id/action_move_manga"
android:icon="@drawable/ic_swap_vert_white_24dp"
android:title="@string/action_move"
app:showAsAction="never"
app:showAsAction="ifRoom"
>
<menu >
<item
@ -44,4 +42,9 @@
</menu>
</item>
<item
android:id="@+id/action_hide_title"
android:title="@string/action_hide_title"
app:showAsAction="never" />
</menu>

View File

@ -12,7 +12,9 @@
<color name="rippleColor">@color/md_white_1000_20</color>
<color name="dialogBackground">@color/md_grey_800</color>
<color name="colorAccent">#3399FF</color>
<color name="purePrimary">#212121</color>
<color name="splashBackground">#212121</color>
<color name="actionModeShadow">@color/md_white_1000_38</color>
<color name="textColorPrimary">@color/md_white_1000</color>
<color name="textColorSecondary">@color/md_white_1000_70</color>

View File

@ -8,6 +8,11 @@
<item name="android:colorBackground">@color/readerDarkBackground</item>
</style>
<style name="Theme.Tachiyomi.MatWhite" parent="Theme.Tachiyomi">
<item name="tabBarIconColor">@color/md_white_1000</item>
<item name="tabBarIconInactive">@color/md_white_1000_76</item>
</style>
<style name="Theme.Tachiyomi.DarkBlue" parent="Theme.Tachiyomi">
<item name="colorPrimary">#54759E</item>
<item name="colorPrimaryDark">#54759E</item>

View File

@ -21,6 +21,9 @@
</declare-styleable>
<attr name="navigation_view_theme" format="reference"/>
<attr name="actionBarTintColor" format="reference|integer"/>
<attr name="tabBarIconColor" format="reference|integer"/>
<attr name="tabBarIconInactive" format="reference|integer"/>
<attr name="selectable_list_drawable" format="reference|integer" />
<attr name="selectable_library_drawable" format="reference|integer"/>
<attr name="text_color_primary" format="reference|integer"/>

View File

@ -2,8 +2,10 @@
<resources>
<!-- Application Colors -->
<color name="colorPrimary">#54759E</color>
<color name="colorPrimaryInactive">#C254759E</color>
<color name="drawerColor">#54759E</color>
<color name="colorPrimaryDark">#54759E</color>
<color name="purePrimary">@color/md_white_1000</color>
<color name="drawerHighlight">@color/md_black_1000_12</color>
<color name="drawerPrimary">@color/colorPrimary</color>
<color name="cardBackground">#FFFFFF</color>
@ -13,6 +15,7 @@
<color name="dialogBackground">@color/md_white_1000</color>
<color name="rippleColor">@color/md_black_1000_12</color>
<color name="colorAccent">@color/md_blue_A400</color>
<color name="actionModeShadow">@color/md_black_1000_38</color>
<!-- Dark Application Colors -->
<color name="colorAmoledPrimary">@color/md_black_1000</color>
<color name="dialog_amoled">@color/darkPrimaryColor</color>
@ -47,10 +50,12 @@
<color name="md_black_1000_12">#1F000000</color>
<color name="md_white_1000">#FFFFFFFF</color>
<color name="md_white_1000_76">#C2FFFFFF</color>
<color name="md_white_1000_70">#B3FFFFFF</color>
<color name="md_white_1000_54">#8AFFFFFF</color>
<color name="md_white_1000_50">#80FFFFFF</color>
<color name="md_white_1000_20">#33FFFFFF</color>
<color name="md_white_1000_38">#61FFFFFF</color>
<color name="md_white_1000_12">#1FFFFFFF</color>
<!-- Material Design Colors -->

View File

@ -20,6 +20,10 @@
<string name="label_selected">Selected: %1$d</string>
<string name="label_migration">Source migration</string>
<string name="label_extensions">Extensions</string>
<plurals name="extensions_updates_pendings">
<item quantity="one">(1 update pending)</item>
<item quantity="other">(%d updates pending)</item>
</plurals>
<string name="label_extension_info">Extension info</string>
<string name="label_help">Help</string>
<string name="unlock_library">Unlock to access Library</string>
@ -109,6 +113,8 @@
<!-- Shortcuts-->
<string name="app_not_available">App not available</string>
<string name="short_recent_updates">Updates</string>
<string name="short_recently_read">Recents</string>
<string name="short_catalogues">Browse</string>
<!-- Preferences -->
<!-- Subsections -->

View File

@ -14,6 +14,12 @@
<!--====-->
<style name="Theme.ActionBar.Tab" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="CustomActionModeStyle" parent="Base.Widget.AppCompat.ActionMode">
<item name="background">@drawable/action_mode_bg</item>
<item name="android:tint">@color/red_error</item>
<item name="backgroundSplit">@color/red_error</item>
</style>
<!--===========-->
<!--AlertDialog-->
<!--===========-->
@ -123,6 +129,8 @@
<item name="android:layout_margin">@dimen/fab_margin</item>
<item name="android:scaleType">fitCenter</item>
<item name="layout_anchorGravity">bottom|right|end</item>
<item name="tint">@color/md_white_1000</item>
<item name="backgroundTint">?attr/colorAccent</item>
<item name="android:tint">@color/md_white_1000</item>
</style>
@ -134,6 +142,8 @@
<item name="android:scaleType">fitCenter</item>
<item name="layout_anchorGravity">bottom|right|end</item>
<item name="android:tint">@color/md_white_1000</item>
<item name="tint">@color/md_white_1000</item>
<item name="backgroundTint">?attr/colorAccent</item>
<item name="layout_behavior">eu.kanade.tachiyomi.widget.FABMoveBehaviour</item>
</style>

View File

@ -6,7 +6,7 @@
<!--============-->
<style name="Theme"/>
<style name="Theme.Base" parent="Theme.AppCompat.DayNight.NoActionBar">
<style name="Theme.Base" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="colorPrimary">@color/colorPrimary</item>
@ -22,6 +22,11 @@
<item name="android:listSelector">?colorAccent</item>
<item name="android:divider">@color/divider</item>
<item name="android:listDivider">@drawable/line_divider_light</item>
<item name="actionModeStyle">@style/CustomActionModeStyle</item>
<item name="tabBarIconColor">@color/md_white_1000</item>
<item name="tabBarIconInactive">@color/md_white_1000_76</item>
<item name="colorControlHighlight">@color/rippleColor</item>
<!-- Themes -->
<item name="windowActionModeOverlay">true</item>
@ -39,6 +44,7 @@
<item name="icon_color">@color/iconColor</item>
<item name="snackbar_background">@color/snackbarBackground</item>
<item name="snackbar_text">@color/textColorPrimaryInverse</item>
<item name="actionBarTintColor">@color/md_white_1000</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:navigationBarColor">#B3000000</item>
@ -52,6 +58,14 @@
</style>
<style name="Theme.Tachiyomi" parent="Theme.Base"/>
<style name="Theme.Tachiyomi.MatWhite" parent="Theme.Tachiyomi">
<item name="colorPrimary">@color/purePrimary</item>
<item name="colorPrimaryDark">@color/purePrimary</item>
<item name="actionBarTintColor">@color/textColorPrimary</item>
<item name="actionBarTheme">@style/ThemeOverlay.AppCompat.DayNight.ActionBar</item>
<item name="tabBarIconColor">@color/colorPrimary</item>
<item name="tabBarIconInactive">@color/colorPrimaryInactive</item>
</style>
<style name="Theme.Tachiyomi.DarkBlue" parent="Theme.Tachiyomi"/>
<style name="Theme.Tachiyomi.Amoled" parent="Theme.Tachiyomi"/>
<!--==============-->