Merge remote-tracking branch 'origin/master' into master

# Conflicts:
#	app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeByJSoup.kt
#	app/src/main/java/io/legado/app/model/analyzeRule/RuleAnalyzer.kt
pull/1114/head
bushixuanqi 3 years ago
commit f6fe4f3099
  1. 5
      app/src/main/assets/updateLog.md
  2. 32
      app/src/main/java/io/legado/app/ui/dict/DictDialog.kt
  3. 11
      app/src/main/java/io/legado/app/ui/dict/DictViewModel.kt
  4. 218
      app/src/main/res/layout/dialog_read_padding.xml
  5. 7
      app/src/main/res/layout/view_read_menu.xml

@ -8,7 +8,7 @@
* 正文出现缺字漏字、内容缺失、排版错乱等情况,有可能是净化规则出现问题。先关闭替换净化并刷新,再观察是否正常。如果正常说明净化规则存在误杀,如果关闭后仍然出现相关问题,请点击源链接查看原文与正文是否相同,如果不同,再进行反馈。 * 正文出现缺字漏字、内容缺失、排版错乱等情况,有可能是净化规则出现问题。先关闭替换净化并刷新,再观察是否正常。如果正常说明净化规则存在误杀,如果关闭后仍然出现相关问题,请点击源链接查看原文与正文是否相同,如果不同,再进行反馈。
* 漫画源看书显示乱码,**阅读与其他软件的源并不通用**,请导入阅读的支持的漫画源! * 漫画源看书显示乱码,**阅读与其他软件的源并不通用**,请导入阅读的支持的漫画源!
**2021/07/5** **2021/07/05**
1. 默认规则新增类似`jsonPath`的索引写法 by bushixuanqi 1. 默认规则新增类似`jsonPath`的索引写法 by bushixuanqi
* 格式形如 `[index,index, ...]``[!index,index, ...]` 其中`[!`开头表示筛选方式为排除,`index`可以是单个索引,也可以是区间。 * 格式形如 `[index,index, ...]``[!index,index, ...]` 其中`[!`开头表示筛选方式为排除,`index`可以是单个索引,也可以是区间。
* 区间格式为 `start:end``start:end:step`,其中`start`为`0`可省略,`end`为`-1`可省略。 * 区间格式为 `start:end``start:end:step`,其中`start`为`0`可省略,`end`为`-1`可省略。
@ -17,6 +17,9 @@
* 特殊用法 `tag.div[-1:0]` 可在任意地方让列表反向 * 特殊用法 `tag.div[-1:0]` 可在任意地方让列表反向
2. 允许索引作为@分段后每个部分的首规则,此时相当于前面是`children` 2. 允许索引作为@分段后每个部分的首规则,此时相当于前面是`children`
* `head@.1@text``head@[1]@text``head@children[1]@text` 等价 * `head@.1@text``head@[1]@text``head@children[1]@text` 等价
3. 添加Umd格式支持 by ag2s20150909
4. 修复web页面按键重复监听的bug
5. 亮度条往中间移了一点,防止误触
**2021/06/29** **2021/06/29**
* 修复html格式化bug * 修复html格式化bug

@ -0,0 +1,32 @@
package io.legado.app.ui.dict
import android.os.Bundle
import android.view.View
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.viewModels
import io.legado.app.base.BaseDialogFragment
class DictDialog : BaseDialogFragment() {
companion object {
fun dict(manager: FragmentManager, word: String) {
DictDialog().apply {
val bundle = Bundle()
bundle.putString("word", word)
arguments = bundle
}.show(manager, word)
}
}
private val viewModel by viewModels<DictViewModel>()
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
viewModel.word = arguments?.getString("word") ?: ""
}
}

@ -0,0 +1,11 @@
package io.legado.app.ui.dict
import android.app.Application
import androidx.lifecycle.AndroidViewModel
class DictViewModel(application: Application) : AndroidViewModel(application) {
var word: String? = null
}

