Add Start/Finish date support for MAL (#2672)

* Started working on MAL support

* Added date picker UI

* Replaced Date with Calendar

* Added MAL remote update functionality

* Join url methods listEntryUrl and editUrl

* Removed unused methods

* Renamed mangaEditPayload to mangaEditPostBody

* Moved code to separate method

* Uniformed code to project conventions

* Removed wildcard import

* Moved MyAnimeListTrack to private class

* Improved MyAnimeListTrack name

* Removed redundant code

* Add start/finish date in local database

* Fixed format and improved codestyle

* Fixed typo and fixed TrackHolder's format

* Improved code style

* Ran linter

* Add database updating methods

* Change date format to fit new layout

* Review Commits

* Improve SetTrackReadingDatesDialog readability

* Move private methods after public ones

* Fixed SQL error

* Fixed remove date button

* Updated MaterialDesign methods to latest version

* Replaced dismissDialog() with dialog.Dismiss()

* Fixed wrong string resource usage.
This commit is contained in:
Hawk of the Death
2020-04-23 03:23:23 +02:00
committed by GitHub
parent c967308859
commit f7c139030f
18 changed files with 550 additions and 18 deletions

View File

@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<eu.kanade.tachiyomi.widget.MinMaxNumberPicker
android:id="@+id/day_picker"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="3dp"
android:descendantFocusability="blocksDescendants"
app:max="31"
app:min="1" />
<eu.kanade.tachiyomi.widget.MinMaxNumberPicker
android:id="@+id/month_picker"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="3dp"
android:descendantFocusability="blocksDescendants"
app:max="11"
app:min="0" />
<eu.kanade.tachiyomi.widget.MinMaxNumberPicker
android:id="@+id/year_picker"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="3dp"
android:descendantFocusability="blocksDescendants"
app:min="1900" />
</LinearLayout>

View File

@@ -92,7 +92,6 @@
android:gravity="center"
android:maxLines="1"
android:padding="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/vert_divider_1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/top_divider"
@@ -106,7 +105,7 @@
android:layout_marginBottom="8dp"
android:alpha="0.25"
android:background="?android:attr/textColorHint"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintBottom_toTopOf="@+id/bottom_divider"
app:layout_constraintEnd_toStartOf="@+id/track_chapters"
app:layout_constraintStart_toEndOf="@+id/track_status"
app:layout_constraintTop_toTopOf="parent" />
@@ -121,7 +120,6 @@
android:gravity="center"
android:maxLines="1"
android:padding="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/vert_divider_2"
app:layout_constraintStart_toEndOf="@+id/vert_divider_1"
app:layout_constraintTop_toBottomOf="@+id/top_divider"
@@ -135,7 +133,7 @@
android:layout_marginBottom="8dp"
android:alpha="0.25"
android:background="?android:attr/textColorHint"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintBottom_toTopOf="@+id/bottom_divider"
app:layout_constraintEnd_toStartOf="@+id/track_score"
app:layout_constraintStart_toEndOf="@+id/track_chapters"
app:layout_constraintTop_toTopOf="parent" />
@@ -150,12 +148,64 @@
android:gravity="center"
android:maxLines="1"
android:padding="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/vert_divider_2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/top_divider"
tools:text="10" />
<View
android:id="@+id/bottom_divider"
android:layout_width="0dp"
android:layout_height="1dp"
android:alpha="0.25"
android:background="?android:attr/textColorHint"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/track_score" />
<TextView
android:id="@+id/track_start_date"
style="@style/TextAppearance.Regular.Body1.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/list_item_selector"
android:ellipsize="end"
android:gravity="center"
android:maxLines="1"
android:padding="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@+id/vert_divider_3"
app:layout_constraintTop_toBottomOf="@+id/bottom_divider"
tools:text="4/16/2020" />
<View
android:id="@+id/vert_divider_3"
android:layout_width="1dp"
android:layout_height="0dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:alpha="0.25"
android:background="?android:attr/textColorHint"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/track_start_date"
app:layout_constraintEnd_toStartOf="@+id/track_finish_date"
app:layout_constraintTop_toTopOf="@+id/bottom_divider" />
<TextView
android:id="@+id/track_finish_date"
style="@style/TextAppearance.Regular.Body1.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/list_item_selector"
android:ellipsize="end"
android:gravity="center"
android:maxLines="1"
android:padding="16dp"
app:layout_constraintStart_toEndOf="@+id/vert_divider_3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/bottom_divider"
tools:text="4/16/2020" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>