优化
This commit is contained in:
@@ -37,6 +37,7 @@ import io.legado.app.ui.file.HandleFileContract
|
|||||||
import io.legado.app.utils.ACache
|
import io.legado.app.utils.ACache
|
||||||
import io.legado.app.utils.gone
|
import io.legado.app.utils.gone
|
||||||
import io.legado.app.utils.invisible
|
import io.legado.app.utils.invisible
|
||||||
|
import io.legado.app.utils.keepScreenOn
|
||||||
import io.legado.app.utils.longSnackbar
|
import io.legado.app.utils.longSnackbar
|
||||||
import io.legado.app.utils.openUrl
|
import io.legado.app.utils.openUrl
|
||||||
import io.legado.app.utils.sendToClip
|
import io.legado.app.utils.sendToClip
|
||||||
@@ -237,12 +238,14 @@ class WebViewActivity : VMBaseActivity<ActivityWebViewBinding, WebViewModel>() {
|
|||||||
binding.llView.invisible()
|
binding.llView.invisible()
|
||||||
binding.customWebView.addView(view)
|
binding.customWebView.addView(view)
|
||||||
customWebViewCallback = callback
|
customWebViewCallback = callback
|
||||||
|
keepScreenOn(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onHideCustomView() {
|
override fun onHideCustomView() {
|
||||||
binding.customWebView.removeAllViews()
|
binding.customWebView.removeAllViews()
|
||||||
binding.llView.visible()
|
binding.llView.visible()
|
||||||
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
|
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
|
||||||
|
keepScreenOn(false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ import io.legado.app.utils.get
|
|||||||
import io.legado.app.utils.gone
|
import io.legado.app.utils.gone
|
||||||
import io.legado.app.utils.invisible
|
import io.legado.app.utils.invisible
|
||||||
import io.legado.app.utils.isTrue
|
import io.legado.app.utils.isTrue
|
||||||
|
import io.legado.app.utils.keepScreenOn
|
||||||
import io.legado.app.utils.longSnackbar
|
import io.legado.app.utils.longSnackbar
|
||||||
import io.legado.app.utils.openUrl
|
import io.legado.app.utils.openUrl
|
||||||
import io.legado.app.utils.setDarkeningAllowed
|
import io.legado.app.utils.setDarkeningAllowed
|
||||||
@@ -378,12 +379,14 @@ class ReadRssActivity : VMBaseActivity<ActivityRssReadBinding, ReadRssViewModel>
|
|||||||
binding.llView.invisible()
|
binding.llView.invisible()
|
||||||
binding.customWebView.addView(view)
|
binding.customWebView.addView(view)
|
||||||
customWebViewCallback = callback
|
customWebViewCallback = callback
|
||||||
|
keepScreenOn(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onHideCustomView() {
|
override fun onHideCustomView() {
|
||||||
binding.customWebView.removeAllViews()
|
binding.customWebView.removeAllViews()
|
||||||
binding.llView.visible()
|
binding.llView.visible()
|
||||||
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
|
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
|
||||||
|
keepScreenOn(false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -162,6 +162,17 @@ fun Activity.setNavigationBarColorAuto(@ColorInt color: Int) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Activity.keepScreenOn(on: Boolean) {
|
||||||
|
val isScreenOn =
|
||||||
|
(window.attributes.flags and WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) != 0
|
||||||
|
if (on == isScreenOn) return
|
||||||
|
if (on) {
|
||||||
|
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
|
||||||
|
} else {
|
||||||
|
window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/////以下方法需要在View完全被绘制出来之后调用,否则判断不了,在比如 onWindowFocusChanged()方法中可以得到正确的结果/////
|
/////以下方法需要在View完全被绘制出来之后调用,否则判断不了,在比如 onWindowFocusChanged()方法中可以得到正确的结果/////
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user