|
|
@@ -12,7 +12,6 @@ import androidx.fragment.app.DialogFragment
|
|
|
import androidx.fragment.app.FragmentManager
|
|
|
import androidx.lifecycle.Lifecycle
|
|
|
import androidx.lifecycle.LifecycleEventObserver
|
|
|
-import androidx.lifecycle.LifecycleOwner
|
|
|
import androidx.lifecycle.lifecycleScope
|
|
|
import io.legado.app.R
|
|
|
import io.legado.app.constant.AppLog
|
|
|
@@ -20,6 +19,7 @@ import io.legado.app.help.config.AppConfig
|
|
|
import io.legado.app.help.coroutine.Coroutine
|
|
|
import io.legado.app.lib.theme.ThemeStore
|
|
|
import io.legado.app.utils.dpToPx
|
|
|
+import io.legado.app.utils.setBackgroundKeepPadding
|
|
|
import kotlinx.coroutines.CoroutineScope
|
|
|
import kotlinx.coroutines.Dispatchers
|
|
|
import kotlin.coroutines.CoroutineContext
|
|
|
@@ -40,31 +40,25 @@ abstract class BaseDialogFragment(
|
|
|
super.onStart()
|
|
|
if (adaptationSoftKeyboard) {
|
|
|
dialog?.window?.setBackgroundDrawableResource(R.color.transparent)
|
|
|
- }
|
|
|
- if (AppConfig.isEInkMode) {
|
|
|
+ } else if (AppConfig.isEInkMode) {
|
|
|
dialog?.window?.let {
|
|
|
it.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)
|
|
|
val attr = it.attributes
|
|
|
attr.dimAmount = 0.0f
|
|
|
attr.windowAnimations = 0
|
|
|
it.attributes = attr
|
|
|
- it.setBackgroundDrawableResource(R.color.transparent)
|
|
|
+ it.decorView.setBackgroundKeepPadding(R.color.transparent)
|
|
|
}
|
|
|
// 修改gravity的时机一般在子类的onStart方法中, 因此需要在onStart之后执行.
|
|
|
- this.lifecycle.addObserver(object : LifecycleEventObserver {
|
|
|
- override fun onStateChanged(
|
|
|
- source: LifecycleOwner,
|
|
|
- event: Lifecycle.Event
|
|
|
- ) {
|
|
|
- if (event == Lifecycle.Event.ON_START) {
|
|
|
- when (dialog?.window?.attributes?.gravity) {
|
|
|
- Gravity.TOP -> view?.setBackgroundResource(R.drawable.bg_eink_border_bottom)
|
|
|
- Gravity.BOTTOM -> view?.setBackgroundResource(R.drawable.bg_eink_border_top)
|
|
|
- else -> {
|
|
|
- val padding = 2.dpToPx();
|
|
|
- view?.setPadding(padding, padding, padding, padding)
|
|
|
- view?.setBackgroundResource(R.drawable.bg_eink_border_dialog)
|
|
|
- }
|
|
|
+ lifecycle.addObserver(LifecycleEventObserver { _, event ->
|
|
|
+ if (event == Lifecycle.Event.ON_START) {
|
|
|
+ when (dialog?.window?.attributes?.gravity) {
|
|
|
+ Gravity.TOP -> view?.setBackgroundResource(R.drawable.bg_eink_border_bottom)
|
|
|
+ Gravity.BOTTOM -> view?.setBackgroundResource(R.drawable.bg_eink_border_top)
|
|
|
+ else -> {
|
|
|
+ val padding = 2.dpToPx();
|
|
|
+ view?.setPadding(padding, padding, padding, padding)
|
|
|
+ view?.setBackgroundResource(R.drawable.bg_eink_border_dialog)
|
|
|
}
|
|
|
}
|
|
|
}
|