mirror of
https://github.com/Michatec/michas-droid.git
synced 2026-05-30 18:02:43 +02:00
Fix usability issues on screenshots screen
This commit is contained in:
@@ -7,6 +7,7 @@ import android.graphics.drawable.Drawable
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import android.view.WindowManager
|
||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import androidx.core.graphics.ColorUtils
|
import androidx.core.graphics.ColorUtils
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
@@ -25,6 +26,7 @@ import nya.kitsunyan.foxydroid.entity.Repository
|
|||||||
import nya.kitsunyan.foxydroid.graphics.PaddingDrawable
|
import nya.kitsunyan.foxydroid.graphics.PaddingDrawable
|
||||||
import nya.kitsunyan.foxydroid.network.PicassoDownloader
|
import nya.kitsunyan.foxydroid.network.PicassoDownloader
|
||||||
import nya.kitsunyan.foxydroid.utility.RxUtils
|
import nya.kitsunyan.foxydroid.utility.RxUtils
|
||||||
|
import nya.kitsunyan.foxydroid.utility.extension.android.*
|
||||||
import nya.kitsunyan.foxydroid.utility.extension.resources.*
|
import nya.kitsunyan.foxydroid.utility.extension.resources.*
|
||||||
import nya.kitsunyan.foxydroid.widget.StableRecyclerAdapter
|
import nya.kitsunyan.foxydroid.widget.StableRecyclerAdapter
|
||||||
|
|
||||||
@@ -79,6 +81,9 @@ class ScreenshotsFragment(): DialogFragment() {
|
|||||||
typedArray.recycle()
|
typedArray.recycle()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (Android.sdk(28)) {
|
||||||
|
layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val hideFlags = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or
|
val hideFlags = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or
|
||||||
@@ -86,8 +91,7 @@ class ScreenshotsFragment(): DialogFragment() {
|
|||||||
decorView.systemUiVisibility = decorView.systemUiVisibility or View.SYSTEM_UI_FLAG_LAYOUT_STABLE or
|
decorView.systemUiVisibility = decorView.systemUiVisibility or View.SYSTEM_UI_FLAG_LAYOUT_STABLE or
|
||||||
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
||||||
val applyHide = Runnable { decorView.systemUiVisibility = decorView.systemUiVisibility or hideFlags }
|
val applyHide = Runnable { decorView.systemUiVisibility = decorView.systemUiVisibility or hideFlags }
|
||||||
decorView.postDelayed(applyHide, 2000L)
|
val handleClick = {
|
||||||
decorView.setOnClickListener {
|
|
||||||
decorView.removeCallbacks(applyHide)
|
decorView.removeCallbacks(applyHide)
|
||||||
if ((decorView.systemUiVisibility and hideFlags) == hideFlags) {
|
if ((decorView.systemUiVisibility and hideFlags) == hideFlags) {
|
||||||
decorView.systemUiVisibility = decorView.systemUiVisibility and hideFlags.inv()
|
decorView.systemUiVisibility = decorView.systemUiVisibility and hideFlags.inv()
|
||||||
@@ -95,9 +99,11 @@ class ScreenshotsFragment(): DialogFragment() {
|
|||||||
decorView.systemUiVisibility = decorView.systemUiVisibility or hideFlags
|
decorView.systemUiVisibility = decorView.systemUiVisibility or hideFlags
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
decorView.postDelayed(applyHide, 2000L)
|
||||||
|
decorView.setOnClickListener { handleClick() }
|
||||||
|
|
||||||
val viewPager = ViewPager2(dialog.context)
|
val viewPager = ViewPager2(dialog.context)
|
||||||
viewPager.adapter = Adapter(packageName) { decorView.performClick() }
|
viewPager.adapter = Adapter(packageName) { handleClick() }
|
||||||
viewPager.setPageTransformer(MarginPageTransformer(resources.sizeScaled(16)))
|
viewPager.setPageTransformer(MarginPageTransformer(resources.sizeScaled(16)))
|
||||||
viewPager.viewTreeObserver.addOnGlobalLayoutListener {
|
viewPager.viewTreeObserver.addOnGlobalLayoutListener {
|
||||||
(viewPager.adapter as Adapter).size = Pair(viewPager.width, viewPager.height)
|
(viewPager.adapter as Adapter).size = Pair(viewPager.width, viewPager.height)
|
||||||
|
|||||||
Reference in New Issue
Block a user