diff --git a/app/build.gradle b/app/build.gradle index c2e063e9c..8f98e5a8c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -222,7 +222,7 @@ dependencies { } buildscript { - ext.kotlin_version = '1.1.2' + ext.kotlin_version = '1.1.2-3' repositories { mavenCentral() } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoController.kt index 9dcef5aea..547fc1c32 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoController.kt @@ -158,11 +158,13 @@ class MangaInfoController : NucleusController<MangaInfoPresenter>(), .centerCrop() .into(manga_cover) - Glide.with(context) - .load(manga) - .diskCacheStrategy(DiskCacheStrategy.RESULT) - .centerCrop() - .into(backdrop) + if (backdrop != null) { + Glide.with(context) + .load(manga) + .diskCacheStrategy(DiskCacheStrategy.RESULT) + .centerCrop() + .into(backdrop) + } } } } diff --git a/app/src/main/res/layout-land/fragment_manga_info.xml b/app/src/main/res/layout-land/fragment_manga_info.xml new file mode 100644 index 000000000..fa49622b5 --- /dev/null +++ b/app/src/main/res/layout-land/fragment_manga_info.xml @@ -0,0 +1,229 @@ +<?xml version="1.0" encoding="utf-8"?> +<android.support.v4.widget.SwipeRefreshLayout + 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="eu.kanade.tachiyomi.ui.catalogue.CatalogueController" + android:id="@id/swipe_refresh" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <android.support.constraint.ConstraintLayout + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + xmlns:android="http://schemas.android.com/apk/res/android"> + + <ImageView + android:id="@+id/manga_cover" + android:layout_width="0dp" + android:layout_height="0dp" + android:layout_marginTop="16dp" + android:layout_marginBottom="16dp" + android:layout_marginLeft="16dp" + android:contentDescription="@string/description_cover" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintDimensionRatio="h,3:2" + tools:background="@color/material_grey_700" + app:layout_constraintVertical_bias="0.0" + android:layout_marginStart="16dp"/> + + <android.support.design.widget.FloatingActionButton + android:id="@+id/fab_favorite" + style="@style/Theme.Widget.FAB" + app:srcCompat="@drawable/ic_bookmark_border_white_24dp" + android:layout_marginBottom="16dp" + android:layout_marginRight="16dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintRight_toRightOf="parent"/> + + <android.support.v4.widget.NestedScrollView + android:id="@+id/info_scrollview" + android:layout_width="0dp" + android:layout_height="0dp" + android:layout_marginTop="16dp" + android:layout_marginBottom="16dp" + android:layout_marginLeft="16dp" + android:layout_marginRight="16dp" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintLeft_toRightOf="@+id/manga_cover" + app:layout_constraintRight_toRightOf="parent" + android:layout_marginStart="16dp" + android:layout_marginEnd="16dp"> + + <android.support.constraint.ConstraintLayout + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <TextView + android:id="@+id/manga_author_label" + style="@style/TextAppearance.Medium.Body2" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/manga_info_author_label" + android:textIsSelectable="false" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintLeft_toLeftOf="parent"/> + + <TextView + android:id="@+id/manga_author" + style="@style/TextAppearance.Regular.Body1.Secondary" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginLeft="8dp" + android:ellipsize="end" + android:maxLines="1" + android:textIsSelectable="false" + app:layout_constraintBaseline_toBaselineOf="@+id/manga_author_label" + app:layout_constraintLeft_toRightOf="@+id/manga_author_label" + app:layout_constraintRight_toRightOf="parent" + android:layout_marginStart="8dp"/> + + <TextView + android:id="@+id/manga_artist_label" + style="@style/TextAppearance.Medium.Body2" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/manga_info_artist_label" + android:textIsSelectable="false" + app:layout_constraintTop_toBottomOf="@+id/manga_author_label" + app:layout_constraintLeft_toLeftOf="parent"/> + + <TextView + android:id="@+id/manga_artist" + style="@style/TextAppearance.Regular.Body1.Secondary" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginLeft="8dp" + android:ellipsize="end" + android:maxLines="1" + android:textIsSelectable="false" + app:layout_constraintBaseline_toBaselineOf="@+id/manga_artist_label" + app:layout_constraintLeft_toRightOf="@+id/manga_artist_label" + app:layout_constraintRight_toRightOf="parent" + android:layout_marginStart="8dp"/> + + <TextView + android:id="@+id/manga_chapters_label" + style="@style/TextAppearance.Medium.Body2" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/manga_info_last_chapter_label" + android:textIsSelectable="false" + app:layout_constraintTop_toBottomOf="@+id/manga_artist_label" + app:layout_constraintLeft_toLeftOf="parent"/> + + <TextView + android:id="@+id/manga_chapters" + style="@style/TextAppearance.Regular.Body1.Secondary" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginLeft="8dp" + android:ellipsize="end" + android:maxLines="1" + android:textIsSelectable="false" + app:layout_constraintBaseline_toBaselineOf="@+id/manga_chapters_label" + app:layout_constraintLeft_toRightOf="@+id/manga_chapters_label" + app:layout_constraintRight_toRightOf="parent" + android:layout_marginStart="8dp"/> + + <TextView + android:id="@+id/manga_status_label" + style="@style/TextAppearance.Medium.Body2" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/manga_info_status_label" + android:textIsSelectable="false" + app:layout_constraintTop_toBottomOf="@+id/manga_chapters_label" + app:layout_constraintLeft_toLeftOf="parent"/> + + <TextView + android:id="@+id/manga_status" + style="@style/TextAppearance.Regular.Body1.Secondary" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginLeft="8dp" + android:ellipsize="end" + android:maxLines="1" + android:textIsSelectable="false" + app:layout_constraintBaseline_toBaselineOf="@+id/manga_status_label" + app:layout_constraintLeft_toRightOf="@+id/manga_status_label" + app:layout_constraintRight_toRightOf="parent" + android:layout_marginStart="8dp"/> + + <TextView + android:id="@+id/manga_source_label" + style="@style/TextAppearance.Medium.Body2" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/manga_info_source_label" + android:textIsSelectable="false" + app:layout_constraintTop_toBottomOf="@+id/manga_status_label" + app:layout_constraintLeft_toLeftOf="parent"/> + + <TextView + android:id="@+id/manga_source" + style="@style/TextAppearance.Regular.Body1.Secondary" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginLeft="8dp" + android:ellipsize="end" + android:maxLines="1" + android:textIsSelectable="false" + app:layout_constraintBaseline_toBaselineOf="@+id/manga_source_label" + app:layout_constraintLeft_toRightOf="@+id/manga_source_label" + app:layout_constraintRight_toRightOf="parent" + android:layout_marginStart="8dp"/> + + <TextView + android:id="@+id/manga_genres_label" + style="@style/TextAppearance.Medium.Body2" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/manga_info_genres_label" + android:textIsSelectable="false" + app:layout_constraintTop_toBottomOf="@+id/manga_source_label" + app:layout_constraintLeft_toLeftOf="parent"/> + + <TextView + android:id="@+id/manga_genres" + style="@style/TextAppearance.Regular.Body1.Secondary" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:textIsSelectable="false" + app:layout_constraintTop_toBottomOf="@+id/manga_genres_label" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent"/> + + <TextView + android:id="@+id/manga_summary_label" + style="@style/TextAppearance.Medium.Body2" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:text="@string/description" + android:textIsSelectable="false" + app:layout_constraintTop_toBottomOf="@+id/manga_genres" + app:layout_constraintLeft_toLeftOf="parent"/> + + <TextView + android:id="@+id/manga_summary" + style="@style/TextAppearance.Regular.Body1.Secondary" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:textIsSelectable="false" + app:layout_constraintTop_toBottomOf="@+id/manga_summary_label" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" + android:layout_marginRight="64dp"/> + + </android.support.constraint.ConstraintLayout> + + </android.support.v4.widget.NestedScrollView> + + </android.support.constraint.ConstraintLayout> + +</android.support.v4.widget.SwipeRefreshLayout> diff --git a/app/src/main/res/layout/fragment_manga_info.xml b/app/src/main/res/layout/fragment_manga_info.xml index 3183d9925..614d255f1 100644 --- a/app/src/main/res/layout/fragment_manga_info.xml +++ b/app/src/main/res/layout/fragment_manga_info.xml @@ -15,12 +15,12 @@ android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/res/android"> - <android.support.constraint.Guideline - android:layout_width="wrap_content" - android:layout_height="wrap_content" + <View android:id="@+id/guideline" - android:orientation="horizontal" - app:layout_constraintGuide_percent="0.38"/> + android:layout_width="0dp" + android:layout_height="0dp" + android:layout_marginTop="16dp" + app:layout_constraintTop_toBottomOf="@+id/manga_cover"/> <android.support.constraint.Guideline android:layout_width="wrap_content" @@ -44,16 +44,16 @@ android:id="@+id/manga_cover" android:layout_width="0dp" android:layout_height="0dp" - android:contentDescription="@string/description_cover" - tools:background="@color/material_grey_700" android:layout_marginTop="16dp" android:layout_marginBottom="16dp" android:layout_marginLeft="16dp" android:layout_marginRight="16dp" + android:contentDescription="@string/description_cover" app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toTopOf="@+id/guideline" app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintRight_toLeftOf="@+id/guideline2"/> + app:layout_constraintRight_toLeftOf="@+id/guideline2" + app:layout_constraintDimensionRatio="h,2:3" + tools:background="@color/material_grey_700"/> <android.support.design.widget.FloatingActionButton android:id="@+id/fab_favorite"