parent
0b019531f9
commit
3039f993f3
@ -1,6 +1,6 @@ |
|||||||
package io.legado.app.data.entities.rule |
package io.legado.app.data.entities.rule |
||||||
|
|
||||||
data class ContentRule ( |
data class ContentRule( |
||||||
var fulltext: Rule, |
var fulltext: Rule, |
||||||
var resourceUrl: Rule, |
var resourceUrl: Rule, |
||||||
var nextUrl: Rule |
var nextUrl: Rule |
||||||
|
@ -1,6 +1,6 @@ |
|||||||
package io.legado.app.data.entities.rule |
package io.legado.app.data.entities.rule |
||||||
|
|
||||||
data class PutRule ( |
data class PutRule( |
||||||
var selector: Rule, |
var selector: Rule, |
||||||
var key: String |
var key: String |
||||||
) |
) |
@ -1,175 +1,175 @@ |
|||||||
<?xml version="1.0" encoding="utf-8"?> |
<?xml version="1.0" encoding="utf-8"?> |
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" |
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||||
xmlns:app="http://schemas.android.com/apk/res-auto" |
xmlns:app="http://schemas.android.com/apk/res-auto" |
||||||
xmlns:tools="http://schemas.android.com/tools" |
xmlns:tools="http://schemas.android.com/tools" |
||||||
android:id="@+id/cv_content" |
android:id="@+id/cv_content" |
||||||
android:layout_width="match_parent" |
android:layout_width="match_parent" |
||||||
android:layout_height="wrap_content" |
android:layout_height="wrap_content" |
||||||
android:clickable="true" |
android:clickable="true" |
||||||
android:focusable="true" |
android:focusable="true" |
||||||
android:foreground="?android:attr/selectableItemBackground" |
android:foreground="?android:attr/selectableItemBackground" |
||||||
tools:ignore="UnusedAttribute"> |
tools:ignore="UnusedAttribute"> |
||||||
|
|
||||||
<io.legado.app.ui.widget.image.CoverImageView |
<io.legado.app.ui.widget.image.CoverImageView |
||||||
android:id="@+id/iv_cover" |
android:id="@+id/iv_cover" |
||||||
android:layout_width="60dp" |
android:layout_width="60dp" |
||||||
android:layout_height="80dp" |
android:layout_height="80dp" |
||||||
android:layout_margin="8dp" |
android:layout_margin="8dp" |
||||||
android:contentDescription="@string/img_cover" |
android:contentDescription="@string/img_cover" |
||||||
android:scaleType="centerCrop" |
android:scaleType="centerCrop" |
||||||
android:src="@drawable/img_cover_default" |
android:src="@drawable/img_cover_default" |
||||||
android:transitionName="img_cover" |
android:transitionName="img_cover" |
||||||
app:layout_constraintBottom_toBottomOf="parent" |
app:layout_constraintBottom_toBottomOf="parent" |
||||||
app:layout_constraintLeft_toLeftOf="parent" |
app:layout_constraintLeft_toLeftOf="parent" |
||||||
app:layout_constraintTop_toTopOf="parent" |
app:layout_constraintTop_toTopOf="parent" |
||||||
tools:ignore="UnusedAttribute" /> |
tools:ignore="UnusedAttribute"/> |
||||||
|
|
||||||
<FrameLayout |
<FrameLayout |
||||||
android:id="@+id/fl_has_new" |
android:id="@+id/fl_has_new" |
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
app:layout_constraintRight_toRightOf="parent" |
|
||||||
app:layout_constraintTop_toTopOf="@id/tv_name"> |
|
||||||
|
|
||||||
<io.legado.app.ui.widget.BadgeView |
|
||||||
android:id="@+id/bv_unread" |
|
||||||
android:layout_width="wrap_content" |
android:layout_width="wrap_content" |
||||||
android:layout_height="wrap_content" |
android:layout_height="wrap_content" |
||||||
android:layout_gravity="right" |
app:layout_constraintRight_toRightOf="parent" |
||||||
android:layout_margin="5dp" |
app:layout_constraintTop_toTopOf="@id/tv_name"> |
||||||
android:includeFontPadding="false" |
|
||||||
tools:ignore="RtlHardcoded" /> |
<io.legado.app.ui.widget.BadgeView |
||||||
|
android:id="@+id/bv_unread" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:layout_gravity="right" |
||||||
|
android:layout_margin="5dp" |
||||||
|
android:includeFontPadding="false" |
||||||
|
tools:ignore="RtlHardcoded"/> |
||||||
|
|
||||||
<com.victor.loading.rotate.RotateLoading |
<com.victor.loading.rotate.RotateLoading |
||||||
android:id="@+id/rl_loading" |
android:id="@+id/rl_loading" |
||||||
android:layout_width="26dp" |
android:layout_width="26dp" |
||||||
android:layout_height="26dp" |
android:layout_height="26dp" |
||||||
android:layout_gravity="right" |
android:layout_gravity="right" |
||||||
android:visibility="invisible" |
android:visibility="invisible" |
||||||
app:loading_color="@color/colorAccent" |
app:loading_color="@color/colorAccent" |
||||||
app:loading_width="2dp" |
app:loading_width="2dp" |
||||||
tools:ignore="RtlHardcoded" /> |
tools:ignore="RtlHardcoded"/> |
||||||
</FrameLayout> |
</FrameLayout> |
||||||
|
|
||||||
<TextView |
<TextView |
||||||
android:id="@+id/tv_name" |
android:id="@+id/tv_name" |
||||||
android:layout_width="0dp" |
android:layout_width="0dp" |
||||||
android:layout_height="wrap_content" |
android:layout_height="wrap_content" |
||||||
android:layout_marginLeft="8dp" |
android:layout_marginLeft="8dp" |
||||||
android:layout_marginTop="8dp" |
android:layout_marginTop="8dp" |
||||||
android:includeFontPadding="false" |
android:includeFontPadding="false" |
||||||
android:paddingLeft="4dp" |
android:paddingLeft="4dp" |
||||||
android:singleLine="true" |
android:singleLine="true" |
||||||
android:text="@string/book_name" |
android:text="@string/book_name" |
||||||
android:textColor="@color/tv_text_default" |
android:textColor="@color/tv_text_default" |
||||||
android:textSize="16sp" |
android:textSize="16sp" |
||||||
app:layout_constraintBottom_toTopOf="@+id/tv_author" |
app:layout_constraintBottom_toTopOf="@+id/tv_author" |
||||||
app:layout_constraintLeft_toRightOf="@+id/iv_cover" |
app:layout_constraintLeft_toRightOf="@+id/iv_cover" |
||||||
app:layout_constraintRight_toLeftOf="@id/fl_has_new" |
app:layout_constraintRight_toLeftOf="@id/fl_has_new" |
||||||
app:layout_constraintTop_toTopOf="parent" |
app:layout_constraintTop_toTopOf="parent" |
||||||
tools:ignore="RtlHardcoded,RtlSymmetry" /> |
tools:ignore="RtlHardcoded,RtlSymmetry"/> |
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView |
<androidx.appcompat.widget.AppCompatImageView |
||||||
android:id="@+id/iv_author" |
android:id="@+id/iv_author" |
||||||
android:layout_width="@dimen/desc_icon_size" |
android:layout_width="@dimen/desc_icon_size" |
||||||
android:layout_height="@dimen/desc_icon_size" |
android:layout_height="@dimen/desc_icon_size" |
||||||
android:layout_marginLeft="8dp" |
android:layout_marginLeft="8dp" |
||||||
android:contentDescription="@string/author" |
android:contentDescription="@string/author" |
||||||
android:paddingStart="2dp" |
android:paddingStart="2dp" |
||||||
android:paddingEnd="2dp" |
android:paddingEnd="2dp" |
||||||
android:src="@drawable/ic_author" |
android:src="@drawable/ic_author" |
||||||
app:layout_constraintBottom_toBottomOf="@+id/tv_author" |
app:layout_constraintBottom_toBottomOf="@+id/tv_author" |
||||||
app:layout_constraintLeft_toRightOf="@+id/iv_cover" |
app:layout_constraintLeft_toRightOf="@+id/iv_cover" |
||||||
app:layout_constraintTop_toTopOf="@+id/tv_author" |
app:layout_constraintTop_toTopOf="@+id/tv_author" |
||||||
app:tint="@color/tv_text_secondary" |
app:tint="@color/tv_text_secondary" |
||||||
tools:ignore="RtlHardcoded,RtlSymmetry" /> |
tools:ignore="RtlHardcoded,RtlSymmetry"/> |
||||||
|
|
||||||
<TextView |
<TextView |
||||||
android:id="@+id/tv_author" |
android:id="@+id/tv_author" |
||||||
android:layout_width="0dp" |
android:layout_width="0dp" |
||||||
android:layout_height="wrap_content" |
android:layout_height="wrap_content" |
||||||
android:includeFontPadding="false" |
android:includeFontPadding="false" |
||||||
android:maxLines="1" |
android:maxLines="1" |
||||||
android:paddingEnd="6dp" |
android:paddingEnd="6dp" |
||||||
android:text="@string/author" |
android:text="@string/author" |
||||||
android:textColor="@color/tv_text_secondary" |
android:textColor="@color/tv_text_secondary" |
||||||
android:textSize="13sp" |
android:textSize="13sp" |
||||||
app:layout_constraintBottom_toTopOf="@+id/tv_read" |
app:layout_constraintBottom_toTopOf="@+id/tv_read" |
||||||
app:layout_constraintLeft_toRightOf="@+id/iv_author" |
app:layout_constraintLeft_toRightOf="@+id/iv_author" |
||||||
app:layout_constraintRight_toLeftOf="@id/fl_has_new" |
app:layout_constraintRight_toLeftOf="@id/fl_has_new" |
||||||
app:layout_constraintTop_toBottomOf="@+id/tv_name" |
app:layout_constraintTop_toBottomOf="@+id/tv_name" |
||||||
tools:ignore="RtlSymmetry" /> |
tools:ignore="RtlSymmetry"/> |
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView |
<androidx.appcompat.widget.AppCompatImageView |
||||||
android:id="@+id/iv_read" |
android:id="@+id/iv_read" |
||||||
android:layout_width="@dimen/desc_icon_size" |
android:layout_width="@dimen/desc_icon_size" |
||||||
android:layout_height="@dimen/desc_icon_size" |
android:layout_height="@dimen/desc_icon_size" |
||||||
android:layout_marginLeft="8dp" |
android:layout_marginLeft="8dp" |
||||||
android:contentDescription="@string/read_dur_progress" |
android:contentDescription="@string/read_dur_progress" |
||||||
android:paddingStart="2dp" |
android:paddingStart="2dp" |
||||||
android:paddingEnd="2dp" |
android:paddingEnd="2dp" |
||||||
android:src="@drawable/ic_history" |
android:src="@drawable/ic_history" |
||||||
app:layout_constraintBottom_toBottomOf="@+id/tv_read" |
app:layout_constraintBottom_toBottomOf="@+id/tv_read" |
||||||
app:layout_constraintLeft_toRightOf="@+id/iv_cover" |
app:layout_constraintLeft_toRightOf="@+id/iv_cover" |
||||||
app:layout_constraintTop_toTopOf="@+id/tv_read" |
app:layout_constraintTop_toTopOf="@+id/tv_read" |
||||||
app:tint="@color/tv_text_secondary" |
app:tint="@color/tv_text_secondary" |
||||||
tools:ignore="RtlHardcoded,RtlSymmetry" /> |
tools:ignore="RtlHardcoded,RtlSymmetry"/> |
||||||
|
|
||||||
<TextView |
<TextView |
||||||
android:id="@+id/tv_read" |
android:id="@+id/tv_read" |
||||||
android:layout_width="0dp" |
android:layout_width="0dp" |
||||||
android:layout_height="wrap_content" |
android:layout_height="wrap_content" |
||||||
android:includeFontPadding="false" |
android:includeFontPadding="false" |
||||||
android:singleLine="true" |
android:singleLine="true" |
||||||
android:text="@string/read_dur_progress" |
android:text="@string/read_dur_progress" |
||||||
android:textColor="@color/tv_text_secondary" |
android:textColor="@color/tv_text_secondary" |
||||||
android:textSize="13sp" |
android:textSize="13sp" |
||||||
app:layout_constraintBottom_toTopOf="@id/tv_last" |
app:layout_constraintBottom_toTopOf="@id/tv_last" |
||||||
app:layout_constraintLeft_toRightOf="@+id/iv_read" |
app:layout_constraintLeft_toRightOf="@+id/iv_read" |
||||||
app:layout_constraintRight_toLeftOf="@id/fl_has_new" |
app:layout_constraintRight_toLeftOf="@id/fl_has_new" |
||||||
app:layout_constraintTop_toBottomOf="@+id/tv_author" /> |
app:layout_constraintTop_toBottomOf="@+id/tv_author"/> |
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView |
<androidx.appcompat.widget.AppCompatImageView |
||||||
android:id="@+id/iv_last" |
android:id="@+id/iv_last" |
||||||
android:layout_width="@dimen/desc_icon_size" |
android:layout_width="@dimen/desc_icon_size" |
||||||
android:layout_height="@dimen/desc_icon_size" |
android:layout_height="@dimen/desc_icon_size" |
||||||
android:layout_marginLeft="8dp" |
android:layout_marginLeft="8dp" |
||||||
android:contentDescription="@string/book_search_last" |
android:contentDescription="@string/book_search_last" |
||||||
android:paddingStart="2dp" |
android:paddingStart="2dp" |
||||||
android:paddingEnd="2dp" |
android:paddingEnd="2dp" |
||||||
android:src="@drawable/ic_book_last" |
android:src="@drawable/ic_book_last" |
||||||
app:layout_constraintBottom_toBottomOf="@+id/tv_last" |
app:layout_constraintBottom_toBottomOf="@+id/tv_last" |
||||||
app:layout_constraintLeft_toRightOf="@+id/iv_cover" |
app:layout_constraintLeft_toRightOf="@+id/iv_cover" |
||||||
app:layout_constraintTop_toTopOf="@+id/tv_last" |
app:layout_constraintTop_toTopOf="@+id/tv_last" |
||||||
app:tint="@color/tv_text_secondary" |
app:tint="@color/tv_text_secondary" |
||||||
tools:ignore="RtlHardcoded,RtlSymmetry" /> |
tools:ignore="RtlHardcoded,RtlSymmetry"/> |
||||||
|
|
||||||
<TextView |
<TextView |
||||||
android:id="@+id/tv_last" |
android:id="@+id/tv_last" |
||||||
android:layout_width="0dp" |
android:layout_width="0dp" |
||||||
android:layout_height="wrap_content" |
android:layout_height="wrap_content" |
||||||
android:layout_marginBottom="8dp" |
android:layout_marginBottom="8dp" |
||||||
android:singleLine="true" |
android:singleLine="true" |
||||||
android:text="@string/book_search_last" |
android:text="@string/book_search_last" |
||||||
android:textColor="@color/tv_text_secondary" |
android:textColor="@color/tv_text_secondary" |
||||||
android:textSize="13sp" |
android:textSize="13sp" |
||||||
app:layout_constraintBottom_toBottomOf="parent" |
app:layout_constraintBottom_toBottomOf="parent" |
||||||
app:layout_constraintLeft_toRightOf="@+id/iv_last" |
app:layout_constraintLeft_toRightOf="@+id/iv_last" |
||||||
app:layout_constraintRight_toLeftOf="@id/fl_has_new" |
app:layout_constraintRight_toLeftOf="@id/fl_has_new" |
||||||
app:layout_constraintTop_toBottomOf="@+id/tv_read" /> |
app:layout_constraintTop_toBottomOf="@+id/tv_read"/> |
||||||
|
|
||||||
<View |
<View |
||||||
android:id="@+id/vw_select" |
android:id="@+id/vw_select" |
||||||
android:layout_width="match_parent" |
android:layout_width="match_parent" |
||||||
android:layout_height="0dp" |
android:layout_height="0dp" |
||||||
android:visibility="gone" |
android:visibility="gone" |
||||||
app:layout_constraintTop_toTopOf="parent" |
app:layout_constraintTop_toTopOf="parent" |
||||||
app:layout_constraintBottom_toBottomOf="parent" /> |
app:layout_constraintBottom_toBottomOf="parent"/> |
||||||
|
|
||||||
<View |
<View |
||||||
android:layout_width="match_parent" |
android:layout_width="match_parent" |
||||||
android:layout_height="0.5dp" |
android:layout_height="0.5dp" |
||||||
android:background="@color/btn_bg_press" |
android:background="@color/btn_bg_press" |
||||||
app:layout_constraintBottom_toBottomOf="parent" /> |
app:layout_constraintBottom_toBottomOf="parent"/> |
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout> |
</androidx.constraintlayout.widget.ConstraintLayout> |
@ -1,11 +1,11 @@ |
|||||||
<?xml version="1.0" encoding="utf-8"?> |
<?xml version="1.0" encoding="utf-8"?> |
||||||
<io.legado.app.lib.theme.view.ATETextInputLayout xmlns:android="http://schemas.android.com/apk/res/android" |
<io.legado.app.lib.theme.view.ATETextInputLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||||
android:id="@+id/textInputLayout" |
android:id="@+id/textInputLayout" |
||||||
android:layout_width="match_parent" |
android:layout_width="match_parent" |
||||||
android:layout_height="wrap_content"> |
android:layout_height="wrap_content"> |
||||||
|
|
||||||
<io.legado.app.lib.theme.view.ATEEditText |
<io.legado.app.lib.theme.view.ATEEditText |
||||||
android:id="@+id/editText" |
android:id="@+id/editText" |
||||||
android:layout_width="match_parent" |
android:layout_width="match_parent" |
||||||
android:layout_height="wrap_content" /> |
android:layout_height="wrap_content"/> |
||||||
</io.legado.app.lib.theme.view.ATETextInputLayout> |
</io.legado.app.lib.theme.view.ATETextInputLayout> |
@ -1,20 +1,20 @@ |
|||||||
<?xml version="1.0" encoding="utf-8"?> |
<?xml version="1.0" encoding="utf-8"?> |
||||||
<merge xmlns:android="http://schemas.android.com/apk/res/android" |
<merge xmlns:android="http://schemas.android.com/apk/res/android" |
||||||
android:layout_width="match_parent" |
android:layout_width="match_parent" |
||||||
android:layout_height="match_parent"> |
android:layout_height="match_parent"> |
||||||
|
|
||||||
<ViewStub |
<ViewStub |
||||||
android:id="@+id/errorViewStub" |
android:id="@+id/errorViewStub" |
||||||
android:layout_width="wrap_content" |
android:layout_width="wrap_content" |
||||||
android:layout_height="wrap_content" |
android:layout_height="wrap_content" |
||||||
android:layout_gravity="center" |
android:layout_gravity="center" |
||||||
android:layout="@layout/view_error" /> |
android:layout="@layout/view_error"/> |
||||||
|
|
||||||
<ViewStub |
<ViewStub |
||||||
android:id="@+id/progressViewStub" |
android:id="@+id/progressViewStub" |
||||||
android:layout_width="wrap_content" |
android:layout_width="wrap_content" |
||||||
android:layout_height="wrap_content" |
android:layout_height="wrap_content" |
||||||
android:layout_gravity="center" |
android:layout_gravity="center" |
||||||
android:layout="@layout/view_loading" /> |
android:layout="@layout/view_loading"/> |
||||||
|
|
||||||
</merge> |
</merge> |
@ -1,27 +1,27 @@ |
|||||||
<?xml version="1.0" encoding="utf-8"?> |
<?xml version="1.0" encoding="utf-8"?> |
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||||
android:layout_width="wrap_content" |
android:layout_width="wrap_content" |
||||||
android:layout_height="wrap_content" |
android:layout_height="wrap_content" |
||||||
android:gravity="center_horizontal" |
android:gravity="center_horizontal" |
||||||
android:orientation="vertical"> |
android:orientation="vertical"> |
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView |
<androidx.appcompat.widget.AppCompatImageView |
||||||
android:id="@+id/iv_error_image" |
android:id="@+id/iv_error_image" |
||||||
android:layout_width="wrap_content" |
android:layout_width="wrap_content" |
||||||
android:layout_height="wrap_content"/> |
android:layout_height="wrap_content"/> |
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView |
<androidx.appcompat.widget.AppCompatTextView |
||||||
android:id="@+id/tv_error_message" |
android:id="@+id/tv_error_message" |
||||||
style="@style/Style.Text.Primary.Normal" |
style="@style/Style.Text.Primary.Normal" |
||||||
android:paddingTop="16dp" |
android:paddingTop="16dp" |
||||||
android:paddingBottom="16dp" /> |
android:paddingBottom="16dp"/> |
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatButton |
<androidx.appcompat.widget.AppCompatButton |
||||||
android:id="@+id/btn_error_retry" |
android:id="@+id/btn_error_retry" |
||||||
android:layout_width="match_parent" |
android:layout_width="match_parent" |
||||||
android:layout_height="wrap_content" |
android:layout_height="wrap_content" |
||||||
android:backgroundTint="@color/colorAccent" |
android:backgroundTint="@color/colorAccent" |
||||||
android:minWidth="96dp" |
android:minWidth="96dp" |
||||||
android:text="@string/dynamic_click_retry" /> |
android:text="@string/dynamic_click_retry"/> |
||||||
|
|
||||||
</LinearLayout> |
</LinearLayout> |
Loading…
Reference in new issue