doze: Move sensor trigger values to resources

This lets us use android.sensor.tilt_detector on Oplus.

Change-Id: I21db794d86656bfa41dfe32d33b272d4b55ec199
This commit is contained in:
LuK1337
2022-04-10 18:30:16 +02:00
parent e854088f20
commit d0e36f6d22
4 changed files with 26 additions and 10 deletions

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- <!--
Copyright (C) 2021 The LineageOS Project Copyright (C) 2021-2022 The LineageOS Project
Licensed under the Apache License, Version 2.0 (the "License" Licensed under the Apache License, Version 2.0 (the "License"
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
@@ -18,4 +18,8 @@
<!-- Sensor types --> <!-- Sensor types -->
<string name="pickup_sensor_type"></string> <string name="pickup_sensor_type"></string>
<string name="pocket_sensor_type"></string> <string name="pocket_sensor_type"></string>
<!-- Sensor trigger values -->
<item name="pickup_sensor_value" format="float" type="dimen">1.0</item>
<item name="pocket_sensor_value" format="float" type="dimen">0.0</item>
</resources> </resources>

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2021 The LineageOS Project * Copyright (C) 2021-2022 The LineageOS Project
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
@@ -28,8 +28,16 @@ class DozeService : Service() {
override fun onCreate() { override fun onCreate() {
Log.d(TAG, "Creating service") Log.d(TAG, "Creating service")
pickupSensor = PickupSensor(this, resources.getString(R.string.pickup_sensor_type)) pickupSensor = PickupSensor(
pocketSensor = PocketSensor(this, resources.getString(R.string.pocket_sensor_type)) this,
resources.getString(R.string.pickup_sensor_type),
resources.getFloat(R.dimen.pickup_sensor_value),
)
pocketSensor = PocketSensor(
this,
resources.getString(R.string.pocket_sensor_type),
resources.getFloat(R.dimen.pocket_sensor_value)
)
val screenStateFilter = IntentFilter() val screenStateFilter = IntentFilter()
screenStateFilter.addAction(Intent.ACTION_SCREEN_ON) screenStateFilter.addAction(Intent.ACTION_SCREEN_ON)

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2021 The LineageOS Project * Copyright (C) 2021-2022 The LineageOS Project
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
@@ -16,7 +16,9 @@ import android.util.Log
import java.util.concurrent.Executors import java.util.concurrent.Executors
class PickupSensor(private val context: Context, sensorType: String) : SensorEventListener { class PickupSensor(
private val context: Context, sensorType: String, private val sensorValue: Float
) : SensorEventListener {
private val powerManager = context.getSystemService(PowerManager::class.java) private val powerManager = context.getSystemService(PowerManager::class.java)
private val wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG) private val wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG)
@@ -33,7 +35,7 @@ class PickupSensor(private val context: Context, sensorType: String) : SensorEve
return return
} }
entryTimestamp = SystemClock.elapsedRealtime() entryTimestamp = SystemClock.elapsedRealtime()
if (event.values[0] == 1.0f) { if (event.values[0] == sensorValue) {
if (Utils.isPickUpSetToWake(context)) { if (Utils.isPickUpSetToWake(context)) {
wakeLock.acquire(WAKELOCK_TIMEOUT_MS) wakeLock.acquire(WAKELOCK_TIMEOUT_MS)
powerManager.wakeUpWithProximityCheck( powerManager.wakeUpWithProximityCheck(

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2021 The LineageOS Project * Copyright (C) 2021-2022 The LineageOS Project
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
@@ -15,7 +15,9 @@ import android.util.Log
import java.util.concurrent.Executors import java.util.concurrent.Executors
class PocketSensor(private val context: Context, sensorType: String) : SensorEventListener { class PocketSensor(
private val context: Context, sensorType: String, private val sensorValue: Float
) : SensorEventListener {
private val sensorManager = context.getSystemService(SensorManager::class.java) private val sensorManager = context.getSystemService(SensorManager::class.java)
private val sensor = Utils.getSensor(sensorManager, sensorType) private val sensor = Utils.getSensor(sensorManager, sensorType)
@@ -29,7 +31,7 @@ class PocketSensor(private val context: Context, sensorType: String) : SensorEve
return return
} }
entryTimestamp = SystemClock.elapsedRealtime() entryTimestamp = SystemClock.elapsedRealtime()
if (event.values[0] == 0.0f) { if (event.values[0] == sensorValue) {
Utils.launchDozePulse(context) Utils.launchDozePulse(context)
} }
} }