mirror of
https://github.com/SimpleMobileTools/Simple-Contacts.git
synced 2025-02-17 03:51:03 +01:00
implementing a proximity sensor, turn the screen off when something is close
This commit is contained in:
parent
570f55eeb8
commit
cca5de0bef
@ -6,8 +6,8 @@ import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.graphics.*
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.os.PowerManager
|
||||
import android.provider.MediaStore
|
||||
import android.telecom.Call
|
||||
import android.util.Size
|
||||
@ -15,9 +15,7 @@ import android.view.WindowManager
|
||||
import android.widget.RemoteViews
|
||||
import androidx.core.app.NotificationCompat
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.isOreoMr1Plus
|
||||
import com.simplemobiletools.commons.helpers.isOreoPlus
|
||||
import com.simplemobiletools.commons.helpers.isQPlus
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
import com.simplemobiletools.contacts.pro.R
|
||||
import com.simplemobiletools.contacts.pro.helpers.ACCEPT_CALL
|
||||
import com.simplemobiletools.contacts.pro.helpers.CallManager
|
||||
@ -33,6 +31,7 @@ class CallActivity : SimpleActivity() {
|
||||
private var isMicrophoneOn = true
|
||||
private var callContact: CallContact? = null
|
||||
private var callContactAvatar: Bitmap? = null
|
||||
private var proximityWakeLock: PowerManager.WakeLock? = null
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
supportActionBar?.hide()
|
||||
@ -47,6 +46,7 @@ class CallActivity : SimpleActivity() {
|
||||
addLockScreenFlags()
|
||||
showNotification()
|
||||
updateOtherPersonsInfo()
|
||||
initProximitySensor()
|
||||
|
||||
CallManager.registerCallback(getCallCallback())
|
||||
updateCallState(CallManager.getState())
|
||||
@ -121,10 +121,14 @@ class CallActivity : SimpleActivity() {
|
||||
private fun callStarted() {
|
||||
incoming_call_holder.beGone()
|
||||
ongoing_call_holder.beVisible()
|
||||
proximityWakeLock?.acquire(10 * MINUTE_SECONDS * 1000L)
|
||||
}
|
||||
|
||||
private fun endCall() {
|
||||
CallManager.reject()
|
||||
if (proximityWakeLock?.isHeld == true) {
|
||||
proximityWakeLock!!.release()
|
||||
}
|
||||
finish()
|
||||
}
|
||||
|
||||
@ -152,6 +156,11 @@ class CallActivity : SimpleActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun initProximitySensor() {
|
||||
val powerManager = getSystemService(Context.POWER_SERVICE) as PowerManager
|
||||
proximityWakeLock = powerManager.newWakeLock(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK, "simple_contacts_proximity_wake_lock")
|
||||
}
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
private fun showNotification() {
|
||||
val channelId = "simple_contacts_call"
|
||||
|
Loading…
x
Reference in New Issue
Block a user