Giter Club home page Giter Club logo

ehviewer's Introduction

English | 简体中文 | 正體中文


EhViewer

Github Actions LICENSE CodeFactor Downloads Release Issues

Description

EhViewer fork dedicated to lightweight and high-performance

with Material Design 3 and Dynamic Color Support

Download

Get it on GitHub Get it on F-Droid

Screenshot

screenshot-01 screenshot-02

Thanks

Here is the libraries

Specially thanks Tachiyomi for its reader implementation!

License

Copyright 2014-2019 Hippo Seven
Copyright 2020-2022 NekoInverter
Copyright 2022-2023 Tarsin Norbin

EhViewer is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

EhViewer is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with EhViewer. If not, see <https://www.gnu.org/licenses/>.

ehviewer's People

Contributors

asuka-mio avatar bluehomewu avatar comradekingu avatar duzhaokun123 avatar exzhawk avatar fooibar avatar forkburn avatar hathlife avatar hinamechan avatar jhuang778 avatar lackofdream avatar lilymaniac avatar maxdesu avatar mo10 avatar pehtshi avatar record avatar renovate-bot avatar renovate[bot] avatar scese250 avatar seven332 avatar skymkmk avatar sodaispod avatar sorz avatar tehcneko avatar tigerbeanst avatar trhjew avatar tsuki avatar txyyh avatar voidxhoshi avatar xb2016 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ehviewer's Issues

“需要解锁”与MIUI“应用锁”功能冲突

复现步骤 / Step to reproduce

虽然QA说不解决特定ROM独有问题,姑且还是回报一下。

复现步骤:
1.打开ehviewer的MIUI应用锁(该功能的作用是在打开应用前要求输入密码或指纹识别)
2.打开ehviewer的“需要解锁”功能。
3.完全关闭ehviewer及清除后台。
4.打开一个e-hentai/exhentai链接,系统自动使用ehviewer打开。

预期行为 / Expected behaviour

正常通过“应用锁”、“需要解锁”两次输入密码,进入APP。
neko的原版白ehviewer是正常的,看起来是“需要解锁”后才开始加载主界面。

任意关闭“应用锁”或“需要解锁”其中一个功能,都能正常使用。

实际行为 / Actual Behaviour

在actions/runs/2650399893的CI版本上表现为直接闪退。

在release的1.7.28.0版本上表现为卡在一个白屏,右划可以正常调出左侧栏(主页、设置等),左滑会变成灰屏(看起来是卡没了解锁页面使得UI没有完全加载,右侧的搜索收藏栏和顶部搜索栏消失)

EhViewer 版本号 / EhViewer version code

1.7.28.0

EhViewer CI 版本 / EhViewer CI Version

https://github.com/asuka-mio/Ehviewer/actions/runs/2650399893

Android 系统版本 / Android version

Android 11-MIUI 12.5-21.11.3

设备信息 / Device info

小米10 Ultra

应用日志 / App logs

log-2022-07-12-02-10-18-641.zip

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个问题。如果您有多个问题报告,烦请发起多个 Issue / Ensure there is only one bug report in this issue. Please make mutiply issue for mutiply bugs
  • 您确保已使用最新 CI 版本测试,并且该问题在最新 CI 版本中并未解决 / This bug have not solved in latest CI version

将“需要解锁”的条件变更为每次重新加载应用之后

需求 / Requirement

目前“需要解锁”的条件是在启动阶段进行解锁判定,而基于多方面考虑(例如用户没有清理后台应用程序的习惯),建议将条件变更为每次重新加载应用之后。

建议实现 / Suggested implements

将“需要解锁”的条件变更为每次重新加载应用之后

其他细节 / Addition details

No response

EhViewer 版本号 / EhViewer version code

1.7.28.0

EhViewer CI 版本 / EhViewer CI Version

https://github.com/asuka-mio/Ehviewer/actions/runs/2630854617

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个功能。如果您有多个功能请求,烦请发起多个 Issue / Ensure there is only one feature request in this issue. Please make mutiply issue for mutiply feature request
  • 您确保已使用最新 CI 版本测试,并且该功能在最新 CI 版本中并未按照预期实现 / This feature don't implement correctly in latest CI version

多标签搜索支持

显然,对于大多数用户来说,多标签搜索配合快速搜索功能可以充分利用e站的标签体系构建自己的流式推送体验

Gallery List couldn't trigger loading more when nav to last item with d-pad

复现步骤 / Step to reproduce

1.make sure you are in gallery list page
2.if run on emulator, keep press down on keyboard, until the focus is on bottom items.

预期行为 / Expected behaviour

In gallery preview scene, if keeping press down when the focus is on the bottom items (previews), it will automatically show the loading animation on the bottom, and start to load the content of next preview page on eh/ex.

实际行为 / Actual Behaviour

In gallery list it will stuck and do nothing.

EhViewer 版本号 / EhViewer version code

1.7.28.3

EhViewer CI 版本 / EhViewer CI Version

https://github.com/Ehviewer-Overhauled/Ehviewer/runs/7429850883?check_suite_focus=true

Android 系统版本 / Android version

Google TV, 11

设备型号 / Device model

TCL 50C725

SoC 型号 / Soc model

RTD288o

应用日志 / App logs

