From b0f221e5a77fa2e235bccd2ebf8be11451468bad Mon Sep 17 00:00:00 2001 From: Koitharu Date: Sat, 26 Mar 2022 09:07:15 +0200 Subject: [PATCH] Fixes --- app/build.gradle | 4 ++-- .../ui/adapter/ChaptersSelectionDecoration.kt | 5 +++-- .../koitharu/kotatsu/main/ui/MainActivity.kt | 19 +++++++++++++------ .../reader/ui/SimpleSettingsActivity.kt | 7 ++++++- .../ui/suggestion/SearchSuggestionFragment.kt | 7 ++++--- .../search/ui/widget/SearchEditText.kt | 5 +++-- .../kotatsu/settings/SettingsActivity.kt | 9 ++++++++- .../sources/SourcesSettingsFragment.kt | 6 +++++- .../res/layout-w720dp-land/activity_main.xml | 3 ++- app/src/main/res/layout/activity_main.xml | 3 ++- .../res/layout/fragment_search_suggestion.xml | 1 + app/src/main/res/values-night/colors.xml | 1 + app/src/main/res/values/colors.xml | 1 + 13 files changed, 51 insertions(+), 20 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4a9ff09a9..7ac2527be 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -56,7 +56,7 @@ android { } lint { abortOnError false - disable 'MissingTranslation' + disable 'MissingTranslation', 'PrivateResource' } testOptions { unitTests.includeAndroidResources = true @@ -65,7 +65,7 @@ android { } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) - implementation 'com.github.nv95:kotatsu-parsers:e15dbf2a4b' + implementation 'com.github.nv95:kotatsu-parsers:1ba2bba12e' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.0' diff --git a/app/src/main/java/org/koitharu/kotatsu/details/ui/adapter/ChaptersSelectionDecoration.kt b/app/src/main/java/org/koitharu/kotatsu/details/ui/adapter/ChaptersSelectionDecoration.kt index dbd64b9b7..5cc67a7d0 100644 --- a/app/src/main/java/org/koitharu/kotatsu/details/ui/adapter/ChaptersSelectionDecoration.kt +++ b/app/src/main/java/org/koitharu/kotatsu/details/ui/adapter/ChaptersSelectionDecoration.kt @@ -4,9 +4,10 @@ import android.content.Context import android.graphics.Canvas import android.graphics.Paint import android.graphics.Rect +import androidx.core.content.ContextCompat import androidx.core.view.children import androidx.recyclerview.widget.RecyclerView -import org.koitharu.kotatsu.utils.ext.getThemeColor +import org.koitharu.kotatsu.R class ChaptersSelectionDecoration(context: Context) : RecyclerView.ItemDecoration() { @@ -15,7 +16,7 @@ class ChaptersSelectionDecoration(context: Context) : RecyclerView.ItemDecoratio private val paint = Paint(Paint.ANTI_ALIAS_FLAG) init { - paint.color = context.getThemeColor(com.google.android.material.R.attr.scrimBackground) + paint.color = ContextCompat.getColor(context, R.color.selector_foreground) paint.style = Paint.Style.FILL } 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 6be5a56a7..b89601312 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,6 +8,7 @@ import android.view.MenuItem import android.view.View import android.view.ViewGroup.MarginLayoutParams import androidx.appcompat.app.ActionBarDrawerToggle +import androidx.core.content.ContextCompat import androidx.core.graphics.Insets import androidx.core.view.GravityCompat import androidx.core.view.ViewCompat @@ -62,7 +63,8 @@ import com.google.android.material.R as materialR private const val TAG_PRIMARY = "primary" private const val TAG_SEARCH = "search" -class MainActivity : BaseActivity(), +class MainActivity : + BaseActivity(), NavigationView.OnNavigationItemSelectedListener, AppBarOwner, View.OnClickListener, @@ -92,6 +94,9 @@ class MainActivity : BaseActivity(), R.string.open_menu, R.string.close_menu ).apply { + setHomeAsUpIndicator( + ContextCompat.getDrawable(this@MainActivity, materialR.drawable.abc_ic_ab_back_material) + ) setToolbarNavigationClickListener { binding.searchView.hideKeyboard() onBackPressed() @@ -304,11 +309,13 @@ class MainActivity : BaseActivity(), private fun onLoadingStateChanged(isLoading: Boolean) { binding.fab.isEnabled = !isLoading if (isLoading) { - binding.fab.setImageDrawable(CircularProgressDrawable(this).also { - it.setColorSchemeColors(R.color.kotatsu_onPrimaryContainer) - it.strokeWidth = resources.resolveDp(3.5f) - it.start() - }) + binding.fab.setImageDrawable( + CircularProgressDrawable(this).also { + it.setColorSchemeColors(R.color.kotatsu_onPrimaryContainer) + it.strokeWidth = resources.resolveDp(3.5f) + it.start() + } + ) } else { binding.fab.setImageResource(R.drawable.ic_read_fill) } diff --git a/app/src/main/java/org/koitharu/kotatsu/reader/ui/SimpleSettingsActivity.kt b/app/src/main/java/org/koitharu/kotatsu/reader/ui/SimpleSettingsActivity.kt index fedae2272..049a9de5b 100644 --- a/app/src/main/java/org/koitharu/kotatsu/reader/ui/SimpleSettingsActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/reader/ui/SimpleSettingsActivity.kt @@ -8,14 +8,19 @@ import androidx.core.graphics.Insets import androidx.core.view.updateLayoutParams import androidx.core.view.updatePadding import androidx.fragment.app.commit +import com.google.android.material.appbar.AppBarLayout import org.koitharu.kotatsu.BuildConfig import org.koitharu.kotatsu.R import org.koitharu.kotatsu.base.ui.BaseActivity import org.koitharu.kotatsu.databinding.ActivitySettingsSimpleBinding +import org.koitharu.kotatsu.main.ui.AppBarOwner import org.koitharu.kotatsu.parsers.model.MangaSource import org.koitharu.kotatsu.settings.* -class SimpleSettingsActivity : BaseActivity() { +class SimpleSettingsActivity : BaseActivity(), AppBarOwner { + + override val appBar: AppBarLayout + get() = binding.appbar override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) diff --git a/app/src/main/java/org/koitharu/kotatsu/search/ui/suggestion/SearchSuggestionFragment.kt b/app/src/main/java/org/koitharu/kotatsu/search/ui/suggestion/SearchSuggestionFragment.kt index f48e9b0da..9a1ffba8f 100644 --- a/app/src/main/java/org/koitharu/kotatsu/search/ui/suggestion/SearchSuggestionFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/search/ui/suggestion/SearchSuggestionFragment.kt @@ -15,7 +15,8 @@ import org.koitharu.kotatsu.main.ui.AppBarOwner import org.koitharu.kotatsu.search.ui.suggestion.adapter.SearchSuggestionAdapter import org.koitharu.kotatsu.utils.ext.measureHeight -class SearchSuggestionFragment : BaseFragment(), +class SearchSuggestionFragment : + BaseFragment(), SearchSuggestionItemCallback.SuggestionItemListener { private val viewModel by sharedViewModel() @@ -44,8 +45,8 @@ class SearchSuggestionFragment : BaseFragment() val headerHeight = (activity as? AppBarOwner)?.appBar?.measureHeight() ?: insets.top binding.root.updatePadding( top = headerHeight, - left = insets.left, - right = insets.right, + // left = insets.left, + // right = insets.right, bottom = insets.bottom, ) } diff --git a/app/src/main/java/org/koitharu/kotatsu/search/ui/widget/SearchEditText.kt b/app/src/main/java/org/koitharu/kotatsu/search/ui/widget/SearchEditText.kt index 02a10e453..07e24ca16 100644 --- a/app/src/main/java/org/koitharu/kotatsu/search/ui/widget/SearchEditText.kt +++ b/app/src/main/java/org/koitharu/kotatsu/search/ui/widget/SearchEditText.kt @@ -11,6 +11,7 @@ import androidx.appcompat.widget.AppCompatEditText import androidx.core.content.ContextCompat import com.google.android.material.R import org.koitharu.kotatsu.search.ui.suggestion.SearchSuggestionListener +import org.koitharu.kotatsu.utils.ext.drawableStart private const val DRAWABLE_END = 2 @@ -57,7 +58,7 @@ class SearchEditText @JvmOverloads constructor( ) { super.onTextChanged(text, start, lengthBefore, lengthAfter) setCompoundDrawablesRelativeWithIntrinsicBounds( - null, + drawableStart, null, if (text.isNullOrEmpty()) null else clearIcon, null, @@ -86,4 +87,4 @@ class SearchEditText @JvmOverloads constructor( super.clearFocus() text?.clear() } -} \ No newline at end of file +} \ No newline at end of file diff --git a/app/src/main/java/org/koitharu/kotatsu/settings/SettingsActivity.kt b/app/src/main/java/org/koitharu/kotatsu/settings/SettingsActivity.kt index 0dfeb6022..7821c92d7 100644 --- a/app/src/main/java/org/koitharu/kotatsu/settings/SettingsActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/settings/SettingsActivity.kt @@ -10,17 +10,24 @@ import androidx.fragment.app.FragmentTransaction import androidx.fragment.app.commit import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat +import com.google.android.material.appbar.AppBarLayout import org.koitharu.kotatsu.R import org.koitharu.kotatsu.base.ui.BaseActivity import org.koitharu.kotatsu.base.ui.util.RecyclerViewOwner import org.koitharu.kotatsu.databinding.ActivitySettingsBinding +import org.koitharu.kotatsu.main.ui.AppBarOwner import org.koitharu.kotatsu.parsers.model.MangaSource import org.koitharu.kotatsu.utils.ext.isScrolledToTop -class SettingsActivity : BaseActivity(), +class SettingsActivity : + BaseActivity(), PreferenceFragmentCompat.OnPreferenceStartFragmentCallback, + AppBarOwner, FragmentManager.OnBackStackChangedListener { + override val appBar: AppBarLayout + get() = binding.appbar + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(ActivitySettingsBinding.inflate(layoutInflater)) diff --git a/app/src/main/java/org/koitharu/kotatsu/settings/sources/SourcesSettingsFragment.kt b/app/src/main/java/org/koitharu/kotatsu/settings/sources/SourcesSettingsFragment.kt index a0a571fd1..200d8c31f 100644 --- a/app/src/main/java/org/koitharu/kotatsu/settings/sources/SourcesSettingsFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/settings/sources/SourcesSettingsFragment.kt @@ -13,6 +13,7 @@ import org.koitharu.kotatsu.R import org.koitharu.kotatsu.base.ui.BaseFragment import org.koitharu.kotatsu.base.ui.util.RecyclerViewOwner import org.koitharu.kotatsu.databinding.FragmentSettingsSourcesBinding +import org.koitharu.kotatsu.main.ui.AppBarOwner import org.koitharu.kotatsu.settings.SettingsActivity import org.koitharu.kotatsu.settings.sources.adapter.SourceConfigAdapter import org.koitharu.kotatsu.settings.sources.adapter.SourceConfigListener @@ -108,7 +109,10 @@ class SourcesSettingsFragment : BaseFragment(), return true } - override fun onMenuItemActionExpand(item: MenuItem?): Boolean = true + override fun onMenuItemActionExpand(item: MenuItem?): Boolean { + (activity as? AppBarOwner)?.appBar?.setExpanded(false, true) + return true + } override fun onMenuItemActionCollapse(item: MenuItem): Boolean { (item.actionView as SearchView).setQuery("", false) diff --git a/app/src/main/res/layout-w720dp-land/activity_main.xml b/app/src/main/res/layout-w720dp-land/activity_main.xml index 19eed7953..abb9f34c9 100644 --- a/app/src/main/res/layout-w720dp-land/activity_main.xml +++ b/app/src/main/res/layout-w720dp-land/activity_main.xml @@ -62,8 +62,9 @@ android:drawablePadding="16dp" android:gravity="center_vertical" android:hint="@string/search_manga" - android:imeOptions="actionSearch" + android:imeOptions="actionSearch|flagNoFullscreen" android:importantForAutofill="no" + android:inputType="textShortMessage" android:singleLine="true" /> diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index aa669fba1..d6b8abfe9 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -54,8 +54,9 @@ android:background="@null" android:gravity="center_vertical" android:hint="@string/search_manga" - android:imeOptions="actionSearch" + android:imeOptions="actionSearch|flagNoFullscreen" android:importantForAutofill="no" + android:inputType="textShortMessage" android:paddingBottom="1dp" android:singleLine="true" tools:drawableEnd="@drawable/abc_ic_clear_material" /> diff --git a/app/src/main/res/layout/fragment_search_suggestion.xml b/app/src/main/res/layout/fragment_search_suggestion.xml index a2ff52eda..c303d7867 100644 --- a/app/src/main/res/layout/fragment_search_suggestion.xml +++ b/app/src/main/res/layout/fragment_search_suggestion.xml @@ -7,6 +7,7 @@ android:layout_height="match_parent" android:background="?android:windowBackground" android:clickable="true" + android:clipToPadding="false" android:orientation="vertical" android:scrollbars="vertical" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml index bd8aa3487..7800030a0 100644 --- a/app/src/main/res/values-night/colors.xml +++ b/app/src/main/res/values-night/colors.xml @@ -6,5 +6,6 @@ #680003 #FFDAD4 #66FFFFFF + #29FFFFFF \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 7ae005635..1c8b7fb98 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -19,5 +19,6 @@ #212121 #99000000 #66000000 + #29000000 \ No newline at end of file