Global Search (#849)

* Global Search

* Cards are now independent of design by use of recycler.

* Added local

* Some attribute fixes + moved onclick to controller.

* Lots of improvements to code

* Reversed some stuff. Thanks API 16

* Code fixes

* Performance improvements

* Moved adapter creation to constructor

* Small changes

* Removed sources settings from settings menu. Added OnChangeListener in catalogue. Made setting icon visible if room.

* bug fix

* Code review part uno

* Code review part uno-2

* Single recycler approach

* Add last source used

* Fix scroll state and some layout issues

* Fix wrong item binding

* Use data class for items

* Calculate item position and count while binding

* Fix background color with slices

* Reuse slices. Fix card background. Flatten constraint layout

* Fix global_search scroll issue

* Store last state with global search

* Minor changes

* Remove catalogue toolbar spinner. Persist catalogue across process restarts

* Save view state of recycler views. Set toolbar title with current query
This commit is contained in:
Bram van de Kerkhof
2017-09-23 13:11:39 +02:00
committed by inorichi
parent 56bde40035
commit 54c8b3ef29
61 changed files with 1852 additions and 262 deletions

View File

@@ -34,6 +34,7 @@
<string name="action_sort_last_read">Last read</string>
<string name="action_sort_last_updated">Last updated</string>
<string name="action_search">Search</string>
<string name="action_global_search">Global search</string>
<string name="action_select_all">Select all</string>
<string name="action_mark_as_read">Mark as read</string>
<string name="action_mark_as_unread">Mark as unread</string>
@@ -85,6 +86,8 @@
<string name="action_open_log">Open log</string>
<string name="action_create">Create</string>
<string name="action_restore">Restore</string>
<string name="action_open">Open</string>
<string name="action_login">Login</string>
<!-- Operations -->
<string name="deleting">Deleting…</string>
@@ -276,8 +279,13 @@
<string name="no_valid_sources">Please enable at least one valid source</string>
<string name="no_more_results">No more results</string>
<string name="local_source">Local manga</string>
<string name="other_source">Other</string>
<string name="invalid_combination">Default can\'t be selected with other categories</string>
<string name="added_to_library">The manga has been added to your library</string>
<string name="action_global_search_hint">Global search…</string>
<string name="no_results">No results found!</string>
<string name="latest">Latest</string>
<string name="browse">Browse</string>
<!-- Manga activity -->
<string name="manga_not_in_db">This manga was removed from the database!</string>
@@ -430,5 +438,4 @@
<string name="download_notifier_text_only_wifi">No wifi connection available</string>
<string name="download_notifier_no_network">No network connection available</string>
<string name="download_notifier_download_paused">Download paused</string>
</resources>

View File

@@ -4,7 +4,7 @@
<!--========-->
<!--Toolbars-->
<!--========-->
<style name="Theme.ActionBar" parent="@style/ThemeOverlay.AppCompat.ActionBar"/>
<style name="Theme.ActionBar" parent="@style/ThemeOverlay.AppCompat.ActionBar" />
<style name="Theme.ActionBar.Light" parent="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
@@ -13,12 +13,12 @@
<!--====-->
<!--Tabs-->
<!--====-->
<style name="Theme.ActionBar.Tab" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>
<style name="Theme.ActionBar.Tab" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<!--===========-->
<!--AlertDialog-->
<!--===========-->
<style name="Theme.AlertDialog"/>
<style name="Theme.AlertDialog" />
<style name="Theme.AlertDialog.Light" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>
@@ -35,7 +35,7 @@
<!--==============-->
<!--NavigationView-->
<!--==============-->
<style name="Theme.Widget.NavigationView"/>
<style name="Theme.Widget.NavigationView" />
<style name="Theme.Widget.NavigationView.Dark">
<item name="colorControlHighlight">@color/md_grey_900</item>
@@ -85,6 +85,10 @@
<item name="android:textSize">16sp</item>
</style>
<style name="TextAppearance.Regular.SubHeading.Upper">
<item name="android:textAllCaps">true</item>
</style>
<style name="TextAppearance.Regular.SubHeading.Secondary">
<item name="android:textColor">?android:attr/textColorSecondary</item>
</style>
@@ -105,6 +109,10 @@
<item name="android:textSize">20sp</item>
</style>
<style name="TextAppearance.Medium.Title.Upper">
<item name="android:textAllCaps">true</item>
</style>
<style name="TextAppearance.Medium.Title.Secondary">
<item name="android:textColor">?android:attr/textColorSecondary</item>
</style>
@@ -130,7 +138,7 @@
<!--=======-->
<!--Widgets-->
<!--=======-->
<style name="Theme.Widget"/>
<style name="Theme.Widget" />
<style name="Theme.Widget.FAB">
<item name="android:layout_height">@dimen/fab_size</item>
@@ -147,10 +155,16 @@
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:padding">@dimen/material_component_cards_top_and_bottom_padding</item>
<item name="android:layout_marginTop">@dimen/material_component_cards_space_between_cards</item>
<item name="android:layout_marginBottom">@dimen/material_component_cards_space_between_cards</item>
<item name="android:layout_marginStart">@dimen/material_component_cards_space_between_cards</item>
<item name="android:layout_marginEnd">@dimen/material_component_cards_space_between_cards</item>
<item name="android:layout_marginTop">@dimen/material_component_cards_space_between_cards
</item>
<item name="android:layout_marginBottom">
@dimen/material_component_cards_space_between_cards
</item>
<item name="android:layout_marginStart">
@dimen/material_component_cards_space_between_cards
</item>
<item name="android:layout_marginEnd">@dimen/material_component_cards_space_between_cards
</item>
<item name="cardBackgroundColor">?attr/background_card</item>
<item name="cardElevation">2dp</item>
</style>
@@ -161,21 +175,24 @@
</style>
<style name="Theme.Widget.GridView">
<item name="android:smoothScrollbar">true</item>
<item name="android:numColumns">auto_fit</item>
<item name="android:stretchMode">columnWidth</item>
<item name="android:scrollbarStyle">outsideOverlay</item>
</style>
<style name="Theme.Widget.GridView.Catalogue">
<item name="android:padding">5dp</item>
<item name="android:clipToPadding">false</item>
<item name="android:gravity">top|left</item>
<item name="android:smoothScrollbar">true</item>
<item name="android:cacheColorHint">?android:attr/textColorHint</item>
<item name="android:fastScrollEnabled">true</item>
<item name="android:horizontalSpacing">0dp</item>
<item name="android:verticalSpacing">0dp</item>
<item name="android:numColumns">auto_fit</item>
<item name="android:stretchMode">columnWidth</item>
<item name="android:scrollbarStyle">outsideOverlay</item>
</style>
<style name="Theme.Widget.CheckBox"/>
<style name="Theme.Widget.CheckBox" />
<style name="Theme.Widget.CheckBox.Light" parent="TextAppearance.Regular.Body1.Light">
<item name="buttonTint">@color/md_white_1000</item>
@@ -212,8 +229,7 @@
<item name="nnf_toolbarTheme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>
</style>
<style name="FilePickerAlertDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
</style>
<style name="FilePickerAlertDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert"></style>
<style name="reader_settings_popup_animation">
<item name="android:windowEnterAnimation">@anim/enter_from_right</item>
@@ -226,5 +242,4 @@
</style>
</resources>