mirror of
https://github.com/home-assistant/android
synced 2024-09-18 23:52:51 +00:00
More skippable intents (#1038)
* Add more skippable intents * Remove phone state action since its tied to more than 1 sensor
This commit is contained in:
parent
0a2edd0467
commit
120d1c26f6
|
@ -10,7 +10,7 @@ class AudioSensorManager : SensorManager {
|
||||||
companion object {
|
companion object {
|
||||||
private const val TAG = "AudioSensor"
|
private const val TAG = "AudioSensor"
|
||||||
|
|
||||||
private val audioSensor = SensorManager.BasicSensor(
|
val audioSensor = SensorManager.BasicSensor(
|
||||||
"audio_sensor",
|
"audio_sensor",
|
||||||
"sensor",
|
"sensor",
|
||||||
R.string.sensor_name_ringer_mode,
|
R.string.sensor_name_ringer_mode,
|
||||||
|
@ -28,7 +28,7 @@ class AudioSensorManager : SensorManager {
|
||||||
R.string.sensor_name_headphone,
|
R.string.sensor_name_headphone,
|
||||||
R.string.sensor_description_headphone
|
R.string.sensor_description_headphone
|
||||||
)
|
)
|
||||||
private val micMuted = SensorManager.BasicSensor(
|
val micMuted = SensorManager.BasicSensor(
|
||||||
"mic_muted",
|
"mic_muted",
|
||||||
"binary_sensor",
|
"binary_sensor",
|
||||||
R.string.sensor_name_mic_muted,
|
R.string.sensor_name_mic_muted,
|
||||||
|
@ -40,7 +40,7 @@ class AudioSensorManager : SensorManager {
|
||||||
R.string.sensor_name_music_active,
|
R.string.sensor_name_music_active,
|
||||||
R.string.sensor_description_music_active
|
R.string.sensor_description_music_active
|
||||||
)
|
)
|
||||||
private val speakerphoneState = SensorManager.BasicSensor(
|
val speakerphoneState = SensorManager.BasicSensor(
|
||||||
"speakerphone_state",
|
"speakerphone_state",
|
||||||
"binary_sensor",
|
"binary_sensor",
|
||||||
R.string.sensor_name_speakerphone,
|
R.string.sensor_name_speakerphone,
|
||||||
|
|
|
@ -9,7 +9,7 @@ class DNDSensorManager : SensorManager {
|
||||||
companion object {
|
companion object {
|
||||||
private const val TAG = "DNDSensor"
|
private const val TAG = "DNDSensor"
|
||||||
|
|
||||||
private val dndSensor = SensorManager.BasicSensor(
|
val dndSensor = SensorManager.BasicSensor(
|
||||||
"dnd_sensor",
|
"dnd_sensor",
|
||||||
"sensor",
|
"sensor",
|
||||||
R.string.sensor_name_dnd,
|
R.string.sensor_name_dnd,
|
||||||
|
|
|
@ -12,19 +12,19 @@ class PowerSensorManager : SensorManager {
|
||||||
private const val TAG = "PowerSensors"
|
private const val TAG = "PowerSensors"
|
||||||
private const val packageName = "io.homeassistant.companion.android"
|
private const val packageName = "io.homeassistant.companion.android"
|
||||||
|
|
||||||
private val interactiveDevice = SensorManager.BasicSensor(
|
val interactiveDevice = SensorManager.BasicSensor(
|
||||||
"is_interactive",
|
"is_interactive",
|
||||||
"binary_sensor",
|
"binary_sensor",
|
||||||
R.string.basic_sensor_name_interactive,
|
R.string.basic_sensor_name_interactive,
|
||||||
R.string.sensor_description_interactive
|
R.string.sensor_description_interactive
|
||||||
)
|
)
|
||||||
private val doze = SensorManager.BasicSensor(
|
val doze = SensorManager.BasicSensor(
|
||||||
"is_idle",
|
"is_idle",
|
||||||
"binary_sensor",
|
"binary_sensor",
|
||||||
R.string.basic_sensor_name_doze,
|
R.string.basic_sensor_name_doze,
|
||||||
R.string.sensor_description_doze
|
R.string.sensor_description_doze
|
||||||
)
|
)
|
||||||
private val powerSave = SensorManager.BasicSensor(
|
val powerSave = SensorManager.BasicSensor(
|
||||||
"power_save",
|
"power_save",
|
||||||
"binary_sensor",
|
"binary_sensor",
|
||||||
R.string.basic_sensor_name_power_save,
|
R.string.basic_sensor_name_power_save,
|
||||||
|
|
|
@ -1,9 +1,13 @@
|
||||||
package io.homeassistant.companion.android.sensors
|
package io.homeassistant.companion.android.sensors
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
|
import android.app.NotificationManager
|
||||||
import android.bluetooth.BluetoothAdapter
|
import android.bluetooth.BluetoothAdapter
|
||||||
import android.content.BroadcastReceiver
|
import android.content.BroadcastReceiver
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.media.AudioManager
|
||||||
|
import android.os.PowerManager
|
||||||
import android.telephony.TelephonyManager
|
import android.telephony.TelephonyManager
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import io.homeassistant.companion.android.common.dagger.GraphComponentAccessor
|
import io.homeassistant.companion.android.common.dagger.GraphComponentAccessor
|
||||||
|
@ -60,11 +64,21 @@ class SensorReceiver : BroadcastReceiver() {
|
||||||
Intent.ACTION_POWER_DISCONNECTED
|
Intent.ACTION_POWER_DISCONNECTED
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Suppress Lint because we only register for the receiver if the android version matches the intent
|
||||||
|
@SuppressLint("InlinedApi")
|
||||||
private val skippableActions = mapOf(
|
private val skippableActions = mapOf(
|
||||||
"android.app.action.NEXT_ALARM_CLOCK_CHANGED" to NextAlarmManager.nextAlarm.id,
|
"android.app.action.NEXT_ALARM_CLOCK_CHANGED" to NextAlarmManager.nextAlarm.id,
|
||||||
"android.bluetooth.device.action.ACL_CONNECTED" to BluetoothSensorManager.bluetoothConnection.id,
|
"android.bluetooth.device.action.ACL_CONNECTED" to BluetoothSensorManager.bluetoothConnection.id,
|
||||||
"android.bluetooth.device.action.ACL_DISCONNECTED" to BluetoothSensorManager.bluetoothConnection.id,
|
"android.bluetooth.device.action.ACL_DISCONNECTED" to BluetoothSensorManager.bluetoothConnection.id,
|
||||||
BluetoothAdapter.ACTION_STATE_CHANGED to BluetoothSensorManager.bluetoothState.id
|
BluetoothAdapter.ACTION_STATE_CHANGED to BluetoothSensorManager.bluetoothState.id,
|
||||||
|
Intent.ACTION_SCREEN_OFF to PowerSensorManager.interactiveDevice.id,
|
||||||
|
Intent.ACTION_SCREEN_ON to PowerSensorManager.interactiveDevice.id,
|
||||||
|
PowerManager.ACTION_POWER_SAVE_MODE_CHANGED to PowerSensorManager.powerSave.id,
|
||||||
|
PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED to PowerSensorManager.doze.id,
|
||||||
|
NotificationManager.ACTION_INTERRUPTION_FILTER_CHANGED to DNDSensorManager.dndSensor.id,
|
||||||
|
AudioManager.ACTION_MICROPHONE_MUTE_CHANGED to AudioSensorManager.micMuted.id,
|
||||||
|
AudioManager.ACTION_SPEAKERPHONE_STATE_CHANGED to AudioSensorManager.speakerphoneState.id,
|
||||||
|
AudioManager.RINGER_MODE_CHANGED_ACTION to AudioSensorManager.audioSensor.id
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun onReceive(context: Context, intent: Intent) {
|
override fun onReceive(context: Context, intent: Intent) {
|
||||||
|
|
Loading…
Reference in a new issue