diff --git a/app/src/main/java/org/koitharu/kotatsu/base/ui/BaseActivity.kt b/app/src/main/java/org/koitharu/kotatsu/base/ui/BaseActivity.kt index 8fbaa7ad4..ff3d20ea9 100644 --- a/app/src/main/java/org/koitharu/kotatsu/base/ui/BaseActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/base/ui/BaseActivity.kt @@ -1,5 +1,6 @@ package org.koitharu.kotatsu.base.ui +import android.graphics.Color import android.os.Build import android.os.Bundle import android.view.KeyEvent @@ -57,6 +58,9 @@ abstract class BaseActivity : AppCompatActivity(), OnApplyWindo this.binding = binding super.setContentView(binding.root) val toolbar = (binding.root.findViewById(R.id.toolbar) as? Toolbar) + if (get().isAmoledTheme) { + toolbar?.setBackgroundColor(Color.BLACK) + } toolbar?.let(this::setSupportActionBar) ViewCompat.setOnApplyWindowInsetsListener(binding.root, this) diff --git a/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt b/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt index 4272a2b5e..096481624 100644 --- a/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt @@ -8,7 +8,7 @@ import android.os.Build import android.os.Bundle import android.view.MenuItem import android.view.View -import android.view.ViewGroup +import android.view.ViewGroup.MarginLayoutParams import androidx.appcompat.app.ActionBarDrawerToggle import androidx.appcompat.app.AlertDialog import androidx.core.content.ContextCompat @@ -30,6 +30,7 @@ import org.koitharu.kotatsu.base.ui.BaseActivity import org.koitharu.kotatsu.core.model.Manga import org.koitharu.kotatsu.core.model.MangaSource import org.koitharu.kotatsu.core.prefs.AppSection +import org.koitharu.kotatsu.core.prefs.AppSettings import org.koitharu.kotatsu.databinding.ActivityMainBinding import org.koitharu.kotatsu.databinding.NavigationHeaderBinding import org.koitharu.kotatsu.details.ui.DetailsActivity @@ -86,6 +87,13 @@ class MainActivity : BaseActivity(), binding.drawer.addDrawerListener(drawerToggle) supportActionBar?.setDisplayHomeAsUpEnabled(true) + if (get().isAmoledTheme) { + binding.appbar.setBackgroundColor(Color.BLACK) + binding.toolbar.setBackgroundColor(ContextCompat.getColor(this, R.color.color_background)) + } else { + binding.toolbar.setBackgroundColor(ContextCompat.getColor(this, R.color.color_surface)) + } + with(binding.searchView) { onFocusChangeListener = this@MainActivity searchSuggestionListener = this@MainActivity @@ -205,17 +213,15 @@ class MainActivity : BaseActivity(), } override fun onWindowInsetsChanged(insets: Insets) { - binding.toolbarCard.updateLayoutParams { + binding.toolbarCard.updateLayoutParams { topMargin = insets.top + resources.resolveDp(8) - leftMargin = insets.left + resources.resolveDp(16) - rightMargin = insets.right + resources.resolveDp(16) } - binding.fab.updateLayoutParams { + binding.fab.updateLayoutParams { bottomMargin = insets.bottom + topMargin leftMargin = insets.left + topMargin rightMargin = insets.right + topMargin } - binding.container.updateLayoutParams { + binding.container.updateLayoutParams { topMargin = -(binding.appbar.measureHeight()) } } @@ -337,19 +343,40 @@ class MainActivity : BaseActivity(), private fun onSearchOpened() { binding.drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED) drawerToggle.isDrawerIndicatorEnabled = false - // Avoiding shadows on the sides if the color is transparent, so we make the AppBarLayout white/dark - binding.appbar.setBackgroundColor(ContextCompat.getColor(this, R.color.color_on_secondary)) - binding.toolbarCard.cardElevation = 0f + // Avoiding shadows on the sides if the color is transparent, so we make the AppBarLayout white/grey/black + if (get().isAmoledTheme) { + binding.toolbar.setBackgroundColor(Color.BLACK) + } else { + binding.appbar.setBackgroundColor(ContextCompat.getColor(this, R.color.color_surface)) + } + binding.toolbarCard.apply { + cardElevation = 0f + // Remove margin + updateLayoutParams { + leftMargin = 0 + rightMargin = 0 + } + + } binding.appbar.elevation = searchViewElevation } private fun onSearchClosed() { binding.drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED) drawerToggle.isDrawerIndicatorEnabled = true + if (get().isAmoledTheme) { + binding.toolbar.setBackgroundColor(ContextCompat.getColor(this, R.color.color_background)) + } // Returning transparent color binding.appbar.setBackgroundColor(Color.TRANSPARENT) binding.appbar.elevation = 0f - binding.toolbarCard.cardElevation = searchViewElevation + binding.toolbarCard.apply { + cardElevation = searchViewElevation + updateLayoutParams { + leftMargin = resources.resolveDp(16) + rightMargin = resources.resolveDp(16) + } + } } private fun onFirstStart() { diff --git a/app/src/main/res/drawable/tabs_background.xml b/app/src/main/res/drawable/tabs_background.xml index d9df3de10..9743b040f 100644 --- a/app/src/main/res/drawable/tabs_background.xml +++ b/app/src/main/res/drawable/tabs_background.xml @@ -3,7 +3,7 @@ xmlns:android="http://schemas.android.com/apk/res/android"> - + @android:color/black #2EFFFFFF - #2a2b2e + #272727 + #121212 #2EFFFFFF - #B3000000 - - + #B3121212 + @color/system_ui_scrim_dark #1fffffff diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index e4fc0c120..1c0c88d29 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -2,7 +2,9 @@