--------- beginning of perf
07-20 23:55:54.480  4029  4083 P Quality : 09 03 info 1658332554472 procName:moe.tarsin.ehviewer.debug 2 what:159,obj:android.app.servertransaction.ClientTransaction@e15b3200,target:android.app.ActivityThread$H $ latencyTime:2186,WallTime:1172 androidx.appcompat.app.AppCompatDelegate.create:257,androidx.appcompat.app.AppCompatActivity.getDelegate:585,androidx.appcompat.app.AppCompatActivity.attachBaseContext:140,android.app.Activity.attach:7899,android.app.ActivityThread.performLaunchActivity:3491,android.app.ActivityThread.handleLaunchActivity:3726,android.app.servertransaction.LaunchActivityItem.execute:85,android.app.servertransaction.TransactionExecutor.executeCallbacks:135,android.app.servertransaction.TransactionExecutor.execute:95,android.app.ActivityThread$H.handleMessage:2122,android.os.Handler.dispatchMessage:111,android.os.Looper.loop:250,android.app.ActivityThread.main:7848,java.lang.reflect.Method.invoke:-2,com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run:609,com.android.internal.os.ZygoteInit.main:1002, allocWait:0,ionwait:0,dstate:0,sched:1,iowait:16 $ moe.tarsin.ehviewer.debug/com.hippo.ehviewer.ui.MainActivity
07-20 23:55:55.534  4029  4083 P Quality : 09 03 info 1658332555532 procName:moe.tarsin.ehviewer.debug 2 callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler $ latencyTime:7,WallTime:1053 android.graphics.HardwareRenderer.nSetStopped:-2,android.graphics.HardwareRenderer.setStopped:474,android.view.ViewRootImpl.performDraw:4023,android.view.ViewRootImpl.performTraversals:3240,android.view.ViewRootImpl.doTraversal:2088,android.view.ViewRootImpl$TraversalRunnable.run:8387,android.view.Choreographer$CallbackRecord.run:1091,android.view.Choreographer.doCallbacks:909,android.view.Choreographer.doFrame:844,android.view.Choreographer$FrameDisplayEventReceiver.run:1076,android.os.Handler.handleCallback:967,android.os.Handler.dispatchMessage:104,android.os.Looper.loop:250,android.app.ActivityThread.main:7848,java.lang.reflect.Method.invoke:-2,com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run:609,com.android.internal.os.ZygoteInit.main:1002, allocWait:0,ionwait:224,dstate:48,sched:8,iowait:139 viewTitle:moe.tarsin.ehviewer.debug/com.hippo.ehviewer.ui.MainActivity $
07-20 23:55:55.565  4029  4083 P Quality : 09 03 info 1658332555561 procName:moe.tarsin.ehviewer.debug 1 callback:androidx.emoji2.text.EmojiCompatInitializer$LoadEmojiCompatRunnable,target:android.os.Handler callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler,maxWallTime:6 latencyTime:627,WallTime:4,normalLatencySlowTimes:10 $ $ $ $
07-20 23:55:56.238  4029  4057 P Quality : 07 02 block_gc block_gc .ehviewer.debug 4029 6388352 670
07-20 23:55:58.112  4029  4083 P Quality : 09 03 info 1658332558104 procName:moe.tarsin.ehviewer.debug 2 callback:androidx.fragment.app.FragmentManager$5,target:android.os.Handler $ latencyTime:17,WallTime:827 android.content.res.TypedArray.getIndex:189,android.widget.TextView.<init>:1671,android.widget.EditText.<init>:87,android.widget.EditText.<init>:83,androidx.appcompat.widget.AppCompatEditText.<init>:97,com.google.android.material.textfield.TextInputEditText.<init>:68,com.google.android.material.textfield.TextInputEditText.<init>:63,java.lang.reflect.Constructor.newInstance0:-2,java.lang.reflect.Constructor.newInstance:343,rikka.layoutinflater.view.LayoutInflaterFactoryDefaultImpl.createViewByPrefix:139,rikka.layoutinflater.view.LayoutInflaterFactoryDefaultImpl.createViewFromTag:112,rikka.layoutinflater.view.LayoutInflaterFactory.onCreateView:65,android.view.LayoutInflater$FactoryMerger.onCreateView:244,android.view.LayoutInflater.tryCreateView:1073,android.view.LayoutInflater.createViewFromTag:1009,android.view.LayoutInflater.createViewFromTag:973,android.view.LayoutInflater.rInflate:1135,android.view.LayoutInflater.rInflateChildren:1096,android.view.LayoutInflater.rInflate:1138,android.view.LayoutInflater.rInflateChildren:1096,android.view.LayoutInflater.rInflate:1138,android.view.LayoutInflater.rInflateChildren:1096,android.view.LayoutInflater.rInflate:1138,android.view.LayoutInflater.rInflateChildren:1096,android.view.LayoutInflater.inflate:694,android.view.LayoutInflater.inflate:546,com.hippo.ehviewer.ui.scene.SignInScene.onCreateView:121,androidx.fragment.app.Fragment.performCreateView:3104,androidx.fragment.app.FragmentStateManager.createView:524,androidx.fragment.app.FragmentStateManager.moveToExpectedState:261,androidx.fragment.app.FragmentManager.executeOpsTogether:1890,androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute:1808,androidx.fragment.app.FragmentManager.execPendingActions:1751,androidx.fragment.app.FragmentManager$5.run:538,android.os.Handler.handleCallback:967,android.os.Handler.dispatchMessage:104,android.os.Looper.loop:250,android.app.ActivityThread.main:7848,java.lang.reflect.Method.invoke:-2,com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run:609,com.android.internal.os.ZygoteInit.main:1002, allocWait:0,ionwait:0,dstate:6,sched:7,iowait:26 $ $
07-20 23:55:58.338  4029  4083 P Quality : 09 03 info 1658332558329 procName:moe.tarsin.ehviewer.debug 1 callback:android.graphics.animation.-$$Lambda$awqPSgriNRe12PWP0zkpAtPsfV4,target:android.os.Handler callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler,maxWallTime:221 latencyTime:983,WallTime:0,normalLatencySlowTimes:10 $ $ $ $
07-20 23:55:58.345  4029  4083 P Quality : 09 03 info 1658332558333 procName:moe.tarsin.ehviewer.debug 1 callback:androidx.core.content.res.ResourcesCompat$FontCallback$$ExternalSyntheticLambda0,target:android.os.Handler callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler,maxWallTime:221 latencyTime:717,WallTime:0,normalLatencySlowTimes:10 $ $ $ $
07-20 23:55:59.094  4029  4057 P Quality : 07 02 block_gc block_gc .ehviewer.debug 4029 2307736 561
07-20 23:56:07.007  4029  4083 P Quality : 09 03 info 1658332567006 procName:moe.tarsin.ehviewer.debug 2 callback:androidx.fragment.app.FragmentManager$5,target:android.os.Handler $ latencyTime:16,WallTime:2213 android.graphics.RenderNode.getRotationZ:1015,android.view.View.getRotation:16681,com.google.android.material.floatingactionbutton.FloatingActionButtonImpl.<init>:190,com.google.android.material.floatingactionbutton.FloatingActionButtonImplLollipop.<init>:54,com.google.android.material.floatingactionbutton.FloatingActionButton.createImpl:1470,com.google.android.material.floatingactionbutton.FloatingActionButton.getImpl:1462,com.google.android.material.floatingactionbutton.FloatingActionButton.setMaxImageSize:578,com.google.android.material.floatingactionbutton.FloatingActionButton.<init>:237,com.google.android.material.floatingactionbutton.FloatingActionButton.<init>:201,java.lang.reflect.Constructor.newInstance0:-2,java.lang.reflect.Constructor.newInstance:343,rikka.layoutinflater.view.LayoutInflaterFactoryDefaultImpl.createViewByPrefix:139,rikka.layoutinflater.view.LayoutInflaterFactoryDefaultImpl.createViewFromTag:112,rikka.layoutinflater.view.LayoutInflaterFactory.onCreateView:65,android.view.LayoutInflater$FactoryMerger.onCreateView:244,android.view.LayoutInflater.tryCreateView:1073,android.view.LayoutInflater.createViewFromTag:1009,android.view.LayoutInflater.createViewFromTag:973,android.view.LayoutInflater.rInflate:1135,android.view.LayoutInflater.rInflateChildren:1096,android.view.LayoutInflater.rInflate:1138,android.view.LayoutInflater.rInflateChildren:1096,android.view.LayoutInflater.inflate:694,android.view.LayoutInflater.inflate:546,com.hippo.ehviewer.ui.scene.GalleryListScene.onCreateView:554,androidx.fragment.app.Fragment.performCreateView:3104,androidx.fragment.app.FragmentStateManager.createView:524,androidx.fragment.app.FragmentStateManager.moveToExpectedState:261,androidx.fragment.app.FragmentManager.executeOpsTogether:1890,androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute:1808,androidx.fragment.app.FragmentManager.execPendingActions:1751,androidx.fragment.app.FragmentManager$5.run:538,android.os.Handler.handleCallback:967,android.os.Handler.dispatchMessage:104,android.os.Looper.loop:250,android.app.ActivityThread.main:7848,java.lang.reflect.Method.invoke:-2,com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run:609,com.android.internal.os.ZygoteInit.main:1002, allocWait:0,ionwait:0,dstate:23,sched:7,iowait:22 $ $
07-20 23:56:07.266  4029  4083 P Quality : 09 03 info 1658332567266 procName:moe.tarsin.ehviewer.debug 1 callback:android.graphics.animation.-$$Lambda$awqPSgriNRe12PWP0zkpAtPsfV4,target:android.os.Handler callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler,maxWallTime:258 latencyTime:2439,WallTime:0,normalLatencySlowTimes:10 $ $ $ $
07-20 23:56:07.275  4029  4083 P Quality : 09 03 info 1658332567275 procName:moe.tarsin.ehviewer.debug 1 callback:androidx.core.content.res.ResourcesCompat$FontCallback$$ExternalSyntheticLambda0,target:android.os.Handler callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler,maxWallTime:258 latencyTime:1272,WallTime:0,normalLatencySlowTimes:10 $ $ $ $
07-20 23:56:07.278  4029  4083 P Quality : 09 03 info 1658332567277 procName:moe.tarsin.ehviewer.debug 1 what:1,obj:com.google.android.material.progressindicator.CircularProgressIndicator{7f74cb8 V.ED..... ......ID 912,492-1008,588 #7f0901b2 app:id/progress},target:android.view.ViewRootImpl$ViewRootHandler callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler,maxWallTime:258 latencyTime:562,WallTime:0,normalLatencySlowTimes:10 $ $ $ $
07-20 23:56:13.384  4029  4083 P Quality : 09 03 info 1658332573382 procName:moe.tarsin.ehviewer.debug 2 callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler $ latencyTime:4,WallTime:990 android.content.res.AssetManager.nativeApplyStyle:-2,android.content.res.AssetManager.applyStyle:1152,android.content.res.ResourcesImpl$ThemeImpl.obtainStyledAttributes:1456,android.content.res.Resources$Theme.obtainStyledAttributes:1653,android.content.Context.obtainStyledAttributes:784,androidx.cardview.widget.CardView.<init>:123,com.google.android.material.card.MaterialCardView.<init>:164,com.google.android.material.card.MaterialCardView.<init>:160,java.lang.reflect.Constructor.newInstance0:-2,java.lang.reflect.Constructor.newInstance:343,rikka.layoutinflater.view.LayoutInflaterFactoryDefaultImpl.createViewByPrefix:139,rikka.layoutinflater.view.LayoutInflaterFactoryDefaultImpl.createViewFromTag:112,rikka.layoutinflater.view.LayoutInflaterFactory.onCreateView:65,android.view.LayoutInflater$FactoryMerger.onCreateView:244,android.view.LayoutInflater.tryCreateView:1073,android.view.LayoutInflater.createViewFromTag:1009,android.view.LayoutInflater.createViewFromTag:973,android.view.LayoutInflater.inflate:671,android.view.LayoutInflater.inflate:546,com.hippo.ehviewer.ui.scene.GalleryAdapter.onCreateViewHolder:163,com.hippo.ehviewer.ui.scene.GalleryAdapter.onCreateViewHolder:51,androidx.recyclerview.widget.RecyclerView$Adapter.createViewHolder:7295,androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline:6416,androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition:6300,androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition:6296,androidx.recyclerview.widget.LayoutState.next:98,androidx.recyclerview.widget.StaggeredGridLayoutManager.fill:1581,androidx.recyclerview.widget.StaggeredGridLayoutManager.onLayoutChildren:691,androidx.recyclerview.widget.StaggeredGridLayoutManager.onLayoutChildren:604,androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2:4309,androidx.recyclerview.widget.RecyclerView.dispatchLayout:4012,androidx.recyclerview.widget.RecyclerView.onLayout:4578,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,androidx.swiperefreshlayout.widget.SwipeRefreshLayout.onLayout:688,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.FrameLayout.layoutChildren:332,android.widget.FrameLayout.onLayout:270,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.FrameLayout.layoutChildren:332,android.widget.FrameLayout.onLayout:270,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.FrameLayout.layoutChildren:332,android.widget.FrameLayout.onLayout:270,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.FrameLayout.layoutChildren:332,android.widget.FrameLayout.onLayout:270,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,androidx.coordinatorlayout.widget.CoordinatorLayout.layoutChild:1213,androidx.coordinatorlayout.widget.CoordinatorLayout.onLayoutChild:899,androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout:919,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.FrameLayout.layoutChildren:332,android.widget.FrameLayout.onLayout:270,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,androidx.drawerlayout.widget.DrawerLayout.onLayout:1263,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.FrameLayout.layoutChildren:332,android.widget.FrameLayout.onLayout:270,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.FrameLayout.layoutChildren:332,android.widget.FrameLayout.onLayout:270,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.LinearLayout.setChildFrame:1829,android.widget.LinearLayout.layoutVertical:1673,android.widget.LinearLayout.onLayout:1582,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.FrameLayout.layoutChil
07-20 23:56:13.454  4029  4083 P Quality : 09 03 info 1658332573446 procName:moe.tarsin.ehviewer.debug 1 what:1,obj:android.os.AsyncTask$AsyncTaskResult@a2b8b2d,target:android.os.AsyncTask$InternalHandler callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler,maxWallTime:54 latencyTime:878,WallTime:2,normalLatencySlowTimes:10 $ $ $ $
07-20 23:56:13.455  4029  4083 P Quality : 09 03 info 1658332573449 procName:moe.tarsin.ehviewer.debug 1 what:1,obj:android.os.AsyncTask$AsyncTaskResult@811d861,target:android.os.AsyncTask$InternalHandler callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler,maxWallTime:54 latencyTime:387,WallTime:0,normalLatencySlowTimes:10 $ $ $ $
07-20 23:56:13.767  4029  4083 P Quality : 09 03 info 1658332573762 procName:moe.tarsin.ehviewer.debug 2 callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler $ latencyTime:30,WallTime:311 android.graphics.Paint.nGetRunAdvance:-2,android.graphics.Paint.getRunAdvance:2923,android.graphics.Paint.getRunAdvance:2955,android.text.TextLine.getRunAdvance:827,android.text.TextLine.handleText:878,android.text.TextLine.handleRun:1118,android.text.TextLine.measureRun:510,android.text.TextLine.measure:378,android.text.TextLine.metrics:306,android.text.BoringLayout.isBoring:366,android.widget.TextView.onMeasure:9311,androidx.appcompat.widget.AppCompatTextView.onMeasure:607,android.view.View.measure:25472,android.widget.RelativeLayout.measureChildHorizontal:735,android.widget.RelativeLayout.onMeasure:481,android.view.View.measure:25472,android.view.ViewGroup.measureChildWithMargins:6957,android.widget.FrameLayout.onMeasure:194,androidx.cardview.widget.CardView.onMeasure:260,com.google.android.material.card.MaterialCardView.onMeasure:206,android.view.View.measure:25472,androidx.recyclerview.widget.StaggeredGridLayoutManager.measureChildWithDecorationsAndMargin:1211,androidx.recyclerview.widget.StaggeredGridLayoutManager.measureChildWithDecorationsAndMargin:1162,androidx.recyclerview.widget.StaggeredGridLayoutManager.fill:1606,androidx.recyclerview.widget.StaggeredGridLayoutManager.onLayoutChildren:691,androidx.recyclerview.widget.StaggeredGridLayoutManager.onLayoutChildren:604,androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2:4309,androidx.recyclerview.widget.RecyclerView.dispatchLayout:4012,androidx.recyclerview.widget.RecyclerView.onLayout:4578,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,androidx.swiperefreshlayout.widget.SwipeRefreshLayout.onLayout:688,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.FrameLayout.layoutChildren:332,android.widget.FrameLayout.onLayout:270,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.FrameLayout.layoutChildren:332,android.widget.FrameLayout.onLayout:270,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.FrameLayout.layoutChildren:332,android.widget.FrameLayout.onLayout:270,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.FrameLayout.layoutChildren:332,android.widget.FrameLayout.onLayout:270,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,androidx.coordinatorlayout.widget.CoordinatorLayout.layoutChild:1213,androidx.coordinatorlayout.widget.CoordinatorLayout.onLayoutChild:899,androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout:919,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.FrameLayout.layoutChildren:332,android.widget.FrameLayout.onLayout:270,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,androidx.drawerlayout.widget.DrawerLayout.onLayout:1263,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.FrameLayout.layoutChildren:332,android.widget.FrameLayout.onLayout:270,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.FrameLayout.layoutChildren:332,android.widget.FrameLayout.onLayout:270,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.LinearLayout.setChildFrame:1829,android.widget.LinearLayout.layoutVertical:1673,android.widget.LinearLayout.onLayout:1582,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.FrameLayout.layoutChildren:332,android.widget.FrameLayout.onLayout:270,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.LinearLayout.setChildFrame:1829,android.widget.LinearLayout.layoutVertical:1673,android.widget.LinearLayout.onLayout:1582,android.view.View.layout:22850,android.view.ViewGroup.layout:6389,android.widget.FrameLayout.layoutChildren:332,android.widget.FrameLayout.onLayout:270,com.android.internal.policy.DecorView.onLayout:784,android.view.View.layout
07-20 23:56:34.150  4029  4083 P Quality : 09 03 info 1658332594147 procName:moe.tarsin.ehviewer.debug 2 callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler $ latencyTime:274,WallTime:302 androidx.appcompat.widget.Toolbar.shouldLayout:2231,androidx.appcompat.widget.Toolbar.onMeasure:1768,android.view.View.measure:25472,android.view.ViewGroup.measureChildWithMargins:6957,android.widget.LinearLayout.measureChildBeforeLayout:1552,android.widget.LinearLayout.measureVertical:842,android.widget.LinearLayout.onMeasure:721,com.google.android.material.appbar.AppBarLayout.onMeasure:459,android.view.View.measure:25472,android.view.ViewGroup.measureChildWithMargins:6957,android.widget.LinearLayout.measureChildBeforeLayout:1552,android.widget.LinearLayout.measureVertical:842,android.widget.LinearLayout.onMeasure:721,android.view.View.measure:25472,android.view.ViewGroup.measureChildWithMargins:6957,android.widget.FrameLayout.onMeasure:194,androidx.appcompat.widget.ContentFrameLayout.onMeasure:145,android.view.View.measure:25472,android.view.ViewGroup.measureChildWithMargins:6957,android.widget.LinearLayout.measureChildBeforeLayout:1552,android.widget.LinearLayout.measureVertical:842,android.widget.LinearLayout.onMeasure:721,android.view.View.measure:25472,android.view.ViewGroup.measureChildWithMargins:6957,android.widget.FrameLayout.onMeasure:194,android.view.View.measure:25472,android.view.ViewGroup.measureChildWithMargins:6957,android.widget.LinearLayout.measureChildBeforeLayout:1552,android.widget.LinearLayout.measureVertical:842,android.widget.LinearLayout.onMeasure:721,android.view.View.measure:25472,android.view.ViewGroup.measureChildWithMargins:6957,android.widget.FrameLayout.onMeasure:194,com.android.internal.policy.DecorView.onMeasure:747,android.view.View.measure:25472,android.view.ViewRootImpl.performMeasure:3557,android.view.ViewRootImpl.measureHierarchy:2364,android.view.ViewRootImpl.performTraversals:2622,android.view.ViewRootImpl.doTraversal:2088,android.view.ViewRootImpl$TraversalRunnable.run:8387,android.view.Choreographer$CallbackRecord.run:1091,android.view.Choreographer.doCallbacks:909,android.view.Choreographer.doFrame:844,android.view.Choreographer$FrameDisplayEventReceiver.run:1076,android.os.Handler.handleCallback:967,android.os.Handler.dispatchMessage:104,android.os.Looper.loop:250,android.app.ActivityThread.main:7848,java.lang.reflect.Method.invoke:-2,com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run:609,com.android.internal.os.ZygoteInit.main:1002, allocWait:0,ionwait:140,dstate:6,sched:7,iowait:4 viewTitle:moe.tarsin.ehviewer.debug/com.hippo.ehviewer.ui.SettingsActivity $
07-20 23:56:34.177  4029  4083 P Quality : 09 03 info 1658332594172 procName:moe.tarsin.ehviewer.debug 1 callback:androidx.customview.widget.ViewDragHelper$2,target:android.view.ViewRootImpl$ViewRootHandler callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler,maxWallTime:311 latencyTime:321,WallTime:2,normalLatencySlowTimes:10 $ $ $ $
07-20 23:56:37.006  4029  4057 P Quality : 07 02 block_gc block_gc .ehviewer.debug 4029 4919960 640

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个问题。如果您有多个问题报告,烦请发起多个 Issue / Ensure there is only one bug report in this issue. Please make mutiply issue for mutiply bugs
  • 您确保已使用最新 CI 版本测试,并且该问题在最新 CI 版本中并未解决 / This bug have not solved in latest CI version

画廊(本子)页信息框的一部分被遮挡在封面略缩图下

复现步骤 / Step to reproduce

点进去就这样,是个画廊都这样

预期行为 / Expected behaviour

完整显示不会被遮挡

实际行为 / Actual Behaviour

IMG_20220721_091941

EhViewer 版本号 / EhViewer version code

1.7.28.3

EhViewer CI 版本 / EhViewer CI Version

https://github.com/Ehviewer-Overhauled/Ehviewer/actions/runs/2704954250

Android 系统版本 / Android version

OriginOS PD2118_A_6.15.10

设备型号 / Device model

iQOO Neo5 活力版

SoC 型号 / Soc model

骁龙870

应用日志 / App logs

提取出的当天错误日志为空

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个问题。如果您有多个问题报告,烦请发起多个 Issue / Ensure there is only one bug report in this issue. Please make mutiply issue for mutiply bugs
  • 您确保已使用最新 CI 版本测试,并且该问题在最新 CI 版本中并未解决 / This bug have not solved in latest CI version

App 图标未随系统改变

复现步骤 / Step to reproduce

开关黑夜模式

预期行为 / Expected behaviour

ehviewer 图标随系统变更为黄色/黑色

实际行为 / Actual Behaviour

图标一直为黑色

EhViewer 版本号 / EhViewer version code

1.7.27.6

EhViewer CI 版本 / EhViewer CI Version

https://github.com/asuka-mio/Ehviewer/actions/runs/2610271599

Android 系统版本 / Android version

Android 12

设备信息 / Device info

Google Pixel 5

应用日志 / App logs

N/A

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个问题。如果您有多个问题报告,烦请发起多个 Issue / Ensure there is only one bug report in this issue. Please make mutiply issue for mutiply bugs
  • 您确保已使用最新 CI 版本测试,并且该问题在最新 CI 版本中并未解决 / This bug have not solved in latest CI version

希望能新增下载排序功能

尊敬的作者您好,目前在ehviewer上,我下载的作品可能在后续被删除了,虽然我可以在本地浏览,但是我并不能改变它在下载列表中的位置,不能和续集放在一起,希望您能出一个手动排序功能,谢谢!

搜索栏问题

搜索设置(高级选项)无法保存 每次点击搜索栏都会重置

希望能够优化鼠标滚轮的翻页距离

需求 / Requirement

作者您好,因手持平板翻页太累人了,我有使用蓝牙鼠标连接平板(搭配懒人支架)的习惯
现在默认是滚动一次滚轮 翻一页,希望能改为滚动一次鼠标滚轮翻页20%

建议实现 / Suggested implements

Sorry,我对安卓开发一无所知

其他细节 / Addition details

No response

EhViewer 版本号 / EhViewer version code

1.7.29.3

EhViewer CI 版本 / EhViewer CI Version

https://github.com/Ehviewer-Overhauled/Ehviewer/actions/runs/2843095635

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个功能。如果您有多个功能请求,烦请发起多个 Issue / Ensure there is only one feature request in this issue. Please make mutiply issue for mutiply feature request
  • 您确保已使用最新 CI 版本测试,并且该功能在最新 CI 版本中并未按照预期实现 / This feature don't implement correctly in latest CI version

"需要解锁"功能无效,可绕过

复现步骤 / Step to reproduce

一、启用“需要解锁”功能。
二、重新启动应用。
三、在弹出“需要解锁”的窗口后,使用返回键/返回手势进行返回操作。
四、右滑出侧边栏,随意点击一个按钮(例如“主页”),成功加载内容。

预期行为 / Expected behaviour

在用户取消“需要解锁”操作后,应当立刻退出应用。

实际行为 / Actual Behaviour

在用户取消“需要解锁”操作后,停留在当前窗口。

EhViewer 版本号 / EhViewer version code

1.7.28.0

EhViewer CI 版本 / EhViewer CI Version

https://github.com/asuka-mio/Ehviewer/actions/runs/2643495262

Android 系统版本 / Android version

氢OS 11.0.5.1.GM21

设备信息 / Device info

一加 7 Pro,arm64-v8a

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个问题。如果您有多个问题报告,烦请发起多个 Issue / Ensure there is only one bug report in this issue. Please make mutiply issue for mutiply bugs
  • 您确保已使用最新 CI 版本测试,并且该问题在最新 CI 版本中并未解决 / This bug have not solved in latest CI version

问前必看 / Q&A

To English user: you can use translater (eg, DeepL, Google) to read this docs at this time. I will add English translation in my free time

问答公约

我不想填写 Issue Template,能否直接新建 Blank Issue 提交?

不能。不按照 Issue Template 填写的 Issue 我们将直接关闭!

本项目 Blank Issue 仅供项目组作 TODO 等特殊用途使用

我能否创建一个与问题反馈/功能请求无关的 Issue

不能。请自觉根据指引前往 Discussion 讨论其他类型话题!

我能不能在单个 Issue 中讨论与 Issue 无关的话题

不能。原则上单个 Issue 内只讨论单个问题;如果有与此 Issue 相关联的问题,可以 mention 其他 Issue

另还请不要在单个 Issue 内回复与 Issue 主题无关的内容

什么是 CI 版本?我使用 Release 版本反馈可以吗

不可以,请务必使用 CI 版本反馈,感谢您的理解与配合

不了解何为 CI 的,还请仔细查看 README 中有关的按钮,谢谢

功能相关

能不能添加主题色切换功能?

不会。本项目设计语言将完全遵从动态配色方案,未来不会考虑添加固定配色

是否会解决 MIUI 等厂商 ROM 下产生的独有问题?

很抱歉,因为项目组精力及设备有限,目前我们不会针对厂商 ROM 做相应的适配,包括但不限于系统不兼容所产生的 Bug、厂商接口适配等等请求

打开较大的压缩包时程序闪退

由于系统限制,32 位的程序无法打开体积较大的压缩包,还请自行下载安装 64 位的程序包

其他

无法导入 SXJ 版本数据

SXJ 版本使用他们独有的数据库格式而非原版,请使用 http://ehconverter.skymkmk.com (非制作组维护)转换后导入

另,原版数据库在导入 SXJ 版本后,数据库源文件也会被直接转换为 SXJ 版本的数据库格式

App 被报毒

由于众所周知的原因,本 App 易被误报为病毒。我们目前无法处理此事,也还请不要再汇报此类问题

这个应用很好用,有没有捐赠渠道?

抱歉本项目不被动接受任何形式的捐赠

排行榜功能

需求 / Requirement

这个功能非常难实现,实现不了也不强求,(我知道e站的画廊只有详情才有收藏数,外面列表是看不见的)如今e站排行榜只能说存在不能说能用,我希望能有一个比较好用的排行榜,下面我列下这个排行榜应该有的功能

  1. 能根据用户的选择 显示今天/今周/今月或者今年(可能有点夸张) 收藏数量最多的画廊显示在列表里 自上往下 由高到低
  2. 可以选择指定的语言 根据语言当做条件过滤排行榜 (或者其他标签也行,当然我希望语言是首位)
  3. 可以选择前10或者前20 这个条目数可以让用户选择展示前几的排行榜

建议实现 / Suggested implements

可以考虑用服务器存这些信息,当然也可以在程序中实现,e站对查询有限制的 ,查询过多可能会出问题,而且e站中文区一天的上次量是多少我也不清, 总之排行榜最开始建议还是画廊的上次时间从今天00:00:00分到今天23:59:59秒为止,语言为中文的list查出来,然后对每个画廊进行循环调用拿出收藏数然后再排序,当然这是我想的可能,中文区上次数太大循环崩了也可能,最好带个画廊类型,当然以上都是我想到的,只当做建议。

其他细节 / Addition details

暂无

EhViewer 版本号 / EhViewer version code

1.7.27.6

EhViewer CI 版本 / EhViewer CI Version

https://github.com/asuka-mio/Ehviewer/actions/runs/2562775408

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个功能。如果您有多个功能请求,烦请发起多个 Issue / Ensure there is only one feature request in this issue. Please make mutiply issue for mutiply feature request
  • 您确保已使用最新 CI 版本测试,并且该功能在最新 CI 版本中并未按照预期实现 / This feature don't implement correctly in latest CI version

标签/上传者字段过长时,画廊详情界面无法完整显示标签

简略描述 / Describe the bug

RT

如何重现 / To Reproduce

  1. 打开任意一本上传者/标签字段加起来足够长的画廊
  2. 标签无法显示完全

预期行为 / Expected behavior
标签可以完整显示

截图 / Screenshots
Screenshot_20220524-233420_EhViewer~2

设备型号与 Android 版本 / Device model and Android version

  • 设备型号: Redmi Note 9 Pro China
  • Android 版本:A12L

备注 / Additional context

无法通过 EhViewer 打开压缩档案(Archive)

复现步骤 / Step to reproduce

一、通过 Google Chrome 下载压缩档案
二、选择通过 EhViewer 打开

预期行为 / Expected behaviour

正常浏览

实际行为 / Actual Behaviour

EhViewer 崩溃

EhViewer 版本号 / EhViewer version code

1.7.28.2

EhViewer CI 版本 / EhViewer CI Version

https://github.com/asuka-mio/Ehviewer/actions/runs/2690785602

Android 系统版本 / Android version

氢OS 11.0.9.1.GM21

设备信息 / Device info

一加 7 Pro,arm64-v8a

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个问题。如果您有多个问题报告,烦请发起多个 Issue / Ensure there is only one bug report in this issue. Please make mutiply issue for mutiply bugs
  • 您确保已使用最新 CI 版本测试,并且该问题在最新 CI 版本中并未解决 / This bug have not solved in latest CI version

修改“不允许屏幕抓取”功能的说明

需求 / Requirement

目前“不允许屏幕抓取”功能的说明之一为

重新启动应用以生效此更改

实际情况则应该为“重新加载应用以生效此更改”,即切换至桌面、其他应用或系统任务切换器后,再切换回该应用即可。

建议实现 / Suggested implements

将说明修改为“重新加载应用以生效此更改”。

其他细节 / Addition details

No response

EhViewer 版本号 / EhViewer version code

1.7.27.6

EhViewer CI 版本 / EhViewer CI Version

https://github.com/asuka-mio/Ehviewer/actions/runs/2610271599

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个功能。如果您有多个功能请求,烦请发起多个 Issue / Ensure there is only one feature request in this issue. Please make mutiply issue for mutiply feature request
  • 您确保已使用最新 CI 版本测试,并且该功能在最新 CI 版本中并未按照预期实现 / This feature don't implement correctly in latest CI version

进入下载页面,下载页面中含有已被删除的画廊下载项目,出现闪退

复现步骤 / Step to reproduce

  1. 下载一个画廊
  2. 此画廊被删除
  3. 进入下载页面
  4. 闪退

预期行为 / Expected behaviour

无闪退行为

实际行为 / Actual Behaviour

出现闪退行为

EhViewer 版本号 / EhViewer version code

1.8.0.3

EhViewer CI 版本 / EhViewer CI Version

https://github.com/Ehviewer-Overhauled/Ehviewer/actions/runs/2759924231

Android 系统版本 / Android version

MIUI 13

设备型号 / Device model

Redmi K30 Pro

SoC 型号 / Soc model

骁龙888

应用日志 / App logs

logcat-2022-07-30-22-18-10-486.txt

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个问题。如果您有多个问题报告,烦请发起多个 Issue / Ensure there is only one bug report in this issue. Please make mutiply issue for mutiply bugs
  • 您确保已使用最新 CI 版本测试,并且该问题在最新 CI 版本中并未解决 / This bug have not solved in latest CI version

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • Update dependency androidx.lifecycle:lifecycle-process to v2.6.2
  • Update dependency io.arrow-kt:arrow-stack to v1.2.1
  • Update nav_version to v2.7.2 (androidx.navigation:navigation-compose, androidx.navigation:navigation-ui-ktx, androidx.navigation:navigation-fragment-ktx)
  • Update paging to v3.2.1 (androidx.paging:paging-runtime-ktx, androidx.paging:paging-compose)
  • 🔐 Create all rate-limited PRs at once 🔐

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

cargo
app/src/main/rust/Cargo.toml
  • regex-lite 0.1
  • jnix-macros 0.4
  • quick-xml 0.30
  • tl 0.7
  • log 0.4
  • android_logger 0.13
  • apply 0.3
  • once_cell 1.18
app/src/main/rust/catch_panic/Cargo.toml
  • jni 0.20
app/src/main/rust/catch_panic_macros/Cargo.toml
  • proc-macro2 1.0
  • quote 1.0
  • syn 1.0
app/src/main/rust/jni_fn/Cargo.toml
  • syn 1.0
  • quote 1.0
  • proc-macro2 1.0
  • jni 0.20
app/src/main/rust/jnix/Cargo.toml
  • jni 0.20
  • jnix-macros 0.4
  • once_cell 1.18
  • parking_lot 0.12
  • jnix-macros 0.4
github-actions
.github/workflows/ci.yml
  • actions/checkout v4@3df4ab11eba7bda6032a0b82a6bb43b11571feac
  • actions/setup-java v3
  • gradle/gradle-build-action v2
  • actions/upload-artifact v3
  • actions/upload-artifact v3
  • actions/upload-artifact v3
  • actions/upload-artifact v3
  • actions/upload-artifact v3
.github/workflows/pull_request.yml
  • actions/checkout v4@3df4ab11eba7bda6032a0b82a6bb43b11571feac
  • actions/setup-java v3
  • gradle/gradle-build-action v2
  • actions/upload-artifact v3
  • actions/upload-artifact v3
  • actions/upload-artifact v3
  • actions/upload-artifact v3
.github/workflows/releases.yml
  • actions/checkout v4@3df4ab11eba7bda6032a0b82a6bb43b11571feac
  • actions/setup-java v3
  • gradle/gradle-build-action v2
  • softprops/action-gh-release v1
gradle
gradle.properties
ktlint.gradle.kts
  • com.pinterest:ktlint 0.50.0
settings.gradle.kts
build.gradle.kts
  • com.android.application 8.1.1
  • org.jetbrains.kotlin.android 1.9.0
  • org.jetbrains.kotlin.plugin.serialization 1.9.0
  • com.google.devtools.ksp 1.9.10-1.0.13
  • com.mikepenz.aboutlibraries.plugin 10.8.3
  • org.mozilla.rust-android-gradle.rust-android 0.9.3
  • dev.shreyaspatil.compose-compiler-report-generator 1.1.0
  • com.android.tools:r8 8.2.20-dev
app/build.gradle.kts
  • composeOptions 1.5.2
  • androidx.activity:activity-compose 1.8.0-beta01
  • androidx.appcompat:appcompat 1.6.1
  • androidx.biometric:biometric-ktx 1.2.0-alpha05
  • androidx.browser:browser 1.6.0
  • androidx.collection:collection-ktx 1.3.0-beta01
  • dev.chrisbanes.compose:compose-bom 2023.07.00-alpha02
  • androidx.core:core-ktx 1.12.0-rc01
  • androidx.constraintlayout:constraintlayout-compose 1.1.0-alpha12
  • androidx.coordinatorlayout:coordinatorlayout 1.2.0
  • androidx.fragment:fragment-ktx 1.7.0-alpha03
  • androidx.lifecycle:lifecycle-process 2.6.1
  • androidx.navigation:navigation-fragment-ktx 2.7.1
  • androidx.navigation:navigation-ui-ktx 2.7.1
  • androidx.navigation:navigation-compose 2.7.1
  • androidx.paging:paging-compose 3.2.0
  • androidx.paging:paging-runtime-ktx 3.2.0
  • androidx.recyclerview:recyclerview 1.3.1
  • androidx.recyclerview:recyclerview-selection 1.2.0-alpha01
  • androidx.room:room-compiler 2.6.0-beta01
  • androidx.room:room-paging 2.6.0-beta01
  • androidx.swiperefreshlayout:swiperefreshlayout 1.2.0-alpha01
  • androidx.work:work-runtime-ktx 2.8.1
  • com.drakeet.drawer:drawer 1.0.3
  • com.github.chrisbanes:PhotoView 2.3.0
  • com.github.tachiyomiorg:DirectionalViewPager 1.0.0
  • com.google.accompanist:accompanist-themeadapter-material3 0.32.0
  • com.google.accompanist:accompanist-webview 0.32.0
  • com.google.android.material:material 1.11.0-alpha02
  • com.louiscad.splitties:splitties-appctx 3.0.0
  • com.louiscad.splitties:splitties-systemservices 3.0.0
  • com.louiscad.splitties:splitties-preferences 3.0.0
  • com.louiscad.splitties:splitties-arch-room 3.0.0
  • com.squareup.okhttp3:okhttp-bom 5.0.0-alpha.11
  • com.squareup.okio:okio-jvm 3.5.0
  • com.mikepenz:aboutlibraries-core 10.8.3
  • dev.chrisbanes.insetter:insetter 0.6.1
  • dev.rikka.rikkax.core:core-ktx 1.4.1
  • dev.rikka.rikkax.insets:insets 1.3.0
  • dev.rikka.rikkax.layoutinflater:layoutinflater 1.3.0
  • io.arrow-kt:arrow-stack 1.2.0
  • io.coil-kt:coil-bom 2.4.0
  • io.ktor:ktor-io-jvm 2.3.4
  • io.ktor:ktor-utils-jvm 2.3.4
  • org.chromium.net:cronet-embedded 113.5672.61
  • org.jetbrains.kotlinx:kotlinx-serialization-cbor 1.6.0
  • org.jetbrains.kotlinx:kotlinx-serialization-json 1.6.0
  • org.jetbrains.kotlinx:kotlinx-serialization-json-okio 1.6.0
  • org.jetbrains.kotlinx:kotlinx-coroutines-android 1.7.3
  • org.jsoup:jsoup 1.16.1
  • com.github.chuckerteam.chucker:library 4.0.0
  • com.github.chuckerteam.chucker:library-no-op 4.0.0
  • com.squareup.leakcanary:leakcanary-android 2.12
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.3

  • Check this box to trigger a request for Renovate to run again on this repository

使“详情”列表的缩略图大小可以调整

需求 / Requirement

使“详情”列表的缩略图大小可以调整

建议实现 / Suggested implements

在一些设备上,根据dpi计算出来的“详情”列表的缩略图大小可能不尽人意,希望能手动调整。

其他细节 / Addition details

No response

EhViewer 版本号 / EhViewer version code

1.8.1.0

EhViewer CI 版本 / EhViewer CI Version

https://github.com/Ehviewer-Overhauled/Ehviewer/actions/runs/2845806470

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个功能。如果您有多个功能请求,烦请发起多个 Issue / Ensure there is only one feature request in this issue. Please make mutiply issue for mutiply feature request
  • 您确保已使用最新 CI 版本测试,并且该功能在最新 CI 版本中并未按照预期实现 / This feature don't implement correctly in latest CI version

请修复一个从原代码分支中继承来的打开错误本子bug

复现步骤 / Step to reproduce

1、直接跳转到 大于2 页
2、往下拉动加载前一页
3、在新的一页封面全部加载完成前,旧一页的任一本子的第一次点击,会打开新一页对应位置的本子。新一页加载完成或任意本子页加载完成会让封面和本子详情页正确对应。

预期行为 / Expected behaviour

上拉下拉刷新都应该一样让封面和详情页正确对应,在eh的其他分支也有这bug所以是源代码问题。

实际行为 / Actual Behaviour

屏幕截图 2022-08-16 110924
无标题
无标题
无标题3

EhViewer 版本号 / EhViewer version code

1.8.1.1

EhViewer CI 版本 / EhViewer CI Version

https://github.com/Ehviewer-Overhauled/Ehviewer/releases

Android 系统版本 / Android version

crDroidOS 8 Android 12

设备型号 / Device model

Redmi Note 7 Pro

SoC 型号 / Soc model

Snapdragon 675

应用日志 / App logs

log-2022-08-16-11-20-55-135.zip

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个问题。如果您有多个问题报告,烦请发起多个 Issue / Ensure there is only one bug report in this issue. Please make mutiply issue for mutiply bugs
  • 您确保已使用最新 CI 版本测试,并且该问题在最新 CI 版本中并未解决 / This bug have not solved in latest CI version

搜索画廊类型过滤修改样式

需求 / Requirement

点击排除某个类型的画廊时修改样式变为删除线

14160CDB4FF3B5C2A35510B33BC92845

建议实现 / Suggested implements

类似这样的删除线,可以让用户更加明白其含义
EC44EB16E3C9A6491039374F4551659D

其他细节 / Addition details

暂无

EhViewer 版本号 / EhViewer version code

1.7.27.6

EhViewer CI 版本 / EhViewer CI Version

https://github.com/asuka-mio/Ehviewer/actions/runs/2562775408

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个功能。如果您有多个功能请求,烦请发起多个 Issue / Ensure there is only one feature request in this issue. Please make mutiply issue for mutiply feature request
  • 您确保已使用最新 CI 版本测试,并且该功能在最新 CI 版本中并未按照预期实现 / This feature don't implement correctly in latest CI version

可以以txt文本格式,将快速搜索(用户书签栏) 导出。

需求 / Requirement

在条件允许的情况下,为应用添加可以单独导出/导入用户自定义的书签栏的功能(txt格式) 。

建议实现 / Suggested implements

可以考虑参考AdGuard (正版付费) [Android /pc(插件) 中的导入/导出用户自定义配置的应用功能(其中包括txt文本格式)。

其他细节 / Addition details

No response

EhViewer 版本号 / EhViewer version code

1.7.29.1

EhViewer CI 版本 / EhViewer CI Version

https://github.com/Ehviewer-Overhauled/Ehviewer/releases/download/1.7.29.1

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个功能。如果您有多个功能请求,烦请发起多个 Issue / Ensure there is only one feature request in this issue. Please make mutiply issue for mutiply feature request
  • 您确保已使用最新 CI 版本测试,并且该功能在最新 CI 版本中并未按照预期实现 / This feature don't implement correctly in latest CI version

使用深色主题时,标签的默认配色过于亮眼

复现步骤 / Step to reproduce

一、启用深色主题(或纯黑深色主题)
二、打开一个画廊
三、查看画廊标签

预期行为 / Expected behaviour

标签的内容应当清晰可见

实际行为 / Actual Behaviour

标签的默认配色过于亮眼以至于难以在瞬息之间看清标签的内容。
Screenshot_Tags

EhViewer 版本号 / EhViewer version code

1.7.27.6

EhViewer CI 版本 / EhViewer CI Version

https://github.com/asuka-mio/Ehviewer/actions/runs/2610271599

Android 系统版本 / Android version

氢OS 11.0.5.1.GM21

设备信息 / Device info

一加 7 Pro,arm64-v8a

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个问题。如果您有多个问题报告,烦请发起多个 Issue / Ensure there is only one bug report in this issue. Please make mutiply issue for mutiply bugs
  • 您确保已使用最新 CI 版本测试,并且该问题在最新 CI 版本中并未解决 / This bug have not solved in latest CI version

Integrate OpenSSL?

We need aes crypto algorithm which is provided by openssl for some encrypted archive

在系统处于亮色模式时,设置和本子详情界面的状态栏消失了

复现步骤 / Step to reproduce

  1. 打开Ehviewer
  2. 进入设置
  3. 进入本子详情界面

预期行为 / Expected behaviour

在正常情况下,无论我的系统处于何种颜色模式,Ehviewer的状态栏应该是和背景的颜色相反,即背景颜色时暗色时状态栏图标的颜色应该是白色,亮色时状态栏图标颜色应该是黑色

实际行为 / Actual Behaviour

实际上Ehviewer在背景颜色处于亮色模式时,设置和本子详情界面的状态栏并没有自动反色,处于一种消失了的效果,然而其他界面是正常的,然后在暗色背景下,这些在亮色背景有问题的界面的状态栏颜色就都正常了,在我的两个设备和系统版本下均是如此

EhViewer 版本号 / EhViewer version code

1.8.1.0

EhViewer CI 版本 / EhViewer CI Version

https://github.com/Ehviewer-Overhauled/Ehviewer/actions/runs/2847457861

Android 系统版本 / Android version

MIUI 13.0.12,PixelExperience_Plus 12.1

设备型号 / Device model

Xiaomi 11 Pro,Google Pixel 3

SoC 型号 / Soc model

Snapdragon 845,Snapdragon 888

应用日志 / App logs

这是Google Pixel 3
log-2022-08-15-11-05-18-592.zip

这是Xiaomi 11 Pro
log-2022-08-15-10-59-29-879.zip

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个问题。如果您有多个问题报告,烦请发起多个 Issue / Ensure there is only one bug report in this issue. Please make mutiply issue for mutiply bugs
  • 您确保已使用最新 CI 版本测试,并且该问题在最新 CI 版本中并未解决 / This bug have not solved in latest CI version

搜索画廊类型添加中文翻译

需求 / Requirement

黑色框中的英文画廊类型翻译为中文

E56A804D0C141BD060FBD4035DAB29E9

建议实现 / Suggested implements

建议添加开关来控制是否翻译

其他细节 / Addition details

暂无

EhViewer 版本号 / EhViewer version code

1.7.27.6

EhViewer CI 版本 / EhViewer CI Version

https://github.com/asuka-mio/Ehviewer/actions/runs/2562775408

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个功能。如果您有多个功能请求,烦请发起多个 Issue / Ensure there is only one feature request in this issue. Please make mutiply issue for mutiply feature request
  • 您确保已使用最新 CI 版本测试,并且该功能在最新 CI 版本中并未按照预期实现 / This feature don't implement correctly in latest CI version

点击下载闪退

复现步骤 / Step to reproduce

1.打开app点击某个画廊进行下载菜单 此时是可以的看到下载的画廊点击阅读都没啥问题
2.完全退出app 再进入点下载菜单直接闪退回到手机桌面

预期行为 / Expected behaviour

显示下载列表

实际行为 / Actual Behaviour

闪退

EhViewer 版本号 / EhViewer version code

1.8.0.3

EhViewer CI 版本 / EhViewer CI Version

https://github.com/Ehviewer-Overhauled/Ehviewer/runs/7599433895?check_suite_focus=true

Android 系统版本 / Android version

android 12.0

设备型号 / Device model

RMX3366

SoC 型号 / Soc model

Qualcomm Snapdragon 870

应用日志 / App logs

--------- beginning of crash
07-31 23:33:31.379 31703 19094 F libc : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x5c0020 in tid 19094 (Conaco-Disk-11), pid 31703 (tarsin.ehviewer)
07-31 23:33:32.078 19102 19102 F DEBUG : Process name is moe.tarsin.ehviewer, not key_process
07-31 23:33:32.078 19102 19102 F DEBUG : keyProcess: 0
07-31 23:33:32.078 19102 19102 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
07-31 23:33:32.078 19102 19102 F DEBUG : Build fingerprint: 'realme/RMX3366/RE546F:12/RKQ1.211103.002/R.202207051443:user/release-keys'
07-31 23:33:32.078 19102 19102 F DEBUG : Revision: '0'
07-31 23:33:32.078 19102 19102 F DEBUG : ABI: 'arm64'
07-31 23:33:32.078 19102 19102 F DEBUG : Timestamp: 2022-07-31 23:33:31.543424482+0800
07-31 23:33:32.078 19102 19102 F DEBUG : Process uptime: 0s
07-31 23:33:32.078 19102 19102 F DEBUG : Cmdline: moe.tarsin.ehviewer
07-31 23:33:32.078 19102 19102 F DEBUG : pid: 31703, tid: 19094, name: Conaco-Disk-11 >>> moe.tarsin.ehviewer <<<
07-31 23:33:32.078 19102 19102 F DEBUG : uid: 10430
07-31 23:33:32.078 19102 19102 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x5c0020
07-31 23:33:32.078 19102 19102 F DEBUG : x0 b400007b76ff3c00 x1 b400007be3e55aa0 x2 0000000000000020 x3 0000000000000001
07-31 23:33:32.078 19102 19102 F DEBUG : x4 0000007be3e55ac0 x5 0000007be731f608 x6 0000007be3e34248 x7 0000007be3e34228
07-31 23:33:32.078 19102 19102 F DEBUG : x8 00000000005c0000 x9 534ff63b6b971e0b x10 00000000ffffffff x11 0000007be731f678
07-31 23:33:32.078 19102 19102 F DEBUG : x12 0000007be731f688 x13 0000007be3e341f8 x14 0000000000000000 x15 aaaaaaaaaaaaaaab
07-31 23:33:32.078 19102 19102 F DEBUG : x16 0000007bf0909430 x17 0000007c9aa07240 x18 0000007b39952000 x19 b400007b76fdafb0
07-31 23:33:32.078 19102 19102 F DEBUG : x20 b400007b76ff3c00 x21 b400007be3e55aa0 x22 0000007be448ffcc x23 0000000000001071
07-31 23:33:32.078 19102 19102 F DEBUG : x24 0000007bfd000880 x25 0000007b859fc000 x26 0000007b859fb3b8 x27 0000007b859fb3b0
07-31 23:33:32.078 19102 19102 F DEBUG : x28 0000007b859fb2b0 x29 0000007b859fb1f0
07-31 23:33:32.078 19102 19102 F DEBUG : lr 0000007b7a79e1f8 sp 0000007b859fb1f0 pc 0000007c9aa07250 pst 0000000060001000
07-31 23:33:32.078 19102 19102 F DEBUG : backtrace:
07-31 23:33:32.078 19102 19102 F DEBUG : #00 pc 0000000000207250 /system/lib64/libhwui.so (android::ImageDecoder::isAnimated()+16) (BuildId: 4445135ffacfcf46be67b94a556686b2)
07-31 23:33:32.078 19102 19102 F DEBUG : #1 pc 000000000001e1f4 /data/app/~~N9JhjU44Je_v95SlzZ3IpA==/moe.tarsin.ehviewer-y5qC6Ulj89ThGeiT3ol78Q==/base.apk!libehviewer.so (BuildId: fb73c64b601372ca76a3c2a183d9c2dffb47560f)
07-31 23:33:32.078 19102 19102 F DEBUG : #2 pc 000000000001dc44 /data/app/~~N9JhjU44Je_v95SlzZ3IpA==/moe.tarsin.ehviewer-y5qC6Ulj89ThGeiT3ol78Q==/base.apk!libehviewer.so (Java_com_hippo_image_Image_nativeDecode+216) (BuildId: fb73c64b601372ca76a3c2a183d9c2dffb47560f)
07-31 23:33:32.078 19102 19102 F DEBUG : #3 pc 00000000002d7644 /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+148) (BuildId: 2b417e2566f5eb686666666b6ee952ea)
07-31 23:33:32.078 19102 19102 F DEBUG : #4 pc 0000000000209188 /apex/com.android.art/lib64/libart.so (nterp_helper+152) (BuildId: 2b417e2566f5eb686666666b6ee952ea)
07-31 23:33:32.078 19102 19102 F DEBUG : #5 pc 00000000001fbfcc /data/app/~~N9JhjU44Je_v95SlzZ3IpA==/moe.tarsin.ehviewer-y5qC6Ulj89ThGeiT3ol78Q==/base.apk (com.hippo.image.Image.decode+0)
07-31 23:33:32.078 19102 19102 F DEBUG : #6 pc 0000000000209124 /apex/com.android.art/lib64/libart.so (nterp_helper+52) (BuildId: 2b417e2566f5eb686666666b6ee952ea)
07-31 23:33:32.078 19102 19102 F DEBUG : #7 pc 00000000001fb996 /data/app/~~N9JhjU44Je_v95SlzZ3IpA==/moe.tarsin.ehviewer-y5qC6Ulj89ThGeiT3ol78Q==/base.apk (com.hippo.image.ImageBitmap.decode+2)
07-31 23:33:32.078 19102 19102 F DEBUG : #8 pc 0000000000209124 /apex/com.android.art/lib64/libart.so (nterp_helper+52) (BuildId: 2b417e2566f5eb686666666b6ee952ea)
07-31 23:33:32.078 19102 19102 F DEBUG : #9 pc 000000000014cf56 /data/app/~~N9JhjU44Je_v95SlzZ3IpA==/moe.tarsin.ehviewer-y5qC6Ulj89ThGeiT3ol78Q==/base.apk (gw.B+26)
07-31 23:33:32.078 19102 19102 F DEBUG : #10 pc 000000000020a044 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: 2b417e2566f5eb686666666b6ee952ea)
07-31 23:33:32.078 19102 19102 F DEBUG : #11 pc 00000000000b0f40 /data/app/~~N9JhjU44Je_v95SlzZ3IpA==/moe.tarsin.ehviewer-y5qC6Ulj89ThGeiT3ol78Q==/base.apk (W8.doInBackground+108)
07-31 23:33:32.078 19102 19102 F DEBUG : #12 pc 000000000058f85c /system/framework/arm64/boot-framework.oat (android.os.AsyncTask$3.call+172) (BuildId: dc48722bc2d33192a78d87a5955cb011958e8eca)

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个问题。如果您有多个问题报告,烦请发起多个 Issue / Ensure there is only one bug report in this issue. Please make mutiply issue for mutiply bugs
  • 您确保已使用最新 CI 版本测试,并且该问题在最新 CI 版本中并未解决 / This bug have not solved in latest CI version

[UX] Completing supported mimetype/extensions in AndroidManifest.xml

需求 / Requirement

What we already have

Atm, only zip, rar, and 7z is listed in manifest. These are sufficient in terms of eh torrent archive since most archives come with a zip extension (h@h only produce zip file, and sometimes scanlation group seed rar or 7z archive on their own)

For better UX we could add a few for completeness, see below.

建议实现 / Suggested implements

What we could complete

  • cbz, altho this extension could be hardly found on eh or some scanlation publish forum (say, south+), but afaik there is already a popular comic reading app -- which is capable to read nh/etc -- produce zip comic archive after this extension. See wikipedia entry comicbook format for detail, in short it is technically a zip comic archive like we DL'd from gallery torrent but the extension is semantically distinctive from arbitrary zip archive file.
    • Furthermore, some personal cloud storage provider is known to block comic archive by hash after someone unexpectly clicked to expand the archive online. By uploading the comic archive with a cbz extension we can prevent the archive from being expanded by PCS (altho this trick won't work for a few aggressive providers).
  • cbr, cb7, ditto.
  • tar is supported in libarchive and support for tar is mentioned in #35, in my test it is well supported and image could be loaded in a streaming manner.
    • tar.gz / tgz, afaicr zlib is pulled from our current pipeline setup and supported by CI build atm.
    • tar.xz / txz, #35
    • cbt, comicbook extension for tar comic archive. There is no distinctive extension for different compressor variants but it does not matter 'cause libarchive will take care of the "filter" detection regardless the actual extension. Futher interesting thing is there is no PCS provider seems to support online expanding of these *nix glue archive format -- no more hash kill.

其他细节 / Addition details

For mimetypes, see https://github.com/multiSnow/mcomix3/blob/483f4b3f2d9a125606d47597ae7eff3b38e5bf9d/mcomix/mcomix/constants.py#L81 for a ref.

I am not an android dev btw, so the actual mimetype string may need some test before copy linux ones.

EhViewer 版本号 / EhViewer version code

1.7.29.0

EhViewer CI 版本 / EhViewer CI Version

N/A

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个功能。如果您有多个功能请求,烦请发起多个 Issue / Ensure there is only one feature request in this issue. Please make mutiply issue for mutiply feature request
  • 您确保已使用最新 CI 版本测试,并且该功能在最新 CI 版本中并未按照预期实现 / This feature don't implement correctly in latest CI version

查看用户邮箱

需求 / Requirement

在条件允许的情况下,能否添加查看可以在应用中查看用户邮箱的功能?

建议实现 / Suggested implements

在主界面的用户名称下显示用户邮箱。

其他细节 / Addition details

No response

EhViewer 版本号 / EhViewer version code

1.7.29.2

EhViewer CI 版本 / EhViewer CI Version

https://github.com/Ehviewer-Overhauled/Ehviewer/releases/download/1.7.29.3

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个功能。如果您有多个功能请求,烦请发起多个 Issue / Ensure there is only one feature request in this issue. Please make mutiply issue for mutiply feature request
  • 您确保已使用最新 CI 版本测试,并且该功能在最新 CI 版本中并未按照预期实现 / This feature don't implement correctly in latest CI version

亮色模式下 主页 订阅 热门 排行 收藏 的 fab 配色不正确

简略描述 / Describe the bug
亮色模式下 主页 订阅 热门 排行 收藏 的 fab 配色不正确
而且看不清

如何重现 / To Reproduce
重现的步骤:

  1. 确实应用在亮色模式
  2. 打开主页
  3. 看右下角 fab

预期行为 / Expected behavior
与 搜索 的 fab 配色相同

截图 / Screenshots
预期配色
Screenshot_20220524-193755_EhViewer
实际配色
Screenshot_20220524-193745_EhViewer

设备型号与 Android 版本 / Device model and Android version

  • 设备型号:mix2s
  • Android 版本:12L

备注 / Additional context

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.