Fix 1.16.4: lighter full-screen draw scrim #6
@@ -1,5 +1,10 @@
|
||||
# Changelog
|
||||
|
||||
## 1.16.4-light-scrim — 2026-08-05
|
||||
|
||||
- Draw mode scrim covers the full screen (was inset under status/nav)
|
||||
- Lighter dim so underlying text stays readable
|
||||
|
||||
## 1.16.3-tight-select — 2026-08-05
|
||||
|
||||
- Fix: circling a short heading no longer steals the large text block above it
|
||||
|
||||
@@ -11,8 +11,8 @@ android {
|
||||
applicationId = "com.example.crkl"
|
||||
minSdk = 27
|
||||
targetSdk = 34
|
||||
versionCode = 20
|
||||
versionName = "1.16.3-tight-select"
|
||||
versionCode = 21
|
||||
versionName = "1.16.4-light-scrim"
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
vectorDrawables {
|
||||
|
||||
@@ -159,21 +159,25 @@ class CrklAccessibilityService : AccessibilityService() {
|
||||
}
|
||||
|
||||
private fun fullScreenParams(): WindowManager.LayoutParams {
|
||||
val metrics = resources.displayMetrics
|
||||
val nav = navigationBarHeight()
|
||||
val status = statusBarHeight()
|
||||
val height = (metrics.heightPixels - nav - status).coerceAtLeast(dp(200))
|
||||
// True full-bleed — previous inset for status/nav left a bright band
|
||||
// at the top (and bottom) that made draw mode look broken.
|
||||
return WindowManager.LayoutParams(
|
||||
WindowManager.LayoutParams.MATCH_PARENT,
|
||||
height,
|
||||
WindowManager.LayoutParams.MATCH_PARENT,
|
||||
WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY,
|
||||
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or
|
||||
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
|
||||
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or
|
||||
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN or
|
||||
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
|
||||
PixelFormat.TRANSLUCENT
|
||||
).apply {
|
||||
gravity = Gravity.TOP or Gravity.START
|
||||
x = 0
|
||||
y = status
|
||||
y = 0
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||
layoutInDisplayCutoutMode =
|
||||
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -255,7 +255,13 @@ class OverlayView(
|
||||
val pad = dp(16f)
|
||||
val w = dp(88f)
|
||||
val h = dp(36f)
|
||||
exitRect.set(width - pad - w, pad, width - pad, pad + h)
|
||||
val top = statusBarInset() + pad
|
||||
exitRect.set(width - pad - w, top, width - pad, top + h)
|
||||
}
|
||||
|
||||
private fun statusBarInset(): Float {
|
||||
val id = resources.getIdentifier("status_bar_height", "dimen", "android")
|
||||
return if (id > 0) resources.getDimension(id) else dp(24f)
|
||||
}
|
||||
|
||||
private fun toScreenBounds(local: RectF): RectF {
|
||||
@@ -323,11 +329,12 @@ class OverlayView(
|
||||
val failing = System.currentTimeMillis() < failFlashUntil
|
||||
val pillW = dp(280f)
|
||||
val pillH = dp(38f)
|
||||
val pillTop = statusBarInset() + dp(12f)
|
||||
val pill = RectF(
|
||||
width / 2f - pillW / 2f,
|
||||
dp(52f),
|
||||
pillTop,
|
||||
width / 2f + pillW / 2f,
|
||||
dp(52f) + pillH
|
||||
pillTop + pillH
|
||||
)
|
||||
canvas.drawRoundRect(pill, dp(19f), dp(19f), hintPillPaint)
|
||||
canvas.drawRoundRect(pill, dp(19f), dp(19f), hintRingPaint)
|
||||
|
||||
@@ -16,7 +16,8 @@ object CrklUi {
|
||||
val Mist = Color.parseColor("#6B7A88")
|
||||
val MistLight = Color.parseColor("#9AA6B2")
|
||||
val Hairline = Color.parseColor("#1A0E1A24")
|
||||
val Dim = Color.argb(140, 8, 14, 20)
|
||||
/** Scrim while drawing — light enough to read underlying text. */
|
||||
val Dim = Color.argb(56, 8, 14, 20)
|
||||
val Danger = Color.parseColor("#B85A4A")
|
||||
val Ok = Color.parseColor("#2A7A4B")
|
||||
val ChipFg = Color.parseColor("#FFFFFF")
|
||||
|
||||
Reference in New Issue
Block a user