mirror of
https://github.com/jrpie/Launcher.git
synced 2025-04-16 09:06:36 +02:00
fix #133
This commit is contained in:
parent
865cd47583
commit
54409b6312
2 changed files with 20 additions and 16 deletions
|
@ -2,10 +2,10 @@ package de.jrpie.android.launcher.ui
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
|
import android.content.res.Configuration
|
||||||
import android.content.res.Resources
|
import android.content.res.Resources
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.DisplayMetrics
|
|
||||||
import android.view.KeyEvent
|
import android.view.KeyEvent
|
||||||
import android.view.MotionEvent
|
import android.view.MotionEvent
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
@ -56,22 +56,11 @@ class HomeActivity : UIObject, AppCompatActivity() {
|
||||||
super<AppCompatActivity>.onCreate(savedInstanceState)
|
super<AppCompatActivity>.onCreate(savedInstanceState)
|
||||||
super<UIObject>.onCreate()
|
super<UIObject>.onCreate()
|
||||||
|
|
||||||
val displayMetrics = DisplayMetrics()
|
|
||||||
|
|
||||||
@Suppress("deprecation") // required to support API < 30
|
|
||||||
windowManager.defaultDisplay.getMetrics(displayMetrics)
|
|
||||||
|
|
||||||
val width = displayMetrics.widthPixels
|
|
||||||
val height = displayMetrics.heightPixels
|
|
||||||
|
|
||||||
touchGestureDetector = TouchGestureDetector(
|
touchGestureDetector = TouchGestureDetector(
|
||||||
this,
|
this, 0, 0,
|
||||||
width,
|
|
||||||
height,
|
|
||||||
LauncherPreferences.enabled_gestures().edgeSwipeEdgeWidth() / 100f
|
LauncherPreferences.enabled_gestures().edgeSwipeEdgeWidth() / 100f
|
||||||
)
|
)
|
||||||
|
touchGestureDetector.updateScreenSize(windowManager)
|
||||||
|
|
||||||
|
|
||||||
// Initialise layout
|
// Initialise layout
|
||||||
binding = HomeBinding.inflate(layoutInflater)
|
binding = HomeBinding.inflate(layoutInflater)
|
||||||
|
@ -103,6 +92,11 @@ class HomeActivity : UIObject, AppCompatActivity() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onConfigurationChanged(newConfig: Configuration) {
|
||||||
|
super.onConfigurationChanged(newConfig)
|
||||||
|
touchGestureDetector.updateScreenSize(windowManager)
|
||||||
|
}
|
||||||
|
|
||||||
override fun onStart() {
|
override fun onStart() {
|
||||||
super<AppCompatActivity>.onStart()
|
super<AppCompatActivity>.onStart()
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,10 @@ import android.graphics.Insets
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Handler
|
import android.os.Handler
|
||||||
import android.os.Looper
|
import android.os.Looper
|
||||||
|
import android.util.DisplayMetrics
|
||||||
import android.view.MotionEvent
|
import android.view.MotionEvent
|
||||||
import android.view.ViewConfiguration
|
import android.view.ViewConfiguration
|
||||||
|
import android.view.WindowManager
|
||||||
import androidx.annotation.RequiresApi
|
import androidx.annotation.RequiresApi
|
||||||
import de.jrpie.android.launcher.actions.Gesture
|
import de.jrpie.android.launcher.actions.Gesture
|
||||||
import de.jrpie.android.launcher.preferences.LauncherPreferences
|
import de.jrpie.android.launcher.preferences.LauncherPreferences
|
||||||
|
@ -17,8 +19,8 @@ import kotlin.math.tan
|
||||||
|
|
||||||
class TouchGestureDetector(
|
class TouchGestureDetector(
|
||||||
private val context: Context,
|
private val context: Context,
|
||||||
val width: Int,
|
var width: Int,
|
||||||
val height: Int,
|
var height: Int,
|
||||||
var edgeWidth: Float
|
var edgeWidth: Float
|
||||||
) {
|
) {
|
||||||
private val ANGULAR_THRESHOLD = tan(Math.PI / 6)
|
private val ANGULAR_THRESHOLD = tan(Math.PI / 6)
|
||||||
|
@ -319,6 +321,14 @@ class TouchGestureDetector(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun updateScreenSize(windowManager: WindowManager) {
|
||||||
|
val displayMetrics = DisplayMetrics()
|
||||||
|
@Suppress("deprecation") // required to support API < 30
|
||||||
|
windowManager.defaultDisplay.getMetrics(displayMetrics)
|
||||||
|
width = displayMetrics.widthPixels
|
||||||
|
height = displayMetrics.heightPixels
|
||||||
|
}
|
||||||
|
|
||||||
@RequiresApi(Build.VERSION_CODES.Q)
|
@RequiresApi(Build.VERSION_CODES.Q)
|
||||||
fun setSystemGestureInsets(insets: Insets) {
|
fun setSystemGestureInsets(insets: Insets) {
|
||||||
systemGestureInsetTop = insets.top
|
systemGestureInsetTop = insets.top
|
||||||
|
|
Loading…
Add table
Reference in a new issue