Skip to content

Commit

Permalink
Fix getsize() and getMatrix Depreciation
Browse files Browse the repository at this point in the history
  • Loading branch information
jainv4156 committed Jan 22, 2025
1 parent a9b9529 commit 126bb42
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 6 deletions.
17 changes: 13 additions & 4 deletions AnkiDroid/src/main/java/com/ichi2/anki/noteeditor/Toolbar.kt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import android.graphics.Color
import android.graphics.Paint
import android.graphics.drawable.BitmapDrawable
import android.graphics.drawable.Drawable
import android.os.Build
import android.util.AttributeSet
import android.util.DisplayMetrics
import android.util.TypedValue
Expand Down Expand Up @@ -234,10 +235,18 @@ class Toolbar : FrameLayout {
private val screenWidth: Int
get() {
val displayMetrics = DisplayMetrics()
(context as Activity)
.windowManager
.defaultDisplay
.getMetrics(displayMetrics)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
val windowMetrics =
(context as Activity)
.windowManager
.currentWindowMetrics
displayMetrics.widthPixels = windowMetrics.bounds.width()
} else {
(context as Activity)
.windowManager
.defaultDisplay
.getMetrics(displayMetrics)
}
return displayMetrics.widthPixels
}

Expand Down
13 changes: 11 additions & 2 deletions AnkiDroid/src/main/java/com/ichi2/utils/DisplayUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,26 @@ package com.ichi2.utils

import android.content.Context
import android.graphics.Point
import android.os.Build
import android.view.Window
import android.view.WindowManager
import android.view.WindowMetrics
import com.ichi2.anki.AnkiDroidApp
import kotlin.math.roundToInt

object DisplayUtils {
@Suppress("DEPRECATION") // #9333: defaultDisplay & getSize
fun getDisplayDimensions(wm: WindowManager): Point {
val display = wm.defaultDisplay
val point = Point()
display.getSize(point)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
val windowMetrics: WindowMetrics = wm.currentWindowMetrics
val bounds = windowMetrics.bounds
point.x = bounds.width()
point.y = bounds.height()
} else {
val display = wm.defaultDisplay
display.getSize(point)
}
return point
}

Expand Down

0 comments on commit 126bb42

Please sign in to comment.