diff --git a/.idea/misc.xml b/.idea/misc.xml index ded8613..9f2d6c6 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,6 +5,7 @@ + @@ -18,6 +19,7 @@ + diff --git a/app/src/main/java/xyz/fycz/myreader/ui/activity/BookDetailedActivity.java b/app/src/main/java/xyz/fycz/myreader/ui/activity/BookDetailedActivity.java index 9572509..b62a4fb 100644 --- a/app/src/main/java/xyz/fycz/myreader/ui/activity/BookDetailedActivity.java +++ b/app/src/main/java/xyz/fycz/myreader/ui/activity/BookDetailedActivity.java @@ -361,7 +361,7 @@ public class BookDetailedActivity extends BaseActivity. + * + * Copyright (C) 2020 - 2022 fengyuecanzhu + */ + +package xyz.fycz.dynamic.fix + +import android.widget.TextView +import androidx.viewbinding.ViewBinding +import me.fycz.maple.MapleBridge +import me.fycz.maple.MapleUtils +import me.fycz.maple.MethodReplacement +import xyz.fycz.myreader.ui.activity.BookDetailedActivity + +/** + * @author fengyue + * @date 2022/8/11 16:44 + */ +@AppFix([243, 244, 245, 246, 250], ["[书籍详情界面]取消书籍简介展开时最大行数限制(无法显示完全)"], "2022-08-11") +class App250Fix : AppFixHandle { + override fun onFix(key: String): BooleanArray { + return handleFix( + key, + "showMoreDesc" to { fxShowMoreDesc() }, + ) + } + + fun fxShowMoreDesc() { + MapleUtils.findAndHookMethod( + BookDetailedActivity::class.java, + "showMoreDesc", + object : MethodReplacement() { + override fun replaceHookedMethod(param: MapleBridge.MethodHookParam) { + val binding = + MapleUtils.getObjectField(param.thisObject, "binding") as ViewBinding + val icBinding = MapleUtils.getObjectField(binding, "ic") as ViewBinding + val bookDetailTvDesc = + MapleUtils.getObjectField(icBinding, "bookDetailTvDesc") as TextView + if (bookDetailTvDesc.maxLines == 5) { + bookDetailTvDesc.maxLines = Int.MAX_VALUE + } else { + bookDetailTvDesc.maxLines = 5 + } + } + } + ) + } +} \ No newline at end of file