@ -1,31 +1,130 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.core.widget.NestedScrollView 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"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:padding="10dp" android:padding="10dp">
android:orientation="vertical">
<LinearLayout <LinearLayout
android:id="@+id/ll_header_padding"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout <LinearLayout
android:id="@+id/ll_header_padding"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<io.legado.app.ui.widget.text.AccentTextView
android:id="@+id/tv_header_padding"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="18sp"
android:text="@string/header" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/showLine" />
<io.legado.app.ui.widget.checkbox.SmoothCheckBox
android:id="@+id/cb_show_top_line"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_margin="6dp" />
</LinearLayout>
<io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_header_padding_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/padding_top"
app:max="100" />
<io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_header_padding_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/padding_bottom"
app:max="100" />
<io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_header_padding_left"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/padding_left"
app:max="100" />
<io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_header_padding_right"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/padding_right"
app:max="100" />
</LinearLayout>
<io.legado.app.ui.widget.text.AccentTextView
android:id="@+id/tv_body_padding"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingBottom="10dp" android:paddingBottom="10dp"
android:textSize="18sp"
android:text="@string/main_body" />
<io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_padding_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/padding_top"
app:max="200" />
<io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_padding_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/padding_bottom"
app:max="100" />
<io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_padding_left"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/padding_left"
app:max="100" />
<io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_padding_right"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/padding_right"
app:max="100" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal"> android:orientation="horizontal">
<io.legado.app.ui.widget.text.AccentTextView <io.legado.app.ui.widget.text.AccentTextView
android:id="@+id/tv_header_padding"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:textSize="18sp" android:textSize="18sp"
android:text="@string/header" /> android:text="@string/footer" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -33,7 +132,7 @@
android:text="@string/showLine" /> android:text="@string/showLine" />
<io.legado.app.ui.widget.checkbox.SmoothCheckBox <io.legado.app.ui.widget.checkbox.SmoothCheckBox
android:id="@+id/cb_show_top_line" android:id="@+id/cb_show_bottom_line"
android:layout_width="20dp" android:layout_width="20dp"
android:layout_height="20dp" android:layout_height="20dp"
android:layout_margin="6dp" /> android:layout_margin="6dp" />
@ -41,28 +140,28 @@
</LinearLayout> </LinearLayout>
<io.legado.app.ui.widget.DetailSeekBar <io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_header_padding_top" android:id="@+id/dsb_footer_padding_top"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:title="@string/padding_top" app:title="@string/padding_top"
app:max="100" /> app:max="100" />
<io.legado.app.ui.widget.DetailSeekBar <io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_header_padding_bottom" android:id="@+id/dsb_footer_padding_bottom"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:title="@string/padding_bottom" app:title="@string/padding_bottom"
app:max="100" /> app:max="100" />
<io.legado.app.ui.widget.DetailSeekBar <io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_header_padding_left" android:id="@+id/dsb_footer_padding_left"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:title="@string/padding_left" app:title="@string/padding_left"
app:max="100" /> app:max="100" />
<io.legado.app.ui.widget.DetailSeekBar <io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_header_padding_right" android:id="@+id/dsb_footer_padding_right"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:title="@string/padding_right" app:title="@string/padding_right"
@ -70,97 +169,4 @@
</LinearLayout> </LinearLayout>
<io.legado.app.ui.widget.text.AccentTextView </androidx.core.widget.NestedScrollView>
android:id="@+id/tv_body_padding"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:textSize="18sp"
android:text="@string/main_body" />
<io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_padding_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/padding_top"
app:max="200" />
<io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_padding_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/padding_bottom"
app:max="100" />
<io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_padding_left"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/padding_left"
app:max="100" />
<io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_padding_right"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/padding_right"
app:max="100" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<io.legado.app.ui.widget.text.AccentTextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:textSize="18sp"
android:text="@string/footer" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/showLine" />
<io.legado.app.ui.widget.checkbox.SmoothCheckBox
android:id="@+id/cb_show_bottom_line"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_margin="6dp" />
</LinearLayout>
<io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_footer_padding_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/padding_top"
app:max="100" />
<io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_footer_padding_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/padding_bottom"
app:max="100" />
<io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_footer_padding_left"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/padding_left"
app:max="100" />
<io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_footer_padding_right"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/padding_right"
app:max="100" />
</LinearLayout>

@ -71,13 +71,14 @@
android:id="@+id/ll_brightness" android:id="@+id/ll_brightness"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_margin="16dp" android:layout_marginLeft="16dp"
android:layout_marginTop="16dp"
android:gravity="center_horizontal" android:gravity="center_horizontal"
android:orientation="vertical" android:orientation="vertical"
android:padding="6dp"
app:layout_constraintBottom_toTopOf="@+id/bottom_menu" app:layout_constraintBottom_toTopOf="@+id/bottom_menu"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/title_bar"> app:layout_constraintTop_toBottomOf="@+id/title_bar"
tools:ignore="RtlHardcoded">
<ImageView <ImageView
android:id="@+id/iv_brightness_auto" android:id="@+id/iv_brightness_auto"

Loading…
Cancel
Save