0

I am trying to find out if an android device has softkeys and notch. I am able to find out softkey presence by this logic:

    private fun hasSoftKeys(windowManager: WindowManager): Boolean {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
            val d = windowManager.defaultDisplay
            val realDisplayMetrics = DisplayMetrics()
            d.getRealMetrics(realDisplayMetrics)
            val realHeight = realDisplayMetrics.heightPixels
            val realWidth = realDisplayMetrics.widthPixels
            val displayMetrics = DisplayMetrics()
            d.getMetrics(displayMetrics)
            val displayHeight = displayMetrics.heightPixels
            val displayWidth = displayMetrics.widthPixels
            return realWidth - displayWidth > 0 || realHeight - displayHeight > 0
        } else {
            return false
        }
    }

But it's failing for devices with notch. Any help will be appreciated.

Waqar UlHaq
  • 6,144
  • 2
  • 34
  • 42

0 Answers0