From 95e682a190accf24e95b784b4dce857853def4c7 Mon Sep 17 00:00:00 2001 From: Juha Heinanen Date: Tue, 9 Apr 2019 18:48:05 +0300 Subject: [PATCH] - Added Android version >= 8.1 way of screen handling --- .../kotlin/com/tutpro/baresip/MainActivity.kt | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt index 62620576..2b972a3b 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt @@ -1,6 +1,7 @@ package com.tutpro.baresip import android.Manifest +import android.app.KeyguardManager import android.app.NotificationManager import android.content.* import android.support.v4.app.ActivityCompat @@ -12,6 +13,7 @@ import android.util.Log import android.view.Menu import android.view.MenuItem import android.content.pm.PackageManager +import android.os.Build import android.os.CountDownTimer import android.support.v4.content.LocalBroadcastManager import android.view.inputmethod.InputMethodManager @@ -58,9 +60,17 @@ class MainActivity : AppCompatActivity() { Log.d("Baresip", "Main created with action " + intent.getStringExtra("action")) - window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED or - WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON or - WindowManager.LayoutParams.FLAG_IGNORE_CHEEK_PRESSES) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) { + setShowWhenLocked(true) + setTurnScreenOn(true) + val keyguardManager = getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager + keyguardManager.requestDismissKeyguard(this, null) + } else { + window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED or + WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON or + WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD) + } + window.addFlags(WindowManager.LayoutParams.FLAG_IGNORE_CHEEK_PRESSES) setContentView(R.layout.activity_main)